avatar_clawham

Разработка народной BMS на BQ77PL900

Автор clawham, 04 Март 2014 в 00:36

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

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

clawham

в основном - то место есть...а вот выходя для контроля плавного пуска - нету.да и не его это дело :)

Хотя....хммм...это идея конечно.....сделать разрыв зарядного и разрядного канала одним проводком а включение "через резистор" - вторым. тогда первая плата сможет и ток контролировать и если что вырубать. Но как тогда остальные платы будут ? их же как минимум по две на батарею. Вторая то про ток не знает ничего(кроме ежесекундного отчета от первой платы) Теряется независимость. Можно конечно сделать чтоб только первая плата включением/отключением силы занималась. Остальные её только инфу о напруге батареек бы подсовывали да балансировкой занимались. Так тоже можно. Но при проблеме с линией данных первая плата не сможет узнать от остальных что какая-то из ячеек ушла в меньше порога и надо бы разряд вырубить.  Сейчас-то любая из плат может нарушить токоснабжение или зарядку. и по большому счету шина данных им не нужна. В случае же контроля силового размыкателя только первой платкой линия данных уже обязательна и критически важна. а это недопустимо помоему. Мало ли что к блютузке может присоединиться или одна из плат сойдёт с ума. Вторая-то останется и вырубит если что разрядку.
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham

zap

Всё равно у Вас одна плата master, а остальные slaves.
Вот пусть мастер и занимается контактором и защитой от искр, а остальные главное чтоб не мешали :)
Схема у всех плат одинаковая, но выход на контактор с дополнительных плат просто задействован не будет, да они и не будут пытаться туда какие-то сигналы подавать.
Две ноги надо всего, одна открывает предзаряд, вторая открывает основной ключ.
И после открытия предзаряда надо контролировать напряжение на выходе BMS... если там напряжение, скажем, логическая "0" (или можно задействовать АЦП), значит КЗ и основной ключ не включаем.
С уважением,
Андрей

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

JT

#236
Нестоит усложнять код смартплаток , идея с отдельным контролером в силовом размыкателе более привлекательная .
Смартплату и балансир перерисовал.
Силовой планирую на 6 или 8 irfb4110 пятаками верх под общий радиатор.




kag46

А до меня правильно только сейчас дошло что не через ISP платка шьется?
Варю продаю кашу из Топпера:
magic pie 3 + markII от e4bike, самопальная батарея из lipo пакетов 14-15Ah, пока 13S1P->17S1P, up to tbd км/ч. Смотри восточный базар.

Следи за собой, будь осторожен.

TRO

А есть какой нибудь референс дизайн платы от производителя с классическим включением микросхемы и силовыми ключами на плате?
А то у меня тут программатор EV2300 появился, хочу поигратся (вариант с внешним контроллером мне пока не интересен).

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

clawham

bq77pl900 работает с Р-канальными ключами непосредственно. и не умеет каскадироваться.
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham

TRO

[user]clawham[/user], То что ключи P канальные конечно печалька, однако я все равно собирался только слаботочку отключать, а плюсом это делать даже удобнее, ну и меня 10S устраивает без каскадирования, мне для 6в, 12в и 24в липольных батарей надо пока.

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

kag46

Товарищи, подскажите чем вы мегу прошивали плз. (В плане программатора)
Варю продаю кашу из Топпера:
magic pie 3 + markII от e4bike, самопальная батарея из lipo пакетов 14-15Ah, пока 13S1P->17S1P, up to tbd км/ч. Смотри восточный базар.

Следи за собой, будь осторожен.

JT

Я таким http://radiokot.ru/lab/controller/45/
Сделан был давно но непользовался пока мегу328 невстретил.

acyd

На данный момент функцию балансировки временно отключил. Без первоначальной калибровки по ячейкам вносит разбаланс. В реальности получается горка: значения постепенно увеличиваются. Если на соседних банках разница 2-4мв, то на 1 и последней реально разбег уже 20-30mv. Т.е можно словить небольшой перезаряд на последних банках (особенно если используется все 10 секций), чтобы этого избежать надо ставить верхний порог ниже.  Видимо связано с неидеальностью самих BQ ( у меня из 3 разных партий, некоторые еще и занижают показания на 10-20mv).
[user]clawham[/user], обещал устранить проблему в новой прошивке. Заодно и прошивать научимся.


i

Цитата: kag46 от 18 Окт. 2014 в 23:00
Товарищи, подскажите чем вы мегу прошивали плз. (В плане программатора)
Мне понравился вот этот Компактный программатор USBTiny-MkII SLIM.
Отличается тем, что имеет все 3 интерфейса программирования встречающихся в AVR (от tiny до xmega) и для его изготовления не требуется программатор для программатора (шьется напрямую через USB).
Кстати, работает очень быстро. Проверял с avrdude и AvrStudio, в винде и в линуксе.

clawham

#245
прошивать нечего делаь - 5 проводков гуглится на ура. или avr-isp.

Я тут накрапал прогу. Но у меня нету ни плат ни программатора под рукой. Кто хочет проверить возможность калибровки - качайте и заливайте - результаты в личку если что не работает.

Изменения:
-Добавил в системных константах 23 пункт - подменю калибровок, в нем можно посмотреть все калибровки и результат напруги батареи + можно изменять на ходу видя как меняется результат по офсету и по Коэфф усиления.
-Добавил в типичную строку вывода платы номер 1 - список термометров DS18B20 и их температуры.
-Если через 990 неудачных попыток определить кол-во подключенных батарей - батарей получается всеравно меньше 2-х или неправильные напруги по ним - то плата запустится и будет считать что к ней подключены все 10-ть батарей.


Чесно говоря я ожидал что так будет но чтоб настолько сильно .... ну... Тут надо выяснить что это?
Офсет или коэфф усиления. допустим подаем 2 вольта и 4. И тут три варианта
---плата выдает 2.050 и 4.050 - это офсет - нужно уменьшить на 500 ( в плате он задаётся в 0.0001 вольта)
---если она даёт 2.020 и 4.040 то это коэф усиления - надо уменьшить 2,000/2,020=0,99 ( в плате 10000 = 1)
---плата даёт 2.040 и 4.070 - это и коэф усиления и офсет. офсет несложно увидеть - он равен 0.010. отнимаем офсет от показаний и видим уже только коэфф. 2,040-0,010= 2,030 и 4,070-0,010 = 4,060 -> коэфф усиления завышен 2,000/2,030 = 0,985 * 10000 = 9852 - значение которое надо прописать в плату.

Надеюсь описал доступно. На глаз подбирать сложно ибо не всегда офсет и ку очевидны. 2 и 4 вольта очень удобные напряжения. они допустимы, легко получаемы и в них легко различить офсет и коэф усиления.

UPD 21.10.2014 18.44 - перезалил прошивку. выявлся небольшой косячекс. Пофиксено.
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham

acyd

#246
Цитата: i от 19 Окт. 2014 в 11:04
Цитата: kag46 от 18 Окт. 2014 в 23:00
Товарищи, подскажите чем вы мегу прошивали плз. (В плане программатора)
Мне понравился вот этот Компактный программатор USBTiny-MkII SLIM.
Отличается тем, что имеет все 3 интерфейса программирования встречающихся в AVR (от tiny до xmega) и для его изготовления не требуется программатор для программатора (шьется напрямую через USB).
Кстати, работает очень быстро. Проверял с avrdude и AvrStudio, в винде и в линуксе.
Практически такую штуку (на радиокоте практически каждый котяра под себя плату и прошивку этого MKII запиливал, тема на 60+ страниц) я собрал,  отдельное спасибо за неё [user]enek[/user]-у.
Но на практике проверил только на днях как раз на перепрошивке smartbms. И оно работает, пробовал в Avrstudio 4.19. Правда с драйвером под w7 пришлось повозиться.

Завтра опробую методику калибровки.

kag46

пытаюсь прочеть Device signature in atmel studio - все время получаю ошибку:
"20:23:16: [ERROR] Failed to enter programming mode. ispEnterProgMode: Error status received: Got 0xc0, expected 0x00, ModuleName: TCF (TCF command: Device:startSession failed.)"
только напряжение на контроллере получается прочесть. саму плату от 4х липо ячеек питаю.
Программатор Pololu usb avr  (http://www.pololu.com/product/1300), на всякий..
ЗЫ программатор в порядке - проверял на другой макетке с 32 мегой - все работает.

подскажите куда копать?
Варю продаю кашу из Топпера:
magic pie 3 + markII от e4bike, самопальная батарея из lipo пакетов 14-15Ah, пока 13S1P->17S1P, up to tbd км/ч. Смотри восточный базар.

Следи за собой, будь осторожен.

acyd

Какая версия студии и какой программатор выбираешь в connection?
У меня на 7-ке не хотело работать, а на xp только в путь.
Плату собрал? На атмегу приходит 5в с Bq?
Еще можно miso/mosi местами попробовать поменять, ибо надписи бывает не совпадают.

clawham

а у вас есть LPT порты? там же проще некуда. просто 5 проводков в этот самый LPT порт от меги.

можно попробывать не студио а avrdude но она консольная...я прошиваюсь из программы-компилятора - CodeVisionAVR
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham

kag46

Цитата: acyd от 25 Окт. 2014 в 20:53
Какая версия студии и какой программатор выбираешь в connection?
У меня на 7-ке не хотело работать, а на xp только в путь.
Плату собрал? На атмегу приходит 5в с Bq?
Еще можно miso/mosi местами попробовать поменять, ибо надписи бывает не совпадают.

студия 6.1, на виртуалке XP
не совсем понял на счет "какой программатор выбираешь в connection?", в device programming I select tool:STK500(на com4,это и есть мой программатор - проверил его с другой платой -ок), device:Atmega328, interface:ISP, IPS clock 1,737 kHz
плату собрал в двух вариантах - с перерезаной снизу дорожкой и нет - на мегу приходят в первом случае 2,7 и  4,3 во втором.
miso/mosi пробовал менять - безрезультатно - ошибка все та жа.

PS LPT к сожалению нет
Варю продаю кашу из Топпера:
magic pie 3 + markII от e4bike, самопальная батарея из lipo пакетов 14-15Ah, пока 13S1P->17S1P, up to tbd км/ч. Смотри восточный базар.

Следи за собой, будь осторожен.

acyd

#251
У меня тоже на 6-й не виделась, так и не понял почему, никакие танцы с бубном не помогали, а на 4.19 заработала. По идее надо только зашить, поэтому можно наверно любой прошивальщик, который понимает STK500 и atmega 328p. Кстати буква "p" только за потребление отвечает, а прошивальщики их разделяют почему-то.
Ошибка говорит о том, что программатор не видит проц, так что если в соединениях и ПО уверен, то возможно проц мертв, или на разных 328-х пробовал?

Я вот еще заказал супер дешевский программатор usbasp(3$) - шьет через avrdude +gui 3.5(графическая оболочка), посмотрим что за зверь.