U-FOC - Векторне керування безколекторними моторами
Що таке U-FOC?
U-FOC - це проєкт програмно технічного комплексу для ОЗНАЙОМЛЕННЯ, ВИВЧЕННЯ і побудови систем векторного керування безколекторними моторами та екосистеми навколо них. Тобто, це не одна плата контролера двигуна, а невеликий комплекс, який дозволяє поєднувати декілька двигунів, керувати ними програмно або вручну, поєднувати з різними контролерами, пристроями з дисплеями та органами керування, організувати доступ в мережу, та таке інше.Алгоритми векторного керування моторами оперують полярними координатами. Детальніше про цей підхід в цьому відео:
Структура проєкту U-FOC
На приведеній нижче схемі позначені основні програмні, та технічні модулі проєкту U-FOC з посиланнями на детальну інформацію по кожному з них.U-FOC Board
Основою проєкту є U-FOC Board - це плата регулятора безколекторними моторами. Наразі доступно два варіанти плат для ознайомлення, але кількість варіантів і різноманіття характеристик буде з часом розширюватися.Плата контролера мотора може керуватися вручну завдяки потенціометру або подібного пристрою. Але основний задум - програмне керування платою контролера через один з інтерфейсів. Основний інтерфейс керування - CAN шина. Також можна використовувати UART при підключенні до комп'ютера і налаштуванні плат. CAN шина дозволяє поєднувати в проєкті декілька плат контролерів моторів і керувати ними централізовано.
U-FOC PC Monitor
Під'єднавши плату контролера двигуна до комп'ютера завдяки UART-USB перехідника, можна її налаштовувати й виконувати тестові запуски завдяки розробленій для цих цілей програми U-FOC PC Monitor. Тако ж доступний Web-додаток для браузера Google Chrome, який має такий самий функціонал, що і звичайний U-FOC PC Monitor, але працює прямо з браузера.U-FOC PC Monitor для Chrome browser
U-FOC Protocol
Для обміну інформацією між програмою і платою розроблено протокол U-FOC Protocol. Цей же протокол використовується при керуванні платою контролера двигуна через CAN-шину. Протокол дозволяє керувати та налаштовувати плати U-FOC Board.U-FOC Monotor
Для керування платами - контролерами двигунів використовується окремий мікроконтролер / мікрокомп'ютер. Наразі доступна одна реалізація U-FOC Monotor зроблена на мікроконтролері RP2040, має дисплей, кнопки керування, аналогові входи та дискретні входи/виходи, трансівер CAN - шини, Bluetooth модуль.U-FOC Mobile Monitor
Це проєкт програми для мобільних пристроїв. Якщо є потреба підключатися до Вашого проєкту за допомогою мобільних телефонів, планшетів, для налаштування чи отримання інформації, можна використовувати Bluetooth підключення. Вважається, що для кожного проєкту буде розроблятися окрема програма з урахуванням потреб користувача та особливостей проєкту. Передбачено один Bluetooth модуль в головному модулі U-FOC Monotor, який всім керує. Плат-регуляторів моторів (U-FOC Board) об'єднаних CAN-шиною може бути декілька. Також в проєкті можуть бути і інші пристрої. Організовувати підключення до кожного через Bluetooth немає сенсу. Саме такий підхід дозволяє з одного боку не навантажувати зайвим функціоналом плати U-FOC Board, роблячи їх більш універсальними. З іншого боку дозволяє реалізувати власний протокол обміну даними між мобільним пристроєм і головним керівним органом системи (U-FOC Monotor) для забезпечення потреб саме Вашого проєкту.Обмеження проєкту
На поточний момент проєкт U-FOC має наступні обмеження:- Керування моторами без датчиків положення ротора не підтримується
Файли проєкту
Завантажити всі файли U-FOC за посиланням: https://git.avislab.com/andre/U-FOC
Файли прикладів
Відео
Автор: Андрій Корягін
Недавні записи
- CRSF to PWM
- U-FOC PC Monitor для Chrome browser
- Фільтрація Back-EMF. Безсенсорні BLDC мотори
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
Tags
bluetooth bldc nodemcu tim max1674 eeprom led avr hih-4000 brushless programmator mpu-6050 usart examples smd sensors piezo rs-232 motor html git meteo bme280 gps bkp encoder java-script raspberry-pi websocket esp8266 books solar eb-500 atmega mongodb gpio sms css pwm ethernet pmsm st-link capture dma stm32 watchdog lcd rfid python uart battery dc-dc soldering timer ssd1331 wifi nvic dht11 docker i2c 3d-printer adc bmp280 flash rtc servo barometer remap exti mpx4115a web flask ngnix usb displays foc ssd1306 mpu-9250 options
Архіви