Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
GyverLibs committed Feb 10, 2022
1 parent 108cd8f commit 1c4323c
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,21 @@ void loop() {
</details>
<a id="stepper"></a>
## GyverStepper и GyverStepper2
- GStepper2 гораздо легче и сильнее оптимизирована
- GStepper2 больше предназначена для движения по точкам траектории, но "следящий" режим в ней также работает
- GStepper2 оптимизирована для работы в прерывании таймера
- GStepper2 использует плавный алгоритм движения мотора по умолчанию
- GStepper2 скорее всего будет чуть больше нагружать микроконтроллер во время работы, чем GStepper. Но гораздо меньше, чем GStepper в режиме SMOOTH_ALGORITHM
### Как работает GStepper
- Быстрый алгоритм (по умолчанию): в библиотеке заведено два таймера: таймер шагов (разный период) и таймер планировщика (10-30 миллисекунд). По таймеру планировщика производится перерасчёт траектории и вычисляется направление движения и текущая необходимая скорость. Из этой скорости получается новый период для таймера шагов.
- Плавный алгоритм (настройка SMOOTH_ALGORITHM): работает один таймер шагов, на каждом шаге производится перерасчёт скорости движения и времени до следующего шага.
### Как работает GStepper2
- Плавный профиль (по умолчанию): здесь используется алгоритм плавного движения SMOOTH_ALGORITHM как в GStepper, но оптимизирован и ускорен в 2-3 раза. Все тяжёлые вычисления траектории производятся при задании новой целевой позиции в setTarget. Далее по таймеру шагов мотор шагает и быстро вычисляет новое время следующего шага. Это позволяет тратить минимум времени в прерывании таймера, если оно используется.
- Быстрый профиль (настройка GS_FAST_PROFILE): всё то же самое, но в таймере шагов происходит не вычисление, а выбор периода из заранее посчитанной таблицы, что позволяет двигаться с ускорением вплоть до скоростей 36000 шагов в секунду.
## GyverStepper
### Описание
Библиотека для управления шаговыми моторами с Arduino
Expand Down

0 comments on commit 1c4323c

Please sign in to comment.