Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Управление стъпков мотор. ESP32. Arduino.
http://mcu-bg.com/mcu_site/viewtopic.php?f=22&t=19143
Страница 1 от 1

Автор:  xor [ Сря Апр 03, 2024 1:54 pm ]
Заглавие:  Управление стъпков мотор. ESP32. Arduino.

Прикачени файлове:
stepper.h [1.27 KiB]
165 пъти

Прикачени файлове:
stepper.cpp [15.33 KiB]
697 пъти


Здравейте,
Въползвам се от възможността да публикувам и един мой проект.
Най-напред да кажа, че НЕ съм професионален програмист. Напротив, сега правя първите си опити.
Проекта е: клас за управление на стъпкови мотори в средата Arduino и ESP32.
Ще се радвам, ако някои от знаещите прегледат кода и споделят мнение! Евентуално за нередности (не дай си боже за грешки).
Ако някой пък реши, че му върши работа, може да го използва както намери за добре.

Ето как може да се работи с класа:
Създаване на обект мотор:
stepper motor(пин посока, пин импулс, ускорение, макс.скорост);

Въртене с постоянна скорост:
motor.runWithSpeed(посока, скорост);

Завъртане до определена позиция с постоянна скорост:
motor.runToPosition(позиция, скорост);

Завъртане до определена позиция с променлива скорост:
Скоростта се мени във функция предварително записана в таблица:
motor.runWithSpeedUseTable(позиция, коефициент на скорост);

Спиране на мотора, независимо в какъв режим е бил пуснат:
motor.stop();

За да работи всичко това, следващата функция трябва да се извиква поне всяка микро секунда някъде в loop() цикъла на ардуиното.
Знам, че е слабост, но засега е така.
motor.refreshPulse();

И още няколко достъпни функции, за които мисля, че няма нужда от коментар:
motor.setSpeed(скорост);
motor.setTblSpeed(коефициент на скоростта, ако се използва таблица);
motor.setCurrentPosition(позиция);
motor.isRunning();

Автор:  TheWizard [ Сря Апр 03, 2024 2:51 pm ]
Заглавие:  Re: Управление стъпков мотор. ESP32. Arduino.

ако питаш мен го напиши на С ( ще можеш кода да го използваш без CPP )
и после го интегрирай в CPP

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/