Перейти к содержанию
    

ARM + шаговый двигатель

ищу программную реализацию алгоритма управления транзисторами шагового двигателя (возможно типа M061-ED03),

желательно реализованую на Си языке для ARM STM32 или подобный микрокон...

Изменено пользователем vvkka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ищу программную реализацию алгоритма управления транзисторами шагового двигателя (возможно типа M061-ED03 трех обмоточный),

желательно реализованую на Си языке для ARM STM32 или подобный микрокон...

 

У вас точно шаговый, а не BLDC ? А так по шаговым двигателям ищите Allpication notes на сайте производителя МК. А еще почитайте статью Ридико Леонида Ивановича про шаговые двигатели ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не двигатель шаговый всетаки "SUPERIOR ELECTRIC" type M061-FD03, steps 200 per.rev, 3.2V, 1.6A, DC, spec MB101025

Изменено пользователем vvkka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда Вам нужно определиться, какой тип двигателя (биполярный или униполярный). Затем решить, каким способом планируется поддерживать нужный ток двигателя (это зависит от того, какую максимальную "частоту вращения" и момент необходимо достичь).

Если нужна скорость, то лучше использовать, готовые контроллеры+драйверы ШД (и управлять с ARM`а стандартным методом Step-Dir). Для низкой скорости и тем более, если двигатель униполярный, было бы проще и дешевле переключать фазы транзисторами с помощью "лап" контроллера. Тогда и стабилизация тока (при низкой скорости) не понадобится.

Изменено пользователем kernel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ищу программную реализацию алгоритма управления транзисторами шагового двигателя

Не стоит в этом веке транзисторы использовать. Есть специализированные драйверы двигателей.

А вот алгоритм разгона, обхода резонанса нужен.

Без чтения тут не обойтись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

собрал как говорится из то что было, кординатный станочек, рабочая зона 800х450х150 мм, сначало хотел ходовые винты заказать токарю с шагом 4мм/об но оказалось дороговато, поэтому прикупил стягивающие шпильки 2мм/об правда пришлось повозится но получилось давольнотаки неплохо

вопрос втом есть ли у кого опыт, какой выбрать диапазон скоросте для 2мм/об какие обороты винта на мак скорос..., диапазон торможения, скоро... точного позиционирования

можно конечно использовать специализированные драйверы двигателей, но на схеме с транзисторами можно получить больший момент (хочу использовать станок как фрезер по дереву, пласмас легко обрабатываемые материалы)

опыт в програмировании AVR есть но нужно отчегото отлкнутся для ночала

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если речь идет о мелкоЧПУ, то нужно представлять какой момент двигателя нужен. Для этого нужно представлять максимальные силы резания, с учетом шага винта и КПД передачи уже можно определить нужный момент. Скорости перемещения определяются режимами резания. Нужно рассчитывать на получение максимального момента при резании и на получения максимальной скорости перемещения при холостых перемещениях.

Но вообще здесь такое не обсуждается. Для этого есть форумы, связанные с CNC (лично я бы рекомендовал форум cncmasterkit).

По поводу контроллера -- задачу разгона\торможения решает софт ПК, проблему резонанса решает контроллер (деление шага). В любом случае как самый распространенный метод управления контроллерами нужно принимать Step-Dir. Именно этим методом работают ЧПУ-программы.

Готовых схем управления ШД (step&dir) существует множество. В том числе на полевых транзисторах. Например, L297+IRFZ (для биполярных ШД).

Изобретать велосипед не вижу смысла.

 

И поверьте, для нормальной работы станочка просто переключать контроллером (транзисторами) фазы двигателя будет недостаточно.

Изменено пользователем kernel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно конечно использовать специализированные драйверы двигателей, но на схеме с транзисторами можно получить больший момент (хочу использовать станок как фрезер по дереву, пласмас легко обрабатываемые материалы)

 

Это в с какой стати на транзисторах момент больше ?

Двигатель запитывается стабильным током, ток указан в паспорте 1,6 А.

Драйвер и транзисторы дают один и тот же ток. В какой момент транзисторы дадут прирост момента?

 

Дабы не плодить кучу пустого текста в теме - сходите почитайте азбуку по двигателям от Леонида Ивановича.

Контроллер шагового двигателя

 

Раз Вы экономите на комплектующих - применение шпилек, ... продолжайте экономить: ставьте любую готовую микросхему драйвера двигателя Allegro, Toshiba, и подключайте в режиме step / direction к LPT. Программ управления - множество на выбор от бесплатных до сложных и дорогих :)

 

... и пользуйтесь поиском, активно, не стесняясь :) Тема ЧПУ настолько изжевана и расписана на хоббийных форумах, что перепечатывать ответы будет просто лень.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

izerg, наверное, имелось ввиду, что собирая на транзисторах можно выйти за те ограничения токов\напряжения, которые обычно есть в готовых драйверах. И тем самым достичь бОльшего момента\скорости.

А шпильки не всегда являются предметом экономии, иногда это есть необходимость, хоть и в редких случаях.

Вместо Allegro, Toshiba лучше сразу смотреть в сторону l297.

По поводу ссылки сообщением выше - для получения быстрого результата, а не "быстрого" опыта не думаю, что имеет смысл так вдаваться в подробности. Ну и еще, из пожеланий на будущее -- главное, не натыкайтесь на такие грабли как vri-cnc. Сэкономите значительное количество сил и времени.

Изменено пользователем kernel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

izerg, наверное, имелось ввиду, что собирая на транзисторах можно выйти за те ограничения токов\напряжения, которые обычно есть в готовых драйверах. И тем самым достичь бОльшего момента\скорости.

Пример, пожалуйста, приведите хоть один пример? Для лучшего понимания вопроса так сказать :)

У автора темы двигатель с током обмотки 1,6 А, Драйвер от Allegro например А3977 позволяет легко управлять двигателем до 2,5 А - что уже с запасом.

Смотрим что внутри:

block.gif

То есть - включил по типовой схеме, ток отрегулировал и "поехал".

Смотрим, что внутри предложенной Вами l297 :

post-2342-1320864292_thumb.png

В итоге - шим есть, логика "шагания" - есть, силовой части - нет.

 

Резюмирую: собирая на транзисторах - можно много чего насобирать, но все равно придется руководствоваться паспортом на двигатель и его режимами. Если этого не делать - двигатель будет недолго работать, либо параметры будут отличатся от оптимальных.

 

А шпильки не всегда являются предметом экономии, иногда это есть необходимость, хоть и в редких случаях.

Какая из редких необходимостей, кроме экономии, диктует применение базарной шпильки вместо ШВВП?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

izerg ненадо так резко кретиковать, я спецально расположил вопрос в теме для "наченающих" по шаговым двигунам у меня нету опыта, восновном приходится больше занематся программированием

 

а вопросы имеются: на разнных осях у меня стоят разные движки возможно посоветуете какой драйвер применить для этого двигуна - GPF2945-2A, STEP ANGLE 1.8, DC 1.8V, AMP DC 4.8A

 

или если приобрести готовое решение к примеру http://robozone.su/2008/06/21/stepdir-kont...poljarnogo.html

для каждого двигателя возможно придется делать настройку

и вобще конечно хотелось бы взгленуть на исходник программы...

 

 

Какая из редких необходимостей, кроме экономии, диктует применение базарной шпильки вместо ШВВП? вы вобще хотя бы знаите сколлько стоит ШВП? извените но я немиллионер , что вы хотите этоже часная разработка а незаводская

post-38838-1320871074_thumb.jpg

Изменено пользователем vvkka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готовые решения:

http://electronix.ru/redirect.php?http://www.google.com

1

2

3

4

Для каждого двигателя обязательно придется делать отдельную настройку. Вы уже определились с выбором ПО верхнего уровня?

Механика самодельная, значит методом проб подбирать (увеличивая) скорость шагов, пока не будет достаточной для перемещения, но не будет пропуска шагов под нагрузкой.

Исходник ... а Вы уже прочитали рекомендованую статью? до конца ?

Наверное пропустили строчки:

"Download:

step.zip (4.5 Kb) - архив с демонстрационной версией программы контроллера." ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

vvkka

 

Сходите сюда: http://forum.rcdesign.ru/f110/

Там лди собаку на этом съели.

Хотите сэкономить время - лучше купите готовый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример, пожалуйста, приведите хоть один пример? Для лучшего понимания вопроса так сказать :)

У автора темы двигатель с током обмотки 1,6 А, Драйвер от Allegro например А3977 позволяет легко управлять двигателем до 2,5 А - что уже с запасом.

Ну, например, предложенный Вами А3977 сможет "крутить" двигатель при питании 70В? А Вы представляете насколько велика разница "частот вращения" ШД хотя бы между 35В и 50В? А между 50В и 70В?

Смотрим что внутри:

...

То есть - включил по типовой схеме, ток отрегулировал и "поехал".

Смотрим, что внутри предложенной Вами l297 :

...

В итоге - шим есть, логика "шагания" - есть, силовой части - нет.

А что Вы этим хотели сказать? Это значит, что запрещено ставить внешнюю силовую часть? А правильно собранный контроллер-драйвер на L297 вместе с внешними полевиками будет получше и по качеству, и по параметрам (если применить соответствующие ПТ), чем бутерброды от Аллегры и Тошибы. Кроме того, будет один двигатель на полтора Ампера, другой двигатель на 5 Ампер и что, после этого ставить разные "бутербрододрайвероконтроллеры"?

Резюмирую: собирая на транзисторах - можно много чего насобирать, но все равно придется руководствоваться паспортом на двигатель и его режимами. Если этого не делать - двигатель будет недолго работать, либо параметры будут отличатся от оптимальных.

Когда кто-то собирает на транзисторах (готовую проверенную конструкцию), ему, как правило, все равно, какие двигатели будут использованы. Просто нужно понимать, что драйвер должен нормально воспринимать ток и напряжение с запасом (предполагая максимальный ток ШД), а контроллер обеспечивать необходимое деление шага (как правило, полушага вполне достаточно). Разве что при выборе двигателя смотреть, чтобы индуктивность обмоток не была слишком большой. И любой нормальный контроллер позволяет регулировать ток вручную уже под подключенный двигатель.

Какая из редких необходимостей, кроме экономии, диктует применение базарной шпильки вместо ШВВП?

У кого-то шпильки базарные, а у кого-то вполне "ровные" купленные в нормальном магазине :)

Необходимость -- например, применение в приводах подачи маленького крестообразного стола, где пару винт-гайка качения даже физически невозможно установить (хотя бы потому, что не хватает места). Либо вертикальный привод подачи, где требуется бОльшее самоторможение (например, при большом весе базовых деталей перемещаемой части привода). Кроме того, "базарных шпилек" зачастую вполне достаточно, тем более, если минимизировать трение пары винт-гайка (например, применить гайку из графитокапролона). Примеров выпускаемые станочков, где используется шпилька полно.

 

Готовые решения:

...

Не вижу смысла переплачивать хоть за одно из таких "готовых решений" (для домашнего мелкоЧПУ), когда полно куда более дешевых и таких же по параметрам\качеству готовых решений на базе той же предложенной ранее Вами Тошибы.

Для каждого двигателя обязательно придется делать отдельную настройку.

Только ток подстроечником. А вот для каждого привода подачи с самом софте уже нужно выполнять отдельную настройку (двигатель к этому имеет косвенное отношение).

Вы уже определились с выбором ПО верхнего уровня?

Автору топика я бы порекомендовал EMC2 (Linux CNC). И, повторюсь, главное не уйти в сторону vri-cnc.

Механика самодельная, значит методом проб подбирать (увеличивая) скорость шагов, пока не будет достаточной для перемещения, но не будет пропуска шагов под нагрузкой.

Подбирается max ускорение, max скорость перемещений в ПО (уже при указанных параметрах привода). Реальная подача уже указывается в G-коде самой ЧПУ программы и будет ограничиваться выбранными ранее подачами в самом софте. СтОит еще помнить о том, что один привод-тормоз будет тормозить остальные приводы. Т.е., например, если по оси X максимально возможная подача может быть 5000 мм\мин, а по оси Y 1000 мм\мин, то подачи всех приводов будут лимитироваться 1000 мм\мин.

и вобще конечно хотелось бы взгленуть на исходник программы...

Исходник ... а Вы уже прочитали рекомендованую статью? до конца ?

Думаю это совсем не нужно. А то вместо совершенствования станочка будет уходить куча времени на изобретение велосипеда.

Изменено пользователем kernel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А Вы представляете насколько велика разница "частот вращения" ШД хотя бы между 35В и 50В? А между 50В и 70В?

Максимальная частота прямо пропорциональна напряжению... Греться будет моторчик. А зачем нужна высокая скорость? Я думала, что в станочках, которые массивные штучки двигают, важнее момент.

А интегральные драйверы от TI работают при 45в и выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...