SKU: 310
AC and DC ACS712ELCTR-20A 20A Range Current Sensor Module ACS712 Module FOR Arduino
Informačná stránka o senzore prúdu ACS712ELCTR-20A pre ESPHome Popis Senzor prúdu ACS712ELCTR-20A je modul, ktorý umožňuje meranie prúdu…
Popis
Informačná stránka o senzore prúdu ACS712ELCTR-20A pre ESPHome
Popis Senzor prúdu ACS712ELCTR-20A je modul, ktorý umožňuje meranie prúdu pre jednosmerné aj striedavé obvody s rozsahom 20A.
Vlastnosti
Rozsah merania: 20A
Podpora pre jednosmerné aj striedavé prúdy
Nízka hystereza a nízka hmotnosť
Snímanie prúdu bez prerušenia obvodu
Jednoduché použitie s ESPHome
ESPHome konfigurácia
esphome:
name: tanque-agua
friendly_name: tanque-agua
libraries:
- https://github.com/RobTillaart/ACS712.git
includes:
- acs712_component.h
sensor:
- platform: custom
lambda: |-auto acs712_sensor = new ACS712Sensor(); App.register_component(acs712_sensor); return {acs712_sensor->current_sensor, acs712_sensor->power_sensor}; sensors: - name: "Amperes" unit_of_measurement: A accuracy_decimals: 2 - name: "Watts" unit_of_measurement: W accuracy_decimals: 2
Príklad pre ESPHome
sensor:
- platform: custom
lambda: |-auto acs712_sensor = new ACS712Sensor(); App.register_component(acs712_sensor); return {acs712_sensor->current_sensor, acs712_sensor->power_sensor}; sensors: - name: "Amperes" unit_of_measurement: A accuracy_decimals: 2 - name: "Watts" unit_of_measurement: W accuracy_decimals: 2
Príkladový kód pre Arduino
const int analogInputPin = A0; // Analógový vstup pre senzor prúdu
float voltage = 0; // Namerané napätie
float current = 0; // Nameraný prúd
void setup() {
Serial.begin(9600); // Inicializácia komunikácie sériového portu
}
void loop() {voltage = analogRead(analogInputPin) * (5.0 / 1023.0); // Prevod hodnoty na napätie current = (voltage - 2.5) / 0.066; // Výpočet prúdu na základe nameraného napätia
Serial.print("Namerané napätie: "); Serial.print(voltage); Serial.print(" V, Nameraný prúd: "); Serial.print(current); Serial.println(" A");
delay(1000); // Oneskorovanie 1 sekundu }
https://github.com/marianomd/acs712-esphome
Použitie importovaného čipu ACS712ELCTR-20A.
Pozlátené dosky plošných spojov.
Napájanie 5v.
Rozsah merania: +/- 20A
Merateľné plus alebo mínus 20 ampérov.
Analógový výstup: 100 mV / A
Pracovný prúd: 10mA
Pracovná teplota: -40-85 ° C
Odpor vnútorného vodiča: 1,2 mΩ
Stabilné výstupné ofsetové napätie
Výstupná citlivosť: 66-185mV / A
Keď je prúd 0, výstupom je napätie v strednom bode napätia.
#include “ACS712.h”
class ACS712Sensor : public PollingComponent {public:
ACS712 *ACS = new ACS712(A0, 3.3, 1023, 66);
Sensor *current_sensor = new Sensor();
Sensor *power_sensor = new Sensor();
ACS712Sensor() : PollingComponent(15000) {}
void setup() override {
ACS->autoMidPoint();
ESP_LOGD(“acs712”, “MidPoint: %d”, ACS->getMidPoint());
ACS->setNoisemV(43);
ESP_LOGD(“acs712”, “Noise mV: %d”, ACS->getNoisemV());
}
void update() override {
float average = 0;
//uint32_t start = millis();
int count = 5;
for (int i = 0; i mA_AC();
}
float amps = average / count / 1000.0;
// float mA = ACS.mA_AC(50,10);
//uint32_t duration = millis() – start;
//ESP_LOGD(“acs712”, “Time: %d A: “, duration, amps);
current_sensor->publish_state(amps);
power_sensor->publish_state(amps * 220);
}
};