autoworks24.com

ACS712-30A for Arduino เซนเซอร์วัดกระแส

ACS712-30A for Arduino เซนเซอร์วัดกระแส

ACS712-30A for Arduino เซนเซอร์วัดกระแส ทั้งดีและจำกัดในตัว หากคุณกำลังมองหาโมดูลวัดกระแสไฟฟ้าแบบง่ายๆ สำหรับโปรเจกต์ Arduino ราคาประหยัด ชื่อของ ACS712-30A คงเป็นหนึ่งในตัวเลือกแรกๆ ที่คุณจะเจอ เซนเซอร์ Hall Effect ตัวเล็กๆ นี้ได้รับความนิยมอย่างมากในวงการ DIY และโปรเจกต์ IoT เพราะความสะดวกในการใช้งานและการมีฉนวนแยกวงจร (Galvanic Isolation) ในตัว หลังจากทดลองใช้งานจริงในโปรเจกต์ต่างๆ มาสักระยะ ถึงเวลาที่เราจะมารีวิวกันแบบเจาะลึกว่า เจ้า ACS712-30A ตัวนี้ดีจริงดังคำล่ำลือหรือไม่ จุดเด่น จุดด้อย และข้อควรระวังในการใช้งานมีอะไรบ้าง ความแม่นยำและ Noise จุดอ่อนที่ต้องยอมรับ จุดที่ทำให้ ACS712 ถูกวิพากษ์วิจารณ์มากที่สุดคือเรื่องของ สัญญาณรบกวน (Noise) ค่า Output ของเซนเซอร์จะมีความผันผวนค่อนข้างสูงเมื่อเทียบกับเซนเซอร์วัดกระแสรุ่นใหม่ๆ อย่าง INA219 หรือ INA226 สำหรับ DC หากคุณต้องการวัดกระแสตรง (DC) ที่ค่อนข้างนิ่ง การอ่านค่าผ่าน Arduino โดยใช้ค่าเฉลี่ย (Average) จะช่วยให้ค่าค่อนข้างคงที่ แต่ก็ยังต้องเจอปัญหาค่า Zero-point ที่ไม่นิ่งสนิท สำหรับ AC ในทางกลับกัน สำหรับกระแสสลับ (AC) นี่คือจุดแข็งของ ACS712 หลายโปรเจกต์ใช้เจ้านี่วัดกระแสในบ้าน เพราะมันให้ผลตอบสนองที่รวดเร็ว เพียงพอสำหรับการคำนวณค่า RMS ข้อสรุปเรื่อง Noise ถ้าคุณต้องการวัดกระแส 0.1A หรือ 0.01A แบบละเอียดยิบ (เช่น วัดกระแสที่ Arduino กำลังกิน) ข้ามรุ่นนี้ไปเลย มัน Noise เยอะเกินไป แต่ถ้าคุณวัดกระแสหลัก 10A, 20A ขึ้นไป หรือวัดโหลด AC ค่า error ที่เกิดขึ้นถือว่ารับได้และคุ้มค่ากับราคา ACS712-30A for Arduino เซนเซอร์วัดกระแส

ข้อควรระวังเรื่องพิกัดกระแส 30A แต่หนอนกินบวบ

ข้อควรระวังเรื่องพิกัดกระแส 30A แต่หนอนกินบวบ นี่คือปัญหาที่เจอบ่อยมากและเป็นสิ่งที่หลายคนมักมองข้าม ACS712-30A เวอร์ชันที่เป็นโมดูลสำเร็จรูปนั้น มีข้อจำกัดที่ทาง Allegro (ผู้ผลิตชิพ) ไม่ได้เป็นคนกำหนด แต่เป็นคนจีนที่ทำโมดูลขึ้นมา ขั้วต่อ (Terminal Block) ดูที่ขั้วต่อสีเขียวบนบอร์ดสิ มันมักจะเป็นขั้วต่อพิกัดแค่ 10A หรือ 15A เท่านั้น! การจะป้อนกระแส 30A เข้าไปในขั้วต่อเล็กๆ แบบนั้น เส้นโลหะภายในแทบจะเรียกว่า ลวก ตั้งแต่ยังไม่ทันได้วัด รอยทองแดงบน PCB รอยเดินสายไฟ (Traces) บนบอร์ดที่เชื่อมต่อจากขั้วต่อไปยังชิพ ACS712 ก็มักจะเล็กมาก ไม่ได้ออกแบบมาให้รับกระแสสูงขนาดนั้น ข้อสรุปเรื่องพิกัด โมดูล ACS712-30A ที่หาซื้อทั่วไปในราคาหลักสิบ ใช้ได้จริงที่ 10A-15A อย่างสบายๆ และ 20A แบบพักๆ ถ้าอยากวัด 30A จริงๆ แนะนำให้ใช้เซนเซอร์แบบ โหลดผ่านแหวน (Split-core) หรือถ้าจำเป็นต้องใช้ ACS712 จริงๆ ให้บัดกรีลวดหนาๆ ข้ามขั้วต่อโดยตรง สเปกอย่างเป็นทางการ (ชิพ ACS712ELCTR-30A-T) ก่อนจะไปด่าโมดูลมากเกินไป เรามาดูกันว่าชิพต้นตระกูลจาก Allegro เค้าสเปคมาให้อย่างไร ช่วงวัด (Range) ±30 แอมป์ (วัดได้ทั้งไฟตรง DC และไฟสลับ AC) ความไว (Sensitivity) 66 mV/A (หมายความว่าทุกๆ 1 แอมป์ที่ไหลผ่าน ไฟ Out จะเปลี่ยนไป 0.066 โวลต์) แรงดันไฟเลี้ยง (Supply) 5V เท่านั้น! ห้ามใช้ 3.3V เด็ดขาด แรงดัน Output ตอนไม่มีโหลด (Zero Current) VCC/2 หรือประมาณ 2.5V การต่อและการเขียน Code บน Arduino การต่อใช้งานง่ายมาก VCC 5V ของ Arduino GND GND ของ Arduino OUT ต่อเข้ากับ Pin A0 (หรือ Analog ใดๆ) The Zero Offset ปัญหาเรื่องความคลาดเคลื่อน แม้ทางสเปคจะบอกว่า Zero Point คือ 2.5V แต่ในความเป็นจริงของโมดูลราคาถูก มันอาจอยู่ที่ 2.52V หรือ 2.48V ก็ได้ ความคลาดเคลื่อนเล็กน้อยนี้จะบวกเพิ่มเข้าไปในการอ่านค่าของเราตลอดเวลา

แนวทางการเขียน Code สำหรับ ACS712-30A

แนวทางการเขียน Code อ่านค่า Raw ใช้ analogRead(A0) จะได้ค่าตั้งแต่ 0-1023 (10-bit ADC) หา Zero Offset ให้รันโค้ดตอนที่ยังไม่ได้ต่อโหลด เพื่อหาค่าเฉลี่ย analogRead สัก 500 ครั้ง แล้วจำค่าไว้นี้ สูตรคำนวณ แรงดันปัจจุบัน = (ค่า Raw ที่อ่านได้ / 1024.0) * 5.0 กระแส = (แรงดันปัจจุบัน – แรงดัน Zero Offset) / 0.066 การประยุกต์ใช้ เหมาะกับโปรเจกต์อะไร เหมาะมาก ระบบโซลาร์เซลล์ (DIY) วัดกระแสจากแผงโซลาร์เซลล์หรือแบตเตอรี่ อุปกรณ์ภายในบ้าน วัดว่าพัดลมหรือหลอดไฟกินไฟเท่าไหร่ (AC) งานป้องกัน Overload ตรวจสอบว่ามอเตอร์หรือโหลดมีกระแสเกินหรือไม่ ไม่เหมาะ (ควรใช้ INA219 หรือตัวอื่น) IoT แบบแบตเตอรี่ ถ้าต้องการวัดกระแสไมโครแอมป์เพื่อคำนวณอายุแบตเตอรี่ ACS712 ทำไม่ได้เพราะ Noise เยอะเกินไป งาน High Precision (mA) ถ้าต้องการวัดความแม่นยำระดับ mA สำหรับวงจรอิเล็กทรอนิกส์ คุ้มค่ากับการซื้อไหม ACS712-30A for Arduino เป็นเซนเซอร์ที่ ถูกและดีในระดับหนึ่ง ข้อดี ราคาถูกมาก (หลักสิบ), หาซื้อง่าย, วัดได้ทั้ง DC และ AC, มีฉนวนแยกวงจร (ปลอดภัย) ข้อเสีย มี Noise สูง, ค่า Zero-point หลุดง่าย, แม่นยำน้อย, โมดูลสำเร็จรูปมักไม่ได้มาตรฐาน 30A คำตัดสิน ถ้าคุณเป็นมือใหม่ที่อยากลองเขียนโปรแกรมวัดกระแส หรือทำโปรเจกต์วัดไฟบ้าน (220V) คร่าวๆ ซื้อเลย มันใช้งานง่ายและสนุกดี แต่ถ้าคุณทำงานที่ต้องใช้ความแม่นยำสูง หรือต้องวัดกระแสน้อยกว่า 1A ขอให้ข้ามรุ่นนี้ไปแล้วมองหา INA219 หรือ INA226 แทน เพราะรุ่นใหม่ๆนี้จะทำการบ้านการคำนวณค่า Zero Drift และ Noise Reduction มาให้เรียบร้อย สำหรับ ACS712-30A มันคือ ของเล่น ที่มีประโยชน์ แต่ไม่ใช่ เครื่องมือวัด ของจริง

Arduino IDE, Arduino UNO คือ, Arduino โค้ด, Arduino โหลด, Arduino คือ, Arduino ต่อ Relay, Arduino บอร์ด, Sensor ตรวจจับวัตถุ Arduino, เขียน Arduino, เขียน Code Arduino, เซ็นเซอร์ Arduino, เซ็นเซอร์อุณหภูมิ Arduino, เรียน Arduino, โค้ด Arduino, โค้ด Arduino เซ็นเซอร์, โค้ด Arduino ง่ายๆ, โปรเจค Arduino เซ็นเซอร์อุณหภูมิ, โปรแกรม Arduino, โปรแกรม Arduino IDE, โปรแกรม Arduino UNO, ใช้ Arduino, กล้อง Arduino, ข้อมูล Arduino, ขาย Arduino, คู่มือ Arduino, ซอฟต์แวร์ Arduino, ซื้อ Arduino, ต่อ Arduino, ต่อ LCD กับ Arduino, นวัตกรรม Arduino, บอร์ด Arduino, ร้าน Arduino, ร้านขายอุปกรณ์อิเล็ค, วงจร Arduino, สอน Arduino, ออกแบบ Arduino, อุปกรณ์ Arduino, อุปกรณ์ Sensor Arduino

Human Detection

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *