avatar_inetchik

Контроллеры м-к Куги хакнуть пора.

Автор inetchik, 08 Дек. 2018 в 14:26

« назад - далее »

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

edw123

Цитата: kor от 21 Сен. 2022 в 12:49
КПД.  Угол опережения при котором получается минимум потребляемой мощности при конкретных заданных нагрузочном моменте и оборотах.
Точно? Может максимальный момент или обороты?

kor

 В коллекторных моторах есть такое явление "поперечная реакция якоря", когда силовые линии магнитного поля статора (центральная ось полюса статора) смещаются в сторону противоположную вращению, тем сильнее чем больше ток якоря . Для компенсации этого эффекта смещают щетки от геометрической нейтрали на определенный угол, оптимальный для номинальной нагрузки (тока) мотора (ибо оперативно менять его в коллекторных моторах проблематично).
Вероятно в БЛДЦ моторах подобная-же причина требует изменения угла опережения в зависимости от нагрузочного момента, а он пропорционален фазному току. Дополнительно нужно еще опережение для компенсации индуктивности обмотки. Тогда формула может быть такой:  угол опережения = К1*фазный ток + К2*текущие обороты.
где К1 вероятно зависит от конструкции магнитной системы, а К2 от индуктивности и сопротивления фаза-фаза.
Картинка иностранца на это походит, причем влияние первого слагаемого заметно больше чем второго.

И вероятно ваша формула phase=fcurrent*0.06+3 вполне преемлима.

kor

Цитата: edw123 от 21 Сен. 2022 в 14:21Точно? Может максимальный момент или обороты?
Точно. Посмотрите на картинку выше и на ранее выложенные таблицы по которым эта картинка строилась.

edw123

Цитата: kor от 21 Сен. 2022 в 14:37
Точно. Посмотрите на картинку выше и на ранее выложенные таблицы по которым эта картинка строилась.
Там только, как я понимаю, данные результата: малый момент-малое опережение. ПРо критерий получения ничего не сказано. Есть ещё цвет, но за что отвечает - не написано.

edw123

Цитата: kor от 21 Сен. 2022 в 16:08
Таблицу смотрите из которой это нарисовалось, в 356 сообшении.  minimum DC linc input получался при таком опережении.
Т.е. для момента 0.8 и оборотов 600 минимальный ток потребления при угле 0,224. Слово link несколько смущает. Тогда интересно бы взглянуть на зависимость тока потребления от угла.

kor

#365
Цитата: edw123 от 21 Сен. 2022 в 20:21Т.е. для момента 0.8 и оборотов 600 минимальный ток потребления при угле 0,224. Слово link несколько смущает. Тогда интересно бы взглянуть на зависимость тока потребления от угла.
Вот от потребл мощности, взято с сайта Иностранца, результаты конкретно с его двигателя с контроллером:
Спойлер


Вот от тока (ток АС, похоже фазный, точнее надо выяснять в его тексте, на сайте.)
Спойлер



edw123

Цитата: kor от 22 Сен. 2022 в 10:06
Вот от потребл мощности, взято с сайта Иностранца, результаты конкретно с его двигателя с контроллером:
т.е. на максимальном моменте эффект в районе нескольких процентов, 1-2.

kor

Цитата: edw123 от 22 Сен. 2022 в 13:43т.е. на максимальном моменте эффект в районе нескольких процентов, 1-2.
Вроде-бы поболее, около 5-ти, если попробовать экстраполировать. Опять-же этот эффект будет разным у разных конструкций моторов (у IPM вероятно больше эффект будет).
  Если бы он был 1-2% то Sonar его скорее всего даже-бы не заметил.
Спойлер

Sonar

#368
Сравнил на стенде, на слух, уровни шумов двигателя от моего контроллера мотор-колеса и стокового с блочной коммутацией и стало очевидно, что стоковый контроллер, таки, лучше давит треск. Решил более детально разобраться с компенсацией треска двигателя при больших нагрузках в моментах переключения обмоток. Странно, что об этом практически нет информации в интернете. Или, может, я плохо ищу..
На 6-й странице я уже выкладывал осцилограмму, непонятного на тот момент мне, импульса:



Нагрузку, на тот момент, имитировать было нечем и я просто пропускал некоторый ток через шунт. Как сейчас оказалось - такой метод работал некорректно и создавал генерацию импульса постоянной ширины. В действительности ширина импульса может значительно увеличиваться и превышать максимальную ширину генерации ШИМ на несколько тактов. На сколько я понял - главный критерий ширины этого импульса состоит в том, что бы после переключения обмоток, достичь величины фазного тока до предыдущего пика и минимизировать просадку тока на обмотке. Другими словами: подавать постоянное напряжение на обмотку до тех пор, пока ток не превысит пик предыдущего импульса. Это хорошо видно на осцилограмме ниже:



Желтая линия - Сигнал на верхнем транзисторе в полумосте (взят и проинвертирован, для удобства восприятия, непосредственно с ноги XC836).
Синяя линия - ток на главном шунте (условный масштаб). Фактически он же является и фазным током, так как коммутация блочная.
Момент спада синей линии ниже общего уровня пульсаций - есть момент переключения состояний холлов и, как следствие, переключения обмоток.
Широкий импульс на "желтой стороне" и является компенсирующим. При этом таймер, генерирующий ШИМ сигнал, судя по всему, останавливается на время компенсации пульсации, так как последующие ШИМ импульсы сдвигаются на тоже время, на которое увеличивается компенсация. Небольшое уточнение: после переключения обмоток и до первого ШИМ импульса после компенсации - режим работы полумоста переключается на ШИМ только верхним транзистором, если до этого использовался поочередный.
В моем случае обидным становится тот вывод, что нарастание фазного тока во время компенсации, контролируется АЦП микроконтроллера XC836 и, видимо, делается это несколько раз за импульс, чего не удается достичь на ATmega328.
Возможно ширину импульса можно вычислить программно, но пока не понимаю как.

В поисках информации по компенсации пульсаций - наткнулся на интересную видеостатью от Texas Instruments. Нужной информации по теме я не нашёл, зато узнал о более интересном способе блочной коммутации. Так называемый, 150-градусный вариант, вместо привычного 120-градусного.




Правда реализовать его немного сложнее и не совсем понятно со смещением фазы. Судя по картинкам - смещение угла фазы сигнала составляет 15 градусов в отрицательную сторону, что должно негативно сказаться на КПД двигателя.
Kugoo S2 blue, 36v, 20,8A/h, 2WD, 1,9kW max, Prog disp v3.8, Prog drive v1.9, odo: 32410km.
Все материалы по альтернативным контроллерам для Kugoo S2/S3: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

Night Fury

Цитата: Sonar от 24 Нояб. 2022 в 15:44Судя по картинкам - смещение угла фазы сигнала составляет 15 градусов в отрицательную сторону

Кажется время открытия ключей больше за счёт уменьшения Hi-Z window

А если посмотреть форму напряжения на обмотках, может это добавит ясности по поводу работы предварительного импульса?

Мне тут вспомнилась одна штука времён zx-spectrum. Простейшая программа - электронное пианино. При нажатии клавиш пищит спикером с определённой частотой. Когда пытаешься сыграть мелодию, обращаешь внимание на особенность - звучание каждого тона начинается со щелчка. Чем короче нота, тем заметнее этот косяк. На осцилограмме - просто прямоугольные импульсы разной частоты. Из-за того что импульсы однополярные (0..+5 вольт),  получается что помимо звуковой частоты появляется постоянная составляющая - прямоугольный импульс 2.5 вольта, стартующий при появлении звука и с длительностью воспроизводимой ноты. Это порождало переходные процессы, сопутствующие гармоники и хорошо заметные щелчки. Если устранить постоянную составляющую (подключать динамик между прямым и инверсным выходами), проблема щелчков большей частью устранялась.
(Чтоб пропали совсем, надо вместо резкого включения сигнала делать плавное нарастание в течение нескольких периодов, но это уже другая история.)
Kugoo s3, 43 км/ч, 2 мотора 8.5',  18/22 ампера (перед/зад),   48 вольт 20 А•ч   (18650 LG MJ1 13s3p + Samsung INR21700-50S  13s2p) | пробег 16000+ км

Sonar

Цитата: Night Fury от 24 Нояб. 2022 в 18:42Кажется время открытия ключей больше за счёт уменьшения Hi-Z window
Не кажется. Время открытия ключей действительно увеличено на 30 градусов. Собственно за счёт этого и улучшается форма токов (зеленые осцилограммы).

Цитата: Night Fury от 24 Нояб. 2022 в 18:42А если посмотреть форму напряжения на обмотках...
Дак она соответствует заполнению ШИМ. Тут смотреть нечего, если нет косяков в силовой части.
Kugoo S2 blue, 36v, 20,8A/h, 2WD, 1,9kW max, Prog disp v3.8, Prog drive v1.9, odo: 32410km.
Все материалы по альтернативным контроллерам для Kugoo S2/S3: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

Night Fury

Цитата: Sonar от 24 Нояб. 2022 в 19:15Дак она соответствует заполнению ШИМ. Тут смотреть нечего, если нет косяков в силовой части.

В дедтайм тоже ничего не происходит? Имею в виду какие-нибудь переходные процессы от переключений
Kugoo s3, 43 км/ч, 2 мотора 8.5',  18/22 ампера (перед/зад),   48 вольт 20 А•ч   (18650 LG MJ1 13s3p + Samsung INR21700-50S  13s2p) | пробег 16000+ км

Sonar

[user]Night Fury[/user], не смотрел, но на мой взгляд, 500nS - совсем незначительный интервал, что бы за это время в обмотке произошло что-то существенное.
Kugoo S2 blue, 36v, 20,8A/h, 2WD, 1,9kW max, Prog disp v3.8, Prog drive v1.9, odo: 32410km.
Все материалы по альтернативным контроллерам для Kugoo S2/S3: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

kor

#373
Цитата: Sonar от 24 Нояб. 2022 в 15:44Правда реализовать его немного сложнее и не совсем понятно со смещением фазы. Судя по картинкам - смещение угла фазы сигнала составляет 15 градусов в отрицательную сторону, что должно негативно сказаться на КПД двигателя.
Возможно там холлы в моторе надо выставлять на +7,5 градусов вперед (если чисто по холлам работать), чтобы компенсировать негатив.
У вас же кажется в программе сделана возможность делать программное опережение сигналов с холлов.

Sonar

[user]kor[/user], тут поможет только программная аппроксимация холлов, которая уже есть для синусного режима. Вот, планирую с неё и брать нужные "точки" для синхронизации. Даже интересно, что получится :)
Kugoo S2 blue, 36v, 20,8A/h, 2WD, 1,9kW max, Prog disp v3.8, Prog drive v1.9, odo: 32410km.
Все материалы по альтернативным контроллерам для Kugoo S2/S3: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

kor

Цитата: Sonar от 24 Нояб. 2022 в 15:44Широкий импульс на "желтой стороне" и является компенсирующим. При этом таймер, генерирующий ШИМ сигнал, судя по всему, останавливается на время компенсации пульсации, так как последующие ШИМ импульсы сдвигаются на тоже время, на которое увеличивается компенсация. Небольшое уточнение: после переключения обмоток и до первого ШИМ импульса после компенсации - режим работы полумоста переключается на ШИМ только верхним транзистором, если до этого использовался поочередный.
В моем случае обидным становится тот вывод, что нарастание фазного тока во время компенсации, контролируется АЦП микроконтроллера XC836 и, видимо, делается это несколько раз за импульс, чего не удается достичь на ATmega328.
Возможно ширину импульса можно вычислить программно, но пока не понимаю как.
Вам удалось продвинуться в реализации этого компенсационного импульса? Может нашли еще информацию?
Если рассматривать осциллограмму, то можно предположить еще такой вариант:
начиная с момента времени 1 (смена кода холлов) процессор переключает нижние ключи и начинает вычисление длительности компенсационного импульса (по каким-то критериям), таймер шим при этом работает как работал, с заданным текущим заполнением. В момент времени 2 расчет длительности компенсационного импульса завершается, и контроллер перезапускает таймер шим загрузив в него эту рассчитаную длительность заполнения. В следующем периоде шим и далее процессор снова загружает в таймер заданное текущее заполнение.

Sonar

[user]kor[/user], информацию искал, но либо она описана для меня сложно и непонятно (с кучей формул), либо что-то похожее, но не для конкретного случая.
В принципе мне удалось найти оптимальный вариант для своего контроллера с его аппаратными ограничениями. Работает, по акустическим ощущениям, не хуже, чем на стоковом контроллере.
В моей формуле учитываются три параметра: фазный ток, напряжение DC шины и, частично, kV двигателя. Последнее пришлось добавить совсем недавно, так как в руки попалось мотор-колесо чуть по жирнее, от kugoo X1, с kV=27, против мотора от S3 с kV=19~20. На нём пришлось чуть-чуть подправить переменную в формуле.

Формула выглядит следующим образом: кол-во 100 процентных последовательностей=13-(напряжение*10/(фазный ток+напряжение)).
Зависимость ширины импульса от тока получилась следующего вида:

Ось X - фазный ток в амперах. Ось Y - количество 100% импульсов после переключения обмоток.

Для мотор-колеса от X1 первую цифру скорректировал до 12.

Цитата: kor от 03 Фев. 2023 в 11:44Если рассматривать осциллограмму, то можно предположить еще такой вариант:
Было бы интересно узнать, по каким параметрам он рассчитывает. Ведь для расчёта нужны входящие данные.
Kugoo S2 blue, 36v, 20,8A/h, 2WD, 1,9kW max, Prog disp v3.8, Prog drive v1.9, odo: 32410km.
Все материалы по альтернативным контроллерам для Kugoo S2/S3: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

kor

Цитата: Sonar от 03 Фев. 2023 в 14:55Формула выглядит следующим образом: кол-во 100 процентных последовательностей=13-(напряжение*10/(фазный ток+напряжение)).
Попробовал в екселе вашу формулу, при 36в 7а получил 4.62  а у вас 24 на графике, или у вас размерность напряжения и тока в дискретах ацп подставляется?