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

Использование драйверов двигателей и пользовательских блоков к ним
Ответить
Mihey
Рядовой
Сообщения: 12
Зарегистрирован: 07 сен 2015, 09:03
Откуда: Железнодорожный

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

Сообщение Mihey »

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

Добавлено (13.12.2016, 16:40)
---------------------------------------------
Прошу прощенья. Сразу не обратил внимание на предыдущую тему.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08 сен 2015, 16:18
Откуда: Мариуполь

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

Сообщение Skull »

Задержки вращения- это обращения по шине к часам и дисплею.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

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

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

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

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

Статья просвещенная реализации на прерывании, надо подумать может блок сделать вроде не сложно.
Последний раз редактировалось Слимпер 15 дек 2016, 10:41, всего редактировалось 1 раз.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

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

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

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

Кто попробует отпишетесь.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Слимпер 15 дек 2016, 10:42, всего редактировалось 1 раз.
Ответить

Вернуться в «Управление двигателями»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей