Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Een geïsoleerde analoge ingang voor Arduino

Componenten en benodigdheden

Weerstand 100k ohm
±1% metaalfilm
× 2
Arduino UNO
× 1
Texas Instruments LM331
× 1
LM7808
× 1
weerstand 3,3k ohm
±1% metaalfilm
× 1
weerstand 270 ohm
±1% metaalfilm
× 1
weerstand 47 ohm
× 1
weerstand 12k ohm
±1% metaalfilm
× 1
weerstand 6,8k ohm
±1% metaalfilm
× 1
Weerstand 10k ohm
× 1
Weerstand 330 ohm
× 1
Weerstand 220 ohm
× 1
meervoudige precisiepotentiometer 5k ohm
× 1
condensator 100nF
Mylar-type
× 1
condensator 10 nF
Mylar-type
× 1
condensator 1 MF
Mylar-type
× 1
Condensator 100 nF
× 1
Condensator 4,7 µF
× 1
Condensator 220 µF
× 1
diode 1N4001
× 4
4N25 opto-isolator
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Arduino IDE

Over dit project

De signalen van veldsensoren kunnen worden beïnvloed door ruis die wordt gegenereerd door stroompieken, blikseminslagen of andere EMI-bronnen (elektromagnetische interferentie) en ook door aardpotentiaalverschillen. Een methode om de meeste van deze problemen te vermijden, is door een volledige isolatie van het veld te gebruiken.

Voor de isolatie van een ingangssensor is een aparte voeding nodig om het veldapparaat en het circuit dat de isolatie zelf realiseert, van stroom te voorzien.

Meer details zijn te vinden in het bericht dat op mijn blog is gepubliceerd:http://ardupiclab.blogspot.it/.

Code

  • Arduino-interface en programma
Arduino-interface en programmaArduino
Arduino kan de frequentie op twee manieren meten:
• periodemeting, met behulp van de pulsein()-functie;
• frequentiemeting, met CPU Timer/Counters, met behulp van speciale bibliotheken.
De eerste methode gebruikt tweemaal de functie pulsein() om de HOGE tijd en de LAGE tijd van het signaal te meten, met een resolutie van microseconden. De som van de twee metingen is de periode van het signaal. Voor een 5kHz signaal is de periode 200 µs =HIGH time + LOW tijd =125+75 µs. De tijdresolutie is relatief laag en de nauwkeurigheid van de meting wordt ook beïnvloed door de tijd van de programma-instructies.
Het positieve aan deze methode is de meetsnelheid die iets hoger ligt dan de gemeten periode. Nadeel is, naast de minder nauwkeurigheid, het meest gevoelig voor de ruis van het elektriciteitsnet (50 of 60Hz).
Om deze redenen geef ik de voorkeur aan een frequentiemeting ten opzichte van de periode. De meettijd is hoger, maar u krijgt een hogere precisie en nauwkeurige bemonsteringstijden. Bovendien heeft het een uitstekende ruisimmuniteit door een meetperiode te kiezen die veelvoud is van die van het elektriciteitsnet.
Ik gebruik de FreqCounter-bibliotheek van Martin Nawrath KHM LAB3:
http://interface.khm.de/wp-content/uploads/2009/01/FreqCounter_1_12.zip
Deze bibliotheek gebruikt Timer/Counter1 voor het tellen van pulsen op stijgende flank van T1/PD5/digitalPin5 en Timer/Counter2 voor de gate-time generatie met 1 ms interrupts.
Ik koos een gate-tijd gelijk aan 1000 ms om de telling over een periode van 50 of 60 netcycli te bemiddelen. In dit geval krijg je een resolutie die vijf keer groter is dan die van Arduino Uno.
#include void setup() { Serial.begin(9600); // maak verbinding met de seriële poort Serial.println ("Opto-geïsoleerde analoge ingang");} lange int frq; void loop () { FreqCounter::f_comp=0; // Stel compensatie in op 0 FreqCounter::start(1000); // Begin met tellen met een gatetime van 1000ms while (FreqCounter::f_ready ==0) // wacht tot counter ready frq=FreqCounter::f_freq; // lees resultaat Serial.println(frq); // afdrukresultaat vertraging (100);}

Schema's

De schakeling accepteert een ingangsspanning van ongeveer 20mV tot 5V of een stroomsterkte van 4 tot 20 mA (met de jumper W1 geplaatst). De twee parallel geschakelde weerstanden R2 en R3 geven een waarde van ongeveer 250 ohm, om 1V tot 5V te hebben voor een stroominvoer van 4mA tot 20mA.
Er zijn slechts drie draden en een weerstand nodig om het circuit op de Arduino Uno aan te sluiten. De uitgang van de opto-coupler moet worden aangesloten op de digitale ingang D5 met een pull-up weerstand van 2,2 k aangesloten op de +5V van Arduino.
Als een ingangsbereik van 10V vereist is, is een voeding van 15V nodig, dus je moet de 7808-regelaar vervangen door een 7815. De transformator T1 moet ook de sensor van stroom voorzien, dus deze moet voldoende spanning en vermogen hebben. De trimmer P1 moet worden afgesteld om een ​​conversiefactor van ongeveer 1 kHz/V te verkrijgen.

Productieproces

  1. Dorstalarm plantalarm
  2. DIY Eenvoudige 20 kHz Arduino-oscilloscoop op Nokia 5110 LCD
  3. Slimme jaloezieën
  4. Italiaanse Word Clock
  5. Slechts drie pinnen voor een 4x3-toetsenbord
  6. Sigfox kWh-meter
  7. Bluetooth-temperatuurmeter
  8. Gebarengestuurd slot
  9. The Companion IC
  10. USB MIDI-adapter
  11. Arduboy Clone met Arduino Nano en I2C OLED-display