avatar_ZYM

Контроллер Infineon

Автор ZYM, 24 Нояб. 2010 в 21:51

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

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

илс

Уважаемый zap, расскажите пож. откуда брался скриншот, размещенный в другой теме?

Или это просто из какой-то БД, которая позволяет хранить текущую конфигурацию?

tony16

Узнаю линуксовый интерфейс
неужели скоро у всех инфенионовцев появится универсальная прога для прошивки! :bo:
Кстати Zap а напоните на чем пишете?

batiskaf

Прочитал полфорума, но не доганяю за счет чего Инфенеон умеет увеличивать скорость. Вы ставите скорость прогой 110%-120%, какой параметр при этом меняется? Я к чему, у меня контроллер не программируемый, но скорость хочу больше без переключения обмоток, повышения напряжения. Есть в контроллере резистор который определяет угол 60-120 град. Можно ли им поиграться и в каких пределах? У меня сейчас максималка 45-47 км\ч,напряжение 66в, хочется скорость в пределах 55-60 км\ч.
Моя конфигурация: МК 500W 16S2P липо
Максималка 50 км/ч
Клуб "Электроавтосам"/ Таврия электро, пробег 88000 км.

илс

Цитата: batiskaf от 01 Май 2011 в 21:09
Прочитал полфорума, но не доганяю за счет чего Инфенеон умеет увеличивать скорость. Вы ставите скорость прогой 110%-120%, какой параметр при этом меняется? Я к чему, у меня контроллер не программируемый, но скорость хочу больше без переключения обмоток, повышения напряжения. Есть в контроллере резистор который определяет угол 60-120 град. Можно ли им поиграться и в каких пределах? У меня сейчас максималка 45-47 км\ч,напряжение 66в, хочется скорость в пределах 55-60 км\ч.
Установка 120% действительно повышает максимальную скорость, за счет некоторого опережения сигнала от датчиков Холла (если не ошибаюсь)
Где-то на форуме эта тема обсуждалась подробно,... кратко об этом упомянул tony16  см. https://electrotransport.ru/index.php/topic,27.774.html
Разумеется увеличение скорости влечет за собой увеличения мощности, подаваемой на колесо, т.е. подрастает потребляемый ток.
В вашем случае, изменение резисторов, установок 60-120 град. ничего не даст.
Возможно, небольшой рост скорости можно получить за счет лужения шунта контроллера, но это приведет к росту стартового тока и соотв. резкому росту расхода батарей.

Хочется большей скорости => наращивайте напряжение питания, если конечно штатный контроллер позволяет :bs:

PS  более сложный вариант: повышающие DC-DC преобразователи, по методу FAS-r7

TRO

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

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

zap

Цитата: ilyukhs от 01 Май 2011 в 13:18
Уважаемый zap, расскажите пож. откуда брался скриншот, размещенный в другой теме?

Или это просто из какой-то БД, которая позволяет хранить текущую конфигурацию?
Это секретная военная разработка для наших электровелосипедных войск  :D

Скоро выложу на публичное тестирование, кому интересно. Программа на Питоне, работает под Linux (а значит, и на моём телефоне Nokia N900 :bp:) и Windows. Поддерживает русские и английские езыги :), также позволяет задавать полный диапазон параметров (т.е. например для EB218 фазный ток до ~1300 ампер  :shok: :bu: :be:), а также отображает параметры точно, а не округлённо (т.е., например, на EB212 возможные фазные токи выглядят так: 13.6, 15.2, 16.8, 18.4, ... ампер).

Ещё там обнаружилась интересная фича - уровень регенерации контроллеру задаётся так: 0, 4, 8 (соответствует уровням 0, 1, 2 EBSLevel). Мне интересно, что будет при промежуточных цифрах, а также что будет, если зафигачить цифры больше 8. Но это уже предмет отдельного исследования... боюсь, так можно и контроллер спалить, если его всякой какой кормить :)
С уважением,
Андрей

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

илс

Это оч. круто! :bo: Ждемс с нетерпением :bq:

Особенно версию с расширенными параметрами установки рекуперации. Я уже писал про слабый эффект рекуперации на сабжевом контроллере с низковитковыми (быстрыми) МК.

Даже готов пожертвовать контроллером с целью тестирования параметров 12 и 16  :bs:

tony16

Кстати кто нибудь подключал к этому контроллеру осцилограф.
Может у него на выходе не такой и плохой жопосинус. К сожалению у самого ни контроллера ни осциллографа нету поэтому и спрашиваю.

mevial

Цитата: tony16 от 02 Май 2011 в 17:25
Кстати кто нибудь подключал к этому контроллеру осцилограф.
Может у него на выходе не такой и плохой жопосинус. К сожалению у самого ни контроллера ни осциллографа нету поэтому и спрашиваю.
Меандр у него. :(
Цитата: zap от 02 Май 2011 в 01:52
Скоро выложу на публичное тестирование, кому интересно. Программа на Питоне, работает под Linux (а значит, и на моём телефоне Nokia N900 :bp:) и Windows. Поддерживает русские и английские езыги :), также позволяет задавать полный диапазон параметров (т.е. например для EB218 фазный ток до ~1300 ампер  :shok: :bu: :be:), а также отображает параметры точно, а не округлённо (т.е., например, на EB212 возможные фазные токи выглядят так: 13.6, 15.2, 16.8, 18.4, ... ампер).

Ещё там обнаружилась интересная фича - уровень регенерации контроллеру задаётся так: 0, 4, 8 (соответствует уровням 0, 1, 2 EBSLevel). Мне интересно, что будет при промежуточных цифрах, а также что будет, если зафигачить цифры больше 8. Но это уже предмет отдельного исследования... боюсь, так можно и контроллер спалить, если его всякой какой кормить :)

Жду с нетерпением, готов присоединиться к тестированию неизвестных параметров.

DarthGray

Цитата: batiskaf от 01 Май 2011 в 21:09
Прочитал полфорума, но не доганяю за счет чего Инфенеон умеет увеличивать скорость. Вы ставите скорость прогой 110%-120%, какой параметр при этом меняется? Я к чему, у меня контроллер не программируемый, но скорость хочу больше без переключения обмоток, повышения напряжения. Есть в контроллере резистор который определяет угол 60-120 град. Можно ли им поиграться и в каких пределах? У меня сейчас максималка 45-47 км\ч,напряжение 66в, хочется скорость в пределах 55-60 км\ч.

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

Цитата: TRO от 01 Май 2011 в 23:25
В принципе, теоритически, если в разрыв датчикам холла поставить мозг, который будет делать опережение, то и родной контроллер сможет поднять скорость(вроде на этом форуме уже упоминалась подобная разработка зарубежными колегами). По идее, даже восьминогой тиньки должно хватить. Имхо, даже запаздывание должно дать тот-же эффект (но с чуть более низким КПД), так что можно попробовать вставить в разрыв датчикам холла небольшую схему задержки.

Я делал себе такую схему
Запаздывание ничего хорошего не даёт, только увеличение потребления
Опережение даёт такой же эффект, как и расширение в инфинеоне
А поскольку родной контроллер я поменял на инфинеон, то и схемку свою забросил
Подробнее вот тут
Различие между теорией и практикой на практике гораздо больше, чем в теории.

Shake

Попробовал на 120-ти процентах Infineon'чик 6x4110 Controller LYEN Edition, скорость с 32км/ч увеличилась до 38км/ч, если при старте помочь педалями то и 40, у меня свинец видимо подсаживают его приличные токи.
din-7 (изменения Infineon 24fet, LiFePo4 28S A123 20AH основная + 24S дополнительная, МК пока родное) + вел Ашан Rigid (жесткий) (Infineon 12fet, LiFePo4 24S A123 20AH МК новое серое 1000W GY) + вел Ашан Full suspension (двухподвесный) (контроллер от din-7, 7 котлет 14S 10AH, МК редукторное 250W)

zap

#173
Настало время искателей приключений :D

Выпустил первую версию программы-замены для всеми любимой Keywin e-Bike Lab, он же Parameter Designer. Назвал XPD - eXtended Parameter Designer.



Сайт: http://xpd.berlios.de . Всё на буржуйском языке, делать двуязычный сайт было лень. Если кто-то не понимает буржуйского языка - сразу тыкаем в Download в левом верхнем углу страницы.

Пока доступны для скачивания:

- Установочный пакет .deb для Debian
- Установочный пакет .rpm для Fedora
- Исходные тексты в .tar.bz2 (для тех, у кого другой линукс - устанавливается очень просто, "make install" и всё).
- Архив с программой для Windows

С Windows, как обычно, всё не очень просто. Надо сначала скачать архив xpd-windows-prereq.zip (он довольно здоровый) и установить интерпретатор Питона, а также графическую библиотеку PyGTK. Внутри архива прямо находятся .msi и .exe файлы, ставим их по порядку:

1. Сначала python-2.7.1.msi
2. Потом pygtk-all-in-one-2.22.6.win32-py2.7.msi
3. И наконец pyserial-2.5.win32.exe

После этого качаем xpd-0.1.0-windows.zip, распаковываем его куда-нибудь и запускаем программу xpd (там же рядом лежит к нему иконка, на случай если захотите создать ярлык где-нибудь на рабочем столе).

Теперь собственно о программе.

Интерфейс двуязычный, язык автоматически определяется по операционной системе. К каждому параметру есть подробное описание (достаточно повисеть мышкой над названием параметра некоторое время). Очень волнует точность описания, писал исходя из своего понимания, но в своём понимании до конца не уверен. Буду благодарен за замечания и исправления.

Тестировалась она пока преимущественно на "эмуляторе контроллера Инфинеон" :D то бишь мелкой програмульке, которая изображала из себя контроллер, чтобы не мучать флэш-память контроллера. Ну и в конце попробовал попрошивать имевшийся под рукой контроллер EB206 6-FET Sensorless. Вроде как шъёт без проблем.

Расширенные параметры электроторможения пока не делал, если кому интересно протестировать - скажу что и где поменять.

В общем, если кто хочет поучаствовать в тестировании - буду рад.

В ближайшие дни сделаю версию для Maemo (Nokia N800, N810, N900) но, думаю, количество во всём мире людей, обладающих одновременно и контроллером Infineon, и данными аппаратами асимптотически стремится к единице :D
С уважением,
Андрей

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

yokneamcity

Уважаемый [b-b]zap[/b-b],а для операционной системы Андроид,можете написать программу?Ведь не мало мобильников под ней работают.

zap

Так ведь программу переносить там нечего, питон он и на Маке питон, но надо чтобы телефон поддерживал USB-serial адаптеры. Насколько я слышал, андройды анально огорожены, свои драйвера (не подписанные производителем) загрузить нельзя, так что если его там изначально нет то алаверды.
Плюс к тому, на андройде свой собственный GUI, хоть он и сделан поверх обычного линукса, я не уверен что pygtk поверх него будет работать.
Но это всё говорю лишь предварительно, я недавно дочки купил китайский планшет с андройдом, как раз собирался как-нибудь посидеть, посмотреть его внутренности. Заодно провентилирую вопрос.
С уважением,
Андрей

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

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 - с такими же плачевными последствиями...

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

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

mevial

Цитата: zap от 06 Май 2011 в 01:42
Кстати, в Инфинеонах два раздельных шунта - на фазовый ток, и на батарею отдельный, или нет - я не обращал внимания?
В моём варианте(212 от Эдварда) 1 шунт, измеряющий ток, идущий с батареи на мосфеты, т.к. до и после стоят электролиты, то сложно назвать его фазным, но и потребление логической части он не учитывает.

zap

Хм, а как тогда, интересно, контроллер отличает фазный ток от тока батареи?
Посмотрел схему контроллера, которую раньше здесь выкладывал - шунт один, идёт на вход двух операционников в одном корпусе; один просто усиливает и подаёт на аналоговый вход контроллера, второй работает как компаратор на ток КЗ.
Непонятно. Может я ошибся в интерпретации термина Rated Current в оригинальном "Parameter Designer"е ? Но у себя по ваттметру я вижу достаточно чётко, что потребляемый ток от батареи примерно равен выставленному Rated Current.
С уважением,
Андрей

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

mevial

Цитата: zap от 06 Май 2011 в 11:10
Хм, а как тогда, интересно, контроллер отличает фазный ток от тока батареи?
Посмотрел схему контроллера, которую раньше здесь выкладывал - шунт один, идёт на вход двух операционников в одном корпусе; один просто усиливает и подаёт на аналоговый вход контроллера, второй работает как компаратор на ток КЗ.
Непонятно. Может я ошибся в интерпретации термина Rated Current в оригинальном "Parameter Designer"е ? Но у себя по ваттметру я вижу достаточно чётко, что потребляемый ток от батареи примерно равен выставленному Rated Current.

Всё правильно, просто <phase current>=<rated current>/<pwm>