Реклама: Контроллер BLDC электродвигателя на базе платы гироскутера, прошивка, исходник.

 

Хочешь стать куратором любимой темы?

* Комментарии к новостям

1. Новости из Мира ЭлектроСамокатов (Электросамокаты) от Kzakkttixx (6.03.2021 в 10:19)2. Контроллер APT 96600 (Микроэлектроника) от Aquinax (6.03.2021 в 10:18)3. Обзор Кулон 820 (Зарядные устройства для свинцовых аккумуляторов) от Valvoline (6.03.2021 в 10:18)4. Электросамокат и ПДД (Электросамокаты) от NexVik (6.03.2021 в 10:17)5. Бережок-V, V1 - цифровые ЗУ для 12 и 6В свинцовых АКБ (Наша продукция) от v1SaroV (6.03.2021 в 10:17)6. Неспешный дальнобойный круизер... во, придумал. Тротуарный лайнер! (Самодельные электросамокаты) от Борян (6.03.2021 в 10:03)
7. Езда зимой. На электровелосипеде, электроскутере (Электровелосипеды) от Север (6.03.2021 в 10:02)8. Сделано в России (Видео от коллег) от Kapitan (6.03.2021 в 10:01)9. Хочу сделать электроавтомобиль, получится ли? (Электромобили. Перенесенные темы. Можно их продолжать) от Сергей138 (6.03.2021 в 09:55)10. Dualtron Тюнинг/Колхозинг (подвеска,подсветка,упоры,крылья,колеса итд) (Электросамокаты MiniMotors) от Kzakkttixx (6.03.2021 в 09:48)11. Ковид и ковидобесие (Анекдоты и флУДИЛКА) от Vik3 (6.03.2021 в 09:46)12. Измеряем внутреннее сопротивление аккумулятора.... (Источники питания) от UriBas (6.03.2021 в 09:46)
Не нравится реклама? Пройдите простую регистрацию на форуме и не будете видеть рекламу.

Прочитано 576 раз

0 Пользователи и 1 Гость просматривают эту тему.

07 Фев 2021 в 16:00
Прочитано 576 раз
Оффлайн

kor

г. Ижевск Сообщений: 1513
 Написал программу управления  BLDC мотором, используя примеры с сайта:
ссылка
ссылка
 Проект сделан в CooCox 1.7.8 , процессор STM32F103RBT6 , сам контроллер-плата гироскутера (трехплатный вариант). Для управления моторколесом от гироскутера и другими подобными, имеющими такие-же сигналы и градусность с датчиков холлов. Управление пока только одним мотором (левым, где спикер). Тип управления -блочное пушпульное ( в активной фазе ключуются шим-ом оба транзистора (верхний и нижний) , с модуляцией шим-а внутри блока (к концу блока заполнение шим уменьшается, чтобы убирать "трамплины" фазного тока возникающие в конце блока при обычной блочной коммутации, скрестил блочную и синусную коммутацию).  Программа содержит много комментариев.
  Имеется:
-Накат при полном сбросе курка газа.
-ПИ ограничитель фазного тока. (Честного измерителя фазного тока в схеме гироскутера нет, поэтому он расчитывается из среднего батарейного тока, делением на текущее заполнение ШИМ. )
  Пока нет:
-Защиты от обрыва земляного провода от курка газа.
-нет блокировки от включения при накрученном курке газа.
-нет контроля за напряжением батареи.
       Контроллер включается замыканием тумблера (подключается к разъему вместо штатной кнопки включения).
Выход с курка газа через дополнительный токоограничивающий резистор 1...10к, подключается к разъему для гироплаты (около спикера) к 2-му пину (синий провод)(для ориентира первый пин красный +14в, четвертый пин черный общий минус). К нему-же припаивается конденсатор 0,1 мкф, второй вывод конденсатора припаивается на общий ("-"). Максимальное входное напряжение 3.3 в.
+5в и - для питания курка газа можно взять с разъема для Холлов.
  Предлагаю испытать и "допилить" программу до необходимых "хотелок".
Смены вращения мотора тоже пока нет, пока только перекоммутацией проводов от мотора и от Холлов, кто знает какие менять напишите.
Тут говорится что надо на разъеме холлов на моторе поменять местами желтый провод с зеленым, и фазные провода поменять местами синий с зеленым.
Скрытый текст
Фото платы с подключениями
Скрытый текст
Исходник и прошивка прилагается:
  Величины ограничения фазного тока при тяге и рекуперации, уровни курка газа, скорость замедления при частичном сбросе газа, можно изменять в файле pmsm.h
 
« Последнее редактирование: 08 Фев 2021 в 16:40 от kor »


07 Фев 2021 в 18:05
Ответ #1
Оффлайн

i

Администратор Иваново Сообщений: 4011
Отличное желание поделиться наработками. Если это выложить на github.com или на bitbucket.org, или на любой другой ресурс для обмена исходниками и совместной работы над проектом, то вполне возможно обзавестись соавторами... да и самому будет удобнее.


07 Фев 2021 в 18:43
Ответ #2
Оффлайн

kor

г. Ижевск Сообщений: 1513
Отличное желание поделиться наработками. Если это выложить на github.com или на bitbucket.org
Попробую, просто пока не понял как это делается.


07 Фев 2021 в 18:47
Ответ #3
Оффлайн

Pau62

Россия, Рязань Сообщений: 1863
Приветствую.
А с какой целью именно так:
в активной фазе ключуются шим-ом оба транзистора (верхний и нижний)
Поэтому и накат половинчатый.
Меня привлекает вот такое управление:
Скрытый текст





07 Фев 2021 в 19:01
Ответ #4
Оффлайн

kor

г. Ижевск Сообщений: 1513
Поэтому и накат половинчатый.
Меня привлекает вот такое управление:
То что у вас на картинке это чистый синус. Я исходно так и делал, все полумосты ключуются пушпульно. Я отказался от синуса ибо увидел в нем только проблемы и недостатки (профита в моменте нет, нужно точно держать оптимальную фазу, эдс мотора должна быть синусоидальной, иначе появляются дополнительные потери (на синусной прошивке контроллер потребляет больше тока на холостом ходу чем блочный при тех- же оборотах.). Поэтому синусное управление я себе не хочу, хочу чтобы ежемоментно работали только 2-е фазы, а треья была отключена (висела в воздухе), тогда никаких проблем с "перетекающими" токами между фазными обмотками и связанными с ними доп потерями.  Жужжание блочного уменьшил с помощью модуляции шима, заодно и форма фазного тока улучшилась.
  По поводу половинчатого наката, накат сейчас полный , при полностью сброшеном газе все транзисторы запираются.
Вот картинка, исходно выдавался пушпульный синус (зеленая картинка). Теперь пушпульные блоки с модуляцией (красным)
Скрытый текст
Пушпульная коммутация для того чтобы не греть обратные диоды внутри транзисторов.
« Последнее редактирование: 07 Фев 2021 в 19:13 от kor »


07 Фев 2021 в 19:14
Ответ #5
Оффлайн

Pau62

Россия, Рязань Сообщений: 1863
Я исходно так и делал, все полумосты ключуются пушпульно
Я просто не обяснил.
По моей ( ну в общем не совсем моей)  роль нижних ключей - только тянуть к "-".
тогда накат будет и при промежуточном газе.
А в каком режиме общий нагрев будет больше - я не знаю пока.


07 Фев 2021 в 19:15
Ответ #6
Оффлайн

TRO

Украина, г. Запорожье. Сообщений: 8136
(на синусной прошивке контроллер потребляет больше тока на холостом ходу чем блочный при тех- же оборотах.).
На правильном синусе должно быть все наоборот, так как синусное повторяет противоЭДС обмоток. И если синус хуже блочного, то дело не в синусе, а в конкретной реализации.


07 Фев 2021 в 19:23
Ответ #7
Оффлайн

edw123

ПодМосква Сообщений: 15981
То что у вас на картинке это чистый синус. Я исходно так и делал, ...
 Пушпульная коммутация для того чтобы не греть обратные диоды внутри транзисторов.
Может не совсем грамотно вопрос задаю, но это ведь не векторная модель управления?


07 Фев 2021 в 19:24
Ответ #8
Оффлайн

kor

г. Ижевск Сообщений: 1513
По моей ( ну в общем не совсем моей)  роль нижних ключей - только тянуть к "-".
тогда накат будет и при промежуточном газе.
  Накат при промежуточном газе будет  если полумосты ключевать не пушпульно а "односторонне", сбрасывать ток самоиндукции через внутренние диоды. Так и сделано в простых китайских контроллерах, не пушпульное ключевание а только верхние ( или нижние) транзисторы ключуются, но я не хочу так делать, не хочу греть диоды.
 Рассматривал такой вариант коммутации: пока фазный ток маленький делается "односторонняя" коммутация, диоды сильно греться не будут. Как только фазный ток превышает некий порог-переключаемся на пушпульную коммутацию. Тогда при любом среднем сборсе газа будет полный накат, ибо ток уменьшится и коммутация переключится на "одностороннюю". Но пока не дошли руки до написания такого варианта програмы.
  Сейчас сделано так, что при частичном резком сбросе газа шим  сбрасывается не сазу а постепенно плавно 2-3 секунды (время задается в программе)  и происходит плавное замедление (подобно как сделано в эл самокате Сяоми).
  Реально проверить работу контроллера только не на чем сейчас.
« Последнее редактирование: 08 Фев 2021 в 16:30 от kor »


07 Фев 2021 в 19:29
Ответ #9
Оффлайн

kor

г. Ижевск Сообщений: 1513
На правильном синусе должно быть все наоборот, так как синусное повторяет противоЭДС обмоток.
На практике, у кого я спрашивал, потребление синусного варианта было либо больше либо почти равно блочному. (мотор Дензел D4500 например, вообще плохо дружится с синусным контроллером (судя по выложенной эпюре эдс этого мотора сильно далека от синуса). вобщем я пока для себя решил что синус мне не нужен, нет от него никакого профита в применении к электросамокату например)


07 Фев 2021 в 19:44
Ответ #10
Оффлайн

Pau62

Россия, Рязань Сообщений: 1863
Ну форму ЭДС легко посмотреть. У гироскутерного я не могу на глаз увидеть отличие от моей картинки.


07 Фев 2021 в 20:04
Ответ #11
Оффлайн

kor

г. Ижевск Сообщений: 1513
Ну форму ЭДС легко посмотреть. У гироскутерного я не могу на глаз увидеть отличие от моей картинки.
Есть начатый проект синусный с коммутацией как на вашей картинке (верблюжьи горбы), тоже по примерам с Авислаб, я его забросил (ток потребления на холостых был 2 А, против 0,58 А у блочного. Мне подсказывали что фазу надо подстроить точнее,  но я переключился на блочный. Будет время проверю этот синусный проект на работоспособность на железе и выложу, может вы допилите.


08 Фев 2021 в 11:39
Ответ #12
Оффлайн

kor

г. Ижевск Сообщений: 1513
Может не совсем грамотно вопрос задаю, но это ведь не векторная модель управления?
На картинке это способ формирования синуса, а далее этот синус можно генерить "жестко" привязавшись к моменту переклюбчения холлов (например). Это можно назвать "простым" синусом (не знаю как по научному правильно оно называется).
 А можно добавить в программу векторное управление, тогда фаза синуса будет автоматически (с помощью программного векторного ПИД регулирования) поддерживаться оптимальной (сдвиг между фазным током и фазным напряжением будет всегда поддерживаться оптимальным). Я до векторного-синусного управления не дошел, для себя решил что мне хватит блочного (возможно еще введу в него опережение в зависимости от оборотов).


08 Фев 2021 в 11:51
Ответ #13
Оффлайн

edw123

ПодМосква Сообщений: 15981
...(с помощью программного векторного ПИД регулирования) поддерживаться оптимальной (сдвиг между фазным током и фазным напряжением будет всегда поддерживаться оптимальным). Я до векторного-синусного управления не дошел, для себя решил что мне хватит блочного (возможно еще введу в него опережение в зависимости от оборотов).
Да, я именно про это. Ясно.


08 Фев 2021 в 16:10
Ответ #14
Оффлайн

Sonar

Санкт-Петербург, Приморский Сообщений: 1063
Как только фазный ток превышает некий порог-переключаемся на пушпульную коммутацию. Тогда при любом среднем сборсе газа будет полный накат, ибо ток уменьшится и коммутация переключится на "одностороннюю".
Только не забудьте про запаздывание измерения тока относительно поданой команды на уменьшение газа. Иначе могут быть заметные рывки. Имею ввиду тот момент, когда измеренное значение тока ещё выше некоего порога, при котором происходит переключение на односторонний ШИМ, а заданный уровень газа уже ниже ЭДС двигателя или вообще нулевой. Это длится очень короткое время, но лучше от этого сразу избавиться :) Я, кстати, в своем контроллере для куги, тоже использую этот метод переключения между двумя вариантами ШИМа, но ориентируясь на батарейный ток.
И ещё. Есть интересный момент, как люди борятся с шумом межфазного переключения при блочной коммутации:
Контроллер BLDC электродвигателя на базе платы гироскутера, прошивка, исходник.
Может есть смысл поиграться с этим начальным импульсом? Я его использую, он реально помогает, но не так сильно, как хотелось бы.


08 Фев 2021 в 20:04
Ответ #15
Оффлайн

kor

г. Ижевск Сообщений: 1513
Есть начатый проект синусный с коммутацией как на вашей картинке (верблюжьи горбы), тоже по примерам с Авислаб
Вот его исходник, там только вращение вперед , ток не ограничивается. И три провода обмоток мотора надо подключать к правым выходам на плате (ибо ТИМ1 используется в программе, не менял его на ТИМ8 который работает на левые выходы.) а кабель от холлов оставить на левом разъеме.
 Оказалось, как мне и говорил Sonar, в примере с Авислаб исходно неверные данные в массиве с точками коррекции фазы. После корректировки фазы (новые значения в Phase correction table в pmsm.с , пришлось сдвинуть на четверть времени блока, на 8...9 ) ток холостого хода упал до 0,62..0,64 А).
( У блочного 0,58-0,6 А ток хх.)
 
« Последнее редактирование: 09 Фев 2021 в 12:43 от kor »


09 Фев 2021 в 13:35
Ответ #16
Оффлайн

kor

г. Ижевск Сообщений: 1513
И ещё. Есть интересный момент, как люди борятся с шумом межфазного переключения при блочной коммутации:
Как видно по схеме их токомера, они измеряют мгновенное значение тока (вход токомера не заинтегрирован),  поэтому видимо он ловит все шумы и всплески тока. У вас в схеме как я помню нечто подобное но с использованием пикового детектора на диоде после ОУ.
 У гирскутерной же схемы токомер сильно заинтегрирован (стоит RC цепь на входе), поэтому он фактически измеряет средний батарейный ток и не чувствителен к шумам и коротким всплескам. Поэтому вроде-как нет нужды бороться с шумами переключений.
  Далее фазный ток из среднего батарейного расчитывается путем деления на текущее заполнение ШИМ. Медлительность такого токомера компенсируется сглаживанием приходящего с курка газа сигнала, изменение шим программмой всегда происходит "медленно, плавно"  даже при резких перекидках курка газа.
Скрытый текст


09 Фев 2021 в 14:30
Ответ #17
Оффлайн

Pau62

Россия, Рязань Сообщений: 1863
Не, у гирика фазный ток измеряется на сопротивлении каналов открытых нижних мосфетов.
Именно по этому у забугорных подельщиков макс. значение ШИМ ограничено, ну там они еще косячат в том смысле, что все измерения АЦП происходят при открытых нижних фетах. Поэтому их прошивки недодают мощи и скорости % на 15.
А, ну должен дополнить, что на каналах фетов истинного значения тока конечно не померить. Да оно им и не надо - для векторного управления и относительные значения годятся, да их можно еще приводить к боле - мене истинным на основе батарейного тока.
« Последнее редактирование: 09 Фев 2021 в 15:15 от Pau62 »


 

Контроллер мощного электродвигателя 3,5квт от станка ЧПУ с датчиками

Автор MasterРаздел Наше творчество

Ответов: 2
Просмотров: 403
Последний ответ 07 Фев 2021 в 20:09
от yurgen
купил вот GoldenMotor себе: контроллер 48V240L и двигатель BLDC к нему

Автор Curr93Раздел Свободный электрон

Ответов: 29
Просмотров: 5207
Последний ответ 08 Мая 2015 в 09:17
от Curr93
Контроллер для сигвея на BLDC. ( опрос закончен )

Автор VVKРаздел Гироскутеры (мини-сигвеи)

Ответов: 13
Просмотров: 1794
Последний ответ 09 Янв 2017 в 11:12
от VVK
Нужен контроллер BLDC на 72в

Автор Andrey11Раздел Микроэлектроника

Ответов: 1
Просмотров: 445
Последний ответ 16 Фев 2019 в 12:40
от inetchik
Самопальный контроллер BLDC на Arduino/Freeduino

Автор OverriderРаздел Электровелосипеды

Ответов: 9
Просмотров: 9245
Последний ответ 24 Окт 2009 в 16:41
от i