avatar_zap

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

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

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

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

zap

Спойлер
Назначение программы: Настройка параметров элвельных контроллеров системы "Infineon". На текущий момент поддерживаются контроллеры второй (EB2xx) и третьей (EB3xx) серий.
Поддерживаемые платформы: Linux, Windows
Исходные тексты: прилагаются
Язык программирования: Python
Язык сообщений: русский, английский (автоопределение)
Сайт программы.
Инструкция по установке (англ).
Ссылка на последнюю стабильную версию
Ссылка на текущую тестовую версию.

Внешний вид:
Спойлер

Полезные ссылки:
[b-b]На русском:[/b-b]
Объявление первой публичной версии программы
Подробное описание установки под Windows
Как добавить свой (модифицированный) контроллер в программу
Модификация программы для исследования недокументированных значений параметров

[b-b]На английском:[/b-b]
Тема про программу на форуме Endless-Sphere
Как добавить свой (модифицированный) контроллер в программу
Модификация программы для исследования недокументированных значений параметров

ЧАВО
Спойлер
В: У меня Windows: установил всё, при запуске XPD ничего не происходит.
О: Проверьте в каталоге C:\Windows\System32 (или других каталогах системных библиотек) наличие файла zlib1.dll. К сожалению, существует масса разных библиотек zlib1.dll, и они все имеют одинаковое название файла. Удалите его (или временно перенесите во временный каталог).

В: Пытаюсь скачать XPD с сайта http://xpd.berlios.de, но сайт не работает! Что делать?
О: Сайт BerliOS, на котором хостился проект, похоже, приказал долго жить.
Проект сначала переехал на хостинг Google Code. Все ссылки выше исправлены, старые ссылки больше не работают.

В: Пытаюсь скачать XPD с сайта Google Code, но сайт не работает! Что делать?
О: Похоже, XPD это чёрная метка для хостингов открытых проектов :) Через год после переезда Google Code объявил о предстоящем закрытии. Поэтому проект переехал на SourceForge.

В: Пытаюсь ставить драйвер "шнурка программирования" под Windows 8, но он не работает!
О: Драйвер для USB-UART адаптера ("шнурка программирования") на микросхеме PL-2303, работающий в ОС Windows 8. Подробности здесь.
====
файл с драйвером который работает на win8 x64 https://yadi.sk/d/8ykHbq1ofdNWV, Как поставить этот драйвер на Windows 10.
С уважением,
Андрей

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

zap

#1
Цитата: mevialВчера пробовал воспользоваться XPD. И так, имеем рабочий программатор на pl2303, линукс ubuntu 10.10 без серьёзных изменений, xpd версии 0.1.0. Запускаем, создаём конфигурацию, сохраняем, кстати сразу же замечание, подсказка по скоростям совсем не информативна, вот я помню по родной программе, 1я скорость это без переключателя, 2я - на x1, 3я - на x2, как в xpd даже затрудняюсь предположить.
К пункту "режим переключателя скоростей" идёт такой текст помощи:

ЦитироватьРежим работы переключателя скоростей. В режиме 'Селектор' Вы можете подключить трёхпозиционный переключатель, который соединяет точки платы X1 (скорость 1) и X2 (скорость 3) к GND для выбора одной из трёх скоростей (в случае, если оба контакта не подключены, выбирается скорость 2). В режиме 'Переключатель' Вы сможете переключаться кнопкой, замыкающей контакт X1 на землю, между скоростями 1 и 2 (скорость 2 включается по умолчанию в обоих режимах).

Цитата из вот этого документа:
ЦитироватьX1 ...
(0: Switch Mode) When the "X1" contact point is "jumped" to ground then the programmed value for "Speed 1%" overrides the default "Speed 2%" setting. If the X1 switch is opened then the controller returns to the "Speed 2%" setting.

X2 ...
(0: Switch Mode) When the "X2" contact point is "jumped" to ground then the programmed value for "Speed 3%" overrides the default "Speed 2%" setting. If the X2 switch is opened then the controller returns to the "Speed 2%" setting.
Как мне кажется, я достаточно точно передал смысл исходного текста. Вторая скорость включается по умолчанию, если ни один из контактов X1, X2, SL, DX3 не подключены к земле.

Цитата: mevialНо это не главное, ибо подбирается методом тыка. Далее выбираю свою конфигурацию, выбираю /dev/ttyUSB0, нажимаю применить, появляется прогрессбар с бегунком. Включаю питание контроллера... бегунок продолжает бегать. Отключаю питание контроллера - бегунок останавливается, и дальше отмена не работает, кнопка закрыть исчезает. Остаётся убивать процесс через kill(надо поставить xkill для удобства). Права на компорт проверил, имеются, полные. Резюме, контроллер не прошил даже не изменяя программу.
Очень странный эффект. Сегодня поставлю убунту 10ю на виртуалку, попробую. Попробуйте запустить xpd из консоли (просто команду xpd введите в командной строке), может она какие-то ошибки плюёт. При нормальной работе в консоль не выводится вообще ни одно сообщение.

Да, кстати, у себя я столкнулся с таким эффектом: какой-то мерзкий демон (по-моему из пакета openct, или ccid, или pcscd, короче что-то связанное со смарт-картами) периодически лазал грязными руками во все ком-порты и с*ал туда какие-то байты (и, что ещё хуже - выгребал оттуда байты, "похищая" их у xpd), в результате чего он напрочь сбивает обмен с контроллером. Это так типа сделан "плюг-н-плей" для каких-то убогих ридеров смарт-карт, подключаемых к последовательному порту. Проверьте, не Ваш ли этот случай (я по-моему его отловил командой fuser -v /dev/ttyUSB0, он мне показал процесс который держал устройство открытым). Если окажется, что это оно, удалите пакет.
С уважением,
Андрей

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

mevial

Цитата: zap от 05 Июнь 2011 в 02:26
К пункту "режим переключателя скоростей" идёт такой текст помощи:

ЦитироватьРежим работы переключателя скоростей. В режиме 'Селектор' Вы можете подключить трёхпозиционный переключатель, который соединяет точки платы X1 (скорость 1) и X2 (скорость 3) к GND для выбора одной из трёх скоростей (в случае, если оба контакта не подключены, выбирается скорость 2). В режиме 'Переключатель' Вы сможете переключаться кнопкой, замыкающей контакт X1 на землю, между скоростями 1 и 2 (скорость 2 включается по умолчанию в обоих режимах).

Цитата: mevialНо это не главное, ибо подбирается методом тыка. Далее выбираю свою конфигурацию, выбираю /dev/ttyUSB0, нажимаю применить, появляется прогрессбар с бегунком. Включаю питание контроллера... бегунок продолжает бегать. Отключаю питание контроллера - бегунок останавливается, и дальше отмена не работает, кнопка закрыть исчезает. Остаётся убивать процесс через kill(надо поставить xkill для удобства). Права на компорт проверил, имеются, полные. Резюме, контроллер не прошил даже не изменяя программу.
Очень странный эффект. Сегодня поставлю убунту 10ю на виртуалку, попробую. Попробуйте запустить xpd из консоли (просто команду xpd введите в командной строке), может она какие-то ошибки плюёт. При нормальной работе в консоль не выводится вообще ни одно сообщение.

Да, кстати, у себя я столкнулся с таким эффектом: какой-то мерзкий демон (по-моему из пакета openct, или ccid, или pcscd, короче что-то связанное со смарт-картами) периодически лазал грязными руками во все ком-порты и с*ал туда какие-то байты (и, что ещё хуже - выгребал оттуда байты, "похищая" их у xpd), в результате чего он напрочь сбивает обмен с контроллером. Это так типа сделан "плюг-н-плей" для каких-то убогих ридеров смарт-карт, подключаемых к последовательному порту. Проверьте, не Ваш ли этот случай (я по-моему его отловил командой fuser -v /dev/ttyUSB0, он мне показал процесс который держал устройство открытым). Если окажется, что это оно, удалите пакет.

Скачал заново, переставил и получил такой текст(как и до перестановки):

Видимо надо обновить версию на сайте, во всяком случае вариант .deb
Проверю с консоли, электровел в гараже.
Интересен ещё один вопрос, почему оно наглухо вешается. Если ожидает что-то от компорта, то неплохо было бы ввести таймаут, секунд 10 вполне достаточно для нажатия кнопки питания.

zap

Ага, наверное я успел с тех пор поменять текст :-) уже не помню.

Вообще, сегодня собирался выкатить версию 0.2.0, там добавлены контроллеры от Льена (как оказалось, они довольно сильно отличаются от "стандартных" EB206-218).
Теперь вот весь в непонятках, выкатывать или подождать.

Посмотрел код - программа нигде не должна зацикливаться без обратной связи с пользователем. Каждые 0.2 секунды должен дёргаться индикатор прогресса. Если зависнет у Вас при запуске из консоли - после нажатия Ctrl+C Питон выведет лог где он хряпнулся, киньте мне пожалуйста в личку, если не сложно.

Убунта только что обновилась до версии 10.04, сейчас буду пробовать.

P.S. Только что увидел - в 10й убунте python-serial очень старой версии (2.3). С ней xpd совершенно точно не работает. Надо либо обновить python-serial до версии 2.5, либо подождать новой версии, я сейчас постараюсь заточить xpd под старую версию.
С уважением,
Андрей

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

zap

[b-b]Mevial[/b-b], попробуйте свежий пререлиз:

http://cs.ozerki.net/zap/xpd_0.2.0-1_all.deb

На убунте 10.04 в виртуальной машине прошивает контроллеры влёт.
С PySerial 2.3 действительно была проблема, исправил.
Попутно выяснил, что непредвиденные исключения вгоняли программу в ступор, что у Вас, собственно, и происходило.
Теперь всё исправлено.
С уважением,
Андрей

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

mevial

Цитата: zap от 05 Июнь 2011 в 16:34
[b-b]Mevial[/b-b], попробуйте свежий пререлиз:

http://cs.ozerki.net/zap/xpd_0.2.0-1_all.deb

На убунте 10.04 в виртуальной машине прошивает контроллеры влёт.
С PySerial 2.3 действительно была проблема, исправил.
Попутно выяснил, что непредвиденные исключения вгоняли программу в ступор, что у Вас, собственно, и происходило.
Теперь всё исправлено.

Не дождался решения, обновил убунту до 11.04, ну и после обновления xpd до 0.2.0 всё заработало. Так что не знаю, что было ключевым, но можно начинать эксперименты.

zap

Выпустил версию [b-b]0.2.0[/b-b].


  • Добавлена кнопка "Копировать" для создания новых профилей на основе существующих
  • Добавлены модификации контроллера имени Льена на 6, 9, 12, 15, 18, 24 и 36 мосфета
  • Улучшена обработка нестандартных ситуаций (по крайней мере, не будет подвисать :D)
  • Поддержка старого PySerial версии 2.3 (Ubuntu 10.x и стабильная ветка Debian).

Файлы, как всегда, можно скачать с домашней страницы проекта на BerliOS.

Документ с описанием протокола был обновлён с учётом той новой информации, которую я почерпнул из Льеновской модификации Parameter Designer.
С уважением,
Андрей

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

mevial

Итак результат, при значениях EBS Level равных 16, 32, 255 и 15 мощность рекуперации не изменяется, значения меньше 8 не пробовал.

mevial

В 5 из 7 перешивок первое нажатие кнопки "Применить" проваливалось с ошибкой неверного ответа "00", думаю имеет смысл чистить буфер компорта перед посылкой первой "8".

zap

Хорошо, чистка буффера будет в след. версии. Когда подключаете разъём программирования, там обычно куча мусора валится по ком-порту.

Насчёт неувеличившегося торможения - жаль, но ожидаемо :bh:
Видимо, алгоритм в микроконтроллере физически неспособен выдать бОльшее торможение.
С уважением,
Андрей

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

METAL

Гоняю на стартере, с дымком! :D
И не только! ;)

mevial

Цитата: METAL от 06 Июнь 2011 в 08:48
Ага,или двигатель с проводкой и тд.
Провода 5 квадратов, двигатель 9с, обмоточки конечно послабее,  1.8 квадрата, но при глюке контроллера, который очень редко, но случается, мощность рекуперации получается в районе 800Вт, вместо обычных 430Вт. При этом ощутимо сильнее хватает за задницу. Вопрос, как сделаль данный глюк постоянным. :)

METAL

А позволит ли удвоитель напряжения в контроллере дать такое торможение(ведь как я понял такое торможение при глюке из за кз?)?
Гоняю на стартере, с дымком! :D
И не только! ;)

mevial

Цитата: METAL от 06 Июнь 2011 в 15:14
А позволит ли удвоитель напряжения в контроллере дать такое торможение(ведь как я понял такое торможение при глюке из за кз?)?
Я указывал мощность, считанную с экрана цикланалиста(ток течёт из контроллера в батарею), если с помощью кз можно заряжать аккумуляторы, то это будет новый вид энергии. :) Вообще советую думать прежде чем отвечать с таким ярым скептицизмом.

METAL

Читать нужно не по диагонали(где в моих постах Вы что обнаружили неприятного-не знаю). Прошу прощения за оффтоп.
Гоняю на стартере, с дымком! :D
И не только! ;)

илс

Наконец-то поборол недружественный для Винды софт:)

На основной домашний десктоп все 3 файла из дистрибутива установились без проблем, однако при щелчке на xpd.pyw, ___ комп задумывается на чуть-чуть, и ничего, совсем ничего не происходит, интерфейс xpd не появляется  :be:
Решив, что возможно имеется конфликт с существующим софтом Win XP (3SP) повторил установку на домашний ноут. Картина, увы, не изменилась.  :bw:
Сегодня спец. притащил ноут с работы, и о чудо, прога запустилась под тем же WIN XP professional 3SP.
Потом долго искал подходящий драйвер для шнурка, прежние (почему-то) глючили и не устанавливались.
Даже с работающим драйвером, прошивка не шла :aq:, что впрочем меня не удивило, потому что десктоп с родным шнурком тоже шился на 2-ой или 5-ый раз.
В общем с 10-ой попытки xpd отрапортовала, что процесс  успешно завершился!

Напомню, что все эти подвиги делались ради проверки неограниченного режима рекуперации, потому что (почти) все остальные режимы имеются в известном параметрическом дизайнере:)
До прошивки с xpd, пиковое значение тока рекуперации не поднималось выше -17А.
Сразу после прошивки проверил новое пиковое значение, путем раскрутки переднего колеса до 100км/ч (выше блокирует СА  :() и последующего, резкого торможения.
Результат см. на фото



Теперь осталось увидеть и ощутить это изменение во время торможения на более скромных скоростях, напр. 30-40 км/ч :bs:

По результатам обязательно отпишусь...

licwn

Установил программу и прошил контроллер с первого раза. Спасибо большое за внятные инструкции и отлично работающую программу. Надеюсь увидеть версию для маемо.
Статистика по бу ноутбучным батареям - https://docs.google.com/spreadsheets/d/1fi4Pb0Ykkq0ODUuzSb-tBy3xsbT6h3WcfqyzYUOjk_Y/edit?usp=sharing

mevial

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