avatar_clawham

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

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

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

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

clawham

Ну так чтоб прям зарелизил то нет - просто альфа но уже большой функционал реализован.

геолокация для того чтоб я потом на картах видел сколько я проехал и высчитывать расход по этому маршруту. ну и вообще удобно - лог есть а куда ехал не помниш - хооп и на гуглмапсе у тебя трек. гпска просто в лог пишется...потом как-нить доделаю до полноценного велокомпьютера.
Да лог  то пишется ито часто сам блютуз затыкается кагбэ на пол минуты а потом навалОм тонну строк за раз выплевывает что аз телефон подвисает двуядерный...на чем писал? b4a. ерунда по скорости особенно с флоатами но что делать. зато не надо париться с преобразованиями типов - он сам ими руллит как хочет.

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

mevial

Цитата: clawham от 27 Июль 2016 в 10:09
геолокация для того чтоб я потом на картах видел сколько я проехал и высчитывать расход по этому маршруту. ну и вообще удобно - лог есть а куда ехал не помниш - хооп и на гуглмапсе у тебя трек. гпска просто в лог пишется...потом как-нить доделаю до полноценного велокомпьютера.
Да лог  то пишется ито часто сам блютуз затыкается кагбэ на пол минуты а потом навалОм тонну строк за раз выплевывает что аз телефон подвисает двуядерный...на чем писал? b4a. ерунда по скорости особенно с флоатами но что делать. зато не надо париться с преобразованиями типов - он сам ими руллит как хочет.

А где её такую взять? Я на компе то такой же пользуюсь а вот в ондроедах не нашел ещё.
Какая-то агрессивная геолокация, закрытием аппы не отключается, пришлось прибить.
На скорость b4a не надо наезжать, там идёт интерпретация в яву, и компиляция средствами СДК, т.е. по скорости аналогично андроид студии. Можешь попробовать на дельфи для андроида, у них там как раз НДК, и с того момента как я их щупал, выбирая, на чём писать, они сильно продвинулись, блютус уже умеют. Единственное, чем мне не нравится дельфи до сих пор, так это тем,что всё своё с собой, т.е. тяжеленный набор библиотек НДК одним куском всегда в программе, вес меньше 3МБ не бывает. Вообще блютус в НДК очень хочется, ибо завесить текущую реализацию вообще не проблема.

QuaziKing

#596
Цитата: clawham от 27 Июль 2016 в 08:31
По шунту ну круто что он пол долара и 0.0002 ома... макс усиление бкюшки х50. кроме того 2000 штук то понятно что пошел и купил...а поштучно? В общем в любом случае цена дороже и ждать дольше чем в РЭС съездить или просто припаять отводы к кусочку минусового провода. у меня один вел на 12 ач ионках именно так и сделан - никаких проблем с точностью или ещё чем-то не испытываю.

на маузере (mouser.com) можно купить за $3 за штуку если брать 10 штук. Да. Усиления не достаточно. Можно ОУ поставить и питать его с контроллера (т.е. котроллер подает питание через ногу, когда нужно провести измерение). Но это уже надо крпко думать - надо ли...

Цитата: clawham от 27 Июль 2016 в 08:31
Да если Вы разбираетесь хорошо в аврках то вот что сильно очень реально надо - так это загрузчик.  Требований немного - простой интерфейс дуплексный - линия то RX и TX замыкает на себя а потому говорит один - слышут все и этот один тоже.
Второе - размер минимальный. у меня ооочень мало флеши в 32 меге осталось.
Третье - чтоб умел и еепром тоже вычитывать.
4 - 4 платки впаралель чтоб одновременно прошивались с линии ибо перекидывать 32 килобайта по 9600 блютузу это пол минуты минимум без всяких проверок и повторов а надо бы повторять посылки если ктото чтото на линии не расслышал - ответить то они смогут только в конце блока.
5 - вход в загрузчик по команде с компорта. чтоб послал типа #$1004$# и все скажем 4 платы перекинулись в загрузчик и начали обновляться.

Короче есть над чем работать. В меге сичас занято 31132 байт флеши, 1003 байта еепрома и при програмном стеке в 350 байт свободной оперативы - 92 байта. Конечно если постараться - есть где сэкономить но в общем загрузчик надо сверхмаленький.
Я подумаю че как.
Вопрос еще: почему не stm32? потребление меньше, мощность больше -> контроллер будет спать ->потребление еще меньше.
На частоте 1МHz 0.8mA (если вся переферия работает), если усыпить то до 10мкA и меньше (зависит от глубины засыпания)

mevial

Цитата: QuaziKing от 27 Июль 2016 в 10:30
Вопрос еще: почему не stm32? потребление меньше, мощность больше -> контроллер будет спать ->потребление еще меньше.
На частоте 1МHz 0.8mA (если вся переферия работает), если усыпить то до 10мкA и меньше (зависит от глубины засыпания)
По stm32 интересно мне, потому как ни крути а ниже 10мА в активном режиме не получалось, со сном(wfi) выходит 1мА в среднем. Оно конечно сам блютус, если классический hc-05/hc-06 жрёт 40-60мА, но современные аналоги укладываются в 15мА, что уже сопоставимо с текущей реализацией моего модуля.

QuaziKing

Я почему про stm32 говорю: там и памяти больше (64К флеш. 8К озу) и загрузчик встроенный (не нужен программатор для первой прошивки).
Но это переделка схемотехники.
Про питание: возможно имеет смысл управлять питанием внешних цепей с контроллера? Т.е. если ничего не ждем и не делаем - отрубаем все что можно. Но тут пока ничего не скажу - разберу схему на выходных по частам, тогда посмотрим...

clawham

#599
у меня мега на вспом платках кушает 0.2 ма.

почему не арм пень коре и3 говорить не буду - просто потому что :)
нету у арма еепромы, ног больше размер больше или непаябельные корпуса. не у каждого есть програматор хотя в 103 есть бут. Нехочу. есть могу иногда тянет чтото на нем сделать но когда мега 90% времени спит с потреблением 5 мка то хочется плакать. Основной потребитель всей этой платы - опторазвязка.
Основная концепция этой платы - простота.А  операционник тулить, питание, термокомпенсации и т.д. зачем если оно уже есть в бкюшке. и неплохо работает с 1 милиомным и 0.5 милиомным шунтом.
Зачем арм если и мега справляется? Не ну если хотите то можете переписать и на арм. как я могу быть против? особенно мне нравятся бгашные LPC  - размер с тетрадную клеточку а 66 мегагерц и т.д.но здесь оно не надо помоему от слова СОВСЕМ :) То что сейчас долго опрашивается поячеечное напряжение - вина в этом полностью на бкюшке которая вроде и должна уметь мерять одновременно с балансиром а на самом деле не синхронизируется. и ей надо подождать дольго чтоб напруга устаканилась иначе чушь выдает. ну а дальше ограничение 9600 оптронов развязки линии. предложите лучшие оптопары чтоб не 50 грн штука, на любом радиобазаре доступные и держали мегагерц при токе в светик 0.1 ма - я буду только рад :) 817 хотят не меньше 0.5 ма чтоб нормально фронты рисовать но спад всеравно у них затянутый. потому 9600 для 817 предел.

По питанию в последней версии так и сделано :) вплоть до полного вырубания всей схемы если батка разряжена низе нижней отсечки чтоб вообще ноль с неё тянуть. а делаем не делаем ты не сможеш понять если отключиш силовой - нагрузка то не сможет появитьсся если разрядный и зарядный каналы отключены...в общем я-то конечно готов чтото новое услышать но пока что слышу свои же грабли на которые наступал два года тому назад. мега 644 всего на 8 пинов больше. а арм кроме всего прочего 128 киловый по флеши аналогичен меге 32 по коду. 32 бита дают о себе знать...У меня есть дискавери стмовский и кит от лпц и море стеларисов. я с ними работал. но тут они реально не к месту совсем.
Для примера пересчитал бин. реально из 31 кила только 8200 - это код. остальное строки менюшек и того что в линию кидается. ну и строки сравнения того что с линии может прийти.
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham

QuaziKing

Все понял. Вопрос: какая avr стоит? точное название со всеми символами на конце. Буду ковырять прошивку.
И нужна последняя версия прошивки (все сорсы или ссылка - где взять)
З.Ы. Может skype? Будет море вопросов, не хочу загромождать форум :) Да и оперативнее

BM3000

 clawham скажите пожалуйста, чем полноценная BMS лучше чем обычные балансиры на дискретах+ микроконтроллерная схема измерения напряжений на ячейках которая выдает информацию о состоянии батареи. Может это где разжевывалось я не видел  :bn:.
Строю электромобиль http://www.drive2.ru/r/selfmade/835707/

clawham

ниче не понял? Что за микропроцесорная система?
Если по балансирам обьяснить могу просто - моя бмс организует поиск минимальной ячейки во всей батарее и до её уровня балансируются все соседи. я могу не перенастраивая бмс заряжать и до 4.0 и до 4.35 при этом так или иначе все чейки будут выровнены в ноль. просто на зарядке кручу меньше напряжения и все.

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

BM3000

   Разделить функции балансировки возложив ее на балансиры, и контроля за состоянием батареи используя контроль напряжения ячеек микроконтроллером.
Батарея балансируется в окончании зарядки, а схемка на процике смотрит напряжение на батарее и периодически на всех ячейках. Если что не так подает сигнал, если совсем не так, то отключает батарею контактором.
   Для балансировки нужна точность, но ее можно получить и обычными балансирами, а для диагностики состояния батареи такая точность не нужна(?) можно делителями мерять напряжение на ячейках от минусового вывода без всяких гальванических развязок(?).
Строю электромобиль http://www.drive2.ru/r/selfmade/835707/

clawham

нельзя :) точность будет никакая - будете мерять разбег резисторов.
в прочем а что такого в том что эту же вашу некую прочесорную систему дополнить балансиром? только умным у которого есть сведения о всей батарее.

хорошо другой вопрос - у меня LGd1 у них предельное напряжение 4.35
ваши балансиры надо на 4.35 настроить? а если я не хочу терять циклы заряжая до полного бака? вот хочу 4.15 - потерять 2 амперчаса из 12 но зато получить в 2 раза бОльший ресурс....как ваши балансиры себя поведут? очень просто - одна из ячеек будет 4.35 а остальные ниже чем 4.2 итого она и умрет первой. что не понятного-то? у меня ж балансировка адаптивная.  балансир всегда старается держать батарею ровной не смотря на напряжение. ну есть конечно нижнее ограничение но у меня скажем 4 вольта стоит. тоесть я могу и 4.1 сделать на всех батареях выставив нужное напряжение на зарядке.
за лифер вообще молчу. там вообще все сильно хуже с балансировкой...разница по ёмкости между 3.4 и 3.6 для 20 амперчасового пакета с токоотдачей 100 ампер - 0.2 амперчаса. тоесть ваши балансиры вообще неприменимы в этом случае - зарядку то балансир не пересилит по току и скажем даже ток 500 ма на эту перезаряжаемую банку вовсе не приведет к ограничению тока заряда и потому напруга улетит выше...и сильно выше ибо на остальных то 3.4 до сих пор или ниже! вот и думайте.
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham

BM3000

Строю электромобиль http://www.drive2.ru/r/selfmade/835707/

BM3000

Цитата: clawham от 27 Июль 2016 в 21:50
за лифер вообще молчу. там вообще все сильно хуже с балансировкой...разница по ёмкости между 3.4 и 3.6 для 20 амперчасового пакета с токоотдачей 100 ампер - 0.2 амперчаса. тоесть ваши балансиры вообще неприменимы в этом случае - зарядку то балансир не пересилит по току и скажем даже ток 500 ма на эту перезаряжаемую банку вовсе не приведет к ограничению тока заряда и потому напруга улетит выше...и сильно выше ибо на остальных то 3.4 до сих пор или ниже! вот и думайте.
Но при балансировке когда на ячейке напряжение превысит установленное максимальное значение, микроконтроллер отключит заряд батареи, а балансировка будет продолжаться пока напряжение на этой ячейке с завышенным напряжением не упадет до  приемлемого уровня. И ничего никуда не улетит?
Строю электромобиль http://www.drive2.ru/r/selfmade/835707/

clawham

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

mevial

Кстати, так и не понял прикола этой бмс, как и подобных чипов, почему недопустима балансировка соседних ячеек. Почему балансировать надо только через 2? Картиночки в даташите красивые, но та же смартбмс на oz890 справляется и никаких проблем сквозных токов не испытывает.

clawham

чтобы это понять нужно внимательно посмотреть на схему!
У оза есть отдельный вывод ознаменующий необходимость балансировки определенной ячейки...соответственно внешний транзистор просто открывается этим выводом и все.

У меня же транзистор уже встроен внутрь бкюшки и он сладый 500 омный и всего 7 вольт выдерживает разность. Внешние же транзисторы ловят падение на килоомном резисторе и усиливают его до полного открывания уже основного балансировочного транзистора( npn или n-mosfet) а потому  если открыть две соседние ячейки то получится прямой путь от плюса верхней ячейки до минуса первой ячейки через резистор 1 килоом. на средних ячейках падения на этом резисторе не будет. а балансирую я по наличию падения на верхнем резисторе (который на плюс ячейки) но беда в том что для нулевой ячейки верхний резистор это нижний резистор уже второй ячейки - тоесть оно все связано. в общем получается что будет балансироваться только верхняя ячейка а в бкюшке транзисторы при 4.2 будут испытывать удвоенное напряжение батарейки а это 8.5 вольт и это кагбэ много для них. Потому и не 1 через 1 а 1 через 2. от каждого балансирующего транзистора должно быть сверху и снизу небалансирующий транзистор. потому и светомузыка.
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham

acyd

Цитата: clawham от 27 Июль 2016 в 08:31
acyd так ведь есть оно...приложение-то на андроид! С андроидной же спецификой но есть!
...
Тут слушаю ваши предложения.
Посмотрел прогу, работает, графа масштабируется при повороте, все корректно!  :dance:
Даже корректно отрабатывает входящий звонок и сворачивание.
Пару часов на стареньком 1-ядернике с 512 оперы, полет нормальный, утечек памяти почти нет.
Простенькие терминалки, которыми пользуюсь дико глючные по этому поводу.

Что обозначают фиолетовые и зеленые кружочки в меню граф1, какие-то прогнозы по нагрузке?
Также напряжения по платам halfbt volt показывает общее, т.е все значения по вольтажу одинаковые.

Наполнить функционалом, добавить обратную связь  и то что надо.  :wow:
Про функции борткомпа и диагностики внутреннего сопротивления ты лучше знаешь что да как.
Было бы круто мощную утилиту калибровки туда сделать: ячеек, температуры, тока, связи, и профили сохранять в файл.

clawham

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

Полубатареи я недоделал ввиду того что у меня больше не две сдвоенные линейки бмсок...эт раньше у меня было 15S2P котлет и 4 бмски на каждое P ибо соединялось это ве только силовым минумос и плюсом.

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

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