สอบถามการใช้ Arduino วัดแรงดันไฟ AC ครับ

Started by anurak2528, September 27, 2017, 05:08:43 PM

Previous topic - Next topic

anurak2528

ตอนนี้อยาก นำเอา  Arduino  มาใช้วัดค่า แรงดันไฟบ้านครับ  เป็นแรงดัน  AC 220V Up   โดยเบื้องต้น จะให้แสดงค่าท่ี่ Serial Monitor ก่อน  ไม่ทราบสามารถใช้โมดูลตัวไหนได้บ้างครับ   คือ  จะนำไปทำโปรเจ็คตรวจจับแรงดันไฟตกครับ ว่า ใน 1 เดือน หรือ  1 ช่วงเวลาที่กำหนด  มีไฟตกไปกี่ครั้ง ครับ   รบกวนพี่ๆ หน่วยครับ

RoLRoR

ผมใช้วิธี...
1. isolate หม้อแปลงลดแรงดันลงก่อนครับ 220/2.5 ถ้าหม้อแปลงแรงดันมากไป ต่อ VR. เอา
2. ยกระดับแรงดันขึ้นให้โดยต่อหม้อแปลง sec. เข้าที่ Ref. 2.5V (ใช้ R แบ่งแรงดัน + C รักษาแรงดัน) อีกเส้นต่อเข้า analog-in ของ arduino
3. adc sampling ตลอด cycle. 2ms.
ถ้า arduino adc 10bit (ความละเอียด 0-1023) ค่าที่ได้ > 511 เก็บค่า โดย adc_value-511
ค่าที่ได้ <= 511 เก็บค่า โดย 511-adc_value แล้วเอาค่าที่ได้ตลอด 2ms. เข้าสมการ rms. และคูณปรับ จะได้ค่าเป็น Rms Volt.

อีกวิธี
1. isolate หม้อแปลงลดแรงดันเป็นลง
2. rectifier เป็น DC ใส่ C Filter , R Load
3. ต่อเข้า gnd และ analog in แล้ว arduino อ่านค่า adc
ใส่ตัวคูณเพื่อแสดงเป็น Volt ตามต้องการ

anurak2528

Quote from: RoLRoR on September 27, 2017, 05:34:09 PM
ผมใช้วิธี...
1. isolate หม้อแปลงลดแรงดันลงก่อนครับ 220/2.5 ถ้าหม้อแปลงแรงดันมากไป ต่อ VR. เอา
2. ยกระดับแรงดันขึ้นให้โดยต่อหม้อแปลง sec. เข้าที่ Ref. 2.5V (ใช้ R แบ่งแรงดัน + C รักษาแรงดัน) อีกเส้นต่อเข้า analog-in ของ arduino
3. adc sampling ตลอด cycle. 2ms.
ถ้า arduino adc 10bit (ความละเอียด 0-1023) ค่าที่ได้ > 511 เก็บค่า โดย adc_value-511
ค่าที่ได้ <= 511 เก็บค่า โดย 511-adc_value แล้วเอาค่าที่ได้ตลอด 2ms. เข้าสมการ rms. และคูณปรับ จะได้ค่าเป็น Rms Volt.

อีกวิธี
1. isolate หม้อแปลงลดแรงดันเป็นลง
2. rectifier เป็น DC ใส่ C Filter , R Load
3. ต่อเข้า gnd และ analog in แล้ว arduino อ่านค่า adc
ใส่ตัวคูณเพื่อแสดงเป็น Volt ตามต้องการ


ขอบพระคุณมากๆครับ  อ่านแล้วยัง งง ๆ อยู่  เดี่ยวขอทำความเข้าใจอีกที หากติดปัญหาตรงไหน คงต้องรบกวนสอบถามอีดครับ  :)


RoLRoR


ยกระดับแรงดัน ac. ให้มาอยู่ภานใน dc. ช่วงที่ arduino อ่านได้ (0-5v ref.2.5v) (0-3.3v ref.1.67v)


และการต่อวงจรครับ.

anurak2528

Quote from: RoLRoR on September 27, 2017, 07:30:06 PM

ยกระดับแรงดัน ac. ให้มาอยู่ภานใน dc. ช่วงที่ arduino อ่านได้ (0-5v ref.2.5v) (0-3.3v ref.1.67v)


และการต่อวงจรครับ.

ขอบคุณมากครับ   แต่ดูรูปไม่ได้อะครับ  ขึ้นคำว่า  Please Update Your Account ............. 
ครับ  ไม่ทราบต้องแก้ไข ปรับปรุงตรงไหนบ้างครับ

anurak2528

ดูแล้วสำหรับผม วิธีที่2  อีกวิธี  น่าจะง่ายกว่าครับ 
1. isolate หม้อแปลงลดแรงดันเป็นลง
2. rectifier เป็น DC ใส่ C Filter , R Load
3. ต่อเข้า gnd และ analog in แล้ว arduino อ่านค่า adc
ใส่ตัวคูณเพื่อแสดงเป็น Volt ตามต้องการ 

แต่มีข้อสงสัยครับ  คือที่ผมเข้าใจ Port  analog input ของ Arduino  จะรับค่าแรงดันที่ 0-5V  เพื่อ มาแปลงเป็นค่า 0-1023
ทีนี้ค่าแรงดันที่ต่อเข้า ขา analog in เทียบ GND จะต้องไม่เกิน  5 V  แล้วเราไปใส่ตัวคูณ เพื่อแปลงกลับเป็นไฟ AC โวลท์ สูงๆ โดยค่าที่ใส่ต้องมีทศนิยมหลายจุด เพื่อ ให้ ค่า  AC OUTPUT ที่ได้ ใกล้เคียงค่าแรงดัน  AC input ก่อนแปลงมาเป็น DC   ผมเข้าใจถูกไหมครับ     รบกวนพี่ๆ หน่อยครับ 

RoLRoR

ผมเคยใช้แค่ ปรับระดับแรงดัน ac. ให้อยู่ช่วงที่ arduino อ่านได้ แล้ว sampling ค่าเอาครับ.

เคยอ่านผ่าน เซมิฯ เหมือนจะมีโครงงาน RMS to DC โดยใช้ AD737 (ที่ es มีขาย)
มีลิ้งนี้ ใช้ OPAMP และหรือใช้ AD737 ครับ
http://sound.whsites.net/appnotes/an012.htm
http://sound.whsites.net/project140.htm