Не мотори; кроковий двигун постійного струму з кодером

Ви хочете зробити робота, що котиться, і вам цікаво, які двигуни використовувати для повороту коліс?
Ви в правильному місці!
Якщо ви тут, то, мабуть, ви вагаєтесь між кроковим двигуном та двигуном постійного струму!
У цій статті ми зосередимося на перевагах та недоліках двох типів двигунів, не зупиняючись на технічних/фізичних відмінностях роботи різних типів двигунів, які з часом будуть предметом спеціальних статей.
Довга версія порівняння:
З поточними драйверами крокових двигунів та бібліотеками Arduino, такими як прискорений крок, керування кроковим двигуном із заданою швидкістю є дитячою грою. Особливо теоретично цими двигунами можна керувати у розімкнутому циклі, і дуже точно і повторювано, поки все в порядку.
Драйвери крокового двигуна та бібліотеки, що полегшують роботу:
Не потрібно використовувати кодери на цих двигунах та регуляторі, що йде з ними. Отже, менше кодів і "і менше введення потрібно! Крім того, менше" налаштувань програмного забезпечення ", оскільки зазвичай карти мають власні перемикачі для їх конфігурації. !
Загалом, для управління кроковим двигуном для поточних драйверів необхідні 2 сигнали:
=> "Крок", що дозволяє вказати швидкість двигуна
=> "Dir", який вказує, в якому напрямку працює двигун
Зверніть увагу на можливе використання сигналу "En": увімкнути, необов'язково, який вказує, чи може двигун працювати чи ні.
Ви можете не використовувати його, але це залишається практичним, якщо ви хочете заощадити трохи енергії у тому випадку, якщо двигуну не потрібно підтримувати зусилля в простої.
Дійсно, не використовуючи цей сигнал Enable, двигун буде споживати енергію навіть після зупинки.
Використовуючи цей сигнал, ви можете повністю зменшити споживання двигуна при його зупинці. Тоді двигун буде в режимі "вільного ходу".
Коротше кажучи, ми підключаємо кілька проводів до Arduino, ставимо програму з десяти ліній і у нас працює двигун із заданою швидкістю. => Швидкий та простий спосіб запустити кроковий двигун
Тому кроковий двигун є двигуном вибору для початківців !
Крім того, крім того, що він простий у використанні, завдяки використовуваній технології; кроковий двигун статора, що приводить в рух безщітковий ротор (безщіткова система) і, отже, без тертя, крокові двигуни мають чудовий ресурс, набагато кращий за двигуни постійного струму з щітками (матовий постійний двигун).
Нарешті, кроковий двигун може працювати в дуже широкому діапазоні швидкостей, що означає, що цей тип двигуна, як правило, використовується без редукторів, на відміну від двигунів постійного струму, які часто обертаються занадто швидко для більшості застосувань і вимагають використання коробки передач, адаптованої до бажана кінцева швидкість обертання.
Окрім простоти використання, ці характеристики роблять кроковий двигун також хорошим вибором для систем, що вимагають великих діапазонів обертання, і для систем, які повинні працювати безперервно і довго. !
З кроковими двигунами не все добре
Однак кроковий двигун також має свої недоліки .
При рівній потужності кроковий двигун буде важчим, громіздкішим і споживатиме більше.
Крім того, кроковий двигун споживає навіть у нерухомому стані, щоб зберегти своє положення .
Нарешті кроковий двигун може пропускати кроки.
Отже, необхідно буде переконатись, що умови хороші:
Ніщо не повинно блокувати двигун.
Прискорення не повинно бути занадто різким. і тому встановлення швидкісної рампи є дуже важливим. (на щастя, бібліотеки, такі як accelstepper, вирішують це за вас;))
Ще один момент, на який слід стежити: чим швидше обертається кроковий двигун, тим легше він може зупинитися. Існує навіть обмежена швидкість в стійлі, за яку двигун не може вийти ...
І якщо кроковий двигун починає втрачати кроки, катастрофа! Окрім того, що він загубився у свою чергу, що, як правило, проблематично у випадку з роботом. двигун може повністю зупинитися.
Кроковий двигун приводиться у відкритий контур, за відсутності додаткової інформації майже неможливо дізнатися, чи слід від'єднати двигун .
Як правило, якщо двигун швидко обертається при зупинці, в цьому випадку потрібно буде зменшити задане значення оборотів двигуна, щоб поле обертання статора відновило привід ротора крокового двигуна.
І тому ситуація може навіть «погіршитися» після проблеми. Програма може намагатися продовжувати так, ніби нічого не сталося .
Тож приблизно з кроковим двигуном ми їдемо туди із закритими очима, сподіваючись, що все йде добре, і поки все йде за планом, все добре, але там, де ми ризикуємо, якщо підемо в невідомість .
Тоді як із двигуном постійного струму з кодером ми будемо працювати вже не в "відкритому контурі", а в "замкнутому контурі". Наприклад, якщо ми впадемо на кістку і рушійні сили, ми можемо побачити за допомогою кодера, який знаходиться там, щоб виміряти швидкість обертання двигуна, що існує проблема, можливо, спробувати пристосуватися до ситуації .
Принцип сервоуправління та замкнених контурів з двигунами постійного струму
Пристосування до ситуації стосовно даної інструкції - це те, що ми називаємо налаштуванням рабства на інструкцію! І саме завдяки цьому елементу управління необхідно буде налаштувати та налаштувати програмним способом.
В ідеї це досить просто:
1) У нас є кодер, який вимірює швидкість двигуна // Придбання
2) Ми порівнюємо задану швидкість із виміряною швидкістю і виводимо поправку. // Обчислення
3) Поправка застосовується шляхом надсилання команд управління драйверу двигуна постійного струму // Виконання
4) Посилання на швидкість, можливо, оновлюється, якщо воно було змінено, і все це повторюється періодично // Цикл
На практиці це вимагає впорядкування коду з різними кроками в різних функціях:
Немає нічого кращого, ніж йти крок за кроком, спочатку освоївши кожен із творів
Виконання: керування двигуном постійного струму з водієм двигуна
Цикл: Налаштування таймера для періодичного виконання операцій із використанням тимчасових переривань.
Придбання: читання квадратурних кодерів, що вимагають, серед іншого, апаратні переривання.
Обчислення: знання, як реалізувати ПІД, пропорційний, інтегральний, похідний контроль
Коротше кажучи, трохи складніше у реалізації, але далеко неможливо;)
Але радійте, як тільки цей тест пройде, як тільки двигун з коробкою передач адаптується до бажаної швидкості та буде реалізований ПІД, ви матимете, крім того, що матимете більш енергоефективну систему, враховуючи співвідношення вага/простір. більш "надійна" система в умовах порушень з боку зовнішнього світу!
Підсумовуючи:
Перевагами крокового двигуна є:
Його простота впровадження - мати точну та повторювану систему
Необхідна зменшена кількість входів і виходів (2)
Його великий діапазон швидкості
Тривалість його життя
Недоліками крокового двигуна є:
Ризик втратити кроки та відповідні запобіжні заходи.
Його погане співвідношення потужності до ваги.
Його низький крутний момент на високій швидкості.
Його споживання триває навіть після зупинки.
Перевагами двигуна постійного струму з кодером є:
Відсутність втрат ступенів та контроль положення ротора завдяки кодеру.
Співвідношення потужності та ваги, яке загалом принаймні в 5 разів краще.
Більше прискорення та хороший крутний момент у всьому діапазоні швидкостей.
Відсутній витрата двигуна при нерухомому стані.
Недоліки двигуна постійного струму:
Додаткова складність для його реалізації (частота збору, сервоуправління, регулювання ПІД).
Потрібна більша кількість входів/виходів: ШІМ, DIR, EncoderA, EncoderB та необов’язково: увімкнути.
Його нижчий діапазон швидкостей, обережно вибирайте коробку передач!;)
Зменшений термін служби (двигун постійного струму щітки)
На закінчення,
краще використовувати кроковий двигун на "стаціонарній" машині, наприклад, 3D-принтері, де:
=> споживання не є нашим пріоритетним завданням,
=> ми хочемо тривалого терміну служби,
=> навколишнє середовище контролюється,
=> Ми хочемо повторюваності та точності з великим можливим діапазоном швидкості
Більше того, у випадку з роботом для змагань, наприклад, французьким кубком з робототехніки, де контролюється навколишнє середовище і де мало невідомих та ризик зусиль і, отже, ризик стрибків, можна використовувати крокові двигуни для полегшення коду. Особливо, якщо ви вперше берете участь у змаганні. Насправді, для першого робота ми не дуже дбаємо про енергетичні показники, ми зосередимось на створенні першого робота, який буде працювати, це вже буде дуже добре, і не буде соромно проходити через нього, навпаки ! =) Це вибір, який часто справедливо роблять команди-новачки !
У контексті робота для "реального світу" двигуни постійного струму будуть більш придатними. Трохи додатково попрацювавши над кодом, пожертвувавши ще кількома входами та виходами, вибравши відповідну коробку передач та правильно налаштувавши ПІД, ви зможете отримати набагато ефективнішого робота, а отже, моторизація може зайняти менше місця. !
Більшість команд, що мають досвід, використовують такий двигун.
Звичайно, ми не змогли закінчити без невеликого відкриття:
Чи можемо ми не мати переваг обох типів двигунів? ?
Ну так це можливо! З третім типом двигуна: BLDC.
Безщітковий двигун постійного струму з кодером. (Безщітковий, як кроковий двигун.).
По мірі зниження цін ці двигуни починають з’являтися навіть серед любителів.!
Більш ефективний з точки зору енергетики та з прекрасним терміном служби, BLDC все ще часто є менш "надійним", оскільки може вийти з ладу, або трохи занадто дорогий або більш складний у реалізації, оскільки його система управління є більш складною, а драйвери, що пропонуються такий двигун залишається дорогим.