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

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

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

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




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

*

Offline JENG

  • *****
  • 808
  • รู้ทุกเรื่องเว้นเรื่องจริง
    • View Profile
ต่ออนุกรมกับ load ครับ
สามารถติดตาม electoday ได้ที่

Facebook
www.facebook.com/groups/coopmicro

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

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

Hello World

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

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

*

Offline skytec

  • *****
  • 1030
  • "จินตนาการสำคัญกว่าความรู้ " --อัลเบิรต ไอสไตน์
    • View Profile
    • R&D , Technical Consultants , Sensor Developer  , Engineering consultants
ต่อแบบนี้ครับ

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

*

Offline skytec

  • *****
  • 1030
  • "จินตนาการสำคัญกว่าความรู้ " --อัลเบิรต ไอสไตน์
    • View Profile
    • R&D , Technical Consultants , Sensor Developer  , Engineering consultants
"จินตนาการสำคัญกว่าความรู้ ความรู้มีข้อจำกัด จิตนาการไร้ขอบเขต " --อัลเบิร์ต ไอสไตน์

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

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);
}

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