คู่มือ · FW v2.0.1

วิธีใช้งาน & ฟังก์ชันทั้งหมด

ทุกอย่างที่เฟิร์มแวร์ v2.0.1 ทำได้ ตั้งแต่ต่อไฟครั้งแรกจนถึงอัปเดตออนไลน์ รวมถึงข้อจำกัดจริงของ RS485 และ Bluetooth ที่ควรรู้ก่อนซื้ออุปกรณ์

เริ่มใช้งานครั้งแรก

  1. แฟลชเฟิร์มแวร์

    ทำที่หน้า Firmware & Flash — แฟลชผ่านเว็บได้เลย ไม่ต้องลง Arduino IDE
  2. ต่อไฟ แล้วหา WiFi ชื่อ JK-BMS-Setup

    เครื่องที่ยังไม่เคยตั้งค่าจะปล่อยฮอตสปอตให้เอง เชื่อมต่อด้วยมือถือ แล้วเปิด http://192.168.4.1 (ปกติหน้าตั้งค่าจะเด้งขึ้นเอง)
  3. เลือก WiFi บ้าน แล้วกด Save

    ตั้ง IP แบบ Fixed ได้ในหน้าเดียวกัน ถ้าต้องการให้ IP ไม่เปลี่ยน เครื่องจะรีสตาร์ตแล้วเข้าวง LAN
  4. เปิดหน้าแดชบอร์ดที่ IP ของเครื่อง

    ดู IP ได้จาก Serial Monitor หรือหน้ารายการอุปกรณ์ของเราเตอร์ เช่น http://192.168.1.50
  5. เลือกแหล่งข้อมูล RS485 หรือ Bluetooth

    ที่ Settings → Data source ค่าเริ่มต้นคือ RS485 การเปลี่ยนโหมดจะรีสตาร์ตเครื่องหนึ่งครั้ง
ใหม่ใน v2.0.1 — โหมด RS485 เริ่มอ่านค่าเองทันทีที่ต่อไฟ ไม่ต้องกด Auto-scan ทุกครั้งเหมือนเวอร์ชันก่อน เครื่องจะสแกนบัสหาแพ็คให้เองตอนบูต และถ้าไม่มีแพ็คไหนตอบเลย จะสแกนซ้ำอัตโนมัติทุก 2 นาทีจนกว่าจะเจอ

ข้อจำกัดสูงสุด — RS485 vs Bluetooth

หัวข้อRS485 / ModbusBluetooth (BLE)
จำนวน BMS สูงสุด 15 แพ็ค ต่อ 1 บัส (address 1–15) 3 แพ็ค เท่านั้น
ทำไมถึงจำกัดแค่นั้น ใช้สายเส้นเดียวร่วมกัน วนถามทีละ address BMS แต่ละตัวเป็นอุปกรณ์ BLE แยกกัน ESP32 ต่อพร้อมกันได้จำกัด
ความเร็วอัปเดต ~1 แพ็ค/วินาที (ยิ่งหลายแพ็คยิ่งช้าลงตามสัดส่วน) BMS ส่งมาเองทุก ~1 วินาที ต่อแพ็ค
ระยะ ไกล 100+ เมตร ใช้สายคู่บิดเกลียว ~10 เมตร ในที่โล่ง มีผนังกั้นจะสั้นลงมาก
ต้องมีอุปกรณ์เพิ่ม โมดูล TTL-to-RS485 (MAX485 / MAX3485) ไม่ต้อง ใช้ BLE ในตัว ESP32
ตั้งค่า ตั้ง address ที่ตัว BMS ให้ไม่ซ้ำกัน แล้วให้เครื่องสแกนเอง ใส่ MAC address ของ BMS ทีละช่อง (มีปุ่มสแกนช่วยหา)
เหมาะกับ ระบบหลายแพ็คถาวร ตู้ ESS ที่เดินสายได้ ติดตั้งเร็ว 1–3 แพ็ค อยู่ใกล้กัน
เลือกได้ทีละโหมด — เฟิร์มแวร์ใช้ RS485 หรือ BLE อย่างใดอย่างหนึ่ง ไม่ผสมกัน เพราะ BLE กินหน่วยความจำมากจนไม่เหลือพอสำหรับทั้งสองระบบพร้อมกัน

โหมด RS485 / Modbus (สูงสุด 15 แพ็ค)

ตั้งค่า

  1. ตั้ง address ที่ BMS

    ในแอป JK BMS ตั้งค่า Modbus address ให้แต่ละแพ็คไม่ซ้ำกัน เริ่มที่ 1 แพ็คที่ address ซ้ำกันจะชนกันและอ่านค่าไม่ได้ทั้งคู่
  2. ต่อสาย A/B ขนานกันทุกแพ็ค

    ดูวงจรที่หน้า อุปกรณ์ & การต่อสาย ปลายบัสทั้งสองข้างควรมีตัวต้านทาน 120Ω ถ้าสายยาวเกิน 10 เมตร
  3. ต่อไฟ — จบ

    เครื่องสแกน address 1–15 ให้อัตโนมัติตอนบูต แพ็คที่ตอบจะถูกเพิ่มเข้ารายการทันที และค่าที่เลือกไว้จะถูกจำไว้ในหน่วยความจำถาวร

ปุ่มบนแดชบอร์ด

Auto-scan สแกนบัสใหม่ทันที ใช้ตอนเพิ่มแพ็คโดยไม่อยากรีบูต
Clear all เอาทุกแพ็คออกจากรายการที่แสดง (ไม่ได้ลบข้อมูลใน BMS)
กดที่ช่องหมายเลข เปิด/ปิดการแสดงแพ็คนั้น แพ็คที่ปิดจะไม่ถูกถามและไม่ส่งขึ้นคลาวด์
ไอคอน ✎ ตั้งชื่อแพ็ค เช่น “ตู้ซ้าย” ชื่อจะขึ้นทั้งบนเว็บและบน bmsgo.life

โหมด Bluetooth (สูงสุด 3 แพ็ค)

  1. เปลี่ยนโหมดที่ Settings

    เลือก Bluetooth BLE แล้วกด Save — เครื่องจะรีสตาร์ต
  2. กด “Scan for JK BMS”

    เครื่องจะสแกน 5 วินาที แล้วแสดง MAC ของ BMS ที่เจอ กดที่รายการเพื่อใส่ในช่องว่างช่องแรก
  3. ใส่ได้สูงสุด 3 MAC

    ตั้งชื่อแต่ละแพ็คได้ในช่องถัดไป กด Save แล้วเครื่องจะรีสตาร์ตและเชื่อมต่อเอง
  4. ดูสถานะการเชื่อมต่อ

    บนแดชบอร์ดจะบอกทีละช่องว่า streaming (ได้ข้อมูลแล้ว), connected, no data (ต่อติดแต่ยังไม่ส่ง) หรือ disconnected พร้อมค่า dBm
BLE ต่อได้ทีละแอป — ถ้าแอป JK BMS บนมือถือกำลังต่ออยู่กับแพ็คไหน ESP32 จะต่อแพ็คนั้นไม่ได้ ให้ปิดแอปหรือปิด Bluetooth ที่มือถือก่อน

หน้าแดชบอร์ดบนเครื่อง

ส่วนบนสุด

แหล่งข้อมูลที่ใช้ · จำนวนแพ็คที่ live · เวอร์ชัน FW · IP · Device Code · ลิงก์ดูออนไลน์ และแถบเขียวแจ้งเมื่อมีเฟิร์มแวร์ใหม่

การ์ดของแต่ละแพ็ค

แรงดันรวม · วงแหวน SOC · กระแส (ค่าลบ = จ่ายออก) · ป้าย Charge / Discharge / Balance / Runtime

ตารางค่า 16 ช่อง

กำลัง SOH ความจุคงเหลือ/เต็ม รอบชาร์จ Cycle Cap เฉลี่ยเซลล์ ผลต่างเซลล์ กระแสบาลานซ์ อุณหภูมิ MOS/T1–T5 และกระแสฮีตเตอร์

เซลล์รายก้อน

รูปแบตเตอรี่เติมตามระดับ (คำนวณจากเส้นโค้ง LFP) แรงดันและความต้านทานสายเป็นมิลลิโอห์ม เซลล์ต่ำสุดขอบแดง สูงสุดขอบน้ำเงิน

ค่าที่อ่านได้ทั้งหมด

ค่าหน่วยความหมาย
Total VoltageVแรงดันรวมทั้งแพ็ค
CurrentAบวก = กำลังชาร์จ, ลบ = กำลังจ่ายออก
PowerWกำลังไฟฟ้าขณะนั้น
SOC%ระดับพลังงานคงเหลือที่ BMS คำนวณ
SOH%สุขภาพแบตเตอรี่เทียบกับตอนใหม่
Remaining / Full CapacityAhความจุคงเหลือ และความจุเต็มที่วัดได้จริง
Cycle Countรอบจำนวนรอบชาร์จสะสม
Cycle CapacityAhความจุสะสมที่ผ่านการชาร์จ/คายตลอดอายุ
Cell Voltage ×16Vแรงดันเซลล์รายก้อน
Wire Resistance ×16ความต้านทานสายเซลล์ ค่าสูงผิดปกติ = จุดต่อหลวม
Average Cell / Cell DiffVค่าเฉลี่ย และผลต่างสูงสุด–ต่ำสุด (ΔV)
Balance Current / StatusAกระแสและสถานะการบาลานซ์
MOS Temp, T1–T5°Cอุณหภูมิ MOSFET และเซนเซอร์ในแพ็ค
Heating CurrentAกระแสแผ่นทำความร้อน (รุ่นที่มี)
Runtimeวัน/ชม.เวลาที่ BMS ทำงานต่อเนื่อง
Charge / Discharge Enableon/offสถานะ MOSFET ชาร์จและคายประจุ
Alarmsข้อความรหัสเตือน 22 แบบจาก BMS แปลเป็นชื่อแล้ว

ค่าทั้งหมดนี้ถูกส่งขึ้น bmsgo.life ด้วย ดังนั้นหน้าเว็บสาธารณะจึงแสดงข้อมูลชุดเดียวกับที่เห็นบนเครื่อง

คลาวด์ & Device Code

Device Code คืออะไร

รหัสรูปแบบ BMS-XXXXXX สร้างจาก eFuse MAC ของชิป ESP32 เป็นค่าฮาร์ดแวร์ที่แก้ไม่ได้และไม่ซ้ำกัน ใช้เป็นตัวตนของเครื่องบนคลาวด์ แฟลชใหม่กี่ครั้งก็ได้รหัสเดิม ประวัติจึงต่อเนื่อง

ลิงก์ดูออนไลน์

เปิดดูได้ที่ https://bmsgo.life/<Device Code> แชร์ให้ใครก็ได้โดยไม่ต้องเปิดพอร์ตเราเตอร์ มีปุ่มคัดลอกลิงก์อยู่บนหน้าอุปกรณ์

โทเคน

เครื่องสร้างโทเคนสุ่ม 128 บิตให้ตัวเองครั้งเดียวตอนบูตแรก เก็บถาวรและ แก้ไม่ได้ จากหน้าเว็บ ใช้ยืนยันว่าข้อมูลมาจากบอร์ดตัวจริง

ส่งบ่อยแค่ไหน

ค่าเริ่มต้น 30 วินาที ตั้งได้ต่ำสุด 10 วินาทีที่หน้า Settings ปิดการส่งขึ้นคลาวด์ได้ด้วยการติ๊กออก — เครื่องยังทำงานปกติในวง LAN

อัปเดตออนไลน์ (OTA)

v2.0.1 อัปเดตเฟิร์มแวร์ได้โดยไม่ต้องถอดสายไปต่อคอม

เช็คเวอร์ชันใหม่Settings → Firmware update → Check for update
ติดตั้งDownload & install (ดึงจาก bmsgo.life โดยตรง)
ติดตั้งจากไฟล์อัปโหลด .bin ในหน้าเดียวกัน ใช้ได้แม้ออฟไลน์
ถ้าอัปเดตล้มเหลวทิ้งไฟล์ใหม่ รันเฟิร์มแวร์เดิมต่อ ไม่เสี่ยงบอร์ดตาย
เวลาที่ใช้ประมาณ 20–60 วินาที ห้ามตัดไฟ
รายละเอียดครบถ้วนอยู่ที่หน้า Firmware & Flash

จอสัมผัส (รุ่น CYD)

บอร์ด ESP32-2432S028R มีหน้าจอ 2.8" ในตัว ใช้เฟิร์มแวร์คนละไฟล์ (cyd) แต่ฟังก์ชันหลังบ้านเหมือนกันทุกอย่าง

หน้าที่ 1 — Overview แถบ SOC ขนาดใหญ่อ่านได้จากไกล + แรงดัน/กระแส + ตารางค่าสำคัญ 8 ช่อง
หน้าที่ 2 — Cells แรงดันและความต้านทานรายเซลล์ ไฮไลต์เซลล์ต่ำสุด/สูงสุด
แถบล่าง ◀ แพ็คก่อนหน้า · สลับหน้าจอ · แพ็คถัดไป ▶
คาลิเบรตจอสัมผัส แตะที่หน้าจอตอนบูตเพื่อคาลิเบรตใหม่ ค่าที่ได้จะถูกจำไว้

แก้ปัญหา

ต่อไฟแล้วไม่มีข้อมูลขึ้นเลย (RS485)

ไล่ตามลำดับนี้:

  1. สลับสาย A กับ B ที่โมดูล RS485 — ต่อกลับด้านเป็นสาเหตุอันดับหนึ่ง
  2. เช็คว่าตั้ง Modbus address ที่ BMS แล้ว และไม่ซ้ำกับแพ็คอื่น
  3. กด Auto-scan บนแดชบอร์ดเพื่อบังคับสแกนใหม่ทันที
  4. เช็คกราวด์ร่วมระหว่าง ESP32 กับ BMS

ใน v2.0.1 ถ้าไม่มีแพ็คไหนตอบ เครื่องจะสแกนซ้ำเองทุก 2 นาที ไม่ต้องคอยกดเอง

เคยต้องกด Auto-scan ทุกครั้งที่เปิดเครื่อง
เป็นบั๊กของ v2.0.0 — ตัวจับเวลาเช็ค “ถึงเวลาถามแพ็คหรือยัง” เทียบกับค่าเริ่มต้นผิด ทำให้เงียบไป 60 วินาทีแรกหลังบูต แก้แล้วใน v2.0.1 พร้อมเพิ่มการสแกนบัสอัตโนมัติตอนบูต อัปเดตที่นี่
เข้าหน้าเว็บของเครื่องไม่ได้หลังไฟดับ
เครื่องที่บันทึก WiFi ไว้แล้วจะพยายามเชื่อมต่อใหม่เองทุก 15 วินาที และจะไม่กลับไปเปิดฮอตสปอตอีก รอสักครู่หลังเราเตอร์บูตเสร็จ ถ้า IP เปลี่ยนบ่อย แนะนำตั้ง Fixed IP ที่หน้า WiFi / IP
ค่าเซลล์ขึ้นครบ 16 ทั้งที่ใช้แค่ 8 เซลล์
เครื่องตรวจจำนวนเซลล์จริงให้อัตโนมัติในรอบอ่านแรก (เซลล์ที่ไม่ได้ใช้จะอ่านได้ 0V) และจำค่าไว้ ถ้าเปลี่ยนจำนวนเซลล์ ให้กด Auto-scan หนึ่งครั้งเพื่อให้ตรวจใหม่
BLE ต่อติดแต่ไม่มีข้อมูล
แปลว่าเชื่อมต่อสำเร็จแต่ BMS ยังไม่ส่งเฟรมข้อมูลมา มักเกิดจากมีแอปอื่นต่ออยู่กับ BMS ตัวนั้นพร้อมกัน ปิดแอป JK BMS บนมือถือแล้วรอ 10 วินาที