TDM Lab


Гео и язык канала: Россия, Русский
Категория: Технологии


Канал о электронике для электронщиков
Ютуб канал: https://www.youtube.com/@TDMLab

Связанные каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика

Получил заключительные микросхемы для полного набора микроконтроллеров управления электроприводом, разработанных в России😊

310 4 25

Как испытывались платы управления BLDC двигателей с высокочувствительным наблюдателем😊

Всем кто ожидает уже заказанные платы большое спасибо за терпение и мои извинения за продолжительное время поставки. Так как система новая и по схемотехнике и по программному обеспечению постарался все проверить как можно лучше.

Я так же сделаю еще подробное видео с работой этой системы и подробнее расскажу про стенд с тормозной муфтой.
Когда сказать не могу, но это то, что обязательно будет сделано.
Возможно даже включу туда и тест на подобие того, что показывали сами STM с подъемом гири и ее остановкой в промежуточном состоянии, так же в режиме HSO.


Платы разработчика векторных контроллеров BLDC/PMSM двигателей на STM32G473RC с поддержкой высокочувствительного наблюдателя доступны к предзаказу😊
Ссылка на магазин ВК
Поставка примерно в начале сентября.

Про то, что такое высокочувствительный наблюдатель можно посмотреть на моем канале Рутуб: https://rutube.ru/video/69a55b6c5b107bc19837cdb93148cfef

Особенности платы:
Микроконтроллер STM32G473RCT6 170МГц
Поддержка STM Motor Control SDK 6.4.2
Все способы управления доступные в MC SDK.
Бездатчиковые:
наблюдатель + ФАПЧ;
наблюдатель + CORDIC;
высокочувствительный наблюдатель (HSO).
Датчиковые:
на эффекте Холла;
квадратурный энкодер.

Токовые шунты 3шт по схеме Low-side, сопротивлением 1мОм. Максимальный размах тока измерения 106А при значение усиления x16 (по умолчанию).
Рабочее напряжение до 50В (60В предел по MOSFET).
Трансивер CAN, микроконтроллер поддерживает CAN-FD.
Предусмотрен разъем на плате для подключения дисплейного модуля на ST7735S 1.8'128x160RGB (дисплей в комплект поставки не входит, по крайне мере пока🙂).


Репост из: БЮРО 1440
Успешно выведены на орбиту спутники второго пакетного запуска БЮРО 1440

Космические аппараты отделились от ракеты-носителя и вышли на связь с Центром управления полётами БЮРО 1440. 

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


Немного микроконтроллеров от "Байкала" в ленту😊
Пришла мне отладка EVU-BA-2.5 и сами микроконтроллеры в небольшом количестве.

Это очень интересные чипы для управления электроприводом. На борту есть много ШИМ выходов, много АЦП (ADC_0...2) и целых 3 ядра, 2 из которых по 200МГц.

Например, одно ядро можно задействовать только для расчета контура управления током. То есть выполнение высокоскоростных задач на частоте ШИМ (10-50кГц).

Мне тут ЧГПТ разоткровенничался и сказал, что программа для этого должна выглядеть так:
ADC_ISR()
{
Clarke();
Park();
PI_Id();
PI_Iq();
InvPark();
SVPWM();
}
Вполне неплохо для железного мозга😄

Второе ядро 200МГц может заниматься задачей контура скорости и контура положения ротора если это необходимо. А так же приемом команд внешнего управления, отслеживанием параметров с более низким приоритетом вроде температур, напряжения шины DC и т.д.

Третье ядро, ну я даже не знаю, предлагайте🙃

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


Собираю испытательный стенд для инверторов и двигателей средней и большой мощности.
Не легкое это дело оказалось, кто бы мог подумать😁

На фото магнитная порошковая муфта на 100Нм тормозящего момента. Такие муфты очень легки в управлении, для изменения момента на валу нужно всего лишь подавать на них постоянный ток в пределах 0-2А (или другой диапазон).

Муфта позволяет создать именно статический тормозной момент не зависящий, или почти не зависящий, от скорости вращения вала до некоторой скорости.
Для инверторов и BLDC/PMSM двигателей именно момент страгивая является одним из ключевых и требующих многократных испытаний.

Современные синхронные двигатели с постоянными магнитами для тяговых систем, например для электромобилей, выполнены по IPM компоновке магнитной системы. Это значит, что инвертор в момент старта должен распределить токи в обмотках исходя из знания положения ротора через алгоритм MTPA для конкретной магнитной системы двигателя, который как раз и учитывает распределение токов по осям d и q, образующих момент вращения.

То есть по сути одно из важных испытаний IPM PMSM двигателей и инверторов к ним это пуск на статическую нагрузку без вращения вала с замером величины вращающего момента как функции от тока в обмотках.

У этих муфт есть серьезное ограничение на скорость вращения в состоянии под током, конкретно что-то около 300об/мин. Существуют специальные испытательные муфты на гораздо больший диапазон скоростей, но стоят они уже других денег.
Конкретно показанная мной технологическая муфта, такие применяют для торможения, например, конвейеров на производстве или подобных задачах.

Вот такая вот кутерьма😊


С днем России, коллеги, товарищи, друзья!🇷🇺
Я уже был в этом замечательном парке в Санкт-Петербурге и очень вероятно, что побываю там снова этим летом❤️
Для меня он выражает непрерывность и связанность русской истории.


Сделал пополнение в расходниках.
И хотя сейчас стараюсь заказывать платы преимущественно уже со сборкой, но вот для экспериментов над ними все равно приходится иметь и постоянно пополнять широкий набор различных компонентов и приспособлений.

Заказывал по пути наименьшего сопротивления просто с алиэкспресс.
Из экспресс теста вышло, что заявленные на корпусах параметры похожи на правду😊

Ссылки кому интересно:
1. Манганиновые токовые шунты 3920 0.1-5.5мОм
2. Твердотельные электролитические конденсаторы 6,3-63В 22-1000мкФ
3. Тестовые точки


Сделал финальный, по крайней мере на сейчас, тест BLDC двигателя и FOC контроллера.

Стенд теперь с охлаждением двигателя от кулера. Это очень помогло делать тесты чаще. За такую простую и полезную идею спасибо пользователю под ником X-Ray. Дамир, выражаю благодарность!

Амплитудное значение фазного тока точно такое же как и раньше: 55А, но вот достигнутая скорость вращения и соответствующая ей механическая мощность значительно выросли.
Pмех = 636Вт; Pэ = 947Вт; N = 6754rpm.
Причина этого увеличения мощности конечно не в температуре.

Изменил вычислитель угла с наблюдатель+ФАПЧ на наблюдатель+CORDIC. Такая связка оказывается стабильнее в предельных для двигателя режимах.

Покрутил коэффициенты ПИ-регуляторов тока в осях d,q. По сути значительно их увеличил и, похоже, это и было основное ограничение прошлой системы.
ПИ-регуляторы просто не успевали.

Еще немного увеличил напряжение на БП, чтобы не упереться в его лимит на 30А.

Для тех кому интересно что это за тарабарщина с "ФАПЧ" и "d,q", можно посмотреть видео от ST: https://youtu.be/As6cLKZzHyA
Не то чтобы после него все сразу станет ясно, но все же🙂


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

Ограничение амплитуды фазного тока в эксперименте 55А. Была достигнута частота тока в 1144Гц, что дает по расчетам 1144*60/12(пар полюсов) = 5720об/мин, фактически пик скорости был на 5688об/мин.
Момент составил 0,9Нм (вероятно на несколько сотых Нм больше) и механическая мощность 535Вт (Pмех =M⋅ω), электрическая 754Вт.

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

Так как двигатель испытывается без винта, то нет потока охлаждающего воздуха, потому идет его быстрый нагрев🌡.
В целом, показанные параметры уже считаются запредельными для двигателей такого класса и время приложения такого тока ограничено 180с, НО это с винтом, а для рекордных значений испытания проходят вообще в холодильных камерах. Например T-MOTOR указывают температуру окружающей среды при своих испытаниях 9,5°C.

Контроллер может создать ток и больше (до 100А) и возможно я проведу тесты с еще большей амплитудой, может 60-70А, хотя двигатель мне уже немного жалко. Если получится, результатами поделюсь!

А в целом, итогами эксперимента я доволен😁


Не секрет, что обмотки BLDC двигателей можно использовать как плохенький динамик для воспроизведения звуков оповещения от контроллера.
В некоторых продвинутых серийных контроллерах можно услышать даже речь. И вот я накидал свою реализацию😊

Контроллер векторный, потому в обмотках может создавать ток любой формы. Я использую звуковые файлы в скромном формате 8-bit PCM 8000Гц и модулирую ими несущую частоту ШИМ.

Для лучшего воспроизведения такой звуковой сигнал нужно еще подготовить. Выровнять высокие частоты и ограничить в полосе примерно 300Гц-3кГц.
Итого, кроме обычных "бипов" получилась даже вполне разборчивая речь и музыка.

Сам двигатель тут тоже весьма интересный, несмотря на явную схожесть с моделями T-Motor этот имеет свою магнитную систему. Конкретно этих двигателей пока очень немного в природе, но есть надежда, что это скоро изменится😊

Голос в оповещении принадлежит моей супруге, ожидаемо оказалось, что женский голос имеет лучшее спектральное распределение энергии для такой задачи.


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

Сам алгоритм описан в видео https://vkvideo.ru/video-192215032_456239122?list=59498fc7486ad69ac3&t=2m34s
Идея заключается в реконструкции собственной ЭДС синхронного электродвигателя, используя информацию как о 3-х фазных токах, так и о 3-х фазных напряжениях на двигателе.

Параметры платы:
Микроконтроллер: STM32G473RCT6
Напряжение шины DC: 50В
Максимальный фазный ток: 100А
Алгоритмы управления: кроме всех стандартных, которые позволяет STM Motor SDK можно создавать проекты с High Sensitivity Observer.
Подключение отладочного OLED дисплея прямо на плату.


Пришел мне программатор GD-Link-V3😊
Это одно из моих "боковых" исследований рынка микроконтроллеров для приводных систем. Микроконтроллер в программаторе стоит GD32E517RET6.
В наличии программирование-отладка через JTAG и SWD.

Я ранее уже рассказывал про плату и интересный мне микроконтроллер GD32G553, это Cortex-M33 c 216МГц и с просто огромным набором периферии для приводных дел.
Так вот оказалось, что на отладке GD32G553RxT6-EVAL стоит наплатный программатор на STM32, что уже само по себе было странно и в довершение это оказался DAPLink. Ничего я с ним интересного сделать не смог и понял, что хочу решение из коробки работающее сразу со штатной IDE от GD32. Вот такой вот я ленивый.

С GD-Link же все запустилось на ура, ничего не настраивал кроме того что выбрал в
debug configurations собственно GD-Link.

Некрасиво, что на программаторе не удосужились нанести назначение выводов разъема. Я понимаю конечно, что называния разные для JTAG и SWD. В итоге мне пришлось приклеить бумажку. Но не то чтобы этот производитель был уникален в этой забывчивости.

Итого, светодиодом я помигал, в подобии CubeMX для GD32 покопался. Она еще очень далека от совершенства, если не сказать хуже, но тем не менее это работает.

Из интересны[ камней у GD32 как я и сказал серия G5 (Cortex-M33) и есть еще две серии A5 (Cortex-M33) и A7 (до Cortex®-M7 dual), эти с буквой "А" сертифицированы для применения в транспорте в том числе как основные МК (automotive-grade MCU).

Микроконтроллеры с таким "грейдом" можно ставить например на управление тяговым инвертором электромобиля.
Старшая серия А7 идет вообще с Lockstep ядром. Это значит что там 2 физических ядра которые могут работать в синхронном режиме выполняя одну и ту же программу. Если в ходе выполнения происходит сбой вычислений одного из ядер, это может быть обнаружено "на лету".


Платы с микроконтроллером ВК035 разной степени готовности😊
По коду пока ничего нового от того, что уже выкладывал тут.

Проверил все напряжения, +12В (по факту +13,5В, что так и задумывалось), +5В, +3,3В, проверил генерацию и выход трехфазной ШИМ, проверил работу аналоговых цепей усиления напряжения с токовых шунтов.

Проверил работу супервизора питания TPS3823-33DBVR (2.93В), итог на осциллограмме. У него постоянная задержка сброса "ресета" и у меня на одной из плат это составило ~272мс от подачи питания.

Это с очень большим запасом достаточно. К этому моменту напряжение 3.3В уже давно успевает стабилизироваться.

Если в схемах с ВК035 нет супервизора, то после подачи питания МК часто подвисает где-то на ожидании блока ФАПЧ. С супервизором же все проходит без проблем.

Самые общие характеристики платы:
Назначение: плата разработчика систем управления электроприводом СДПМ и АД с обратной связью по положению ротора (датчики Холла, инкрементальный энкодер, SSI, бездатчиковое по наблюдателю состояния);
Микроконтроллер: К1946ВК035 (CM4F 100МГц);
Напряжение: до 50В;
Ток фаз максимальный: до 50А;
Схема измерения тока в фазах: трех-шунтовая на шунтах нижнего плеча.

Платы будут выпущены небольшим тиражом в продажу. Когда, сообщу отдельно.


С Днем Победы!
С праздником, товарищи, коллеги, друзья!


Немного опоздал, но несмотря на это, всех причастных с днем Радио!✊

Это конечно, не совсем про радио, но то же целые 4МГц😁 Получил я печатные платы резольверов.

Тут две части, одна неподвижная, это сам синусно-косинусный трансформатор, а вторая плата-мишень, она вращается.
В опыте я подаю синусоиду 4МГц на обмотку возбуждения трансформатора и получаю два сигнала с sin и cos обмоток.
Поворот мишени делаю, просто поднося её вплотную рукой и вращая.

На осциллографе желтый сигнал это выход генератора, а красный и зеленый, это отфильтрованные цифровым способом сигналы с приемных обмоток.

Уровень сигнала на приёмной стороне в этом эксперименте упал примерно в 100 раз от входного, но видно, что при должной последующей обработке это не мешает получить информацию о положении мишени.

У меня однополюсная система, то есть получился абсолютный энкодер положения вала на 360°. Иногда это не нужно, а нужна более высокая точность, для этого такие системы делают многополюсными.

Одна из моих идей по этой теме заключается в проверке схемотехники простого демодулятора таких сигналов без использования внешних специализированных микросхем, только силами микроконтроллера и транзисторов/ОУ общего применения.

Это скорее всего даст невысокую точность из-за ограниченных возможностей АЦП в МК, тем не менее иногда это не принципиально, а нужна именно простота реализации.


Плата управления BLDC на микроконтроллере К1946ВК035😊
Потихоньку начинает подавать первые признаки жизни. Я пока собрал только часть вокруг микроконтроллера и написал инициализацию ШИМ.

Микроконтроллер К1946ВК035 позволяет управлять трехфазной ШИМ с комплементарными каналами и аппаратным защитным временным интервалом (dead-time). В показанных сигналах ШИМ на частоте 16кГц и dead-time 500нс.

Микроконтроллерное ядро может работать на частоте до 100МГц, собственно у меня оно так и работает. По структуре же это аналог LM4F132 семейства Stellaris (Texas Instruments), эта серия МК сейчас уже стала "Tiva C Series".

И К1946ВК035 и LM4F132 это микроконтроллеры на ARM Cortex-M4F ядрах и в этом плане хочется нарисовать равенство между ними и STM32F4xx, но это будет неточно.
Как только дело доходит до работы с периферией, в частности с ШИМ, окажется, что она устроена существенно иначе.

В STM32 каналы ШИМ жестоко привязаны к своим таймерам. В задачах электропривода используются таймеры TIM1,8,20 (16bit advanced timers), в ВК035 эти функции выполняют "ШИМ блоки", это по сути отдельные 16-битные таймеры с 2-мя выходами, которые можно связывать общей синхронизацией.
То есть для 3-х фазной ШИМ я синхронизирую вместе три ШИМ-блока.

Это интересный подход, придуманный Texas Instruments и, вероятно, такая же структура управления ШИМ сохраниться и в новых МК от НИИЭТ на RISC-V ядрах.

Я выложил текущее состояние проекта тут: https://github.com/TDMLab/K1946VK035_BLDC_BOARD/tree/main
Моя основная работа по коду сейчас лежит в файле PWM_Control.с
Я собрал это из примеров НИИЭТ и НПФ Вектор.


На канале Robert Feranec появилось интересное видео с применением GaN инверторов для "дроновых" BLDC.
https://youtu.be/39oh-85G_m0
Цифры у них довольно впечатляющие, 80кГц ШИМ с dead-time 75nS на токах до 116А и всей шкалой в 330A.
Используют STM32G431RB с платой Nucleo.

Оставлю эту заметку как памятку себе вернуться к этому вопросу спустя какое-то время.

https://github.com/epc-co/MotorDrive-RefDesign-Firmware


Датчик динамического момента😊
Даная версия на 300Нм, но вообще есть на любой диапазон. Брал на Али тут.
Инструкция и технические параметры тут и тут.
Питание 24В, потребление у меня получилось 140мА.
Максимальная скорость заявляется в 15000об/мин и гарантируемая по точности не более 10000об/мин.

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

Аналоговый выходной сигнал момента вращения может быть из вариантов: ±5V/0-10V/4-20mA
Сигнал скорости вращения частотно-импульсный (60 импульсов на оборот).

Цифровой выход RS485. Можно использовать Modbus RTU протокол. Можно настроить режим который просто шлет по RS485 данные о моменте и/или скорости непрерывно. Есть несколько вариантов настроек этого.
Я попробовал и так и так, работает и по запросам и непрерывно.

Есть оригинальное ПО для ПК которое строит графики с него, может что еще умеет, стоит 87 баксов, тут можно и взять, а можно и обойтись.

А теперь немного грусти, но не очень сильной.
Внутренний АЦП как заявляется 24-разрядный, то есть теоретически даже в диапазоне ±300Нм можно было бы с ним получить великолепное разрешение, но увы. Для моей версии разрешение 0,1Нм и это никак не изменить, по крайней мере я способа не нашел. На весь диапазон имеем ±3000 отсчетов.

У меня была небольшая надежда, что через RS485 можно будет получить более широкий размер данных, но нет. На всех выходах, что аналоговых, что цифровых разрешение по моменту 0,1Нм.

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

Пока у меня не готов большой стенд я все таки попробую его вместе с маленькими двигателями. Мне нужен еще стенд на 10Нм, в принципе даже с 0,1Нм это будут вполне показательные данные, а дальше буду решать по поводу датчика на малый момент, но высокие обороты.


Индуктивные датчики положения, сформированные на печатных платах.

Такие датчики по сути являются разновидностью синусно-косинусных вращающихся трансформаторов с неподвижными обмотками или, что то же самое, резольверами
Из серьезных отличий тут это частоты работы, они составляют в среднем 2-5 МГц и это накладывает свои особенности на декодировние сигналов с них.

Как устроены традиционные автомобильные резольверы и как декодировать с них сигналы я показывал тут и их демодуляцию на STM32 тут. Там частоты идут в районе от единиц до десятков кГц.
Я использовал ЦАП и АЦП на STM32 чтобы выполнить формирование возбуждающего сигнала и синхронную демодуляцию сигналов sin-cos.

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

Вся суть в аналоговом умножении возбуждающего сигнала Tx на принятые сигналы с обмоток Rx-cos и Rx-sin. После этого преобразования в сигнале остается только низкочастотная составляющая, несущая информацию о угловом положении мишени.
Затем эти сигналы могут оцифрованы любым обычным АЦП и угол вычислен через функцию atan2.

Это с одной стороны и самый простой путь, но с другой стороны требует либо специализированной микросхемы, либо построения собственного аналогового демодулятора на МГц-вые частоты, например на микросхеме AD835. Как вариант строить свой аналоговый умножитель на дискретной компонентной базе.

Другой путь синхронная цифровая демодуляция, отличается тем, что нам нужно захватывать Rx сигналы каждый раз в одной и той же временной точке и желательно на максимуме волн. Для успеха тут требуется АЦП с коротким временем выборки. Как минимум на порядок быстрее чем сами сигналы Rx (2-5МГц).

И есть еще одна небольшая лазейка которую я хочу попробовать дабы сделать максимально простое устройство декодирования. Использовать встроенный низкоскоростной АЦП микроконтроллеров (1-2Мвыб/c), но оцифровывать сигнал захваченный быстрым внешним УВХ (устройством выборки и хранения), построенным буквально на одном MOSFET.

При этом я, вероятно, смогу сделать синхронную демодуляцию, так как и формированием сигнала Tx и управлением УВХ будет заниматься один МК.
Сигнал возбуждения Tx можно в простейшем случае сформировать из выхода ШИМ таймера МК, который можно настроить в районе единиц МГц.

Общая идея в том, чтобы быстро и синхронно захватывать сигналы RX и потом уже медленно обрабатывать в АЦП МК.
Это даст не самую высокую скорость получения новых данных о угле, но скорее всего будет достаточно для широкого круга применений.

И в заключение, компания Renesas представила датчики такого типа как замену автомобильных систем позиционирования ротора, что является огромным рынком.
https://youtu.be/K1IWfqaCdE4

Показано 20 последних публикаций.