Форум РадиоКот https://radiokot.ru/forum/ |
|
Блок управления шаговым двигателем на PIC16F628A https://radiokot.ru/forum/viewtopic.php?f=3&t=41169 |
Страница 1 из 3 |
Автор: | Соник [ Ср янв 19, 2011 10:20:32 ] |
Заголовок сообщения: | Блок управления шаговым двигателем на PIC16F628A |
Имеется шаговый двигатель и его драйвер download/file.php?id=54259 Ищу человека способного написать прошивку для управления этим железом на PIC16F628A. Необходимо вращение в обе стороны с регулировкой скорости двигателя + обработка сигнала с термистора и управлением нагрузкой. Но главное - запустить шаговик. |
Автор: | bolek [ Ср янв 19, 2011 17:08:17 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
1. Это для работы или хобби? Если для работы, нужно обозначить бюджет и сроки. 2. Необходимо уточнить способ регулировки скорости и задания направления, например, кнопки, переменный резистор, программно с компьютера. 3. Что за термистор, какой с него сигнал. 4. Какой нагрузкой управлять. Короче, ТЗ надо. А движок покрутить - вроде и не проблема вовсе. |
Автор: | Соник [ Ср янв 19, 2011 17:16:39 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
1. Это исключительно для хобби. Вот начало истории viewtopic.php?f=3&t=40670 Очень хочется делать печатные платы качественнее, но программировать я не умею ![]() 2. Для задания направления можно кнопки "по часовой", "против часовой". Для скорости - переменный резистор. Компьютер здесь не нужен вовсе. 3,4 буду разбираться досконально когда найдётся добрый человек для реализации управления шаговым двигателем. bolek писал(а): А движок покрутить - вроде и не проблема вовсе. А вот для меня проблема, поскольку электротехнического образования не имею. |
Автор: | bolek [ Ср янв 19, 2011 18:02:36 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Если есть время - подожди, что-нибудь напишу для кручения ШД. А микроконтроллер есть чем запрограммировать? |
Автор: | Соник [ Ср янв 19, 2011 18:05:50 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Конечно подожду, без вопросов. bolek писал(а): А микроконтроллер есть чем запрограммировать? Недавно программатор простенький собрал для PIC16F628A |
Автор: | bolek [ Чт янв 20, 2011 14:22:54 ] | ||
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A | ||
Держи. В архиве схема (в pdf), прошивка и картинка с битами конфигурации. По идее, программатор сам должен прочитать конфигурацию, но если не сможет, проконтролируй, чтобы 1. был задан внутренний генератор - это основное 2. разрешен внешний RESET 3. отключен WDT Подключение к драйверу: в основном все написано на схеме. Общий схемы на PIC соединить с GND (по твоей картинке, +5В схема на PIC соединить с +5В драйвера. Названия выходов PIC подписаны несколько иначе, чем на твоей схеме, ориентируйся по номерам выводов. Вроде все, должно все работать, не паял, конечно, но в протеусе модельку погонял. Прошивка реализует минимум функций: - кнопками задается направление вращения - есть возможность выбрать режим работы ШД - шаг или полушаг. Генератор сделал внешний, лень было думать над реализацией измерения сопротивления переменного резистора и перевода его в частоту внутри PIC. С другой стороны, тебе будет проще подогнать требуемый диапазон скоростей внешними элементами без изменения прошивки. Успехов!
|
Автор: | Соник [ Чт янв 20, 2011 15:10:51 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Ух ты! Спасибо bolek! Как только появится возможность собрать и протестировать - сразу отпишусь ![]() |
Автор: | Соник [ Чт янв 20, 2011 17:41:05 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Ну вот и протестировал. Двигатель крутится, но очень медленно. Тогда я поставил конденсатор генератора С1 = 0,1мкф. Двигатель стал вращаться быстрее, но появился какой-то писк. Драйвер двигателя греется не хило. |
Автор: | bolek [ Пт янв 21, 2011 13:52:33 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Очень медленно - это сколько? Дело в том, что ШД и не предназначены для быстрого вращения, их дело - точное позиционирование без применения обратной связи по положению. Для прикидки можно считать, что обычный ШД может шагать со скоростью 1000 полных шагов (или 2000 полушагов) в секунду. Если при этом ШД делает 200 шагов на один полный оборот (типичное значение), то выходит, что он будет крутиться со скоростью 5 оборотов в секунду (300 в минуту) - примерно в 10 раз медленнее чем типичные двигатели переменного тока. Поищи характеристики своего ШД, по осциллографу посмотри частоту шагов и прикинь, все ли работает как надо. Писк (если двигатель крутится) - это движок работает как громкоговоритель, нормально. Если при писке не крутится, или легко останавливается пальцами - частота шагов слишком велика. |
Автор: | Соник [ Пт янв 21, 2011 14:09:58 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
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 |
Автор: | bolek [ Пт янв 21, 2011 15:09:36 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Соник писал(а): Пищит сам по себе при НЕ нажатых кнопках, если конденсатор генератора поставить 0,1мкф. Вот это неправильно, когда кнопки не нажаты, двигатель находится в состоянии удержания и пишать не должен. Шипение или писк означают, что драйвер ШД работает неустойчиво. Драйвер точно от этого ШД? А если драйвер отключить от МК, при этом все входы драйвера (ENABLE и PHASE) посадить на общий провод, тоже свистит/шипит? Какова длина проводов, соединяющих МК и драйвер? Цитата: Двигатель M49SP-1 Не фонтан, может у него еще и обмотки с большой индуктивностью.
|
Автор: | Соник [ Пт янв 21, 2011 15:33:40 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
bolek писал(а): Драйвер точно от этого ШД? Да, 100% bolek писал(а): Какова длина проводов, соединяющих МК и драйвер? Шлейф сантиметров 30. Знаю что длинный. Я его к плате подпаивал, с запасом брал. bolek писал(а): А если драйвер отключить от МК, при этом все входы драйвера (ENABLE и PHASE) посадить на общий провод, тоже свистит/шипит? Попробую, отпишусь. А можно как-то скорость вращения увеличить? |
Автор: | bolek [ Сб янв 22, 2011 06:46:05 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Скорость шагания - это характеристика двигателя, зависит от многих параметров. Самый простой способ - поднять напряжение питания силовой части драйвера, правда в разы ее не увеличить. Например, ШД от 5" дисковода никак не будет шагать быстрее 200-300 (не помню точно, давно дело было) шагов в секунду, и никакое разумное поднятие напряжения питание не помогает - индуктивность обмоток слишком велика. С другой стороны, если движок и драйвер родные и стояли на протяжке бумаги, не свистели/шипели, то ШД должен как минимум крутиться с той же скоростью и без свиста. Что то здесь не так. Скорость шагания в схеме полностью задается емкостью конденсатора во внешнем генераторе и сопротивлением переменного резистора (там же). |
Автор: | Соник [ Сб янв 22, 2011 09:28:58 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
bolek писал(а): С другой стороны, если движок и драйвер родные и стояли на протяжке бумаги, не свистели/шипели, то ШД должен как минимум крутиться с той же скоростью и без свиста. Что то здесь не так. Скорость шагания в схеме полностью задается емкостью конденсатора во внешнем генераторе и сопротивлением переменного резистора (там же). Извиняюсь, я разобрался. Оказалось что переменный резистор изношен, ползунок слабо контактирует с резистивной дорожкой. Вся конструкция питается от своего родного блока питания +5 и +24В. bolek писал(а): А если драйвер отключить от МК, при этом все входы драйвера (ENABLE и PHASE) посадить на общий провод, тоже свистит/шипит? Тоже шипит и посвистывает с разной частотой. Думаете питание нестабильно? Ещё минус конструкции: драйвер и сам двигатель через пару минут работы нагреваются так, что палец обжигает. |
Автор: | bolek [ Сб янв 22, 2011 15:29:02 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Соник писал(а): ...Тоже шипит и посвистывает с разной частотой. Думаете питание нестабильно? Вот это и странно: принтеры обычно сделаны хорошо, и свиста быть не должно.Ещё минус конструкции: драйвер и сам двигатель через пару минут работы нагреваются так, что палец обжигает. Что изменилось в конструкции драйвера, соединительных проводах, что он засвистел? Вообще, драйвер как сделан? Просто вырезан кусок платы принтера? Провода к двигателю какой длины и как идут? Греются - это понятно, так и должно быть. Двигатель отдает тепло через железо станины, к которой прикреплен. На драйвер, при желании можно прикрутить радиатор с вентилятором от старой видюшки. Чтобы избежать перегрева в принтерах во время простоя обычно снижают ток в обмотках ШД. В данном случае можно перейти на другой режим работы ШД, но при этом снизится момент - двигатель будет легче остановить. Я бы на этом пока не заострял внимания, сначала нужно добиться вращения с требуемой скоростью (если это возможно), потом уже думать над снижением температуры. К тому же при работе на максимальной скорости ШД и драйвер будут греться меньше. |
Автор: | Соник [ Сб янв 22, 2011 23:22:10 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
bolek писал(а): Что изменилось в конструкции драйвера, соединительных проводах, что он засвистел? Вообще, драйвер как сделан? Просто вырезан кусок платы принтера? Провода к двигателю какой длины и как идут? Драйвер с обвязкой установлен на той же плате что и импульсный БП принтера. От платы шёл жгут проводов на плату процессора (4 провода драйвера, питание, оптический датчик, управление тиристором печки). Провода к двигателю идут прямо от драйвера, длина минимальна. Около 80 мм. Что изменилось? Даже не знаю. Шлейф я подпаял к драйверу, длиной с полметра. Лишние нагрузки поотключал: процессор, ворох датчиков, вентилятор. Может поэтому и ВЧ-пульсации прут по питанию, или самовозбуд драйвера (а бывает такое?)? bolek писал(а): Греются - это понятно, так и должно быть. Двигатель отдает тепло через железо станины, к которой прикреплен. На драйвер, при желании можно прикрутить радиатор с вентилятором от старой видюшки. Греются это слабо сказано. Они горячие! bolek писал(а): сначала нужно добиться вращения с требуемой скоростью (если это возможно), потом уже думать над снижением температуры. К тому же при работе на максимальной скорости ШД и драйвер будут греться меньше. С регулировкой вращения проблем нет. Подберу RC в ходе экспериментов. Похоже можно переходить ко второй "фазе". bolek, а не затруднит ли Вас приладить к МК управление печкой с плавным её пуском (лампа накаливания) и отключение её при превышении допустимой температуры с возможностью регулировки (датчик температуры - терморезистор)? |
Автор: | bolek [ Вс янв 23, 2011 15:45:36 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Соник писал(а): ...поотключал: процессор, ворох датчиков, вентилятор. Может поэтому и ВЧ-пульсации прут по питанию, или самовозбуд драйвера (а бывает такое?)? Такие вещи заочно сложно диагностировать. Надо осциллографом смотреть. ВЧ пульсации по питанию маловероятны, если под горячую руку не отрезаны конденсаторы на питании. Драйвер не склонен к возбуду, а вот помехи может ловить: там стоит ШИМ на регулировке тока, чего на измерительных резисторах и проводах насобирает, то и нарегулирует. Цитата: Похоже можно переходить ко второй "фазе". bolek, а не затруднит ли Вас приладить к МК управление печкой с плавным её пуском (лампа накаливания) и отключение её при превышении допустимой температуры с возможностью регулировки (датчик температуры - терморезистор)? Для реализации управления драйвером ШД я просто полистал даташит на A2918 и подправил старую разработку (которую тоже выкладывал в интернет), поэтому это не заняло у меня много времени. А вот реализация остального уже потребует времени, которое мне есть куда потратить ![]() Надо ведь разобраться с задачками, придумать, как это реализовать... Да и без реального железа это не отладить. Так что придется делать самостоятельно, или найдется еще кто-то, кто поможет. |
Автор: | Соник [ Вс янв 23, 2011 16:24:11 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Спасибо, bolek ![]() |
Автор: | bolek [ Ср фев 02, 2011 15:19:03 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Ну как, дело движется, или застряло? |
Автор: | Соник [ Ср фев 02, 2011 19:09:44 ] |
Заголовок сообщения: | Re: Блок управления шаговым двигателем на PIC16F628A |
Продвижение было существенное, теперь всё застопорилось. Я всё рассказывал в этой теме viewtopic.php?f=3&t=40670 |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |