Skip to content

Commit

Permalink
upd
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexGyver committed Mar 15, 2021
1 parent d68c1e4 commit 2ba5545
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
4 changes: 2 additions & 2 deletions GyverPID/PIDtuner2.h
Expand Up @@ -14,8 +14,8 @@
=== Как пользоваться библиотекой? ===
1. Инициализация и настройка
PIDtuner tuner;
tuner.setParameters(направление, начальный сигнал, конечный сигнал, период, точность, время стабилизации, период итерации)
PIDtuner2 tuner;
tuner.setParameters(направление, начальный сигнал, конечный сигнал, период, точность, период итерации)
1.1 Направление:
- NORMAL: увеличение выходного сигнала увеличивает сигнал с датчика (например обогреватель, мотор)
Expand Down
6 changes: 4 additions & 2 deletions GyverStepper/GyverStepper.h
Expand Up @@ -25,6 +25,7 @@
v1.6 - Исправлена остановка для STEPPER4WIRE_HALF, скорость можно задавать во float (для медленных скоростей)
v1.7 - Исправлен баг в отрицательной скорости (спасибо Евгению Солодову)
v1.8 - Исправлен режим KEEP_SPEED
v1.9 - Исправлена ошибка с esp функцией max
Алгоритм из AccelStepper: https://www.airspayce.com/mikem/arduino/AccelStepper/
AlexGyver, 2020
Expand Down Expand Up @@ -154,6 +155,7 @@ uint32_t stepTime;
#define degPerMinute(x) ((x)/60.0f)
#define degPerHour(x) ((x)/3600.0f)
#define _sign(x) ((x) >= 0 ? 1 : -1) // знак числа
#define maxMacro(a,b) ((a)>(b)?(a):(b)) // привет esp

enum GS_driverType {
STEPPER2WIRE,
Expand Down Expand Up @@ -283,7 +285,7 @@ class GStepper {

// установка максимальной скорости в шагах/секунду и градусах/секунду
void setMaxSpeed(float speed) {
_maxSpeed = max(speed, MIN_STEPPER_SPEED); // 1 шаг в час минимум
_maxSpeed = maxMacro(speed, MIN_STEPPER_SPEED); // 1 шаг в час минимум
recalculateSpeed();

#ifdef SMOOTH_ALGORITHM
Expand Down Expand Up @@ -361,7 +363,7 @@ class GStepper {
// горячий привет тупому компилятору ESP8266 и индусам, которые его настраивали
int speed1 = abs(_speed);
int speed2 = abs((int)_accelSpeed);
int maxSpeed = max(speed1, speed2);
int maxSpeed = maxMacro(speed1, speed2);
_smoothPlannerPrd = map(maxSpeed, 1000, 20000, 15000, 1000);
#endif

Expand Down
2 changes: 1 addition & 1 deletion GyverStepper/library.properties
@@ -1,5 +1,5 @@
name=GyverStepper
version=1.8
version=1.9
author=AlexGyver <alex@alexgyver.ru>
maintainer=AlexGyver <alex@alexgyver.ru>
sentence=Library for stepmotor control.
Expand Down

0 comments on commit 2ba5545

Please sign in to comment.