Isolierter Analogeingang für Arduino: Spannung/Strom galvanisch trennen
Komponenten und Materialien
| Bauteil | Menge | Hinweis |
|---|---|---|
| Widerstand 100kΩ | 2 | ±1% Metallfilm |
| Arduino UNO | 1 | |
| Texas Instruments LM331 (V/F-Wandler) | 1 | |
| LM7808 (8V Regler) | 1 | Für 10V Eingangsbereich: LM7815 |
| Widerstand 3,3kΩ / 270Ω / 47Ω / 12kΩ / 6,8kΩ / 10kΩ / 330Ω / 220Ω | je 1 | ±1% Metallfilm |
| Präzisions-Potentiometer 5kΩ (Mehrgang) | 1 | |
| Kondensator 100nF / 10nF / 1µF / 4,7µF / 220µF (Mylar) | je 1 | |
| Diode 1N4001 | 4 | |
| 4N25 Optokoppler | 1 |
Benötigte Werkzeuge
- Lötkolben
Apps und Online-Dienste
- Arduino IDE
Projektbeschreibung
Felddaten werden durch Netzstörungen, Blitzeinschläge, EMI oder Potentialunterschiede verfälscht. Lösung: **Vollständige galvanische Trennung** des Sensors vom Arduino. Erfordert separate Versorgung für Feldseite und Isolationsschaltung.
Details im Blog: ardupiclab.blogspot.it
Messmethoden
Arduino kann Frequenz auf zwei Arten messen:
- Periodenmessung mit
pulseIn()(HIGH+LOW Zeit). Bei 5 kHz: Periode 200µs. Nachteil: Geringe Auflösung, empfindlich gegen 50/60Hz-Netzbrummen. - Frequenzmessung via Timer/Counter (Library FreqCounter von Martin Nawrath). Nutzt Timer1 (Pin D5) zum Zählen, Timer2 für Gate-Time (1ms Interrupts). Gate-Time 1000ms = 50/60 Netzperioden → excelente Störunterdrückung, 5× höhere Auflösung als Uno-Standard.
Arduino-Code (FreqCounter)
#include <FreqCounter.h>
void setup() {
Serial.begin(9600);
Serial.println("Optoisolierter Analogeingang");
}
long int frq;
void loop() {
FreqCounter::f_comp = 0;
FreqCounter::start(1000); // Gate-Time 1000ms
while (FreqCounter::f_ready == 0); // Warten
frq = FreqCounter::f_freq; // Ergebnis lesen
Serial.println(frq); // Ausgeben
delay(100);
}
Library: FreqCounter_1_12.zip
Schaltplan & Funktionsweise
Eingang: 20mV–5V Spannung oder 4–20mA Strom (Jumper W1). R2||R3 ≈ 250Ω für 1–5V bei 4–20mA.
Anschluss an Arduino: 3 Drähte + Pull-Up 2,2kΩ an D5 (+5V Arduino). Optokoppler-Ausgang → D5.
Für 10V Eingang: LM7808 → LM7815, Trafo T1 entsprechend dimensionieren. Trimmer P1 auf ~1kHz/V einstellen.
Herstellungsprozess
- Smart Thirst Alert: DIY Pflanzen-Alarm für optimale Bewässerung
- 20-kHz-Arduino-Oszilloskop mit Nokia 5110 LCD – Einfacher DIY-Bau
- Intelligente Jalousien: Automatische Lichtsteuerung mit Arduino & Solarenergie
- Italienische Word Clock mit Arduino Nano, NeoPixel, LCD & RTC
- Arduino-Pins sparen: 4x3 Tastenfeld mit nur 3 Anschlüssen verbinden
- Zuverlässiger Sigfox-kWh-Zähler mit Arduino MKR Fox 1200
- Bluetooth-Temperaturmonitor mit Arduino Nano
- Berührungsloses Gesten-Schloss: Sicherer Zugang mit APDS-9960 & Arduino
- Arduino Nano Begleiter-Set – Essentielle Bauteile & Werkzeuge für DIY-Elektronik
- USB-MIDI-Adapter für Arduino Micro / Leonardo – Komplettes Bauteil-Kit & Code