Sinusukat ang kasalukuyang kasama ang Arduino

Measuring Current with the Arduino

Ang pagsukat ng kasalukuyang sa mga elektronikong circuit ay isang pangkaraniwang kinakailangan para sa mga proyekto na kinasasangkutan ng mga sensor, motor, LED, at iba pang mga sangkap. Habang ang Arduino ay hindi maaaring direktang masukat ang kasalukuyang, maaari mong gamitin ang mga panlabas na sangkap tulad ng isang kasalukuyang sensor o isang shunt risistor upang hindi direktang sukatin ito. Ang tutorial na ito ay gagabay sa iyo sa proseso ng pagsukat ng kasalukuyang may isang Arduino.


Ano ang kakailanganin mo

  1. Lupon ng Arduino (hal., uno, mega, nano)
  2. Kasalukuyang sensor (hal., ACS712, INA219) O. Shunt Resistor
  3. Mga wire ng tinapay at jumper
  4. I -load ang aparato (hal., LED, motor, o anumang sangkap na nais mong sukatin ang kasalukuyang)
  5. Power Supply (5V o 12V depende sa iyong pag -load)
  6. Isang computer na may naka -install na Arduino IDE

Paraan 1: Paggamit ng isang kasalukuyang sensor

Ang mga kasalukuyang sensor tulad ng ACS712 o INA219 ay pinasimple ang kasalukuyang pagsukat sa pamamagitan ng pagbibigay ng isang analog o digital output na proporsyonal sa kasalukuyang.

1. Gamit ang kasalukuyang sensor ng ACS712

Ang sensor ng ACS712 ay sumusukat sa parehong AC at DC kasalukuyang at output ng isang analog signal na proporsyonal sa kasalukuyang dumadaloy sa pamamagitan nito.

Diagram ng mga kable
ACS712 PIN Koneksyon
VCC Arduino 5v
Gnd Arduino Gnd
Palabas Arduino Analog Pin (hal., A0)
IP+ Positibong koneksyon sa pag -load
Ip- Negatibong koneksyon sa pag -load
Halimbawa ng code
#define sensorPin A0
const float sensitivity = 0.185; // Sensitivity for ACS712-05B (mV per A)
const int zeroPoint = 512; // Zero current output in ADC counts

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

void loop() {
  int sensorValue = analogRead(sensorPin);
  float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
  float current = (voltage - (zeroPoint / 1023.0) * 5.0) / sensitivity; // Calculate current

  Serial.print("Current: ");
  Serial.print(current, 3);
  Serial.println(" A");

  delay(1000);
}

2. Gamit ang INA219 Kasalukuyang Sensor

Ang INA219 ay isang kasalukuyang sensor ng kasalukuyang-precision na nakikipag-usap sa Arduino sa pamamagitan ng I2C, na nag-aalok ng parehong mga sukat at mga sukat ng boltahe.

Diagram ng mga kable
INA219 PIN Koneksyon
VCC Arduino 5v
Gnd Arduino Gnd
SDA Arduino SDA (hal., A4 sa UNO)
SCL Arduino SCL (hal., A5 sa UNO)
Vin+ Positibong koneksyon sa pag -load
Sa loob Negatibong koneksyon sa pag -load
Halimbawa ng code

I -install ang Adafruit INA219 Library sa pamamagitan ng Arduino Library Manager.

#include <Wire.h>
#include <Adafruit_INA219.h>

Adafruit_INA219 ina219;

void setup() {
  Serial.begin(9600);
  if (!ina219.begin()) {
    Serial.println("Failed to find INA219 chip");
    while (1);
  }
}

void loop() {
  float current_mA = ina219.getCurrent_mA();

  Serial.print("Current: ");
  Serial.print(current_mA);
  Serial.println(" mA");

  delay(1000);
}

Paraan 2: Paggamit ng isang shunt risistor

Ang isang shunt risistor ay isang mababang resistor na resistor na inilagay sa serye na may pagkarga. Sa pamamagitan ng pagsukat ng pagbagsak ng boltahe sa buong shunt risistor, maaari mong kalkulahin ang kasalukuyang gamit ang batas ng OHM:

I = v / r

Diagram ng mga kable

Sangkap Koneksyon
Shunt Resistor Sa serye na may pagkarga
Arduino analog pin Sa buong shunt risistor
Mag -load Konektado sa supply ng kuryente
Halimbawa ng code
#define shuntPin A0
const float shuntResistance = 0.1; // Resistance in ohms

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

void loop() {
  int sensorValue = analogRead(shuntPin);
  float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
  float current = voltage / shuntResistance; // Calculate current

  Serial.print("Current: ");
  Serial.print(current, 3);
  Serial.println(" A");

  delay(1000);
}

Pinakamahusay na kasanayan para sa tumpak na mga sukat

  1. Piliin ang tamang sensor: Pumili ng isang kasalukuyang sensor o shunt risistor na angkop para sa iyong inaasahang kasalukuyang saklaw.
  2. I -calibrate ang iyong pag -setup: Ayusin ang code para sa iyong tukoy na sensor o shunt risistor upang matiyak ang tumpak na pagbabasa.
  3. Paliitin ang ingay: Gumamit ng maikli, makapal na mga wire at maiwasan ang maingay na mga kapaligiran upang mabawasan ang mga error sa pagsukat.
  4. Subaybayan ang mga limitasyon ng kuryente: Tiyakin na ang sensor o shunt risistor ay maaaring hawakan ang maximum na kasalukuyang walang sobrang pag -init.

Mga aplikasyon ng kasalukuyang pagsukat

  1. Pagsubaybay sa pagkonsumo ng baterya sa mga aparato ng IoT
  2. Pagsukat ng kasalukuyang gumuhit sa mga motor
  3. Pagsubok ng mga LED at iba pang mga sangkap
  4. Pamamahala ng kapangyarihan sa mga naka -embed na system

Pag -aayos

  • Maling pagbabasa: Double-check sensor na mga kable at mga halaga ng pagkakalibrate.
  • Walang output: Tiyakin na ang pag -load ay konektado at kasalukuyang dumadaloy.
  • Mga Pagbabago ng Mga Halaga: Magdagdag ng isang kapasitor sa buong power supply ng sensor upang patatagin ang mga pagbabasa.

Konklusyon

Ang pagsukat ng kasalukuyang may isang Arduino ay prangka kapag gumagamit ng tamang mga tool tulad ng kasalukuyang mga sensor o shunt resistors. Sa pamamagitan ng pagsunod sa gabay na ito, maaari mong subaybayan ang kasalukuyang sa iyong mga circuit nang tumpak, pagpapagana ng mas mahusay na pamamahala ng kuryente at mga diagnostic ng system. Eksperimento sa iba't ibang mga sensor upang mahanap ang pinakamahusay na akma para sa iyong mga proyekto!

Mag -iwan ng komento

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.