Страница 1 из 1

Проблема с шаговым мотором.

Добавлено: 13.12.2016{, 16:40}
Mihey
Всем доброго дня.
Прошу помощи у знатоков. Посмотрите код, что не так не пойму.
Делаю код, собрал в железе (UNO, ЛСД по I2C, часы DS3231, драйвер L298N, шаговый мотор, DHT22, 3шт. DS18B20, шильд реле). 
При этом коде шаговик работает не правильно, вращается медленно и дергается.
Загружаю код где одно управление шаговиком, без остального обвеса. Но электрическая схема та же. Шаговик работает как надо.
Помогите разобраться в чем дело.

Добавлено (13.12.2016, 16:40)
---------------------------------------------
Прошу прощенья. Сразу не обратил внимание на предыдущую тему.

Проблема с шаговым мотором.

Добавлено: 13.12.2016{, 19:23}
Skull
Задержки вращения- это обращения по шине к часам и дисплею.

Проблема с шаговым мотором.

Добавлено: 15.12.2016{, 10:40}
Слимпер
Skull писал(а):Задержки вращения- это обращения по шине к часам и дисплею.
Да именно так.
Обособленно с учетом что у вас блоков дисплей множество. Лучше использовать ровно столько блоков сколько строк в экране, а строки составлять сложением строк.
Либо отключать дисплей, на время работы двигателя.

А вообще если есть свободные входы то лучше подключать дисплей без I2C, эта шина очень медленная.

А вообще по хорошему такие вещи как шаговой двигатель должны работать не зависимо от программного цикла.

Я тут в соседней теме делал блок для драйвера шагового двигателя на прерывании.
В роде что то рабочее получилось.

Статья просвещенная реализации на прерывании, надо подумать может блок сделать вроде не сложно.

Проблема с шаговым мотором.

Добавлено: 15.12.2016{, 10:42}
Слимпер
Обещал сделать блок, вот что получилось. Вроде рабочий вариант получился.
Описание в блоке. Ну есть несколько недостатков:
1. Так как используется аппаратный  Timer1 не буду дут работать  ШИМ на выхода 9 и 10, возможен конфликт сБлоком сервоприводов и другими где используется этот таймер

2. Можно использовать только один блок в проекте.
Можно сделать и на два и на три но придется делать каждый раз новый блок, ограничения FLProg

Из плюсов:
1. можно обесточить обмотки после остановки
2. Нет зависимости от программного цикла
3. Режима  шаговый, полушаговый, междушаговый

Кто попробует отпишетесь.