สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
ในคำแนะนำนี้ เราจะทดลองโดยเชื่อมต่อเซ็นเซอร์กระแส ACS724 กับ Arduino เพื่อทำการวัดกระแส ในกรณีนี้ เซ็นเซอร์ปัจจุบันคือช่วง +/- 5A ที่ให้เอาต์พุต 400 mv/A
Arduino Uno มี ADC 10 บิต ดังนั้นคำถามที่ดีคือ: ค่าที่อ่านได้ในปัจจุบันแม่นยำแค่ไหนและเสถียรแค่ไหน?
เราจะเริ่มต้นด้วยการเชื่อมต่อเซ็นเซอร์กับโวลต์มิเตอร์และมิเตอร์ปัจจุบัน แล้วอ่านค่าแบบอะนาล็อกเพื่อดูว่าเซ็นเซอร์ทำงานได้ดีเพียงใด จากนั้นเราจะเชื่อมต่อกับพิน Arduino ADC และดูว่ามันทำงานได้ดีเพียงใด
เสบียง
1 - Breadboard2 - อุปกรณ์จ่ายไฟแบบตั้งโต๊ะ2 - DVM's1 - เซ็นเซอร์ ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 โอห์ม, ตัวต้านทาน 10W1 - 1nF cap1 - 10nF cap1 - 0.1uF capJumpers
ขั้นตอนที่ 1:
วงจรทดสอบดังแสดงในแผนภาพ การเชื่อมต่อจากพิน Arduino 5V กับราง LM7805 +5V เป็นทางเลือก คุณอาจได้ผลลัพธ์ที่ดีขึ้นเมื่อใช้จัมเปอร์นี้ แต่ระวังเกี่ยวกับการเดินสายของคุณหากคุณใช้ เนื่องจาก Arduino เชื่อมต่อกับคอมพิวเตอร์ของคุณและแหล่งจ่ายไฟที่สองจะเกิน 5V เมื่อคุณเปิดขึ้นเพื่อเพิ่มกระแสไฟผ่านเซ็นเซอร์
หากคุณเชื่อมต่ออุปกรณ์จ่ายไฟเข้าด้วยกัน แหล่งจ่ายไฟของเซ็นเซอร์และแหล่งจ่ายไฟ Arduino จะมีจุดอ้างอิง +5V ที่เหมือนกันทุกประการ และคุณจะคาดหวังผลลัพธ์ที่สม่ำเสมอมากขึ้น
ฉันทำสิ่งนี้โดยไม่มีการเชื่อมต่อนี้ และฉันเห็นค่าการอ่านค่าปัจจุบันเป็นศูนย์ที่สูงกว่าบนเซ็นเซอร์ปัจจุบัน (2.530 V แทนที่จะเป็น 2.500 V ที่คาดไว้) และต่ำกว่าค่าที่อ่าน ADC ที่จุดปัจจุบันเป็นศูนย์ ฉันได้รับค่า ADC แบบดิจิทัลที่อ่านได้ประมาณ 507 ถึง 508 โดยไม่มีกระแสไหลผ่านเซ็นเซอร์ สำหรับ 2.500V คุณควรเห็นค่า ADC ที่อ่านได้ประมาณ 512 ฉันแก้ไขสิ่งนี้ในซอฟต์แวร์
ขั้นตอนที่ 2: ทดสอบการวัด
การวัดแบบอนาล็อกด้วยโวลต์มิเตอร์และแอมมิเตอร์ระบุว่าเซ็นเซอร์มีความแม่นยำมาก ที่กระแสทดสอบ 0.5A, 1.0A และ 1.5A มันถูกต้องตรงตามมิลลิโวลต์
การวัด ADC ด้วย Arduino นั้นแทบไม่แม่นยำเท่าที่ควร การวัดเหล่านี้ถูกจำกัดด้วยความละเอียด 10 บิตของ Arduino ADC และปัญหาด้านสัญญาณรบกวน (ดูวิดีโอ) เนื่องจากสัญญาณรบกวน การอ่านค่า ADC จึงกระโดดไปรอบ ๆ กรณีที่เลวร้ายที่สุดถึง 10 ขั้นตอนหรือมากกว่านั้นโดยไม่มีกระแสไหลผ่านเซ็นเซอร์ เมื่อพิจารณาว่าแต่ละขั้นตอนแสดงถึงประมาณ 5 mv นี่คือความผันผวนประมาณ 50 mv และด้วยเซ็นเซอร์ 400mv/amp แสดงถึงความผันผวน 50mv/400mv/amp = 125ma! วิธีเดียวที่ฉันจะได้รับการอ่านที่มีความหมายคือการอ่าน 10 ครั้งติดต่อกันแล้วจึงหาค่าเฉลี่ย
ด้วย ADC 10 บิตหรือ 1024 ระดับที่เป็นไปได้และ 5V Vcc เราสามารถแก้ไขได้ประมาณ 5/1023 ~ 5mv ต่อขั้นตอน เซ็นเซอร์ออกทำให้ 400mv/Amp อย่างดีที่สุด เรามีความละเอียด 5mv/400mv/amp ~ 12.5ma
ดังนั้นการรวมกันของความผันผวนอันเนื่องมาจากสัญญาณรบกวนและความละเอียดต่ำหมายความว่าเราไม่สามารถใช้วิธีนี้ในการวัดกระแสอย่างแม่นยำและสม่ำเสมอ โดยเฉพาะกระแสขนาดเล็ก เราสามารถใช้วิธีนี้เพื่อให้เราทราบถึงระดับปัจจุบันที่กระแสน้ำที่สูงขึ้น แต่ก็ไม่ถูกต้องเท่านั้น
ขั้นตอนที่ 3: บทสรุป
สรุป:
-ACS724 การอ่านแบบอะนาล็อกมีความแม่นยำมาก
-ACS724 ควรทำงานได้ดีกับวงจรแอนะล็อก เช่น การควบคุมกระแสไฟของแหล่งจ่ายไฟด้วยลูปป้อนกลับแบบแอนะล็อก
- มีปัญหาเรื่องสัญญาณรบกวนและความละเอียดเมื่อใช้ ACS724 กับ Arduino 10 บิต ADC
- ดีเพียงพอสำหรับการตรวจสอบกระแสเฉลี่ยสำหรับวงจรกระแสไฟที่สูงขึ้น แต่ไม่ดีพอสำหรับการควบคุมกระแสคงที่
- อาจต้องใช้ชิป ADC ภายนอก 12 บิตขึ้นไปเพื่อผลลัพธ์ที่ดีกว่า
ขั้นตอนที่ 4: รหัส Arduino
นี่คือรหัสที่ฉันใช้เพื่อวัดค่า ADC พิน Arduino A0 และรหัสเพื่อแปลงแรงดันเซ็นเซอร์เป็นกระแสและอ่านค่าเฉลี่ย 10 ค่า รหัสนี้ค่อนข้างอธิบายตนเองได้และแสดงความคิดเห็นสำหรับการแปลงและรหัสเฉลี่ย
แนะนำ:
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: 8 ขั้นตอน
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: บางครั้งฉันพูดภาษาอังกฤษได้ดีมาก บางครั้งก็ไม่มี… สิ่งแรกเลย นี่เป็นการสอนครั้งแรกของฉันและภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน ดังนั้นโปรดอย่ากดดันฉันมากเกินไป นี่จะไม่เกี่ยวกับวิธีการสร้างเฟรมที่ง่าย มันเกี่ยวกับการติดตั้ง
คอนโทรลเลอร์เกม DIY จาก Arduino - คอนโทรลเลอร์เกม Arduino PS2 - เล่น Tekken ด้วย DIY Arduino Gamepad: 7 ขั้นตอน
คอนโทรลเลอร์เกม DIY จาก Arduino | คอนโทรลเลอร์เกม Arduino PS2 | การเล่น Tekken ด้วย DIY Arduino Gamepad: สวัสดีทุกคน การเล่นเกมนั้นสนุกอยู่เสมอ แต่การเล่นด้วยตัวควบคุมเกม DIY ของคุณเองนั้นสนุกกว่า ดังนั้นเราจะสร้างคอนโทรลเลอร์เกมโดยใช้ Arduino pro micro ในคำแนะนำนี้
วิธีตั้งโปรแกรม Arduino Pro Mini ด้วย Arduino Uno: 4 ขั้นตอน
วิธีเขียนโปรแกรม Arduino Pro Mini ด้วย Arduino Uno: ฉันเขียนสิ่งนี้เป็นส่วนหนึ่งของโครงการอื่น แต่แล้วฉันก็ตัดสินใจใช้ Pro Micro ซึ่งสามารถตั้งโปรแกรมได้โดยตรงจากแล็ปท็อป อย่างไรก็ตาม นี่อาจมีประโยชน์สักวันหนึ่ง (หรือสำหรับใครบางคน) ดังนั้น ฉันจะทิ้งมันไว้ที่นี่
พูดคุย Arduino - เล่น MP3 ด้วย Arduino โดยไม่ต้องใช้โมดูลใด ๆ - การเล่นไฟล์ Mp3 จาก Arduino โดยใช้ PCM: 6 ขั้นตอน
พูดคุย Arduino | เล่น MP3 ด้วย Arduino โดยไม่ต้องใช้โมดูลใด ๆ | การเล่นไฟล์ Mp3 จาก Arduino โดยใช้ PCM: ในคำแนะนำนี้ เราจะเรียนรู้วิธีเล่นไฟล์ mp3 ด้วย Arduino โดยไม่ต้องใช้โมดูลเสียงใด ๆ ที่นี่เราจะใช้ไลบรารี PCM สำหรับ Arduino ซึ่งเล่น PCM 16 บิตที่ความถี่ 8kHZ เพื่อทำสิ่งนี้
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: 9 ขั้นตอน
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: ในรูปแรก เรามี Arduino และเรียกว่า "Arduino Uno"ในรูปที่สอง เรามี Arducam และเรียกว่า "Arducam OV2640 มินิ 2MP"พร้อมกับภาพที่สอง มีวัสดุที่คุณต้อง