Заголовок сообщения: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср янв 19, 2011 10:20:32
Друг Кота
Карма: 47
Рейтинг сообщений: 92
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7412 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
Имеется шаговый двигатель и его драйвер download/file.php?id=54259 Ищу человека способного написать прошивку для управления этим железом на PIC16F628A. Необходимо вращение в обе стороны с регулировкой скорости двигателя + обработка сигнала с термистора и управлением нагрузкой. Но главное - запустить шаговик.
_________________ Я рожден при социализме, и я этим горжусь!
1. Это для работы или хобби? Если для работы, нужно обозначить бюджет и сроки. 2. Необходимо уточнить способ регулировки скорости и задания направления, например, кнопки, переменный резистор, программно с компьютера. 3. Что за термистор, какой с него сигнал. 4. Какой нагрузкой управлять. Короче, ТЗ надо. А движок покрутить - вроде и не проблема вовсе.
Заголовок сообщения: Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Ср янв 19, 2011 17:16:39
Друг Кота
Карма: 47
Рейтинг сообщений: 92
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7412 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
1. Это исключительно для хобби. Вот начало истории viewtopic.php?f=3&t=40670 Очень хочется делать печатные платы качественнее, но программировать я не умею 2. Для задания направления можно кнопки "по часовой", "против часовой". Для скорости - переменный резистор. Компьютер здесь не нужен вовсе. 3,4 буду разбираться досконально когда найдётся добрый человек для реализации управления шаговым двигателем.
bolek писал(а):
А движок покрутить - вроде и не проблема вовсе.
А вот для меня проблема, поскольку электротехнического образования не имею.
_________________ Я рожден при социализме, и я этим горжусь!
Держи. В архиве схема (в pdf), прошивка и картинка с битами конфигурации.
По идее, программатор сам должен прочитать конфигурацию, но если не сможет, проконтролируй, чтобы 1. был задан внутренний генератор - это основное 2. разрешен внешний RESET 3. отключен WDT
Подключение к драйверу: в основном все написано на схеме. Общий схемы на PIC соединить с GND (по твоей картинке, +5В схема на PIC соединить с +5В драйвера. Названия выходов PIC подписаны несколько иначе, чем на твоей схеме, ориентируйся по номерам выводов.
Вроде все, должно все работать, не паял, конечно, но в протеусе модельку погонял.
Прошивка реализует минимум функций: - кнопками задается направление вращения - есть возможность выбрать режим работы ШД - шаг или полушаг.
Генератор сделал внешний, лень было думать над реализацией измерения сопротивления переменного резистора и перевода его в частоту внутри PIC. С другой стороны, тебе будет проще подогнать требуемый диапазон скоростей внешними элементами без изменения прошивки.
Заголовок сообщения: Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Чт янв 20, 2011 17:41:05
Друг Кота
Карма: 47
Рейтинг сообщений: 92
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7412 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
Ну вот и протестировал. Двигатель крутится, но очень медленно. Тогда я поставил конденсатор генератора С1 = 0,1мкф. Двигатель стал вращаться быстрее, но появился какой-то писк. Драйвер двигателя греется не хило.
_________________ Я рожден при социализме, и я этим горжусь!
Очень медленно - это сколько? Дело в том, что ШД и не предназначены для быстрого вращения, их дело - точное позиционирование без применения обратной связи по положению. Для прикидки можно считать, что обычный ШД может шагать со скоростью 1000 полных шагов (или 2000 полушагов) в секунду. Если при этом ШД делает 200 шагов на один полный оборот (типичное значение), то выходит, что он будет крутиться со скоростью 5 оборотов в секунду (300 в минуту) - примерно в 10 раз медленнее чем типичные двигатели переменного тока. Поищи характеристики своего ШД, по осциллографу посмотри частоту шагов и прикинь, все ли работает как надо. Писк (если двигатель крутится) - это движок работает как громкоговоритель, нормально. Если при писке не крутится, или легко останавливается пальцами - частота шагов слишком велика.
Пищит сам по себе при НЕ нажатых кнопках, если конденсатор генератора поставить 0,1мкф.
Вот это неправильно, когда кнопки не нажаты, двигатель находится в состоянии удержания и пишать не должен. Шипение или писк означают, что драйвер ШД работает неустойчиво. Драйвер точно от этого ШД? А если драйвер отключить от МК, при этом все входы драйвера (ENABLE и PHASE) посадить на общий провод, тоже свистит/шипит? Какова длина проводов, соединяющих МК и драйвер?
Цитата:
Двигатель M49SP-1
Не фонтан, может у него еще и обмотки с большой индуктивностью.
Скорость шагания - это характеристика двигателя, зависит от многих параметров. Самый простой способ - поднять напряжение питания силовой части драйвера, правда в разы ее не увеличить. Например, ШД от 5" дисковода никак не будет шагать быстрее 200-300 (не помню точно, давно дело было) шагов в секунду, и никакое разумное поднятие напряжения питание не помогает - индуктивность обмоток слишком велика.
С другой стороны, если движок и драйвер родные и стояли на протяжке бумаги, не свистели/шипели, то ШД должен как минимум крутиться с той же скоростью и без свиста. Что то здесь не так.
Скорость шагания в схеме полностью задается емкостью конденсатора во внешнем генераторе и сопротивлением переменного резистора (там же).
Заголовок сообщения: Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Сб янв 22, 2011 09:28:58
Друг Кота
Карма: 47
Рейтинг сообщений: 92
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7412 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
bolek писал(а):
С другой стороны, если движок и драйвер родные и стояли на протяжке бумаги, не свистели/шипели, то ШД должен как минимум крутиться с той же скоростью и без свиста. Что то здесь не так. Скорость шагания в схеме полностью задается емкостью конденсатора во внешнем генераторе и сопротивлением переменного резистора (там же).
Извиняюсь, я разобрался. Оказалось что переменный резистор изношен, ползунок слабо контактирует с резистивной дорожкой. Вся конструкция питается от своего родного блока питания +5 и +24В.
bolek писал(а):
А если драйвер отключить от МК, при этом все входы драйвера (ENABLE и PHASE) посадить на общий провод, тоже свистит/шипит?
Тоже шипит и посвистывает с разной частотой. Думаете питание нестабильно? Ещё минус конструкции: драйвер и сам двигатель через пару минут работы нагреваются так, что палец обжигает.
_________________ Я рожден при социализме, и я этим горжусь!
...Тоже шипит и посвистывает с разной частотой. Думаете питание нестабильно? Ещё минус конструкции: драйвер и сам двигатель через пару минут работы нагреваются так, что палец обжигает.
Вот это и странно: принтеры обычно сделаны хорошо, и свиста быть не должно. Что изменилось в конструкции драйвера, соединительных проводах, что он засвистел? Вообще, драйвер как сделан? Просто вырезан кусок платы принтера? Провода к двигателю какой длины и как идут? Греются - это понятно, так и должно быть. Двигатель отдает тепло через железо станины, к которой прикреплен. На драйвер, при желании можно прикрутить радиатор с вентилятором от старой видюшки.
Чтобы избежать перегрева в принтерах во время простоя обычно снижают ток в обмотках ШД. В данном случае можно перейти на другой режим работы ШД, но при этом снизится момент - двигатель будет легче остановить. Я бы на этом пока не заострял внимания, сначала нужно добиться вращения с требуемой скоростью (если это возможно), потом уже думать над снижением температуры. К тому же при работе на максимальной скорости ШД и драйвер будут греться меньше.
Заголовок сообщения: Re: Блок управления шаговым двигателем на PIC16F628A
Добавлено: Сб янв 22, 2011 23:22:10
Друг Кота
Карма: 47
Рейтинг сообщений: 92
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7412 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
bolek писал(а):
Что изменилось в конструкции драйвера, соединительных проводах, что он засвистел? Вообще, драйвер как сделан? Просто вырезан кусок платы принтера? Провода к двигателю какой длины и как идут?
Драйвер с обвязкой установлен на той же плате что и импульсный БП принтера. От платы шёл жгут проводов на плату процессора (4 провода драйвера, питание, оптический датчик, управление тиристором печки). Провода к двигателю идут прямо от драйвера, длина минимальна. Около 80 мм. Что изменилось? Даже не знаю. Шлейф я подпаял к драйверу, длиной с полметра. Лишние нагрузки поотключал: процессор, ворох датчиков, вентилятор. Может поэтому и ВЧ-пульсации прут по питанию, или самовозбуд драйвера (а бывает такое?)?
bolek писал(а):
Греются - это понятно, так и должно быть. Двигатель отдает тепло через железо станины, к которой прикреплен. На драйвер, при желании можно прикрутить радиатор с вентилятором от старой видюшки.
Греются это слабо сказано. Они горячие!
bolek писал(а):
сначала нужно добиться вращения с требуемой скоростью (если это возможно), потом уже думать над снижением температуры. К тому же при работе на максимальной скорости ШД и драйвер будут греться меньше.
С регулировкой вращения проблем нет. Подберу RC в ходе экспериментов. Похоже можно переходить ко второй "фазе". bolek, а не затруднит ли Вас приладить к МК управление печкой с плавным её пуском (лампа накаливания) и отключение её при превышении допустимой температуры с возможностью регулировки (датчик температуры - терморезистор)?
_________________ Я рожден при социализме, и я этим горжусь!
...поотключал: процессор, ворох датчиков, вентилятор. Может поэтому и ВЧ-пульсации прут по питанию, или самовозбуд драйвера (а бывает такое?)?
Такие вещи заочно сложно диагностировать. Надо осциллографом смотреть. ВЧ пульсации по питанию маловероятны, если под горячую руку не отрезаны конденсаторы на питании. Драйвер не склонен к возбуду, а вот помехи может ловить: там стоит ШИМ на регулировке тока, чего на измерительных резисторах и проводах насобирает, то и нарегулирует.
Цитата:
Похоже можно переходить ко второй "фазе". bolek, а не затруднит ли Вас приладить к МК управление печкой с плавным её пуском (лампа накаливания) и отключение её при превышении допустимой температуры с возможностью регулировки (датчик температуры - терморезистор)?
Для реализации управления драйвером ШД я просто полистал даташит на A2918 и подправил старую разработку (которую тоже выкладывал в интернет), поэтому это не заняло у меня много времени. А вот реализация остального уже потребует времени, которое мне есть куда потратить Надо ведь разобраться с задачками, придумать, как это реализовать... Да и без реального железа это не отладить. Так что придется делать самостоятельно, или найдется еще кто-то, кто поможет.
Сейчас этот форум просматривают: Google [Bot] и гости: 252
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения