avatar_zap

XPD: программа для настройки контроллеров Infineon

Автор zap, 04 Июнь 2011 в 11:26

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

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

abuharsky

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

zap

Есть раздел ЧАВО, но наполняется он с трудом.
Нет желающих писать толковые статьи, а заставлять я не могу.
Что именно исправили, что прошивка заработала?
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

andreym

Андрей, а когда можно ожидать новую версию XPD с поддержкой 3ей версии инфинеона?
может как то поспособствовать нужно можно? донора например на опыты выслать?  ;-)

zap

Эх, мне так стыдно :ah:
Я уже расковырял протокол 3го инфинеона:
https://docs.google.com/document/d/10jN2S5Q2AFDBKbGEPjNo5vy1aJBgKZ1aWGTEG4EzeUM/edit
Также расковырял все коэффициенты для контроллеров EB306, EB309, EB312, EB315, EB318.
Дело за малым - изменить XPD.
К сожалению, сейчас моим приоритетом является восстановление моего мотор-колеса :sorry:
Сезон уже начался, а мне ездить не на чем.
Надеюсь, на выходных намотаю обмотку, потом пуско-наладочные работы, после этого сразу же приступлю к XPD  :ah:.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 13 Апр. 2012 в 14:12
Надеюсь, на выходных намотаю обмотку, потом пуско-наладочные работы, после этого сразу же приступлю к XPD  :ah:.
Будете делать классику или 2х слойную?

Pavel__

Цитата: zap от 13 Апр. 2012 в 14:12
.... расковырял все коэффициенты для контроллеров EB306, EB309, EB312, EB315, EB318. ...

Интересно, почему Льен не сделал третью версию 24fet контроллера ([b-b]EB324[/b-b]) ?

zap

Цитата: mevial от 13 Апр. 2012 в 14:45
Будете делать классику или 2х слойную?
Об этом я отдельно напишу :)
Если кратко, то исследования показали, что двухслойные обмотки уступают однослойным :pardon:
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

abuharsky

Цитата: zap от 13 Апр. 2012 в 01:02
Есть раздел ЧАВО, но наполняется он с трудом.
Нет желающих писать толковые статьи, а заставлять я не могу.
Что именно исправили, что прошивка заработала?

Могу написать фак из той информации которую я нашел для того, чтобы прошить свой 6фет контроллер, если надо, напишите, сделаю.

В программе ничего не менял, я не процитировал прошлое сообщение, имелась в виду льеновская программа для 3й версии.

zap

Так пишите, для этого никакого благословения свыше не требуется.
Сначала лучше в этом разделе: https://electrotransport.ru/index.php/board,44.0.html
А потом уже задвину в основной.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

zap

Дублирую сюда информацию по поводу изменения исходных текстов под свои нужды.

Так как программа написана на Питоне, она распространяется прямо в исходных текстах (Питон - интерпретатор а не компилятор). Поэтому можно поменять любой исходник, после этого перезапустить программу - и тут же увидеть эффект от изменения.

Например, что делать если Ваш контроллер модифицирован, например половина шунта залужена? В таком случае просто создаём описание "нового контроллера", который будет учитывать Ваши модификации.

Всё, что связано с контроллерами Инфинеон находится в файле xpdm/infineon.py. Открываем его в текстовом редакторе. В самом начале файла видим описания всех типов контроллеров:

ControllerTypeDesc = [
...
]


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

Как объяснить эти модификации XPD? Создаём новое описание контроллера, для этого просто [b-b]копируем[/b-b] один из блоков (они начинаются со строки "{" и заканчиваются на строку "},"), который нам наиболее подходит, в данном случае это описание EB206, причём копируем в самый конец массива, после описания EB218:

   {
        "Name"             : "EB206",
        "PhaseCurrent2Raw" : lambda I: I * 1.25 - 0.2,
        "Raw2PhaseCurrent" : lambda V: 0.16 + (0.8 * V),
        "BattCurrent2Raw"  : lambda I: I * 1.256 + 1.25,
        "Raw2BattCurrent"  : lambda V: (0.796 * V) - 0.995,
        "Voltage2Raw"      : lambda U: U * 3.283,
        "Raw2Voltage"      : lambda V: V / 3.283,
    },


Начинаем модифицировать. Начинаем с имени контроллера - например, меняем на "EB206-zap-mod".

Второй строкой идёт формула пересчёта тока из амперов в некие условные единицы, которые используются внутри контроллера. Ключевое слово lambda говорит о том, что мы задаём функцию с одним параметром - I. Так как мы облудили половину шунта, теперь то же самое количество единиц означает вдвое больший ток.    Значит переписываем формулу: "PhaseCurrent2Raw" : lambda I: (I * 1.25 - 0.2)/2. Всё, теперь одно и то же количество ампер пересчитается в два раза меньшее количество условных попугаев при зашивке в контроллер.

Дальше идёт обратная формула - Raw2PhaseCurrent, которая пересчитывает из условных попугаев в амперы. Так как мы уменьшили сопротивление шунта вдвое, то одно и то же количество попугаев теперь означает вдвое бОльший ток. Значит формула становится "Raw2PhaseCurrent" : lambda V: (0.16 + (0.8 * V)) * 2.

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

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

Итак, конечный вариант описания контроллера выглядит так:

   {
        "Name"             : "EB206-zap-mod",
        "PhaseCurrent2Raw" : lambda I: (I * 1.25 - 0.2)/2,
        "Raw2PhaseCurrent" : lambda V: (0.16 + (0.8 * V)) * 2,
        "BattCurrent2Raw"  : lambda I: I * 1.256 + 1.25,
        "Raw2BattCurrent"  : lambda V: (0.796 * V) - 0.995,
        "Voltage2Raw"      : lambda U: U * 3.283,
        "Raw2Voltage"      : lambda V: V / 3.283,
    },


Итак, сохраняем файл infineon.py, запускаем xpd, нажимаем "Добавить", создаём новый профиль, устанавливаем тип контроллера "EB206-zap-mod" и убеждаемся, что максимальный фазный ток теперь уже не 204 ампера, а все 408 :)

С этим, кстати, тоже не всё понятно. Данные цифры отражают не способности контроллера, а всего лишь диапазон задавания параметра в условных единицах (параметр принимает от 0 до 255). В самом Parameter Designer'е максимальный ток, который можно задать (причём независимо от типа контроллера) - 160 ампер, в то время как даже для EB206 число 255 транслируется в 208 ампер, я уж молчу про EB218, у которого 255 вообще означает 1364 ампера. Не очень понятно, зачем им вообще было менять в разных контроллерах коэффициент усиления напряжения шунта, если и так возможные значения накрывают весь полезный диапазон? Кстати, где-то в сети видел пропатченный Parameter Designer с возможностью задать док до 500 ампер...

Как думаете, есть ли смысл в описании контроллера добавить ещё один параметр - максимальный ток, который тянет данный контроллер? Во избежание воплей "караул, XPD спалил мне контроллер"? Parameter Designer, правда, тоже вполне допускает установку фазового тока 160 ампер даже на EB206 - с такими же плачевными последствиями...

Завтра напишу про описание параметров контроллера, каким образом сделать, чтобы через интерфейс можно было задавать параметры вне допустимых диапазонов, например, про торможение...
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

abuharsky

 а Вы уже реализовали поддержку 3х инфинеонов?

zap

С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

diagnost1

Цитата: zap от 13 Апр. 2012 в 14:12
Эх, мне так стыдно :ah:
Я уже расковырял протокол 3го инфинеона:
https://docs.google.com/document/d/10jN2S5Q2AFDBKbGEPjNo5vy1aJBgKZ1aWGTEG4EzeUM/edit
Также расковырял все коэффициенты для контроллеров EB306, EB309, EB312, EB315, EB318.
Дело за малым - изменить XPD.
К сожалению, сейчас моим приоритетом является восстановление моего мотор-колеса :sorry:
Сезон уже начался, а мне ездить не на чем.
Надеюсь, на выходных намотаю обмотку, потом пуско-наладочные работы, после этого сразу же приступлю к XPD  :ah:.


Извиняюсь!!!! Может немного настырно !  :facepalm: Как там Ваш мотор,,,,,,,,,,,,!!! Поживает ????    :run:

zap

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

Поражаю масштабностью некопмпетентность (ц) из лички

pirate


diagnost1

ЭЭЭЭЭЭЭЭЭХХХХХХХХ !!!!!!!!!!!!! Как хочется Реализацию 3 fineonov в XPD увидеть............ :facepalm:

diagnost1


zap

Цитата: diagnost1 от 26 Июнь 2012 в 23:17
Уважаемый ZAP  пожалуйста  :ah:
Я уже приступил. Потерпите немного, у меня нет eb3xx, придëтся отлаживать через програмный эмулятор eb3xx и удалëнно, через одного немецкого товарища.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички