Тег: stm32 - сторінка 3
‹ 1 2
Схема керування безколекторним двигуном BLDC, PMSM на STM32
- Напруга живлення плати 12V
- Напруга живлення двигуна 12v ... 72V
- Максимальний струм 30 A
STM32 - PMSM Control
Керування PMSM за допомогою STM32
Викладений нижче матеріал ґрунтується на документації AVR447 від фірми Atmel. Приклад керування PMSM двигуном з трьома датчиками Холла для мікроконтролера STM32 базується на інформації, викладеної в цій документації. Існує деяка плутанина в термінології пов`язаної з безколекторними двигунами. Саме поняття "безколекторний двигун" включає в себе кілька груп двигунів, в тому числі і безколекторні двигуни з постійними магнітами. Далі маються на увазі безколекторні двигуни з постійними магнітами. У більшості літературних джерел двигуни з постійними магнітами розділені на дві категорії за формою зворотного ЕРС (електрорушійна сила). Зворотна ЕРС може мати вигляд трапеції або синусоїди. Хоча термінологія в літературі іноді суперечлива, в більшості випадків вважається, що безколекторні двигуни постійного струму (BLDC) мають зворотну ЕРС у формі трапеції, а синхронні двигуни з постійними магнітами (PMSM) мають синусоїдальну зворотну ЕРС. І BLDC і PMSM можуть збуджуватися синусоїдальними струмами.
STM32 - BLDC Motor Control
Керування безколекторним двигуном постійного струму (BLDC) за допомогою STM32
У якості прикладу розглянемо керування трьохфазним безколекторним двигуном (BLDC Motor) з датчиками Холла. Про алгоритм керування безколекторним двигуном з датчиками Холла я раніше писав у статті Управление бесколлекторным двигателем с датчиками Холла (Sensored brushless motors). У цій статті ми розглянемо лише питання програмування мікроконтролера. Мається на увазі що ви знайомі з алгоритмом керування BLDC з датчиками Холла та розумієтесь на структурі регулятора, а силова частина обрана відповідно до потужності Вашого двигуна. Тому у статті не буде наведена принципова схема, розглядатиметься лише структурна схема з описом призначення виводів мікроконтролера.24. STM32. Програмування STM32F103. Bootloader
У цій статті ми розглянемо що таке Bootloader, навіщо і коли потрібен власний Bootloader, приклад як написати власний Bootloader, приклад як адаптувати прошивку для використання з Bootloader-ом.
Що таке Bootloader?
Bootloader (загрузчик) - це програма яка знаходиться у пам`яті мікроконтролера. Основна функція загрузчика - записати програму (прошивку) у флеш пам`ять мікроконтролера. Тобто, прошивка мікроконтролера. Використовується коли треба дати можливість оновити прошивку кінцевому користувачеві приладу без використання програматора.Keil uVision5 – IDE для STM32
Keil - Keil uVision5
Встановлення і налаштування Keil. Створення першого проекту. Офіційний сайт: http://www.keil.com/ Комерційна IDE для мікроконтролерів STM32. У безкоштовному варіанті має обмеження за обсягом програми до 32Кб. Завантажити можна з офіційного сайту.
IAR Workbench - IDE для STM32
IAR - IAR Embedded Workbench for ARM 7.80
Встановлення та налаштування. Створення першого проекту. Офіційний сайт: https://www.iar.com/ Комерційне IDE для мікроконтролерів STM32. У безкоштовному варіанті має обмеження на 30 днів, або за обсягом програми до 32Кб. Завантажити можна з офіційного сайту.ST-Link Програматори для STM8 / STM32
23. STM32. Програмування STM32F103. Option bytes
Как захистити прошивку мыкроконтролера STM32 выд копыювання? Чи це взагалы реально?
22. STM32. Програмування STM32F103. PWR
Зниження енергоспоживання мікроконтролера частіше за все нас цікавить при розробці приладів, які живляться від акумуляторів чи батарей. STM32 дозволяє керувати власним енергоспоживанням. Перш, ніж ми навчимося застосовувати режими зниженого енергоспоживання, розглянемо, як організоване живлення мікроконтролера та загальні методи зниження енергоспоживання.
21. STM32. Програмування STM32F103. USB
На тестовій платі STM32F103 маємо microUSB роз’єм. І він служить не тільки для подачі живлення. STM32F103 може працювати з USB у якості різних USB - пристроїв. Як USB HID пристрій, у тому числі - як клавіатура чи мишка, як віртуальний послідовний порт, USB Mass Storage, тощо. Ми розглянемо лише пару прикладів. У першому - комп`ютер буде сприймати STM32F103 як віртуальний послідовний порт. У другому прикладі STM32F103 емулюватиме клавіатуру і мишку. STM32F103 буде рухати мишкою, (звісно на екрані :), та емулювати натискання кнопок на клавіатурі.
20. STM32. Програмування STM32F103. I2C Slave
У попередній статті ми розглянули роботу STM32 з шиною I2C у якості Майстра. Тобто, він був ведучий і опитував сенсор. Тепер зробимо так, щоб STM32 був Slave-ом і відповідав на запити, тобто сам працював як сенсор. Ми виділимо 255 байт пам`яті під регістри з адресами від 0 до 0xFF, і дозволимо Майстру в них писати/читати. А щоб приклад був не таким примітивним, зробимо з нашого STM32, ще і аналого-цифровий перетворювач з інтерфейсом I2C. ADC буде обробляти 8 каналів. Результати перетворень контролер буде віддавати Майстру при читанні з регістрів. Оскільки результат перетворення ADC займає 12 біт, нам потрібно буде 2 регістра (2 байта) на кожний канал ADC.
19. STM32. Програмування STM32F103. I2C Master
Шина I2C досить популярна і дуже багато сенсорів та інших пристроїв використовують саме I2C. Я не буду писати хто, коли і для чого винайшов цю шину та як по ній бігають байти. Цієї інформації повно у Інтернеті, для цього існує Вікіпедія. Коли Ви тримаєте в руках сенсор і бажаєте якнайшвидше отримати з нього дані, та вирішити поставлену задачу, Вам вистачить наступного мінімуму знань:
- Шина I2C - це двопровідна шина з лініями SCL, SDA. Теоретично, на одну шину I2C можна паралельно підключити до 112 пристроїв.
- Обидві лінії шини мають бути через резистори підключеними до живлення. Рекомендований номінал резисторів залежить від швидкості та інших параметрів шини. Зазвичай мало хто з цим морочиться і ставлять резистори у межах від 4.7кОм до 10кОм. Резисторів має бути по одному на кожну лінію. Якщо Ви підключаєте декілька модулів, а на кожному модулі вже впаяні підтягуючі резистори, то виходить, що резистори вмикаються паралельно і їх сумарний опір стає меншим. Це не дуже добре. Та, якщо ви вмикаєте лише два таких модуля і на кожному впаяні резистори по 10 кОм, тоді сумарний опір буде 5КОм, що попадає у межі допустимої норми і шина I2C, скоріш за все, буде працювати. Але повторюю: чіпляти на кожну лінію більше одного резистора - не дуже гарна ідея.
- Кожен пристрій на шині I2C має окрему адресу.
- На шині I2C може бути лише один Master і один, або декілька Slave.
- Швидкість шини може бути різною. Зазвичай використовують два стандарти 100 і 400 КГц. Швидкість лінії має визначатися по самому повільному пристрою на шині. Якщо Slave не встигає, він може "притримати" шину і всі його будуть чекати. Та такий підхід, хоч і є стандартом, але на практиці працює не завжди. У випадку, коли Master не вміє чекати (цим, наприклад страждають мікрокомп`ютери), на шині починається безлад. Тобто, некоректна робота одного з пристроїв на шині I2C (не важливо, у якій ролі - Master або Slave) може викликати проблеми у роботі усіх приладів.
- Якщо напруга живлення контролера відрізняється від напруги живлення датчика, вони мають вмикатися через двонаправлену схему узгодження логічних рівнів.
‹ 1 2
Недавні записи
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
Tags
docker sensors rtc led timer wifi remap sms css websocket mongodb bme280 rfid bluetooth esp8266 nodemcu bkp piezo bmp280 i2c mpu-6050 encoder examples avr brushless ngnix nvic displays bldc java-script pmsm barometer pwm lcd ethernet stm32 raspberry-pi capture usart gpio exti atmega meteo solar smd dma adc eeprom eb-500 flask python ssd1306 uart options flash mpx4115a html gps st-link 3d-printer servo dc-dc foc git books battery hih-4000 watchdog dht11 web tim programmator ssd1331 mpu-9250 usb rs-232 motor max1674 soldering
Архіви