Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритм работы микрошагового драйвера
Все о станках с ЧПУ > Станки с ЧПУ, Hobby CNC > Электронные компоненты
bekor
привет
хочу делать микрошаговый драйвер для биполярника по этой схеме
http://robozone.su/2009/07/16/mikroshagovy...-shagovogo.html
но таккак прошивка там демо и еше с ПИКами я недружу а только с АВРками
то решил в место ПИКа ставить какойто АВР например АТмега16 и писать прошивку самому
вот только несовсем глубоко понимаю алгоритм работы микрошагового драйвера

например
изменяеться ли таблица синуса в зависимости от нагрузки ?
какое смешение у синусов двух фаз? меняеться ли это смешение вовремя работы ?
что надо делать с током когда сработает компаратор обратной связи первой или второй фазы ?
что такое fixed time off ?
....
firefly
полноценная там прошивка, только деление шага в бесплатной до 1/4 ограниченно и все. ad.gif
bekor
Цитата(firefly @ 11.10.2009, 0:54) *
полноценная там прошивка, только деление шага в бесплатной до 1/4 ограниченно и все. ad.gif

Это значит неполноценная !!!
мне нужно деление шага 1/32
ATLab
QUOTE (bekor @ 11.10.2009, 13:07) *
мне нужно деление шага 1/32
А зачем? Можно сделать и такое и мельче, но зачем?
bekor
Мне надо крутить кое что на ШД без редуктора чтобы было плавное движение
ATLab
QUOTE (bekor @ 11.10.2009, 18:23) *
Мне надо крутить кое что на ШД без редуктора чтобы было плавное движение

Бог в помощь!
Почитайте, на Rcdesign, было много уобсуждений на эту тему, много вопросов снимется после чтения даташитов на готовые драйверы с микрошагом (Аллегро или Тошиба).
bekor
Спасибо ATLab
почитал там темы всякие про драйвера и уже стало болеменее понятно
но всеже непонятны некоторые моменты без понимания которых я несмогу начать работу

еслибы вы ответили мне на некоторые вопросы
был бы очень признателен ab.gif

что значит fixed off-time (фиксированная время отключения тока)
тоесть как работает данный режим в микрошаговом драйвере ?

и по схеме в ссылке выше (собираю по этой схеме только вместо ШИМ с ФНЧ для опорного поставлю ЦАП)
там обшими входами 74HC08 управляеться ток в фазах
но наверное не обычным ШИМом нетакли ?

нада отключить фазу на какоето время при срабатывании компаратора и опять включить до следуюшего
срабатывания
так чтоли ?

разясните пожалуйста unsure.gif
очень нужно
moonrock
fixed off time - это способ стабилизации тока.
Представьте мост, с шунтом внизу, и компаратор на один вход которого поступает сигнал с шунта, на другой с ЦАПа
1. Представим что изначально ток равен нулю, а на ЦАПе что-то отличное от нуля, соответственно логика, смотря на выход компаратора решает переключить мост в такое положение чтобы ток через обмотку стал нарастать.
2. Далее логика тупо ждет пока напряжение на шунте не достигнет заданного значения
3. Когда компаратор сработает, логика переключает мост в рециркуляцию(slow decay) или в противоположную сторону(fast decay) на фиксированное время(тот самый fixed-off time).Также можно комбинировать оба режима(mixed decay) чтобы добится оптимума между нагревом и динамикой мотора
4. Когда таймер отработает, снова переключаем мост в нарастание тока и переходим в пункт 2.
Т.о. такая разновидность ШИМ не имеет определенной частоты, она будет зависеть в основном от индуктивности мотора, и с ростом оборотов мотора, самих циклов переключений будет все меньше и меньше, т.к. ток не сможет достигать значения заданного ЦАП
Естественно, чтобы изменить полярность тока, нужно в микрошаге соотвествующем переходу через ноль, поменять полярность управляющих сигналов на мосте

Очень рекомендую взять карандашик, нарисовать схему и "помоделировать" ее на бумаге, порисовать осциллограммы и т п.
bekor
Большое СПАСИБО moonrock
уже становиться понятнее но вопросы все еше возникают smile.gif
так вот какое значение времени нужно выбрать для off-time ?
slow decay - это когда просто отключаем обмотку ?
fast decay - это когда переключаем в обратную сторону (полярность) ?
mixed decay - когда стачала переключаем полярность на промежуток off-time/2 и отключаем еше на off-time/2 ?
я правильно понял ?
а что если ток неуспеет спадать по истечению времени off-time ?

какое преимущество недостатки имеет этот метода перед обычным ШИМ ??

в даташите на A3984
на диаграмме видно что стратегия спада тока меняется каждые 90град с slow_decay на mixed_decay и обратно

с чем это связано и почему так ? ac.gif
Нажмите для просмотра прикрепленного файла
moonrock
1.Ну поиграйте с временем 20 - 50 мкс
2.Поправка - slow decay - это не отключение, а закорачивание обмотки через два нижних транзистора, ток при этом спадает значительно медленнее, чем при fast decay
3.Про mixed decay - правильно. У какой-то аллегры можно выбрать 4 соотношения двумя пинами
4.В случае если ток не успевает снизиться, схема все равно переключается в нарастание тока по достижению конца периода, при этом компаратор практически сразу сработает, и снова начнет новый цикл сброса тока
5.А что вы имеете ввиду под обычным ШИМ? Просто все микрухи для ШД которые я видел работают именно по принципу fixed off time
6.Со стратегией тут просто, в фазе нарастания тока нет особого смысла переключатся на быстрый сброс, а вот на спадающей фазе противоЭДС будет мешать снижать ток, поэтому эффективно его снизить можно только переключая мост в противоположное направление.
ATLab
Достоинство драйвера с Fixed-OFF Time в том, что он будет работать практически с любым двигателем без подбора параметров.
Драйвер с фиксированным периодом ШИМ в этом смысле гораздо капризнее.
ATLab
QUOTE (moonrock @ 16.10.2009, 18:16) *
... Просто все микрухи для ШД которые я видел работают именно по принципу fixed off time
...
L297 - с фиксированным периодом :)
bekor
Большое спасибо за помощ теперь все понятно
начну разработку
о результатах отпишусь

оффтоп: посоветуйте пожалуйста недорогой драйвер для полевиков (IRF640N)
никак немогу достать чтото из серии IR21хх
moonrock
А какие еще варианты? Если с IR2104 трудности, то с другими еще все хуже. Похожие микрухи делает Fairchild и еще кто-то
bekor
А как насчет L6385, L6388 или LM5107 ?
у этих еще и диод встроенный (анодом к плюсу катодом к Vboot)
кстати что это за диод варикап чтоли ?
moonrock
Ну в принципе они подходят, даже похоже лучше чем IR2104, только в отличие от него, у них раздельное управление ключами, поэтому еще будет нужно dead-time вставить, аппаратный желательно.
А что, у вас их проще достать?
bekor
Неа оказалось их вооше труднее достать ! ac.gif
но я уже достал IR2101, другово ничего небыло

вот только счас мучают сомнения насчет диода
чем же отличаеться controlled avalanche rectifier от обычной rectifier
нелзя ли заменить их обычными диодами ?
а то в магазинах про BYD17 вообще никто неслыхал blink.gif
moonrock
Диодик наверх нужно ставить быстрый, около 30-70 нс, все они называются fast recovery diodes
если напруга маленькая то вполне прокатывает 1N4148, хотя и не соответствует по пиковому току
bekor
Привет всем
собрал я ноконец контроллер,
вобщемто работает нормально rolleyes.gif
только замечаеться некая нелинейность врашения вала
с чем это может быть связанa ?
грешу на таблицу синуса, но вроде нормальная таблица ac.gif

движок ДШИ-200-1
ток 2А
деление шага 1/32
Нажмите для просмотра прикрепленного файла
moonrock
Во-первых, равномерность хода очень от двигателя зависит.
Во-вторых как правило к модулю синуса нужно добавить немножко постоянного смещения, если этого не делать, то результирующий ток будет несколько смещен вниз, и будут образовываться искажения типа "ступенка". Аналогично как в двухтактном УНЧ класса АВ
bekor
а как должны вести себя в микрошаге движки из серии ДШИ ?
насчет смещения, неочень понял, если можно поподробнее


счас у меня такая таблица

да еще забыл сказать что в slow decay я просто отключаю
обмотку вместо того чтобы коротнуть нижними транзисторами
это потому что схема непозволяет включить два нижних транзистора одновременно

может ли это быть причиной неровномерности врашения ?
bekor
moonrock подскажи чтонибудь пожалуйста

p.s.. при увеличении нагрузки на валу
неровномерность увеличивается unsure.gif
moonrock
bekor, вы заставили меня ковырятся в MATLAB biggrin.gif
здесь нарисованы графики напряжения на ЦАП
синий график - чистый синус, но он не катит,
из-за принципа работы ШИМ, результирующий ток получается несколько ниже,
поэтому образуются ступенькообразные искажения,
чтобы это исправить, нужно добавить немного смещения, и получится зеленый график.
если вы хотите совсем особого шика, можно ко всему прибавить немного 3-й гармоники.

учтите, что все очень от мотора зависит, вот тут по следам ваших вопросов я еще раз экспериментировал и выяснил, что более-менее равномерно шагать получается на 1/8-1/10 микрошаге, если мотор 200шагов на оборот.
а вот 400 шаговый совсем худо себя показал - 1/4 микрошаг это предел.
так что 1/32 только для плавности хода.

как кстати вы замеряете шаги под нагрузкой?
moonrock
ха-ха, только сейчас заметил вопрос,
медленный спад не получится сделать отключением обмотки.
представьте что через обмотку протекает некий ток,
если теперь вы разомкнете все ключи, то ток потечет через встроенные диоды противоположных по диагонали транзисторов, и в результате обмотка окажется подключенной к источнику питания, т.е все равно получится быстрый спад.
в этом не было бы ничего криминального если бы диоды были нормальные, но в полевиках встроенные диоды плохие.
но в любом случае чтобы сделать медленный спад, вам придется придумать как замыкать два нижних ключа.
удачи!
ATLab
QUOTE (moonrock @ 10.11.2009, 6:33) *
...здесь нарисованы графики напряжения на ЦАП
синий график - чистый синус, но он не катит,
из-за принципа работы ШИМ, результирующий ток получается несколько ниже,
поэтому образуются ступенькообразные искажения,
чтобы это исправить, нужно добавить немного смещения, и получится зеленый график...

А не поможет ли другая аппроксимация SIN, в которой нет точки с током = 0? Тогда и смещение вводить не надо.
moonrock
Цитата
А не поможет ли другая аппроксимация SIN, в которой нет точки с током = 0? Тогда и смещение вводить не надо.

Конечно ее предпочтительнее использовать, со сдвигом на половину выбранного микрошага.
Но как другая таблица поможет устранить искажения? Все равно нужно сдвигать.
ATLab
QUOTE (moonrock @ 10.11.2009, 12:29) *
...Но как другая таблица поможет устранить искажения? Все равно нужно сдвигать.
Здесь можно остановиться.
А можно продолжить, начав разбирать причину появления искажений. Imho, дело в конкретной реализации драйвера. Предположу, что в Вашем драйвере реализован только быстрый спад тока, поэтому средний ток заметно ниже установленного. Это Вы и компенсируете.
bekor
Спасибо за ответы
попробовал добавлять постоянного смешения но особо ничего неизменился от этого
только при смешении больше 8 (амплитуда синуса 256) мотор уже начинает стукать
и при нагрузке на валу неровномерность резко увеличиваеться unsure.gif
можно ли както лечить это ?
moonrock
Хорошо..
Вы можете провести такую лабораторную работу
Нарисовать и заполнить табличку значениями токов фаз и реально угла.
Нужно понять где происходит отклонение.
А что за мотор?
bekor
честно говоря незнаю как измерить угол поворота ротора, ведь шаги мизерные blink.gif
двигуны ДШИ-200-1, ДШИ-200-2

если представить поведение ротора графическим образом то получиться чтото вроде этого
Нажмите для просмотра прикрепленного файла
кривость увеличиваеться с ростом нагрузки на валу
ATLab
QUOTE (bekor @ 14.11.2009, 21:02) *
честно говоря незнаю как измерить угол поворота ротора, ведь шаги мизерные blink.gif

Можно попробовать с помощью лазерной указки.
Закрепить ШД на горизонтальной плоскости, закрепить на его валу указку, перпендикулярно оси вращения, светить на стену подальше. Давать импульсы STEP, после каждого импульса делать отметку положения пятна от указки.
В идеале, отметки должны идти равномерно.
bekor
Попробую smile.gif
Men
Цитата(bekor @ 14.11.2009, 17:52) *
Попробую smile.gif


Незнаю что Вы мучаетесь , драйвер на базе L297 + L 298 или L297 + 2L298 стабильно работает , не каких резонансов и пропуска шагов ( если плата правильно разведенна ) , цена драйвера 150 рублей , я эти драйвера использую в своих станках , результат Вы наверное уже видели , что еще нужно непонимаю .
bekor
да знаю знаю,, я и сам 297-298 юзаю для станка
но дело не в этом (это недля станка чесно гря)
дело в том что мне надо дробить шаги потомучто
надо крутить камеру на шаговике без редуктора тоесть редуктор есть но на 1/2 передаточный

а в полушаге на экране видно как картина шагает ac.gif
Men
Цитата(bekor @ 14.11.2009, 18:39) *
тоесть редуктор есть но на 1/2 передаточный


Может редукцию сделать побольше ?
bekor
нет механику нельзя изменить
а то несталбы я все это затеивать
bekor
Интересно blink.gif
купил аллегро А3977 собрал плату запустил и увидел что работает точно также как и мой контроллер
только у аллегры эта неровномерность слабо выражена ac.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.