เรารู้ได้ยังไงว่า แบตเตอรี่เหลือเท่าไหร่ SoC คิดยังไง
By Arnon Puitrakul - 15 กุมภาพันธ์ 2023
เคยสงสัยกันมั้ยว่า เลขเปอร์เซ็นต์ของ Battery มันเอามาจากไหน เราก็เห็นกันนะว่า ถ้าเกิดเปอร์เซ็นต์มันหมด เครื่องมันก็ดับไปเลย ยิ่งในปัจจุบัน เรามีพวกรถยนต์ไฟฟ้า (EV) ซึ่งมันก็ขึ้นกับเปอร์เซ็นต์ของ Battery มากขึ้นไปอีก ไม่งั้น คือดับกลางทางได้เลยนะ วันนี้เรามาเล่าให้อ่านกันว่า รถ และ อุปกรณ์ทั้งหลาย มันรู้ได้ยังไงว่า มันเหลือเท่าไหร่
ค่า State of Charge (SoC) คืออะไร ?
ก่อนอื่น เราจะต้องมานิยามกันก่อนว่า ค่า SoC หรือ State of Charge หรือเลขเปอร์เซ็นต์ที่เราเห็น ถ้าให้แบบเข้าใจกันง่าย ๆ คือ มันคืออัตราส่วนของความจุที่เหลืออยู่ ต่อ ความจุที่แบตเตอรี่จะเก็บได้ (Charged Condition) 100% ก็คือ Battery ของเรา ชาร์จเต็มอยู่ในสถานะชาร์จเรียบร้อย และ 0% คือ Battery ถูกใช้จนเกี้ยง
ในที่นี้จะเห็นว่า เราใช้คำว่า ความจุ ไม่ใช่ พลังงาน นะ มันคนละเรื่องกัน เพื่อให้เข้าใจได้ง่ายขึ้น เราอยากให้ดูกราฟด้านบน แกน Y เราแทน Voltage หรือแรงดันของ Battery เราให้สูงสุดที่มันทำได้เลยคือ 4.5V และ เมื่อเราปล่อยประจุ หรือใช้งานไปจะเหลือสุด ๆ ที่ 2.75V และ แกน X แทน ปริมาณของประจุที่ปล่อยไป เราจะเห็นว่า เมื่อเราปล่อยประจุไปเรื่อย ๆ Voltage ของ Battery จะลดลงไปเรื่อย ๆ
แต่ ๆ ในโลกความเป็นจริงการ ลดลงของ Voltage มันไม่ได้สัมพันธ์กับประจุที่ปล่อยเป็นเส้นตรง แต่มันอยู่ในแง่ของความสัมพันธ์แบบอื่น ๆ เช่น จากกราฟด้านบน เราจะเห็นว่า Voltage มันลงไปเรื่อย ๆ ถึงจุดนึง มันจะลงช้า ๆ หน่อย แล้วจนถึงจุดนึง มันไหลลงไปฮวบเลย อันนี้สำคัญมาก ๆ เพราะมันเป็นการบอกเราว่า เราไม่สามารถเอาบอกได้นะว่า พลังงานที่เราเหลืออยู่จริง ๆ มันเท่าไหร่ เพราะถ้าเราบอกว่า เราลงไปสัก 50% พื้นที่ใต้กราฟมันก็คือพลังงานที่หายไป แต่เราจะเห็นว่า พื้นที่ใต้กราฟของ 50% แรก กับ หลัง มันต่างกัน นั่นแปลว่า พลังงานไม่เท่าอะสิ
แล้วถามว่า ถ้าเราเป็นรถ เราจะคำนวณค่า SoC ของเราได้อย่างไร วันนี้เรามาดูวิธีการกัน
Voltage Mapping
เราไม่รู้นะว่า วิธีการนี้จริง ๆ มันชื่ออะไร แต่ เราสังเกตจากที่เราคุยกันก่อนหน้านี้ว่า Voltage มันมีการเพิ่มลดตาม SoC ด้วย เพราะถ้าเราลองเก็บค่า Voltage ของ Battery Pack ในรถของเราออกมา แล้วเอามา Plot เทียบกับ SoC เราจะเห็นได้ว่า เมื่อเรามีการปล่อยประจุออกไป หรือในรถ ก็คือ เรามีการใช้ไฟออกไปเรื่อย ๆ Voltage ของ Battery จะลดลงแน่นอน
ดังนั้น จาก Graph หรือตารางนี้ ถ้าเรามี Battery Voltage ปัจจุบันเราน่าจะเทียบกลับไปเป็น SoC ที่เหลืออยู่ได้ใช่มะ Simple Arithmetics ตรง ๆ เลย
แต่ ๆ วิธีนี้ เอาจริง ๆ มันก็แอบยากอยู่เหมือนกัน อย่างแรกคือ เราจะต้องมี Discharge Profile ออกมาก่อนว่า ถ้าเราแบตเต็มเลย Voltage เราจะเป็นเท่าไหร่ และ เมื่อเราปล่อยประจุไปจนหมดเลย มันจะเหลือเท่าไหร่ ไหนจะต้องเก็บ Profile อีกว่า แต่ละช่วงมันลงยังไงอะไรบ้าง ซึ่งก็เรียกว่า กินเวลาพอสมควรเลย
แต่ปัญหาคือ Battery Pack Voltage นั้นมันมีปัจจัยอื่น ๆ เช่น อุณหภูมิ ร่วมด้วย ถามว่า ทำยังไงดี ง่ายมาก เราก็ชดเชยด้วยอุณหภูมิเข้าไปสิ สั้น ๆ ก็คือ เราจะต้องหา Discharge Profile ของแต่ละอุณหภูมิออกมา อันเดิมก็เรียกว่า ยากแล้วนะ ถ้าเราต้องหาแต่ละช่วงของอุณหภูมิอีก ก็คือ แห้งมากเลยนะ
นั่นแปลว่า เมื่อเรากำลังทำการทดสอบอยู่ เราก็จะไม่สามารถใช้งานได้เลยนะ ไม่งั้น ค่าที่เราได้ มันก็จะไม่ตรงใช่มะ ทำให้มันไม่เหมาะกับการใช้งานทั่ว ๆ ไปเท่าไหร่ บางคนเรียกมันว่ามันเป็น Offline Method
Coulomb Counting Method
วิธีแรกมันอาจจะยากไปหน่อย เพราะเราต้องวัดเพื่อตั้ง Baseline หรือ Profile ขึ้นมา และยังมีปัจจัยเยอะมาก ๆ ที่ทำให้ Voltage มันเกิดการเปลี่ยนแปลง ทำให้เราย้อนกลับไปที่เดิม จุดแรกเลยคือ การวัด SoC จริง ๆ เราต้องการวัดว่า ณ เวลา ที่เราวัด Battery เหลือความจุเท่าไหร่ ซึ่งเราใช้เป็น Ah กัน
งั้น ถ้าเราวัด A ตรง ๆ เลยละ ใช่ วัดกระแสตรง ๆ เลยละ มันจะเป็นไปได้มั้ย คำตอบคือ ใช่สิ ไม่งั้นเราจะเล่าเพื่อ... หยอก ๆ ในตัว BMS (Battery Management System) เขาจะเอาตัววัดกระแสคล่อมไว้ ทำให้เมื่อกระแสไหลผ่านมันก็จะวัดค่าเอาไว้ได้ ไม่ว่าจะเป็นการปล่อยประจุตอนที่เราเหยียบคันเร่ง หรือตอนที่เราชาร์จกลับเข้าไป
ถ้าเราเอาข้อมูลจริง ๆ มา Plot เลยละกัน เป็นกราฟที่แกน X แทนเวลา และ แกน Y แทน กระแสที่วิ่งในเวลานั้น ๆ เราก็จะได้กราฟหน้าตาประหลาด ๆ มา เพราะในความเป็นจริง เรามีการเหยียบ ๆ ไม่เท่ากันหรอก กลับไปที่ คณิตศาสตร์มัธยมปลาย ถ้าเรามีกราฟแบบนี้ เราอยากรู้ผลรวมของกระแสที่เราใช้ไป สิ่งที่เราต้องทำก็คือ การหาพื้นที่ใต้กราฟ ถ้าเรามี Function มา เราก็แค่เอามา Integral แค่นั้นจบ
แต่ในที่นี้ เราได้มาเป็น Data Point เราสามารถทำ Coulomb Counting ได้ สิ่งที่เราต้องทำคือ เข้าไปดูที่แต่ละ Data Point เอากระแส คูณด้วยเวลาที่จุดสองจุดห่างกัน แล้วบวกไปเรื่อย ๆ จนหมด ทำให้เราได้พื้นที่ใต้กราฟแบบประมาณ ๆ ได้ นั่นแปลว่า เราก็จะได้ Ah ออกมา ทำให้เราเอากลับไป หารด้วยความจุสูงสุด มาก็จบ
ในแง่ของการทำงานจริง ๆ ใช่แหละ เราก็มานั่งนับกันแหละว่า มันเท่าไหร่อะไรยังไง ทำให้ถ้าเราเข้าถึงข้อมูลของ ECU รถผ่านพวก OBD ทั้งหลาย เราจะเห็นว่ามันมี Parameter 2 ชุดที่เกี่ยวข้องคือ Accumulated charge และ Accumulated discharge ถ้าเข้าไปหามันจะอยู่ใน BMS มันคือ ความจุที่เราชาร์จเข้า อาจจะเกิดจากการชาร์จ หรือ ชาร์จเมื่อเราถอนคันเร่งทั้งหมดตั้งแต่มันบันทึกมา และ ความจุที่มันปล่อยออกไปตั้งแต่ที่มันบันทึกมา
ถ้าเรามาคิดกันจริง ๆ Accumulated charge ส่วนใหญ่แล้วจะต้องมากกว่า Accumulated discharge แน่นอน เพราะถ้ามันเท่ากันแปลว่า เราชาร์จเข้า เท่ากับ ปล่อยออกนั่นคือ แบตหมดเกี้ยงจริง ๆ แตกแน่ กลับกัน discharge มากกว่าชาร์จก็ ผีหลอกแล้ว ไม่ก็มี Error เกิดขึ้นในการวัด
ดังนั้น ถ้าเราอยากรู้ว่า เราเหลือเท่าไหร่ เราก็แค่เอาค่าจาก Accumulated charge - Accumulated discharge เราก็จะได้ความจุที่เหลืออยู่ แล้วเราก็เอาไปหารด้วย ความจุสูงสุด เราก็น่าจะได้ SoC ออกมาแล้ว
แต่ความตลกร้ายอีกก็คือในโลกแห่งความเป็นจริง เราไม่มีทางได้ค่าที่เป๊ะ ๆ ขนาดนั้น ทำให้ค่ามันก็จะเพี้ยนไปเรื่อย ๆ เลยทำให้เราอาจจะต้องใช้วิธีแรกเข้ามาช่วยด้วย เพื่อให้เอาผลมาเทียบกัน ซึ่งค่าพวกนี้ เขาก็ทดสอบมาจากโรงงานแล้ว แต่เราจะไม่ได้ใช้เป็นหลัก แต่เราจะเอามาเพื่อบอกว่า ค่าที่เราได้จาก Coulomb มันไหลพลาดไปถึงไหนแล้ว ถ้ามันมากไป ไม่แน่ใจ ก็เริ่มนับใหม่ไปเรื่อย ๆ
ในเมื่อวิธีการคำนวณแบบนี้เราไม่จำเป็นต้องปิดการใช้งาน เราสามารถใช้งานแบตได้ตามปกติเลย เราแค่นับไปเรื่อย ๆ ทำให้เราเรียกวิธีนี้ว่ามันเป็น Online Method
Battery Calibration
เราอาจจะเคยได้ยินมา ตั้งแต่พวกแบตโทรศัพท์ละว่า เราควรจะมีโอกาสที่ชาร์จแบตให้เต็ม ๆ เลย เพื่อให้มันทำการ Calibration เราจะได้ SoC ของ Battery ที่เที่ยงตรงมากขึ้น สำหรับรถ EV ก็ไม่ต่างกัน ส่วนนึงที่พูดกันเยอะ ๆ คือการทำ Cell Balancing หรือปรับแรงดันให้แต่ละ Cell ใน Battery Pack ของเรามันเท่ากันให้ได้มากที่สุด
อีกประโยชน์คือ การไป Calibrate ใน BMS อย่างที่เราเล่าเมื่อครู่ว่า BMS มันมีการเก็บข้อมูล และ อ่านข้อมูลเพื่อเอามาคำนวณ SoC อยู่ตลอดเวลา เช่นพวกความจุที่จ่าย และ ชาร์จเข้า รวมไปถึงพวก Voltage ต่าง ๆ ทั้ง Voltage ปัจจุบัน และ ค่าจากโรงงาน แต่อย่างที่เราบอกไปว่า เมื่อเวลาผ่านไป การคำนวณมันอาจจะผิด แล้วบวกทับ ๆ ลงไปเรื่อย ๆ ทำให้ความผิดพลาดมันขึ้นไปเรื่อย ๆ
หลักการในการ Calibrate ก็คือ เราจะต้องทำให้ SoC ของ Battery มันลงไปน้อยมาก ๆ เช่น 5% อะไรแถว ๆ นั้น แล้วให้มันพักสักหน่อยเพื่อให้อุณหภูมิมันลงไปอยู่ในสภาวะที่คงตัว สุดท้าย เราก็จะชาร์จกลับไปที่ 100% เหมือนเดิม แล้วพักอีกรอบ
การทำแบบนี้ ทำให้ BMS ได้เห็นว่า จุดที่มันต่ำมาก ๆ มันเป็นเท่าไหร่ และเมื่อเราชาร์จกลับขึ้นไปก็ทำให้มันเห็นจุดสูงสุดเช่นกัน ทำให้มันสามารถที่จะเริ่มนับ และ คำนวณใหม่ เพื่อให้ได้ค่าที่ใกล้เคียงความเป็นจริงได้มากขึ้น
สรุป
การวัด SoC (State of Charge) เป็นการวัดความจุที่เหลืออยู่ของ Battery เทียบกับความจุของ Battery จริง ๆ เพื่อให้เราเห็นว่า แบตเราน่าจะเหลืออีกเท่าไหร่ ซึ่งวิธีการก็อาจจะใช้การวัด Voltage ตรง ๆ เลยก็มี แต่วิธีการที่นิยมใช้กันคือ Coulomb Counting ที่จะนับ กระแสที่ไหลเข้าออก เพื่อเอามาคำนวณ SoC อีกทีนึง วิธีนี้ทำให้เราไม่ต้องมานั่งเสียเวลาสร้าง Profile เลย เราแค่ใช้งานไปเรื่อย ๆ เราก็จะสามารถคำนวณค่าออกมาได้เรื่อย ๆ แต่การคำนวณนี้มันสะสมไปเรื่อย ๆ ค่าความผิดพลาดเช่นกัน ทำให้เราอาจจะต้องมีการ Calibrate Battery เพื่อให้ค่าพวกนี้มันกลับมาตรงเหมือนเดิมนั่นเอง ในตอนหน้าเราจะไปคุยกันในเรื่องที่หลาย ๆ คนให้ความสนใจคือ SoH (State of Health) กัน



