ทำโปรเจควัดกระแสไฟฟ้าด้วย Current Sensor ช่วยด้วยครับ

Started by nutgangsa, September 10, 2013, 03:57:57 PM

Previous topic - Next topic

nutgangsa

คือผมทำโปรเจควัดกระแสไฟฟ้าในบ้านที่ใช้งานไป ว่ากี่หน่วยไรแบบนี้อะคับ ผ่าน Arduino ทีนี้ผมยังมึนงงกับการต่อไอ้ตัว Current Sensor ACS712 5A ที่ซื้อมา ว่าจะไปวัดกระแสไฟอย่างไร อาจารย์ก็แนะนำว่าให้

เข้าปลั๊กตัวผู้ เมีย แล้วเอา Sensor ต่อไว้ตรงกลางผ่านสายไฟ แล้วเอาพัดลมมาเสียบ แต่ผมยังไม่มั่นใจ ว่า Sensor จะรับได้ไหม เพราะไฟบ้านมัน 220v กลัวจะโดนดูดตาย ไม่ได้เรียนมาทางด้านไฟฟ้าเลยจะมาขอคำแนะนำครับ

ขอบคุณมากๆครับ




Datasheet ครับ >> http://www.allegromicro.com/~/media/Files/Datasheets/ACS712-Datasheet.ashx

JENG

สามารถติดตาม electoday ได้ที่

Facebook
www.facebook.com/groups/coopmicro

Google+
https://plus.google.com/communities/103482067769375459277

☺☺☺ความรู้ และความฉลาด ไม่ใช่สิ่งเดียวกัน จะมีประโยชน์อะไร ถ้าฉลาดแต่อยู่ในกะลา☺☺☺



p_chusak

ลองได้เลย ต่ออนุกรากับ LOAD ไม่ต้องกลัวพัง กลังไฟดูดก็พอครับ

nutgangsa

ขอบคุณพี่ๆทุกคนที่ให้คำแนะนำครับ ค่อยสบายใจหน่อย เดียวจะจบไม่สวย 555

skytec

ต่อแบบนี้ครับ

L-------------------|sensor|----------------
                                                         |
  220V Ac                                          load
                                                         |
N-------------------------------------------
"จินตนาการสำคัญกว่าความรู้ ความรู้มีข้อจำกัด จิตนาการไร้ขอบเขต " --อัลเบิร์ต ไอสไตน์

skytec

"จินตนาการสำคัญกว่าความรู้ ความรู้มีข้อจำกัด จิตนาการไร้ขอบเขต " --อัลเบิร์ต ไอสไตน์

nutgangsa

ต่อได้แล้วคับ ตอนนี้ค่ากระแสที่วัดได้มันมีทั้ง + และ - เพราะว่าเป็นกระแสสลับ ที่นี่ผมจะเก็บค่าพลังงานไฟฟ้า(เป็นยูนิตหรือจูล) เลยยังคิดไม่ออกว่าจะเอาค่ามาคำนวนเวลาเขียนโปรแกรมยังไง

float amps = 0;
float maxAmps = 0;
float minAmps = 0;
float lastAmps = 0;
float noise = 0;

void setup() {
Serial.begin(9600);
}

void loop() {
amps = (516 - analogRead(A2)) * 27.03 / 1023;
amps = (amps + lastAmps) / 2;
lastAmps = amps;
maxAmps = max(maxAmps, amps);
minAmps = min(minAmps, amps);
noise = maxAmps - minAmps;
Serial.print(amps);
Serial.print(" ");
Serial.println(noise);
if (Serial.read() != -1) {maxAmps = amps; minAmps = amps;}
delay(100);
}

ข้างบนคือโค๊ดที่ผมศึกษาผ่านอาจารย์ยูคับ