|
Помогите пожалуйста с шаговым двигателем, замучался совсем :( |
|
|
|
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 реализовано ускорение и замедление вращения. Двигатель ведет себя странно - дергается, при определенных скоростях стоит на месте, переодически начинает вращаться с очень маленьким моментом - пальцами можно удержать. При сбросе скорости появляется период вращения с довольно большим моментом - можно только плоскогубцами удержать. При момощи собственных пошаговых функций двигатель вращается, но с очень низким моментом. Я уж даже обмотки так и так подключал, думал может ошибся - так оказалось, что и при неправильном подключении вращается. Вообщем не знаю куда копать, а может сервопривод попробовать... Подскажите, пожалуйста, что делать.
|
|
|
|
|
 |
Ответов
|
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
|
|
|
|
Сообщений в этой теме
Filov Помогите пожалуйста с шаговым двигателем Dec 24 2007, 12:33      gte Цитата(Filov @ Dec 24 2007, 18:34) Хорошо... Dec 24 2007, 16:44       Filov Цитата(gte @ Dec 24 2007, 19:44) По норма... Dec 25 2007, 08:49        Gogan Цитата(Filov @ Dec 25 2007, 10:49) Я, кон... Dec 25 2007, 10:29 Евгений Германович Давайте упростим задачу.Запитайте только одну поло... Dec 24 2007, 16:18 Filov Цитата(Евгений Германович @ Dec 24 2007, 19... Dec 24 2007, 16:20  Евгений Германович Цитата(Filov @ Dec 24 2007, 19:20) Хорошо... Dec 24 2007, 16:27   Filov Цитата(Евгений Германович @ Dec 24 2007, 19... Dec 24 2007, 16:44 evgeny_ch http://www.hsi-inc.com/rotary_motors.php#stepping
... Dec 24 2007, 17:10 Евгений Германович Вчера после окончания общения у меня возник вопрос... Dec 25 2007, 13:29 Filov Цитата(Евгений Германович @ Dec 25 2007, 16... Dec 25 2007, 14:20 Евгений Германович Про транзистор,посмотрите сколько ему надо для пол... Dec 25 2007, 15:39 Filov Цитата(Евгений Германович @ Dec 25 2007, 18... Dec 25 2007, 17:22 Евгений Германович Про транзистор вы не правы см строчку в описи на о... Dec 26 2007, 09:48 Filov Цитата(Евгений Германович @ Dec 26 2007, 12... Dec 27 2007, 10:16  Евгений Германович Цитата(Filov @ Dec 27 2007, 13:16) Т.е. ... Dec 27 2007, 15:43 evgeny_ch Открутите от принтера микросхемку.
http://www.allc... Dec 27 2007, 11:55
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|