Контроллер плавного пуска и торможения шагового двигателя

Контроллеры, драйверы, датчики, управляющие устройства.

Контроллер плавного пуска и торможения шагового двигателя

Сообщение Exico » 09 апр 2018, 21:26

Плавный разгон и торможение шагового двигателя.
Недавно решил собрать тестовый контроллер ШД и вдруг понял, что при кажущейся простоте задачи, реализовать плавное ускорение и торможение ШД не так-то просто. Вначале я разработал и изготовил плату на контроллере PIC16F886, а потом начал думать над алгоритмом. И в результате потерпел полное фиаско. ШД раскручивался, но с какими-то стуками и со срывом синхронизма на “высоких” оборотах (понятие “высоких” естественно для разных людей разное). У контроллера выявилась проблема со стабильностью таймера и низкой скоростью реакции на прерывания. Контролировать процесс при этом практически невозможно. Поэтому, что бы не переделывать плату контроллера я заменил м/с PIC16F886 на PIC18F2520. По ногам тот же самый функционал, только работает не на 8МГц а на 32МГц.
Ну а теперь по существу.
Глобально, в теории разгона ШД существуют 2 ветки:
1. Линейный разгон-торможение. Реализация довольно проста. Ускорение постоянно и скорость линейно нарастает.
2. S-образная характеристика разгона-торможения. Есть разные подходы к разгонным кривым, но суть всего этого - компенсировать потерю момента ШД при увеличении угловой скорости. S-образная характеристика хороша и в том случае если нужно сдвинуть большие массы (например портал Х). Но если вы работаете не на пределе скоростей, то линейное управление не самый плохой вариант. Я, в данном проекте, экспериментировал с Sin-нусной реализацией S-кривой. Легко рассчитать и даже в реальном проекте, по управлению ШД, синус рассчитывается очень быстро.
Теперь о практической реализации. Так как контроллер PIC18F2520 достаточно слабый при математических вычислениях в реальном времени, кривые разгона я заранее рассчитал в Excel Visual Basic, а потом в виде массивов подставлял в программу управления. В контроллере я реализовал 5 скоростей ШД 500, 770, 1000, 1250, 1666 имп/сек. Расчет ведется в импульсах шагового двигателя. Для моего двигателя:
- Vmax = 1000имп/сек. (или 1000/200=5об./сек.) Максимальная скорость ШД;
- Vo = 100имп/сек. ШД как правило управляются не с 0 иначе велик риск попасть в резонанс, что отрицательно сказывается на моменте;
- F_clk = 10кГц частота дискретизации или обсчета траектории (в нашем случае это не реальный расчет, а эмуляция по рассчитанному заранее массиву). Частота должна быть в несколько раз больше чем Vmax. В некоторых контроллера я встречал частоту до 500кГц. Чем она больше – тем точнее аппроксимация траектории и лучше плавность работы ШД. Но все упирается в производительность;
- S = S + (Vi+Vi-1)/2*0,0001*0,0001, S – это расстояние, пройденное за i тик времени. Этот параметр с накоплением и он должен быть рассчитан на каждом шаге S = S + Si;
- Ну и наконец, смотрим разность Sj – Sj-1 > 1 . Если условие выполняется, то в этот момент подаем импульс на ШД (не забывайте, что импульс подается, когда разность между предыдущим положением ШД и нынешним превысит 1).
Кому интересен расчет для прямолинейного и S-образного управления, я выложил файлы, в которых есть расчет и графики кривых. Заодно можете проверить, вдруг я где-то ошибся.
https://youtu.be/vnx0HSAkLhs
Программа на EXCEL для линейного ускорения: https://www.dropbox.com/s/x49q9ydy9vwum0x/%D0%A0%D0%B0%D1%81%D1%87%D0%B5%D1%82%20%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%A8%D0%94.xlsm?dl=0
Программа на EXCEL для S- ускорения:
https://www.dropbox.com/s/fodtuuznxs79qgf/%D0%A0%D0%B0%D1%81%D1%87%D0%B5%D1%82%20%D1%81%D0%B8%D0%BD%D1%83%D1%81%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%A8%D0%94.xlsm?dl=0
Аватара пользователя
Exico
Новичок
 
Сообщения: 8
Зарегистрирован: 20 янв 2018, 22:50
Откуда: Минск
Репутация: 8
Настоящее имя: Сергей

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение xvovanx » 09 апр 2018, 23:28

Какое дальнейшее применение всей этой затеи?
Аватара пользователя
xvovanx
Мастер
 
Сообщения: 1467
Зарегистрирован: 25 фев 2016, 12:27
Откуда: Latvia
Репутация: 446
Настоящее имя: Владимир

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение Exico » 09 апр 2018, 23:46

Для меня - тренировка мозгов и испытание станка. Для Вас, если интересно, могу выслать схему, чертеж платы, программу.
Аватара пользователя
Exico
Новичок
 
Сообщения: 8
Зарегистрирован: 20 янв 2018, 22:50
Откуда: Минск
Репутация: 8
Настоящее имя: Сергей

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение xvovanx » 09 апр 2018, 23:55

Нет, спасибо. Для своих устройств схемы и прошивки делаю сам (тоже на ПИКах). Просто везде где применял шаговики, не было необходимости делать плавный пуск. Думал может у вас что-то конкретное, мощное намечается.
Аватара пользователя
xvovanx
Мастер
 
Сообщения: 1467
Зарегистрирован: 25 фев 2016, 12:27
Откуда: Latvia
Репутация: 446
Настоящее имя: Владимир

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение UAVpilot » 10 апр 2018, 00:11

У TI , ST и Mocrochip есть недорогие готовые контроллеры разных двигателей, в том числе и ШД, в этих контроллерах уже реализованы практически все современные алгоритмы и способы управления ими. Причем многие из них выпускаются на удобных демоплатах, некоторые их которых можно получить совершенно бесплатно, даже без оплаты доставки. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 18809
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4578
Медальки:
Настоящее имя: Сергей

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение megagad » 10 апр 2018, 16:27

UAVpilot писал(а):Причем многие из них выпускаются на удобных демоплатах, некоторые их которых можно получить совершенно бесплатно, даже без оплаты доставки.

можно БЫЛО получить ;) Сейчас 90% производителей ссылаются на "санкции" и посылают в пешее эротическое читать текст этих самых "санкций"...
We Do What We Must, Because We Can!
Причинять добро, наносить пользу и подвергать ласке.
Аватара пользователя
megagad
Почётный участник
Почётный участник
 
Сообщения: 3179
Зарегистрирован: 05 апр 2014, 18:57
Откуда: Реуспублика Крым, Бахчисарай.
Репутация: 710

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение Exico » 10 апр 2018, 19:31

UAVpilot писал(а):У TI , ST и Mocrochip есть недорогие готовые контроллеры разных двигателей, в том числе и ШД, в этих контроллерах уже реализованы практически все современные алгоритмы и способы управления ими. Причем многие из них выпускаются на удобных демоплатах, некоторые их которых можно получить совершенно бесплатно, даже без оплаты доставки. :)

И что? Я не понял посыла этого сообщения! Бежали мимо, подняли ногу, писнули? Ведь нужно было, я же Мастер!
Ваша проблема "UAVpilot" в том, что если Вам нечего сказать, то лучше просто промолчать, а не засорять словоблудием форум.
Аватара пользователя
Exico
Новичок
 
Сообщения: 8
Зарегистрирован: 20 янв 2018, 22:50
Откуда: Минск
Репутация: 8
Настоящее имя: Сергей

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение N1X » 10 апр 2018, 19:54

Ну так не уподоблялись бы, так у вас никаких нервов не хватит... У каждого ведь свое мнение, и высказывать его на запрещено...
Аватара пользователя
N1X
Мастер
 
Сообщения: 3472
Зарегистрирован: 16 фев 2015, 21:19
Откуда: Беларусь, Гомель
Репутация: 1581
Настоящее имя: Владимир

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение MX_Master » 10 апр 2018, 19:58

Exico писал(а):
UAVpilot писал(а):У TI , ST и Mocrochip есть недорогие готовые контроллеры разных двигателей, в том числе и ШД, в этих контроллерах уже реализованы практически все современные алгоритмы и способы управления ими. Причем многие из них выпускаются на удобных демоплатах, некоторые их которых можно получить совершенно бесплатно, даже без оплаты доставки. :)

И что? Я не понял посыла этого сообщения! Бежали мимо, подняли ногу, писнули? Ведь нужно было, я же Мастер!
Ваша проблема "UAVpilot" в том, что если Вам нечего сказать, то лучше просто промолчать, а не засорять словоблудием форум.

Напрасно вы так отнеслись к совету Сергея (UAVpilot). У него по этой части знаний и опыта больше чем у нас с вами. И местами - на порядок. То, что прямых ссылок в совете не было - ну дык, никто и не обязан. А намёк (посыл) был весьма точный.

Я, к примеру, использую в своем драйвере All-in-one чип powerSTEP01 от компании ST. Откровенно крутая штука. Всё, что мне остаётся - ставить рядом любой крохотный МК и просто отдавать ему приказы по SPI. Все плавные разгоны/торможения и ещё куча всего интересного уже есть внутри чипа.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4789
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2192
Медальки:
Настоящее имя: Михаил

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение UAVpilot » 10 апр 2018, 23:37

megagad писал(а):можно БЫЛО получить ;) Сейчас 90% производителей ссылаются на "санкции" и посылают в пешее эротическое читать текст этих самых "санкций"...

Мне пока не отказывали, правда я и не "наглею" - на всё интересное времени не хватает. Ещё и "работодатель" (TI) периодически без спроса чего-нибудь высылает - приходится выяснять это они просто так или в очередную "раб. группу" завлекают. А тебе наверно из-за места жительства отказывают, попробоуй через посредника.

Exico писал(а):Ваша проблема "UAVpilot" в том, что если Вам нечего сказать, то лучше просто промолчать, а не засорять словоблудием форум.

Ваша проблема в том, что вы опубликовали это не в своём бложике, а на нашем форуме, который прежде всего предназначен для обсуждения любых вопросов по тематике форума, и мы тут уж как-нибудь сами решим чем "засорять" форум, а чем нет. Это я вам как модератор говорю.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 18809
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4578
Медальки:
Настоящее имя: Сергей

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение Exico » 11 апр 2018, 00:00

Ух ты! Модератор! Вы знаете я посмотрел Ваши ответы в разных ветках (просто ради интереса). Половина из них разговор двух бабок на завалинке. НИОЧЕМ. Модератор должен следить за собой и не лить "воду" без повода. К сожалению, действительно стоящиее предложения и ответы просто тонут в массе флуда, который в том числе разводите и Вы, МОДЕРАТОР.
Аватара пользователя
Exico
Новичок
 
Сообщения: 8
Зарегистрирован: 20 янв 2018, 22:50
Откуда: Минск
Репутация: 8
Настоящее имя: Сергей

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение UAVpilot » 11 апр 2018, 00:11

Exico писал(а):я посмотрел Ваши ответы в разных ветках

Все 15 с лишним тысяч или только пяток другой? :)

Ну и зачем тогда вы постите свои бложики на таком неправильном форуме с таким никчемным модератором? Нигде больше никто не обращает на них внимания?.. Да и здесь, я смотрю, тоже. :)

Собственно чем вас так задело высказанное мной моё личное мнение, адресованное не вам, а всем участникам форума? "Наступил" на что-то больное?..

Exico писал(а):Модератор должен

Модераторы здесь знают сами чего и кому они должны, а чего нет, и подобные советы чреваты.

Ладно, я заканчиваю - само засохнет, как и предыдущая тема. Только правила не нарушайте...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 18809
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4578
Медальки:
Настоящее имя: Сергей

Re: Контроллер плавного пуска и торможения шагового двигател

Сообщение Exico » 11 апр 2018, 00:21

Да, пожалуй Вы правы насчет "бложиков", пора завязывать. Пока Всем!
Аватара пользователя
Exico
Новичок
 
Сообщения: 8
Зарегистрирован: 20 янв 2018, 22:50
Откуда: Минск
Репутация: 8
Настоящее имя: Сергей


Вернуться в Электроника

Кто сейчас на конференции

Зарегистрированные пользователи: Alexbuks, arkhnchul, Адекс, Bing [Bot], Enot_1, Fed3d, Flymoth, Frezer_PU, frezeryga, gigs, goldmen8, Google [Bot], Google Feedfetcher, gosh, kimian 6040, Majestic-12 [Bot], Mamont, MIKAlex, mikehv, MSN [Bot], nkp, Ramunga, RNDL, sergay, shalek, spryt, Toosy, tsurika, vladumur, woodshop, Yandex [bot]

Reputation System ©'