ภาพรวมและแนะนำโปรเจค DC meter #
![](https://iotkiddie.com/blog/wp-content/uploads/2022/08/DC-Meter-50A-1024x1024.png)
ชุดวัดไฟฟ้ากระแสตรง ใช้เซนเซอร์ PZEM 017 และโมดูล Wifi ESP8266 WeMos D1 mini พร้อมอัพโหลดไว้และสามารถไปใช้งานได้บน IoTkiddie ทันที หรือถ้าเป็นนักพัฒนาสามารถไปพัฒนาต่อเพื่อใช้งานด้าน IoT ต่อได้ตามต้องการ สามารถนำไปใช้กับระบบเช่น แบตเตอร์รี่ ระบบโซลาร์เซลล์ รถไฟฟ้า และโปรเจคมากมาย
สั่งซื้อสินค้าได้ที่ #
ปัจจุบันระบบของเราจะซับพอร์ตเฉพาะอุปกรณ์ที่ซื้อจากร้านเราเท่านั้นครับ(ถ้าได้รับการตอบรับดี อนาคตผมจะเปิดให้ใช้ได้ทุกคน) ซึ่งสามารถซื้อได้ตามช่องทางด้านล่างนี้เลย
สินค้าของเราจะแบ่งเป็น 2 ชุด คือ แบบใช้ module RS485 กับแบบต่อตรงได้เลย แต่ต้องใช้เซนเซอร์ที่ดัดแปลงเท่านั้น
แบบต่อตรงได้เลย(ดัดแปลงเซนเซอร์) เหมาะกับบอร์ดกับเซนเซอร์ไม่ได้ไกลกันมาก
แบบใช้ Mudule RS485 เหมาะสำหรับที่เซนเซอร์กับบอร์ดอยู่ห่างกัน
ในชุดประกอบด้วย
- WeMos D1 mini ESP8266 ใช้งานเหมือนบอร์ด NodeMCU
- PZEM-017 ใช้งานกับไฟฟ้ากระแสตรง 0.05~300VDC และกระแสไฟฟ้า 0.02~300A (ขึ้นกับ Shunt ที่ใช้)
- Shunt มีให้เลือก 50A 100A
- Wemos OLED Shield ขนาด 0.66″
- UART TTL to RS485(MAX485) Shield (สำหรับชุดที่ไม่ได้ดัดแปลงเซนเซอร์)
- Dual Base Shield สำหรับเสียบ Wemos D1 mini และจอ OLED
- สาย micro usb สำหรับจ่ายไฟ หรือใช้อัพโหลดโค้ดได้
** ไม่มี adapter usb สำหรับจ่ายไฟให้บอร์ด สามารถใช้ adapter usb ทั่วไปได้เลย**
สามารถวัดไฟฟ้ากระแสตรงได้ตามสเปคดังนี้
Parameter | Measuring range | Resolution | Accuracy |
---|---|---|---|
Voltage | 0.05-300V (ถ้าแรงดันที่วัดน้อยกว่า 7V ต้องต่อไฟเลี้ยงให้เซนเซอร์ผ่านช่อง micro usb) | 0.01V | 1% |
Current | 0.02-300A ขึ้นกับ Shunt ที่ใช้งาน และกระแสไฟวัดไม่แยกทิศทาง(ไหลเข้าหรือออกได้ค่าเป็นบวกเสมอ) | 0.01A | 1% |
Power | 0.2-90kW | 0.1W | 1% |
Energy | 0-9999kWh | 1Wh | 1% |
เพิ่มเติม
- ค่ากระแสไฟฟ้าที่ผ่าน Shunt จะสามารถวัดได้เป็นค่าบวกเท่านั้น (ถ้ากระแสไฟไหลย้อน ค่าจะไม่ติดลบ)
- ค่า Energy หรือ ค่าหน่วยไฟฟ้า[kWh] จะถูกบันทึกเก็บไว้ในตัวเซนเซอร์ และสามารถรีเซ็ตใหม่ได้
- ระบบของเรายังใหม่ อาจจะยังมีบั๊กหรือฟังก์ชั่นยังไม่เยอะมาก ถ้าผิดพลาดประการใด ต้องขออภัยไว้ล่วงหน้านะครับผม
การต่อวงจร DC power meter #
![](https://iotkiddie.com/blog/wp-content/uploads/2022/08/schematic-1-edited.png)
![](https://iotkiddie.com/blog/wp-content/uploads/2023/05/schematic-1024x768.png)
- ห้าม! ต่อไฟฟ้าสลับขั้วเด็ดขาด อุปกรณ์จะเสียหายและร้านไม่ขอรับผิดชอบ
- ในชุดนี้ต้องการไฟเลี้ยงสำหรับ Wemos ซึ่งใช้ไฟจาก micro usb
- สำหรับชุดที่ไม่ได้ดัดแปลง เนื่องจากตัวเซนเซอร์ PZEM 017 ใช้การสื่อสารด้วย RS485 ซึ่งไม่สามารถต่อกับ Wemos ได้โดยตรง จึงต้องใช้โมดูล UART TTL to RS485(MAX485) ซึ่งทางร้านได้ทำเป็น Shield เพื่อให้สะดวกต่อการใช้งาน
- ส่วนชุดที่ดัดแปลงเซนเซอร์ จะสามารถต่อตรงกับบอร์ดได้เลย
- ระวังอันตรายจากการต่อใช้งานกับไฟฟ้า
- เซนเซอร์จะใช้ได้เมื่อต่อกับไฟที่ต้องการจะวัดแล้วเท่านั้น(ถ้าแรงดันที่วัดน้อยกว่า 7V ต้องต่อไฟเลี้ยงให้เซนเซอร์ผ่านช่อง micro usb) ถ้ายังไม่ได้ต่อจะอ่านค่าไม่ได้ เพราะไฟที่ช่อง 5v เอาไว้ต่อกับ opto เพื่อใช้สำหรับสื่อสารเท่านั้น
- จอ OLED และ Wemos D1 mini ที่เสียบกับฐาน Dual base สามารถสลับตำแหน่งได้ตามต้องการ
- ปล. ถ้าจอไม่ติด ส่วนใหญ่จะเกิดจากขา Wemos(ขายาวๆ) กับฐาน Dual base ไม่แน่น ให้ขยับใหม่ หรือย้ายตำแหน่งจอ OLED มาเสียบบน Wemos แล้วต้องกด reset ที่บอร์ด wemos ก่อน หรือถอด usb แล้วเสียบใหม่ จะจึงจะติด
การติดตั้งกับ IoTkiddie #
การใช้งานโดยย่อ #
![](https://iotkiddie.com/blog/wp-content/uploads/2022/03/infographic-iotkiddie-2.gif)
![](https://iotkiddie.com/blog/wp-content/uploads/2022/08/setting-3.png)
การใช้งานโดยละเอียด #
สามารถดูได้ที่ การตั้งค่าอุปกรณ์ครั้งแรก
การอัพโค้ดที่ใช้กับ Arduino IDE #
สำหรับนักพัฒนาสามารถนำไปลงโค้ดอื่นได้เต็มที่ ดูรายละเอียดพิ้นฐานสำหรับการใช้งานกับ Arduino IDE ได้ที่ การใช้งาน Arduino IDE กับ IoTkiddie
Library ที่ต้องติดตั้งเพิ่มเติมสำหรับโปรเจคนี้เพื่อใช้กับ UART TTL to RS485 Shield
ไปที่ Sketch > Include Library > Manage Libraries… แล้วค้นหา “ModbusMaster” by Doc walker…
![](https://iotkiddie.com/blog/wp-content/uploads/2022/08/image.png)
การอัพโค้ดใหม่ด้วย bin file #
สำหรับท่านที่เอาไปลงโค๊ดอื่นแล้ว จะกลับมาใช้โค้ดเดิม แต่ไม่อยากวุ่นวายตามวิธีด้านบน ท่านสามารถนำไฟที่ผมคอมไพล์ไว้เรียบร้อยอัพโหลดลงบอร์ดได้
โหลดไฟล์ dcmeter_xxA_iotwebconf.ino.bin จาก github แนะนำเลือกไฟล์เวอร์ชั่นล่าสุดครับ
![](https://iotkiddie.com/blog/wp-content/uploads/2022/08/image-1-1024x668.png)
อัพโหลดไฟล์ bin ไปที่บอร์ดโดยทำตาม การอัพโหลดไฟล์ binary
การอัพเดทเฟิร์มแวร์ #
อัพเดทผ่าน OTA ออนไลน์ #
อุปกรณ์ตั้งแต่เวอร์ชั่น 0.0.7 ขึ้นไป สามารถอัพเดทผ่าน OTA ได้เลย (เวอร์ชั่นต่ำกว่า 0.0.7 ลงไป แนะนำให้อัพเดทเป็นเวอร์ชั่นล่าสุดด้วยครับ ตามลิ้งนี้)
โดยไปที่หน้าอุปกรณ์ แล้วเลือกแถบ ตั้งค่าอุปกรณ์ ถ้ามีเวอร์ชั่นใหม่ ก็สามารถเลือกอัพเดทได้ทันที
![](https://iotkiddie.com/blog/wp-content/uploads/2022/08/image-2-1024x570.png)
อัพเดทเองจาก binary file (.bin) #
ตัวบอร์ดสามารถอัพเดทเฟิร์มแวร์ใหม่ได้ โดยการอัพโหลด bin file เวอร์ชั่นใหม่คล้ายกับการอัพโค้ดใหม่ด้วย bin file ที่หัวข้อด้านบน(ทำวิธีนั้นได้เหมือนกัน แต่จะต้องเสียบสาย usb ด้วย) ข้อดีคือสามารถอัพโหลดไฟล์ไร้สายโดยไม่ต้องถอดอุปกรณ์เลย สามารถดูรายละเอียดวิธีทำได้ที่ การอัพเดทเฟิร์มแวร์ไร้สายผ่าน wifi
ปล. โดยปกติการอัพเดทเฟิร์มแวร์ใหม่ จะสามารถใช้งานต่อได้เลย ไม่ต้องตั้งค่าใหม่ แต่บางครั้งอาจจะต้องตั้งค่า wifi และ user ใหม่(แต่มีโอกาสน้อยมาก) ตามหน้า การตั้งค่าอุปกรณ์ครั้งแรก
ปัญหาและคำถามที่เจอบ่อยๆ #
ใช้กับไฟอะไรได้บ้าง
ไฟกระแสตรง เช่น แบตเตอร์รี่ โซลาร์เซลล์ รถไฟฟ้า เป็นต้น
การดูว่าระบบที่จะใช้รองรับหรือไม่ ให้ดูจากแรงดันไม่เกิน 300V และ กระแสใช้งานสูงสุดไม่ควรเกินรุ่นที่เลือก (50A 100A 200A 300A)
ชุดนี้พร้อมใช้งานเลยไหม ต้องลงโค้ดอีกไหม
พร้อมใช้เลยครับ ลงโค้ดแสดงหน้าจอพร้อมเชื่อมต่อกับ IoTkiddie ได้เลย แต่ก็สามารถอัพโหลดโค้ดอื่นได้อย่างอิสระ ไม่มีการล็อคใดๆทั้งสิ้นครับ
มีชุดที่ไม่ยังไม่ลงโค้ดไหม จะเอาไปลงโค้ดเอง
ชุดนี้ผมไม่ได้บล็อคอะไรทั้งสิ้น สามารถเอาไปลงโค้ดได้อย่างอิสระ (แถมยังกลับมาลงโค้ดเดิมได้ด้วย) ราคานี้ผมไม่ได้บวกค่าโค้ดไปด้วยนะครับ(จะบอกว่าเป็นของแถมก็ได้) ถ้าไปซื้อแยกเอาเองอาจจะแพงกว่าด้วยซ้ำ (ดูซิจะมีใครใจดีเท่านี้อีก 555+)
ต่อ wifi ได้ไหม ใช้กับ wifi อะไรได้บ้าง
Wemos D1 mini ใช้ ESP8266 ใช้งานเหมือนกับบอร์ด NodeMCU
สามารถต่อwifi 2.4G ได้ครับ (802.11 b / g / n) โดยที่ชื่อไวไฟต้องไม่มีเว้นวรรค(spacebar)
แต่จะยังไม่ซับพอร์ตไวไฟที่ต้องเข้าไปล็อคอินหน้าเว็บอีกทีนะครับ (สามารถทำได้ แต่แนะนำถามแผนก IT ว่าสามารถ bypass และ static IP Address ให้ได้หรือป่าว)