Skip to content

Commit

Permalink
upd
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexGyver committed Apr 14, 2021
1 parent e6e25df commit 3b066ef
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 8 deletions.
13 changes: 6 additions & 7 deletions GyverStepper/GyverStepper.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
v1.7 - Исправлен баг в отрицательной скорости (спасибо Евгению Солодову)
v1.8 - Исправлен режим KEEP_SPEED
v1.9 - Исправлена ошибка с esp функцией max
v1.10 - повышена точность
v1.11 - повышена точность задания скорости
Алгоритм из AccelStepper: https://www.airspayce.com/mikem/arduino/AccelStepper/
AlexGyver, 2020
Expand Down Expand Up @@ -219,7 +221,8 @@ class GStepper {
if (_smoothStart && _curMode) smoothSpeedPlanner();

if (_workState && micros() - _prevTime >= stepTime) {
_prevTime = micros();
//_prevTime = micros();
_prevTime += stepTime;
// FOLLOW_POS
if (!_curMode && _target == _current) {
brake();
Expand All @@ -242,11 +245,7 @@ class GStepper {
// ~4 us
setPin(1, (_dir > 0 ? _globDir : !_globDir) );
setPin(0, 1); // HIGH
#ifdef __AVR__
_delay_us(DRIVER_STEP_TIME);
#else
delayMicroseconds(DRIVER_STEP_TIME);
#endif
setPin(0, 0); // LOW
} else {
// ~5.7 us
Expand Down Expand Up @@ -371,7 +370,7 @@ class GStepper {
} else { // резкий старт
if (_speed == 0) {brake(); return;} // скорость 0? Отключаемся и выходим
_accelSpeed = _speed;
stepTime = 1000000.0 / abs(_speed);
stepTime = round(1000000.0 / abs(_speed));
_dir = (_speed > 0) ? 1 : -1;
}
_workState = true;
Expand Down Expand Up @@ -430,7 +429,7 @@ class GStepper {
void setPin(int num, bool state) {
#ifdef __AVR__
if (state) *_port_reg[num] |= _bit_mask[num];
else *_port_reg[num] &= ~ _bit_mask[num];
else *_port_reg[num] &= ~_bit_mask[num];
#else
digitalWrite(_pins[num], state);
#endif
Expand Down
1 change: 1 addition & 0 deletions GyverStepper/examples/endSwitch/endSwitch.ino
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ void setup() {
// пока кнопка не нажата
while(digitalRead(12)) {
stepper.tick();
// yield(); // для esp8266
}
// вот тут кнопка нажата, сразу вырубаем мотор.
// Текущее положение также сбрасывается в 0
Expand Down
2 changes: 1 addition & 1 deletion GyverStepper/library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=GyverStepper
version=1.9
version=1.11
author=AlexGyver <[email protected]>
maintainer=AlexGyver <[email protected]>
sentence=Library for stepmotor control.
Expand Down

0 comments on commit 3b066ef

Please sign in to comment.