Низкая скорость вращения шагового двигателя

Использование драйверов двигателей и пользовательских блоков к ним
Ответить
engineeradm
Рядовой
Сообщения: 10
Зарегистрирован: 25 сен 2015, 21:45
Откуда: Noyabrsk

Низкая скорость вращения шагового двигателя

Сообщение engineeradm »

Собрал схему в программе flprog на ардуино нано. проветривание помещения по температуре.
Установлен дисплей HD44780 I2C, датчик температуры DHT-11 с опросом раз в 5сек, шаговый двигатель.
При достижении заданного порога двигатель очень медленно вращается и стопорится на мгновение в момент обновления температуры, а потом опять шагает.
Сам двигатель без дисплеев и датчиков, т.е. голый проект с кнопкой запуска двигателя, вращается быстро.
В чем может быть проблема?
Я не программист, читал ускорение ардуино (http://geektimes.ru/post/255744/), но не понятно как это применить в мой код.
Очень нужна помощь.
Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07 сен 2015, 05:18
Откуда: Степногорск
Имя: Вячеслав
Благодарил (а): 1 раз

Низкая скорость вращения шагового двигателя

Сообщение scadapack »

Надо бы ваш проект сюда выложить. Как в слепую посоветуешь?
engineeradm
Рядовой
Сообщения: 10
Зарегистрирован: 25 сен 2015, 21:45
Откуда: Noyabrsk

Низкая скорость вращения шагового двигателя

Сообщение engineeradm »

Там ничего сложного. Покаместь лишнее все убрал, оставил dht-11 - вывод на дисплей температуры (влажность тормозит еще сильнее), и оставил кнопку, которая дает команду напрямую в модуль шаговика.
Шаговик из набора вместе с uln 2003. Видно как плавно светики моргают, именно плавно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось engineeradm 20 окт 2015, 07:18, всего редактировалось 1 раз.
Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08 сен 2015, 07:42
Откуда: Сургут

Низкая скорость вращения шагового двигателя

Сообщение vlaks »

uln2003 откуда питаете ?
engineeradm
Рядовой
Сообщения: 10
Зарегистрирован: 25 сен 2015, 21:45
Откуда: Noyabrsk

Низкая скорость вращения шагового двигателя

Сообщение engineeradm »

Проблема не в питании uln2003, она нормально работает, запитывал и отдельно и от платы ардуино.
Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07 сен 2015, 05:18
Откуда: Степногорск
Имя: Вячеслав
Благодарил (а): 1 раз

Низкая скорость вращения шагового двигателя

Сообщение scadapack »

Ну тут надо экспериментировать, где именно идёт торможение. Попробуйте убрать дисплей для начала. Возможно контроллер постоянно перезаписывает в него информацию.
Аватара пользователя
kipiaxxx
Рядовой
Сообщения: 79
Зарегистрирован: 06 сен 2015, 14:15
Откуда: Омск
Имя: Сергей
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Низкая скорость вращения шагового двигателя

Сообщение kipiaxxx »

scadapack писал(а):Попробуйте убрать дисплей для начала. Возможно контроллер постоянно перезаписывает в него информацию.
Скорее всего проблема именно здесь. Замечал, что LCD, подключённый по I2C, тормозит цикл очень сильно - обмен с Ардуиной ведёт непрерывно. По возможности, лучше его подключить отдельными 6-ю проводами.
engineeradm
Рядовой
Сообщения: 10
Зарегистрирован: 25 сен 2015, 21:45
Откуда: Noyabrsk

Низкая скорость вращения шагового двигателя

Сообщение engineeradm »

Спасибо за наводку! А как поменять дигитал врайт, реад и аналог врайт и реад? Эти команды очень сильно тормозят циклы

Добавлено (21.10.2015, 18:32)
---------------------------------------------
Как заменить, улучшить analogwrite, analogread, digitalwrite, digitalread как в статье http://m.geektimes.ru/post/255744/
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Низкая скорость вращения шагового двигателя

Сообщение support »

В Вашем случае ускорение при переходе на непосредственную запись в регистры выходов и чтение из регистров входов не поможет. У Вас стоит датчик влажности и температуры DHT. Чтение данных с него занимает 0.8 секунды. И от этого никуда не денешся. У него протокол обмена такой. Так же обмен данными с дисплеем занимает какое - то не нулевое время, на которое приостанавливается работа программы. Это тоже не обойдёш.
В вашем случае решение проблеммы - разбить програму на два контроллера. Основной обслуживает дисплей, занимается чтением датчика, работает с кнопками и т.д. и отправляет команды управления по UART второму. Второй (что ни будь дешовенькое, типа про-микро), обслуживает непосредственно шаговик. По уарту получает команды, и отрабатывает их. Прошка в Китае стоит меньше ста рублей, в России немного подороже. С помощью FLProg реализовать такую архитектуру несложно.
Автор программы FLProg.
engineeradm
Рядовой
Сообщения: 10
Зарегистрирован: 25 сен 2015, 21:45
Откуда: Noyabrsk

Низкая скорость вращения шагового двигателя

Сообщение engineeradm »

Спасибо за ответ!
Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07 сен 2015, 05:18
Откуда: Степногорск
Имя: Вячеслав
Благодарил (а): 1 раз

Низкая скорость вращения шагового двигателя

Сообщение scadapack »

А зачем вам вообще шаговый двигатель? Предполагаю, что вы им крутите лопасти вентилятора. Если так, то может лучше обычный двигатель использовать? Подавать на него ШИМ, если требуется плавность регулировки.
engineeradm
Рядовой
Сообщения: 10
Зарегистрирован: 25 сен 2015, 21:45
Откуда: Noyabrsk

Низкая скорость вращения шагового двигателя

Сообщение engineeradm »

Шаговик вращает шпильку, гайка на окне. Прлучается плотное закрытие
Ответить

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

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

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