|
Помогите пожалуйста с шаговым двигателем, замучался совсем :( |
|
|
|
Dec 24 2007, 12:33
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170

|
Хочу управлять униполярным шаговым двигателем типа ДШИ200-1-2. Описание двигателя тут: http://purelogic.ru/PDF/SM/57BYGH001.pdfХочу, чтобы вал поварачивался на 90 градусов сначала в одну сторону, затем в другую. Собрал схему на транзисторах IRL2505:
Питаю МК и 2 средних вывода обмоток от 3.3V с помощью AC/DC http://www.terraelectronica.ru/pdf/MW/ES18E03-P1.pdfКак основу ПО использую AVR446: Linear speed control of stepper motor http://atmel.com/dyn/resources/prod_documents/doc8017.pdfПлюс чтобы разобраться самому написал пару функций для волнового, шагового, полушагового режимов. В коде AVR446 реализовано ускорение и замедление вращения. Двигатель ведет себя странно - дергается, при определенных скоростях стоит на месте, переодически начинает вращаться с очень маленьким моментом - пальцами можно удержать. При сбросе скорости появляется период вращения с довольно большим моментом - можно только плоскогубцами удержать. При момощи собственных пошаговых функций двигатель вращается, но с очень низким моментом. Я уж даже обмотки так и так подключал, думал может ошибся - так оказалось, что и при неправильном подключении вращается. Вообщем не знаю куда копать, а может сервопривод попробовать... Подскажите, пожалуйста, что делать.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Dec 24 2007, 13:04
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(Filov @ Dec 24 2007, 15:33)  Хочу управлять униполярным шаговым двигателем типа ДШИ200-1-2. Описание двигателя тут: http://purelogic.ru/PDF/SM/57BYGH001.pdfХочу, чтобы вал поварачивался на 90 градусов сначала в одну сторону, затем в другую. Собрал схему на транзисторах IRL2505:
Питаю МК и 2 средних вывода обмоток от 3.3V с помощью AC/DC http://www.terraelectronica.ru/pdf/MW/ES18E03-P1.pdfКак основу ПО использую AVR446: Linear speed control of stepper motor http://atmel.com/dyn/resources/prod_documents/doc8017.pdfПлюс чтобы разобраться самому написал пару функций для волнового, шагового, полушагового режимов. В коде AVR446 реализовано ускорение и замедление вращения. Двигатель ведет себя странно - дергается, при определенных скоростях стоит на месте, переодически начинает вращаться с очень маленьким моментом - пальцами можно удержать. При сбросе скорости появляется период вращения с довольно большим моментом - можно только плоскогубцами удержать. При момощи собственных пошаговых функций двигатель вращается, но с очень низким моментом. Я уж даже обмотки так и так подключал, думал может ошибся - так оказалось, что и при неправильном подключении вращается. Вообщем не знаю куда копать, а может сервопривод попробовать... Подскажите, пожалуйста, что делать. вопрос № 1 - зачем резисторы в затворах
|
|
|
|
|
Dec 24 2007, 13:14
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170

|
Цитата(rv3dll(lex) @ Dec 24 2007, 16:04)  вопрос № 1 - зачем резисторы в затворах Как мне ранее объяснили: Он нужен для ограничения тока перезарядки ёмкости затвора. Поставил 100кОм. Но и без них такая же ситуация.
|
|
|
|
|
Dec 24 2007, 14:55
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170

|
Цитата(Евгений Германович @ Dec 24 2007, 17:20)  Нарисуйте временные диаграммы Это я так понимаю последовательность импульсов во времени? Для волновой последовательности возмущаются ( поочереди A+, затем B+, затем A-, затем B-) на 10мс. Просто подается на это время логическая 1 на выход МК. При использовании кода из AN446 - частота как и положено увеличивается, а затем уменьшается. Цитата(Евгений Германович @ Dec 24 2007, 17:20)  Возможно вы спутали фазировку обмоток. Перепробовал все варианты расположения  - всего их 8. Ни в одной из них двигатель себя корректно не ведет. Чаще (при неправильном положении) дергается на месте. При правильном положении наилучшее поведение - он двигается с очень низким моментом, при определенной частоте останавливается (не хватает мометна для преодоления трения), при определенной частоте начинает вращаться с хорошим моментом, а потом момент опять падает. Скорость меняется от 1 до примерно 100 шагов в секунду. Правильное положение это видимо A+ синий, A- красный, B+ желтый, B- коричневый. Извиняюсь!!!! Дал ссылку не на тот двигатель. Правильная http://purelogic.ru/PDF/SM/4SHG-023A.pdf
Сообщение отредактировал Filov - Dec 24 2007, 15:06
|
|
|
|
|
Dec 24 2007, 15:32
|

Профессионал
    
Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654

|
Цитата(Filov @ Dec 24 2007, 17:55)  Это я так понимаю последовательность импульсов во времени? Для волновой последовательности возмущаются ( поочереди A+, затем B+, затем A-, затем B-) на 10мс. Просто подается на это время логическая 1 на выход МК. При использовании кода из AN446 - частота как и положено увеличивается, а затем уменьшается. Перепробовал все варианты расположения  - всего их 8. Ни в одной из них двигатель себя корректно не ведет. Чаще (при неправильном положении) дергается на месте. При правильном положении наилучшее поведение - он двигается с очень низким моментом, при определенной частоте останавливается (не хватает мометна для преодоления трения), при определенной частоте начинает вращаться с хорошим моментом, а потом момент опять падает. Скорость меняется от 1 до примерно 100 шагов в секунду. Правильное положение это видимо A+ синий, A- красный, B+ желтый, B- коричневый. Извиняюсь!!!! Дал ссылку не на тот двигатель. Правильная http://purelogic.ru/PDF/SM/4SHG-023A.pdfВы шутник однако.У подобных двигателей под током находятся 2 обмотки.Те переключение идет с перекрытием.Кроме того вы перегружаете движок.В средние выводы нужно воткнуть резисторы.Обмотки обязательно нужно шунтировать диодами.
Сообщение отредактировал Евгений Германович - Dec 24 2007, 15:35
|
|
|
|
|
Dec 24 2007, 15:34
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170

|
Цитата(Евгений Германович @ Dec 24 2007, 18:32)  Вы шутник однако.У подобных двигателей под током находятся 2 обмотки.Те переключение идет с перекрытием. Насколько я понимаю возможны 3 режима (кроме микрошага) 1. Волновой - включена 1 фаза 2. Шаговый - включены 2 фазы 3. Полушаговый - включены то 2, то 1 фаза  И в коде из AN используется полушаговый режим. Цитата(Евгений Германович @ Dec 24 2007, 18:32)  Кроме того вы перегружаете движок.В средние выводы нужно воткнуть резисторы.Обмотки обязательно нужно шунтировать диодами. Хорошо. Попробую. У двигателя вроде напряжение питания 2.8В, а я подаю 3.3 неужели так существенно скажется превыщение в 0.5В? Значит в этом может быть проблема?
Сообщение отредактировал Filov - Dec 24 2007, 15:43
|
|
|
|
|
Dec 24 2007, 15:49
|

Профессионал
    
Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654

|
Цитата(Filov @ Dec 24 2007, 18:34)  Насколько я понимаю возможны 3 режима (кроме микрошага) 1. Волновой - включена 1 фаза 2. Шаговый - включены 2 фазы 3. Полушаговый - включены то 2, то 1 фаза  И в коде из AN используется полушаговый режим. Хорошо. Попробую. У двигателя вроде напряжение питания 2.8В, а я подаю 3.3 неужели так существенно скажется превыщение в 0.5В? Значит в этом может быть проблема? Маловероятно но ТУ надо соблюдать всегда.Подобные движки я без резисторов не видел.Если поставите то катоды диодов дб после резистора.Временные диаграммы не убедили Вы уверены что последовательность А потом С а не В.Кстати а скакой частотой вы подаете импульсы и какова их длительность.
Сообщение отредактировал Евгений Германович - Dec 24 2007, 15:50
|
|
|
|
|
Dec 24 2007, 16:04
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170

|
Цитата(Евгений Германович @ Dec 24 2007, 18:49)  Временные диаграммы не убедили Вы уверены что последовательность А потом С а не В. Во всех материалах, что я просмотрел для волнового режима возбуждается сначала A+ (-A-), затем B+ (-С-), потом A- (-B-), потом B- (-D-). Цитата(Евгений Германович @ Dec 24 2007, 18:49)  Кстати а скакой частотой вы подаете импульсы и какова их длительность. Для самостоятельно реализованного волнового режима 10мс. При использовании реализации из AppNote частота меняется примерно от 1 до 100 импульсов в секунду. Насколько я понимаю код, дискретизация таймера составляет 12500000Hz(частота МК)/64(делитель частоты таймера)=195312 Счет по регистру OCR1A ведется до 10. Соответсвенно длительность подачи напряжения на обмотку составляет 50 мкс.
Сообщение отредактировал Filov - Dec 24 2007, 16:05
|
|
|
|
|
Dec 24 2007, 16:20
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170

|
Цитата(Евгений Германович @ Dec 24 2007, 19:18)  Давайте упростим задачу.Запитайте только одну половину шд например BLK затем заземлите RED движок должен сдвинуться затем заземлите BLU он должен сдвинутся на столько же и в туже сторону.По моему вы подаете импульсы слишком часто.Пробуйте. Хорошо. Буду пробовать.
|
|
|
|
|
Dec 24 2007, 16:44
|
Гуру
     
Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613

|
Цитата(Filov @ Dec 24 2007, 18:34)  Хорошо. Попробую. У двигателя вроде напряжение питания 2.8В, а я подаю 3.3 неужели так существенно скажется превыщение в 0.5В? Значит в этом может быть проблема? По нормальному, необходимо подавать много большее напряжение питания обмоток с ограничением тока не выше значения приведенного в описании на ШД (1,56А). Указанное Вами значение 2,8В будет равно произведению максимально допустимого тока двигателя на активное сопротивление обмотки. Не забывайте про индуктивность обмоток которая ограничивает скорость нарастания тока при коммутации. Индуктивность обмотки равна 3,6мГн. Например, для частоты коммутации обмотки 100 Гц, индуктивное сопротивление будет 2,26 Ома. Это плюс к активному. Из-за этого момент двигателя будет падать. Ничего хорошего от ШД при таком напряжении Вы не получите. Если требуется сделать один два экземпляра, то возьмите готовую микросхему драйвера шагового двигателя, а контроллером будете ей управлять. Если хотите получить знания, то потратьте побольше времени на получение необходимой информации о работе ШД и уже реализованных схемных решениях. Например, на телесистемах был выложен проект Л.И. драйвера ШД на мк с исходником программы.
|
|
|
|
|
Dec 24 2007, 16:44
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170

|
Цитата(Евгений Германович @ Dec 24 2007, 19:27)  У меня есть очень нехорошее предчувствие,что ваши временные диаграммы относятся к движку ссылку на который вы дали в первый раз.Кстати я не ошибся.то что вы нарисовали это биполярный режим(временные диаграммы).А вкл вы его в униполярном. На стр. 3 AppNote http://atmel.com/dyn/resources/prod_documents/doc8017.pdf приведены такие данные: Для полного шага (они видимо имеют ввиду волновой режим) так: A+ B+ A- B- Для полушага шага так: Код A+ A+ A- A- A- A+ B+ B+ B+ B- B- B-
Сообщение отредактировал Filov - Dec 24 2007, 16:53
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|