Полезная информация


avatar_Stanislavchik

Smart BMS Small Ant

Автор Stanislavchik, 22 Янв. 2016 в 15:10

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

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

sdenis2017

Цитата: Aquinax от 14 Июль 2021 в 19:12
Китаец скинул вин приложение, есть английский, но как всегда наполовину.
https://disk.yandex.ru/d/8Z0BeVUILqKJmg
чот архив не распаковывается
1кВт  ДД 273-й + Келли kls-s 7230 + лифер 32700 12s4p + антбмс 8-24S 100А

sdenis2017

7зип-ом открывается
но в проге половина иероглифов
1кВт  ДД 273-й + Келли kls-s 7230 + лифер 32700 12s4p + антбмс 8-24S 100А

sdenis2017


что за переходник
отдельно можно купить?
1кВт  ДД 273-й + Келли kls-s 7230 + лифер 32700 12s4p + антбмс 8-24S 100А

koolon


[user]sdenis2017[/user], 10 баксов на Али весь комплект, адаптер и провода. Обычный UART.
приложение для ПК совсем так себе, особо никаких функций нет и половина на иероглифах, так что если свой софт не планируете создавать пустая трата денег.


sdenis2017

1кВт  ДД 273-й + Келли kls-s 7230 + лифер 32700 12s4p + антбмс 8-24S 100А

koolon

[user]sdenis2017[/user], да, только еще заморачиваться с разъемом в бмс,
но еще раз повторю, прога для винды переведена на английский на половину, пользоваться можно только с инструкцией. и функций гораздо меньше, чем в смартфоне. (не сравнить с jbd бмс, где наоборот, только в ПК версии можно настроить нормально, а в телефоне только просматривать)

maximka1441

Что значит пишит красным balance line dropped string
balance line dropped cell и на что не нажимаю ничего не работает?

Johny74

Как сейчас с новыми АНТ бмс, много кто говорит что работают некорректно, стоит покупать? 8000 впустую не хотелось бы слить...

sdenis2017

[user]Johny74[/user], купил двух платную версия 4 9 2
работает норм
1кВт  ДД 273-й + Келли kls-s 7230 + лифер 32700 12s4p + антбмс 8-24S 100А

Goldikc

Всем привет , вечером поюзал МОТ , а утром проблема , включаю , пропикал как обычно и нечего , нет света и не крутит мотор , захожу в тел , а там, уже не помню , фигня с запретом на разряд , я отключают , потом снова включаю и бмс постоянно пищит с ошибкой на разряд ненормальный мосфет , но все работает . я отк бмс , в тел вроде она отк , а ток с батареи все ещё поступает . Корпус разбираю , бмс вытаскивают , также разбираются , вроде на вид все ок , в чем проблема [

acyd

#2260
Возможно феты пробило, надо отключать и диагностировать. Какая бмс(на какой ток, старая или новая)и какие токи пиково и долговременно снимали контроллером?

Goldikc

Цитата: acyd от 20 Авг. 2021 в 09:31
Возможно феты пробило, надо отключать и диагностировать. Какая бмс(на какой ток, старая или новая)и какие токи пиково и долговременно снимали контроллером?
smart bms  с блютузом на 300 а 24s , покупал 2 года назад , контроллер макс снимал 140 а пик , а атак до 80 езжу ,

sdenis2017


что можете сказать по этой проге?
1кВт  ДД 273-й + Келли kls-s 7230 + лифер 32700 12s4p + антбмс 8-24S 100А

petrovich775

на новой версии 32S поменял пароли на более короткий, сперва все работало, пока не обесточил плату полностью- теперь не принимает ни какой пароль. Кто знает каа сбросить в заводские?

Stanislavchik

#2264
[user]sdenis2017[/user], Больше актуально для хранилищ энергии кмк, у нас есть приложение VBMS для логирования.
Добавлю в шапку.
https://youtu.be/vfRIXvL7UvY
https://youtu.be/xtT3eLMOVoI

Листинг проги:
https://drive.google.com/file/d/1NGKeXL_SXtYe5TAbakXHJrtthkYf3cEf/view
Спойлер

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update
sudo apt-get install influxdb chronograf nodered python-pip python-dev ipython bluetooth libbluetooth-dev
wget https://dl.grafana.com/oss/release/grafana_6.7.3_armhf.deb
sudo dpkg -i grafana_6.7.3_armhf.deb
sudo /bin/systemctl enable grafana-server
sudo /bin/systemctl start grafana-server
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
git clone https://github.com/karulis/pybluez.git
cd /pybluez
sudo python setup.py install
cd /examples/simple
nano getbms-ant.py

#Create getbms-ant.py file
import sys
import time
import serial
import struct
from binascii import unhexlify
import requests as req
import bluetooth
from bluetooth import *
import sys

#if sys.version < '3':
#    input = raw_input

bd_addr = "AA:BB:CC:A6:55:34"

port = 1

#sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
#sock.connect((bd_addr, port))
#sock.close()
#time.sleep(1)

#Define RS485 serial port
ser = serial.Serial(
    port='/dev/rfcomm2',
    baudrate = 9600,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS,
    timeout = 1)



#while True :
test='DBDB00000000'
try:
ser.write (test.decode('hex'))
except:
ser.close()
time.sleep(3)
Antw33 = ser.read(140)
#SoC
data = (Antw33.encode('hex') [(74*2):(75*2)])
print data
try:
  resp = req.get(url+'SoC'+'?value='+str(int(data,16)))
except:
  pass
#Power
data = (Antw33.encode('hex') [(111*2):(114*2+2)])
try:
  if int(data,16)>2147483648:
    data=(-(2*2147483648)+int(data,16))
    print data
  else:
    data=int(data,16)
    print data
  resp = req.get(url+'BMS_pow'+'?value='+str(data))
except:
   pass

data=0
print data
print data
print data
print data
time.sleep(1)
#BMS current
data = (Antw33.encode('hex') [(70*2):(73*2+2)])
try:
   if int(data,16)>2147483648:
     data=(-(2*2147483648)+int(data,16))*0.1
     print data
   else:
     data = int(data,16)*0.1
     print data
   resp = req.get(url+'BMS_Current'+'?value='+str(data))
except:
   pass
#BMS V
data = (Antw33.encode('hex') [8:12])
data = struct.unpack('>H',unhexlify(data))[0]*0.1
print data
try:
   resp = req.get(url+'BMS_V'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.1))


except:
   pass

#Cell_avg
data = (Antw33.encode('hex') [(121*2):(122*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell_avg'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_min
data = (Antw33.encode('hex') [(119*2):(120*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell_min'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_max
data = (Antw33.encode('hex') [(116*2):(117*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell_max'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_1
data = (Antw33.encode('hex') [(6*2):(7*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell1'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_2
data = (Antw33.encode('hex') [(8*2):(9*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell2'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_3
data = (Antw33.encode('hex') [(10*2):(11*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell3'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_4
data = (Antw33.encode('hex') [(12*2):(13*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell4'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_5
data = (Antw33.encode('hex') [(14*2):(15*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell5'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_6
data = (Antw33.encode('hex') [(16*2):(17*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell6'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_7
data = (Antw33.encode('hex') [(18*2):(19*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell7'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_8
data = (Antw33.encode('hex') [(20*2):(21*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell8'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_9
data = (Antw33.encode('hex') [(22*2):(23*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell9'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_10
data = (Antw33.encode('hex') [(24*2):(25*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell10'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_11
data = (Antw33.encode('hex') [(26*2):(27*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell11'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_12
data = (Antw33.encode('hex') [(28*2):(29*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell12'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_13
data = (Antw33.encode('hex') [(30*2):(31*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell13'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_14
data = (Antw33.encode('hex') [(32*2):(33*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell14'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_15
data = (Antw33.encode('hex') [(34*2):(35*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell15'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass
#Cell_16
data = (Antw33.encode('hex') [(36*2):(37*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
  resp = req.get(url+'cell16'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
  pass



ser.close()



sudo apt-get upgrade
sudo bluetoothctl
scan on
pair AA:BB:CC:A6:55:34
1234
exit

sudo rfcomm bind /dev/rfcomm2 AA:BB:CC:A6:55:34
sudo python getbms-ant.py
sudo reboot

#open chronograf to create influxdb db
http://192.168.1.200:8888

node-red-start
ctrl-C
http://192.168.1.200:1880
#Hamburger Menu>Manage palette>Right Tab "Install" type "influxdb" in search.
#Choose "node-red-contrib-influxdb" install install
#SETUP THE FLOW IN NODERED HAMBURGER IMPORT PASTE
[{"id":"43a452c5.345b0c","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"927bb058.fe715","type":"inject","z":"43a452c5.345b0c","name":"","topic":"","payload":"","payloadType":"date","repeat":"17","crontab":"","once":true,"onceDelay":"","x":90,"y":80,"wires":[["e05be6be.157318"]]},{"id":"e05be6be.157318","type":"exec","z":"43a452c5.345b0c","command":"sudo python /home/pi/pybluez/examples/simple/getbms-ant.py","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"getbms-ant6","x":292.99999237060547,"y":86.833251953125,"wires":[["d527314e.3995d"],[],[]]},{"id":"d527314e.3995d","type":"change","z":"43a452c5.345b0c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$string(payload)\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":490.8333053588867,"y":94.666748046875,"wires":[["47f0c63.0303238"]]},{"id":"47f0c63.0303238","type":"csv","z":"43a452c5.345b0c","name":"","sep":"\\n","hdrin":"","hdrout":true,"multi":"mult","ret":"\\n","temp":"","skip":"0","strings":true,"x":709.4999618530273,"y":109.888916015625,"wires":[["3cad0bdc.ae0fa4"]]},{"id":"3cad0bdc.ae0fa4","type":"switch","z":"43a452c5.345b0c","name":"","property":"payload[0].col27","propertyType":"msg","rules":[{"t":"btwn","v":"2","vt":"num","v2":"4","v2t":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":854.3333358764648,"y":112.3333740234375,"wires":[["33f99217.2319fe","5c0c929a.63595c"],[]]},{"id":"33f99217.2319fe","type":"change","z":"43a452c5.345b0c","name":"","rules":[{"t":"set","p":"payload[0].col1","pt":"msg","to":"","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1074.3333358764648,"y":115.66672706604004,"wires":[["b38d617a.0070c"]]},{"id":"b38d617a.0070c","type":"influxdb out","z":"43a452c5.345b0c","influxdb":"2cdaee14.f67752","name":"","measurement":"Data1","precision":"","retentionPolicy":"","x":1445.107162475586,"y":115.86908721923828,"wires":[]},{"id":"6d1077db.5c78c8","type":"inject","z":"43a452c5.345b0c","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":97,"y":168.66671466827393,"wires":[["50b6f11d.065ae"]]},{"id":"50b6f11d.065ae","type":"change","z":"43a452c5.345b0c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"!","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":425.3333549499512,"y":182.00000762939453,"wires":[["37d9ca15.c6ca56"]]},{"id":"37d9ca15.c6ca56","type":"exec","z":"43a452c5.345b0c","command":"sudo rfcomm release /dev/rfcomm2","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":704.3333587646484,"y":197.16667366027832,"wires":[["bbd4c7b9.bbc948"],[],[]]},{"id":"bbd4c7b9.bbc948","type":"exec","z":"43a452c5.345b0c","command":"sudo rfcomm bind /dev/rfcomm2 AA:BB:CC:A6:55:34","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":1119.3333435058594,"y":225.83334350585938,"wires":[[],[],[]]},{"id":"5c0c929a.63595c","type":"debug","z":"43a452c5.345b0c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1500,"y":220,"wires":[]},{"id":"2cdaee14.f67752","type":"influxdb","z":"","hostname":"192.168.1.200","port":"8086","protocol":"http","database":"ANTBMS","name":"","usetls":false,"tls":""}]
Тема на форуме (для просмотра требуется регистрация, ответ на вопрос при регистрации - power;-)
https://diysolarforum.com/threads/for-those-of-you-looking-to-monitor-your-ant-bms-with-pi3-via-bluetooth.6726/

Оттуда вероятно исходники ранней версии VBMS: https://github.com/klotztech/VBMS Вот бы кто взял в активную разработку. :-)
И частично протокол обмена информацией: https://github.com/klotztech/VBMS/wiki/Serial-protocol?fbclid=IwAR3pigiLZZX0mqAzlmP-tSmURCAUn4wFb11SW8T9qkK7nVeStFZ_A9uX53Q
Но там вопросы.
Кастом нельзя закончить, только остановить. https://electrotransport.ru/index.php?topic=52641.0

Goldikc

Цитата: Goldikc от 19 Авг. 2021 в 17:14
Всем привет , вечером поюзал МОТ , а утром проблема , включаю , пропикал как обычно и нечего , нет света и не крутит мотор , захожу в тел , а там, уже не помню , фигня с запретом на разряд , я отключают , потом снова включаю и бмс постоянно пищит с ошибкой на разряд ненормальный мосфет , но все работает . я отк бмс , в тел вроде она отк , а ток с батареи все ещё поступает . Корпус разбираю , бмс вытаскивают , также разбираются , вроде на вид все ок , в чем проблема [
нашёл пробитый мосфет , отпоял ножки у него, фена нет что бы выпаить его , да нового пока тоже нет, гуру ответе , могу ли я ездить так , макс снимаю 140 в пике ???

Piramidon

Цитата: Goldikc от 23 Авг. 2021 в 17:28
нашёл пробитый мосфет , отпоял ножки у него, фена нет что бы выпаить его , да нового пока тоже нет, гуру ответе , могу ли я ездить так , макс снимаю 140 в пике ???
Лично я ездил без двух, пока новая плата не приехала, ток снимал до 80А в пике.

Дядявова

В мене така БМС стоїть год як їздив. тепер направильну напругу показує на 12 1.3 вольт і 13 1.7 вольт ячейці . а без цього не напаше хто знає))тай як вона балансує я такі не поняв шось слабо вона балансує) тіки розряжає батарею до напругу найнищиї ячейки при балансі бистро гриється