Auna ƙarfin wutar lantarki ta amfani da Allegro ACS758 Sensor na ƙarfin wutar lantarki tare da LCD1602 don Arduino
Wannan aikin yana nuna yadda ake auna wutar lantarki ta amfani da na'urar Allegro ACS758 current sensor da kuma nuna sakamakon akan allo na LCD1602 da aka haɗa da Arduino. ACS758 na'ura ce mai iya auna wutar lantarki har zuwa 200 Amps, wanda ya sa ta dace da aikace-aikace da dama.
Wannan aikin yana ba da hanya mai amfani don lura da yadda wutar lantarki ke gudana a cikin da'ira, wanda ke da muhimmanci ga aikace-aikace da dama, ciki har da:
- Lura da yawan amfani da wutar lantarki a cikin na'urori
- Gina tsarin sarrafa baturi
- Ƙirƙirar mai sarrafa injin lantarki
- Ƙirƙirar tsarin tsaro na tushen wutar lantarki
Wannan jagorar za ta bi ka ta hanyar kayan aikin da ake buƙata, haɗin wayoyi, lambar, da kuma nunin aiki kai tsaye.
Ƙafafun kayan aiki
Kayan aiki/Abubuwan haɗi
Don gina wannan aikin, za ka buƙaci waɗannan abubuwan:
- Arduino Uno (ko mai jituwa)
- Allegro ACS758 Current Sensor (lambar samfurin zai ƙayyade iyakar auna wutar lantarki; tabbatar da daidaita lambar bisa ga haka. (a cikin bidiyo a 00:14 da 03:18))
- LCD1602 Display ba tare da I2C module ba, LCD yana da wayoyi 12
- Wayoyin haɗi
- Samar da wutar lantarki (5V)
- Kayan aiki (don gwada auna wutar lantarki)
Jagorar haɗin wayoyi

Haɗin wayoyi na LCD1602 an bayyana shi a cikin bidiyo na daban (a cikin bidiyo a 01:24). Muhimman haɗin wayoyi na wannan aikin sune kamar haka (a cikin bidiyo a 01:24):
- ACS758: VCC zuwa 5V, GND zuwa GND, Signal Out (waya mai rawaya) zuwa A0 akan Arduino.
- Manyan wayoyi biyu na na'urar ACS758 an haɗa su a jere tare da kayan aiki (a cikin bidiyo a 02:09).
Bayanin lambar
Lambar Arduino ta ƙunshi sassa biyu masu muhimmanci: ɗaya don sarrafa na'urar ACS758 da kuma wani don mu'amala da LCD1602. Sassan lambar da mai amfani zai iya daidaita sune:
#define VIN A0 // ayyana fil ɗin Arduino A0 a matsayin shigar wutar lantarki (V in)
const float VCC = 5.0;// wutar samarwa 5V ko 3.3V. Idan ana amfani da PCB, saita zuwa 5V kawai.
const int model = 2; // shigar da samfurin (duba ƙasa)
float cutOffLimit = 1.00;// iyakar karanta wutar lantarki. 1.00 shine 1 Amper
Maɓallin model yana buƙatar saita shi bisa ga takamaiman samfurin ACS758 da ake amfani da shi (a cikin bidiyo a 03:18). Duba bayanan lambar don taswirar lambar samfurin. Maɓallin cutOffLimit yana ƙayyade mafi ƙarancin wutar lantarki da za a nuna (a cikin bidiyo a 03:48). Daidaita wannan ƙimar don tace karatun da ba su da muhimmanci.
Aiki/Nunin kai tsaye
Bidiyon yana nuna yadda ake haɗa ammeter don auna wutar lantarki da ke gudana ta cikin kayan aiki (a cikin bidiyo a 02:18). Lambar tana nuna karatun wutar lantarki da ƙarfin lantarki akan duka LCD1602 da kuma serial monitor (a cikin bidiyo a 07:02). Nunin yana nuna yadda karatun ke canzawa kai tsaye yayin da wutar lantarki ke canzawa (a cikin bidiyo a 07:14). Ya kuma nuna cewa lokacin da wutar lantarki ta faɗi ƙasa da iyakar da aka ƙayyade, ana nuna "Babu Wutar Lantarki" (a cikin bidiyo a 07:59).
Babuka
- [00:06] Gabatarwa
- [00:34] Abubuwan da ake buƙata
- [01:24] Bayanin haɗin wayoyi
- [02:18] Nunin auna wutar lantarki
- [02:57] Bayanin lambar
- [07:02] Nunin kai tsaye
- [08:18] Ƙarshe
/*
*
* Arduino Sketch for Allegro ACS758 Current Sensor with LCD1602
* This sensor can measure current at a range of up to 200A.
* It operates with 3.3V or 5V.
* This sketch requires you to watch the following two videos before using this code:
* 1- ACS758 Sensor https://www.youtube.com/watch?v=SiHfjzcqnU4
* 2- LCD1602 Display https://www.youtube.com/watch?v=S4ya3Q7uhJs
*
*
* Written by Ahmad Shamshiri on Tuesday, June 22, 2018 at 17:57 in Ajax, Ontario, Canada
* for Robojax.com
* View the video instruction for this code at https://youtu.be/Co-DrCa2slk
* This code has been downloaded from Robojax.com
*/
#define VIN A0 // define the Arduino pin A0 as voltage input (V in)
const float VCC = 5.0;// supply voltage 5V or 3.3V. If using PCB, set to 5V only.
const int model = 2; // enter the model (see below)
float cutOffLimit = 1.00;// reading cutoff current. 1.00 is 1 Amper
/*
"ACS758LCB-050B",// for model use 0
"ACS758LCB-050U",// for model use 1
"ACS758LCB-100B",// for model use 2
"ACS758LCB-100U",// for model use 3
"ACS758KCB-150B",// for model use 4
"ACS758KCB-150U",// for model use 5
"ACS758ECB-200B",// for model use 6
"ACS758ECB-200U"// for model use 7
Sensitivity array is holding the sensitivity of the ACS758
current sensors. Do not change.
*/
float sensitivity[] ={
40.0,// for ACS758LCB-050B
60.0,// for ACS758LCB-050U
20.0,// for ACS758LCB-100B
40.0,// for ACS758LCB-100U
13.3,// for ACS758KCB-150B
16.7,// for ACS758KCB-150U
10.0,// for ACS758ECB-200B
20.0,// for ACS758ECB-200U
};
/*
* Quiescent output voltage is a factor of VCC that appears at the output
* when the current is zero.
* For bidirectional sensors it is 0.5 x VCC.
* For unidirectional sensors it is 0.12 x VCC.
* For model ACS758LCB-050B, the B at the end represents Bidirectional (polarity doesn't matter).
* For model ACS758LCB-100U, the U at the end represents Unidirectional (polarity must match).
* Do not change.
*/
float quiescent_Output_voltage [] ={
0.5,// for ACS758LCB-050B
0.12,// for ACS758LCB-050U
0.5,// for ACS758LCB-100B
0.12,// for ACS758LCB-100U
0.5,// for ACS758KCB-150B
0.12,// for ACS758KCB-150U
0.5,// for ACS758ECB-200B
0.12,// for ACS758ECB-200U
};
const float FACTOR = sensitivity[model]/1000;// set sensitivity for selected model
const float QOV = quiescent_Output_voltage [model] * VCC;// set quiescent Output voltage for selected model
float voltage;// internal variable for voltage
float cutOff = FACTOR/cutOffLimit;// convert current cut off to mV
//************ END of ACS785 Settings
//******************** Start of LCD1602
// January 21, 2018 14:25
// original source https://www.arduino.cc/en/Tutorial/HelloWorld
// include the library code:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// Robojax.com ACS758 Current Sensor with LCD1602
Serial.begin(9600);// initialize serial monitor
Serial.println("Robojax Tutorial");
Serial.println("ACS758 Current Sensor");
Serial.println("with LCD1602 display");
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.clear();
lcd.print("Robojax");
lcd.setCursor (0,1); // go to start of 2nd line
lcd.print("ACS758 Current Sensor");
delay(2000);
lcd.clear();
}
void loop() {
// Robojax.com ACS758 Current Sensor with LCD1602
float voltage_raw = (5.0 / 1023.0)* analogRead(VIN);// Read the voltage from sensor
voltage = voltage_raw - QOV + 0.007 ;// 0.007 is a value to make voltage zero when there is no current
float current = voltage / FACTOR;
if(abs(voltage) > cutOff ){
Serial.print("V: ");
Serial.print(voltage,3);// print voltage with 3 decimal places
Serial.print("V, I: ");
Serial.print(current,2); // print the current with 2 decimal places
Serial.println("A");
//start of loop Robojax code ACS758 with LCD1602 and I2C
lcd.clear();
lcd.setCursor (0,0); // set to line 1, char 0
lcd.print("Current: ");
lcd.setCursor (9,0); // go to start of 2nd line
lcd.print(current);
lcd.setCursor (15,0); // go to start of 2nd line
lcd.print("A");
lcd.setCursor (0,1);
lcd.print("Sense V: ");
lcd.setCursor (9,1); // go to start of 2nd line
lcd.print(voltage);
lcd.setCursor (15,1); // go to start of 2nd line
lcd.print("V");
//end of loopcode Robojax code ACS758 with LCD1602 and I2C
}else{
Serial.println("No Current");
lcd.clear();
lcd.setCursor (0,0);
lcd.print("No Current");
}
delay(500);
// Robojax.com ACS758 Current Sensor with LCD1602
}
Abin da zaka iya bukata
-
Amazon
-
eBay
-
AliExpressPurchase Allegro ACS758 Current Sensor from AliExpresss.click.aliexpress.com
Albarkatun da kuma shafukan da za a duba
Fayiloli📁
Sauran fayiloli
-
Alegro ACS Current LibraryArduino library for Allegro ACS current sensor modules. Provides functions to read current measurements from ACS712 and similar sensors.
robojax_Alegro_ACS_Current_library.zip0.02 MB
