Страница 1 из 3
Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср янв 19, 2011 10:20:32
Соник
Имеется шаговый двигатель и его драйвер
http://radiokot.ru/forum/download/file.php?id=54259
Ищу человека способного написать прошивку для управления этим железом на PIC16F628A.
Необходимо вращение в обе стороны с регулировкой скорости двигателя + обработка сигнала с термистора и управлением нагрузкой. Но главное - запустить шаговик.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср янв 19, 2011 17:08:17
bolek
1. Это для работы или хобби? Если для работы, нужно обозначить бюджет и сроки.
2. Необходимо уточнить способ регулировки скорости и задания направления, например, кнопки, переменный резистор, программно с компьютера.
3. Что за термистор, какой с него сигнал.
4. Какой нагрузкой управлять.
Короче, ТЗ надо.
А движок покрутить - вроде и не проблема вовсе.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср янв 19, 2011 17:16:39
Соник
1. Это исключительно для хобби. Вот начало истории
http://radiokot.ru/forum/viewtopic.php?f=3&t=40670 Очень хочется делать печатные платы качественнее, но программировать я не умею
2. Для задания направления можно кнопки "по часовой", "против часовой". Для скорости - переменный резистор. Компьютер здесь не нужен вовсе.
3,4 буду разбираться досконально когда найдётся добрый человек для реализации управления шаговым двигателем.
bolek писал(а):
А движок покрутить - вроде и не проблема вовсе.
А вот для меня проблема, поскольку электротехнического образования не имею.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср янв 19, 2011 18:02:36
bolek
Если есть время - подожди, что-нибудь напишу для кручения ШД.
А микроконтроллер есть чем запрограммировать?
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср янв 19, 2011 18:05:50
Соник
Конечно подожду, без вопросов.
bolek писал(а):
А микроконтроллер есть чем запрограммировать?
Недавно программатор простенький собрал для PIC16F628A
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Чт янв 20, 2011 14:22:54
bolek
Держи.
В архиве схема (в pdf), прошивка и картинка с битами конфигурации.
По идее, программатор сам должен прочитать конфигурацию, но если не сможет, проконтролируй, чтобы
1. был задан внутренний генератор - это основное
2. разрешен внешний RESET
3. отключен WDT
Подключение к драйверу: в основном все написано на схеме. Общий схемы на PIC соединить с GND (по твоей картинке, +5В схема на PIC соединить с +5В драйвера.
Названия выходов PIC подписаны несколько иначе, чем на твоей схеме, ориентируйся по номерам выводов.
Вроде все, должно все работать, не паял, конечно, но в протеусе модельку погонял.
Прошивка реализует минимум функций:
- кнопками задается направление вращения
- есть возможность выбрать режим работы ШД - шаг или полушаг.
Генератор сделал внешний, лень было думать над реализацией измерения сопротивления переменного резистора и перевода его в частоту внутри PIC. С другой стороны, тебе будет проще подогнать требуемый диапазон скоростей внешними элементами без изменения прошивки.
Успехов!
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Чт янв 20, 2011 15:10:51
Соник
Ух ты! Спасибо
bolek! Как только появится возможность собрать и протестировать - сразу отпишусь

Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Чт янв 20, 2011 17:41:05
Соник
Ну вот и протестировал.
Двигатель крутится, но очень медленно. Тогда я поставил конденсатор генератора С1 = 0,1мкф. Двигатель стал вращаться быстрее, но появился какой-то писк. Драйвер двигателя греется не хило.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Пт янв 21, 2011 13:52:33
bolek
Очень медленно - это сколько?
Дело в том, что ШД и не предназначены для быстрого вращения, их дело - точное позиционирование без применения обратной связи по положению.
Для прикидки можно считать, что обычный ШД может шагать со скоростью 1000 полных шагов (или 2000 полушагов) в секунду.
Если при этом ШД делает 200 шагов на один полный оборот (типичное значение), то выходит, что он будет крутиться со скоростью 5 оборотов в секунду (300 в минуту) - примерно в 10 раз медленнее чем типичные двигатели переменного тока.
Поищи характеристики своего ШД, по осциллографу посмотри частоту шагов и прикинь, все ли работает как надо.
Писк (если двигатель крутится) - это движок работает как громкоговоритель, нормально.
Если при писке не крутится, или легко останавливается пальцами - частота шагов слишком велика.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Пт янв 21, 2011 14:09:58
Соник
bolek писал(а):Очень медленно - это сколько?
лист бумаги между валами будет прокручивать минут пятнадцать
bolek писал(а):
Дело в том, что ШД и не предназначены для быстрого вращения, их дело - точное позиционирование без применения обратной связи по положению.
А как он тогда в принтере работал на прокручивание валов?
bolek писал(а):
Если при писке не крутится, или легко останавливается пальцами - частота шагов слишком велика.
Пищит сам по себе при НЕ нажатых кнопках, если конденсатор генератора поставить 0,1мкф.
bolek писал(а):
Поищи характеристики своего ШД, по осциллографу посмотри частоту шагов и прикинь, все ли работает как надо.
Двигатель
M49SP-1Нашёл на форуме тему
http://www.radiokot.ru/forum/viewtopic. ... 4fdec30655
и там ссыль на даташит в котором всё по-китайски
http://www.radiokot.ru/forum/download/file.php?id=17517
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Пт янв 21, 2011 15:09:36
bolek
Соник писал(а):Пищит сам по себе при НЕ нажатых кнопках, если конденсатор генератора поставить 0,1мкф.
Вот это неправильно, когда кнопки не нажаты, двигатель находится в состоянии удержания и пишать не должен. Шипение или писк означают, что драйвер ШД работает неустойчиво.
Драйвер точно от этого ШД?
А если драйвер отключить от МК, при этом все входы драйвера (ENABLE и PHASE) посадить на общий провод, тоже свистит/шипит?
Какова длина проводов, соединяющих МК и драйвер?
Двигатель M49SP-1
Не фонтан, может у него еще и обмотки с большой индуктивностью.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Пт янв 21, 2011 15:33:40
Соник
bolek писал(а):
Драйвер точно от этого ШД?
Да, 100%
bolek писал(а):
Какова длина проводов, соединяющих МК и драйвер?
Шлейф сантиметров 30. Знаю что длинный. Я его к плате подпаивал, с запасом брал.
bolek писал(а):
А если драйвер отключить от МК, при этом все входы драйвера (ENABLE и PHASE) посадить на общий провод, тоже свистит/шипит?
Попробую, отпишусь. А можно как-то скорость вращения увеличить?
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Сб янв 22, 2011 06:46:05
bolek
Скорость шагания - это характеристика двигателя, зависит от многих параметров.
Самый простой способ - поднять напряжение питания силовой части драйвера, правда в разы ее не увеличить.
Например, ШД от 5" дисковода никак не будет шагать быстрее 200-300 (не помню точно, давно дело было) шагов в секунду, и никакое разумное поднятие напряжения питание не помогает - индуктивность обмоток слишком велика.
С другой стороны, если движок и драйвер родные и стояли на протяжке бумаги, не свистели/шипели, то ШД должен как минимум крутиться с той же скоростью и без свиста. Что то здесь не так.
Скорость шагания в схеме полностью задается емкостью конденсатора во внешнем генераторе и сопротивлением переменного резистора (там же).
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Сб янв 22, 2011 09:28:58
Соник
bolek писал(а):
С другой стороны, если движок и драйвер родные и стояли на протяжке бумаги, не свистели/шипели, то ШД должен как минимум крутиться с той же скоростью и без свиста. Что то здесь не так.
Скорость шагания в схеме полностью задается емкостью конденсатора во внешнем генераторе и сопротивлением переменного резистора (там же).
Извиняюсь, я разобрался. Оказалось что переменный резистор изношен, ползунок слабо контактирует с резистивной дорожкой.
Вся конструкция питается от своего родного блока питания +5 и +24В.
bolek писал(а):
А если драйвер отключить от МК, при этом все входы драйвера (ENABLE и PHASE) посадить на общий провод, тоже свистит/шипит?
Тоже шипит и посвистывает с разной частотой. Думаете питание нестабильно?
Ещё минус конструкции: драйвер и сам двигатель через пару минут работы нагреваются так, что палец обжигает.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Сб янв 22, 2011 15:29:02
bolek
Соник писал(а):...Тоже шипит и посвистывает с разной частотой. Думаете питание нестабильно?
Ещё минус конструкции: драйвер и сам двигатель через пару минут работы нагреваются так, что палец обжигает.
Вот это и странно: принтеры обычно сделаны хорошо, и свиста быть не должно.
Что изменилось в конструкции драйвера, соединительных проводах, что он засвистел?
Вообще, драйвер как сделан? Просто вырезан кусок платы принтера? Провода к двигателю какой длины и как идут?
Греются - это понятно, так и должно быть. Двигатель отдает тепло через железо станины, к которой прикреплен. На драйвер, при желании можно прикрутить радиатор с вентилятором от старой видюшки.
Чтобы избежать перегрева в принтерах во время простоя обычно снижают ток в обмотках ШД.
В данном случае можно перейти на другой режим работы ШД, но при этом снизится момент - двигатель будет легче остановить.
Я бы на этом пока не заострял внимания, сначала нужно добиться вращения с требуемой скоростью (если это возможно), потом уже думать над снижением температуры. К тому же при работе на максимальной скорости ШД и драйвер будут греться меньше.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Сб янв 22, 2011 23:22:10
Соник
bolek писал(а):
Что изменилось в конструкции драйвера, соединительных проводах, что он засвистел?
Вообще, драйвер как сделан? Просто вырезан кусок платы принтера? Провода к двигателю какой длины и как идут?
Драйвер с обвязкой установлен на той же плате что и импульсный БП принтера. От платы шёл жгут проводов на плату процессора (4 провода драйвера, питание, оптический датчик, управление тиристором печки). Провода к двигателю идут прямо от драйвера, длина минимальна. Около 80 мм.
Что изменилось? Даже не знаю. Шлейф я подпаял к драйверу, длиной с полметра. Лишние нагрузки поотключал: процессор, ворох датчиков, вентилятор. Может поэтому и ВЧ-пульсации прут по питанию, или самовозбуд драйвера (а бывает такое?)?
bolek писал(а):
Греются - это понятно, так и должно быть. Двигатель отдает тепло через железо станины, к которой прикреплен. На драйвер, при желании можно прикрутить радиатор с вентилятором от старой видюшки.
Греются это слабо сказано. Они горячие!
bolek писал(а):сначала нужно добиться вращения с требуемой скоростью (если это возможно), потом уже думать над снижением температуры. К тому же при работе на максимальной скорости ШД и драйвер будут греться меньше.
С регулировкой вращения проблем нет. Подберу RC в ходе экспериментов.
Похоже можно переходить ко второй "фазе".
bolek, а не затруднит ли Вас приладить к МК управление печкой с плавным её пуском (лампа накаливания) и отключение её при превышении допустимой температуры с возможностью регулировки (датчик температуры - терморезистор)?
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Вс янв 23, 2011 15:45:36
bolek
Соник писал(а):...поотключал: процессор, ворох датчиков, вентилятор. Может поэтому и ВЧ-пульсации прут по питанию, или самовозбуд драйвера (а бывает такое?)?
Такие вещи заочно сложно диагностировать. Надо осциллографом смотреть.
ВЧ пульсации по питанию маловероятны, если под горячую руку не отрезаны конденсаторы на питании.
Драйвер не склонен к возбуду, а вот помехи может ловить: там стоит ШИМ на регулировке тока, чего на измерительных резисторах и проводах насобирает, то и нарегулирует.
Похоже можно переходить ко второй "фазе". bolek, а не затруднит ли Вас приладить к МК управление печкой с плавным её пуском (лампа накаливания) и отключение её при превышении допустимой температуры с возможностью регулировки (датчик температуры - терморезистор)?
Для реализации управления драйвером ШД я просто полистал даташит на A2918 и подправил старую разработку (которую тоже выкладывал в интернет), поэтому это не заняло у меня много времени.
А вот реализация остального уже потребует времени, которое мне есть куда потратить
Надо ведь разобраться с задачками, придумать, как это реализовать...
Да и
без реального железа это не отладить.
Так что придется делать самостоятельно, или найдется еще кто-то, кто поможет.
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Вс янв 23, 2011 16:24:11
Соник
Спасибо,
bolek 
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср фев 02, 2011 15:19:03
bolek
Ну как, дело движется, или застряло?
Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср фев 02, 2011 19:09:44
Соник
Продвижение было существенное, теперь всё застопорилось. Я всё рассказывал в этой теме
http://radiokot.ru/forum/viewtopic.php?f=3&t=40670