Sadržaj:
- Korak 1:
- Korak 2: Ispit izlaza instrumenta
- Korak 3: Kalibracija
- Korak 4: Programiranje Arduina
- Korak 5: Još nekoliko fotografija
- Korak 6: Ugradnja
- Korak 7: Samo fotografije
- Korak 8: Završne riječi
Video: Generator/tester 4-20ma pomoću Arduina: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Generatori 4-20 mA dostupni su na ebayu, ali ja volim dio DIY stvari i korištenja dijelova koje imam okolo.
Htio sam testirati analogne ulaze našeg PLC-a kako bih provjerio naša očitavanja scada i testirao izlaz 4-20mA instrumenata. Postoji mnogo pretvarača struje u napon i pretvarača napona u struju za arduino na ebayu, no potrebna im je kalibracija. Ovo mogu upotrijebiti za kalibriranje bilo kojeg od onih pretvarača koji se nalaze na ebayu i sličnim.
Odlučio sam da ću sam napraviti generator i tester. U ovom trenutku to je još uvijek u tijeku i prototip.
Imao sam stari 2.1 zvučni sustav koji se nije koristio (mali zvučnici). Stoga sam jednu od zvučničkih kutija koristio kao kućište. Imao sam i pojačalo koje je umrlo od munje, uklonio sam priključak zvučnika s tog pojačala kako bih spojio povjetarac. Namjeravam u budućnosti napraviti PCB i bolje kućište.
Pribor:
Popis dijelova.
LCD // 20x4 (prilagodite kôd ako je vaš manji)
LM7808 // 8voltni regulator
LED // Bilo koje vrste ili veličine
Otpornik za LED // Pogodno za LED tip i 8 volti
100 ohmski otpornik + 47 ohmski otpornik u seriji // Koristit će se kao ranžirni otpornik
10K otpornik // Arduino analog u zaštiti od visokog napona
22K otpornik // Za zaustavljanje plutanja A0
Trimpot 100 ohm + 47 ohm otpornik u seriji // PT100 simulator
35 voltni kondenzator // Koristio sam 470uF, samo da bih smanjio fluktuacije napona
RTD (sonda PT100) // Raspon nije bitan (raspon)
DIODA (za zaštitu polariteta)
INA219
Arduino
Korak 1:
Slijedom sheme trebali biste započeti gdje ćete dodati dijelove i spojiti ih.
LM7808 dopušta maksimalno 25 volti na ulazu što je u redu za PLC sustave, općenito koriste napajanja od 24 volta. Regulatoru dodajte hladnjak i nemojte ga koristiti dulje vrijeme. Pad 16 volti uzrokuje da regulator proizvodi mnogo topline.
Ulazni izvor napaja regulator i spaja se na INA219 VIN, u ovoj konfiguraciji INA219 će također moći mjeriti ispravan opskrbni napon minus pad napona s diode. Trebali biste izmjeriti pad napona diode i dodati ga kodu kako biste dobili ispravno očitanje napona napajanja.
Od INA219 VOUT do RTD+ napaja RTD. RTD- uzemljenje dovršava krug.
Za testiranje PLC analogne kartice spojite RTD- na ulaz na analognoj kartici i uzemljenje od kartice do arduino mase. (Svakako odspojite bilo koji instrument spojen na kanal koji se testira).
R5 i LED1, sustav za označavanje je uključen.
Regulator se napaja u arduino VIN (arduino ima ugrađeni regulator na 5 volti).
Arduino 5V pin ide na INA219 za napajanje ugrađenog čipa. INA219 GND na arduino tlo.
Brisač trim lonaca na RTD PIN1, a trim pin 3 na RTD pin 2 simulirat će PT100 vezu. (Zamijenite žice ako okretanje trim lonca u smjeru kazaljke na satu ne povećava mA).
Korak 2: Ispit izlaza instrumenta
Za ispitivanje izlaza instrumenta potrebni su dodatni dijelovi, poput šanta otpornika. Normalni otpornici od 0,25 W dobro će obaviti posao. Možete ostaviti shunt otpornik i dodati drugi INA219 za testiranje izlaza instrumenta. Ostao mi je samo jedan pa sam umjesto toga upotrijebio otpornik.
Testiranje pomoću šanta može se obaviti samo na negativnoj strani uređaja. Ako koristite pozitivnu stranu, opskrbit ćete svoj arduino više od 4 puta dopuštenim naponom i pustiti dim.
Dodajte shunt otpornik u nizu s negativnom žicom instrumenta. Strana šanta najbliža uređaju postat će pozitivni analog za arduino. Druga strana šanta najbliža napajanju postat će arduino uzemljenje koje završava analogni ulazni krug.
Otpor otpornika od 150 ohma apsolutni je maksimum koji treba koristiti pri upotrebi arduina. Otpornik ima pad napona linearnog prema mA koji protiče kroz njega. Što je veći mA veći je napon.
Na 20mA struje # 150ohm*0,02A = 3volt na arduino.
Na 4mA struje # 150ohm*0,004A = 0,6 volti na arduino.
Sada biste možda htjeli da napon bude bliži 5 volti kako biste mogli koristiti cijeli ADC raspon arduina. (Nije dobra ideja).
RTD -ovi mogu doseći izlaz od 30,2 mA (moj radi). 150ohm*0,03A = 4,8 volti. To je onoliko blizu koliko bih želio biti.
Druga web stranica naznačila je da koristi otpornik od 250 ohma.
Na 20mA struje # 250ohm*0,02A = 5 volti na arduino.
Na 30mA struje # 250ohm*0,03A = 7,5 volti na arduino.
Rizikujete spaljivanje ADC -a i arduina.
Da biste testirali instrument na terenu, ponesite sa sobom 12 -voltnu bateriju i spojite je na ulaz za napajanje. Korištenje vanjskog izvora napajanja neće utjecati na trenutne postavke PLC -a.
Za testiranje analogne ulazne kartice na terenu, ponesite sa sobom bateriju od 12 volti. Odvojite instrument + od strujnog kruga. Spojite uzemljenje na masu instrumenta, a RTD- na isključenu žicu instrumenta.
Korak 3: Kalibracija
Za kalibriranje očitanja shunt otpornika, spojite RTD- na analogni ulaz za shunt. Postavite trim lonac tako da generirana mA bude 4mA. Ako mA vašeg uređaja nije jednaka, promijenite prvu vrijednost u kodu u retku 84. Povećanjem ove vrijednosti smanjit ćete očitanje mA.
Zatim podesite trim lonac da generira 20mA. Ako mA vašeg uređaja nije jednaka, promijenite drugu vrijednost u kodu u retku 84.
Tako će vaši 4-20mA sada postati 0,6-3 volti (teoretski). Domet više nego dovoljan. Koristeći biblioteku iz eRCaGuya, prekomjerno uzorkovanje pružit će vam bolje i stabilnije očitanje.
Nadam se da ste ovo pročitali. Ovo je moje prvo uputstvo, pa molim vas polako ako sam negdje pogriješio ili nešto izostavio.
Ovaj projekt vjerojatno nije najbolji način za to, ali djeluje mi i bilo mi je zabavno raditi.
Neke ideje imam dodatno …
Dodajte servo za okretanje trim lonca unutar kutije.
Dodajte tipke za okretanje servo ulijevo ili udesno.
U hladnjak regulatora dodajte digitalni osjetnik temperature kako biste upozorili na opasnu toplinu.
Korak 4: Programiranje Arduina
#uključi
// #include // Uncomment ako koristite LCD sa registrom pomaka.
#uključi
#uključi
#uključi
#uključi
// A4 = (SDA)
// A5 = (SCL)
Adafruit_INA219 ina219;
LCD tekući kristal (12, 11, 5, 4, 3, 2);
// LCD tekući kristal_SR (3, 4, 2); // Ne komentirajte ako koristite LCD sa registrom pomaka.
// | | | _ Igla zasuna
// | / _ Pin sata
// / _ Podaci/Omogući pin
bitovi bitovaOdlučivosti = 12; // naredio prekomjerno razlučivost
unsigned long numSamplesToAvg = 20; // broj uzoraka PREMA PRIMERENOJ REZOLUCIJI koji želite uzeti i prosjek
ADC_prescaler_t ADCSpeed = ADC_DEFAULT;
unsigned long previousMillis = 0;
plovak shuntvoltage = 0,0; // Iz INA219
plovni napon sabirnice = 0,0; // Iz INA219
struja plovka_mA = 0,0; // Iz INA219
napon opterećenja plovka = 0,0; // Iz INA219
arduinonapon plovka = 0,0; // Izračun napona s pina A0
Nepotpisano dugo A0analogReading = 0;
bajt analogIn = A0;
float ma_mapped = 0.0; // Mapa napona od A0 do 4-20mA
void setup () {
adc.setADCSpeed (ADCSpeed);
adc.setBitsOfResolution (bitsOfResolution);
adc.setNumSamplesToAvg (numSamplesToAvg);
uint32_t currentFrequency;
ina219.begin ();
ina219.setCalibration_32V_30mA (); // Izmijenjena knjižnica za veću preciznost na mA
lcd.begin (20, 4); // inicijalizacija LCD -a
lcd.clear ();
lcd.home (); // Idi kući
lcd.print ("********************");
odgoda (2000);
lcd.clear ();
}
void loop ()
{
bezznačna duga strujaMillis = millis ();
const dugi interval = 100;
//&&&&&&&&&&&&&&&&&
U intervalima čitajte I2C uređaje i napravite neke izračune
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
if (currentMillis - previousMillis> = interval) {
previousMillis = trenutniMillis;
Interval();
}
Ispiši_Za_LCD (); // Vjerojatno ne moram ažurirati LCD ovako brzo i mogu se premjestiti ispod Interval ()
}
poništiti
Interval () {
shuntvoltage = ina219.getShuntVoltage_mV ();
napon sabirnice = ina219.getBusVoltage_V ();
trenutna_mA = ina219.getCurrent_mA ();
napon opterećenja = (napon sabirnice + (shuntvoltage / 1000)) + 0,71; // +0,71 je moj pad napona diode
A0analogReading = adc.newAnalogRead (analogIn);
arduinovoltage = (5.0 * A0analogReading); // Izračunato na mV
ma_mapped = map (arduinovoltage, 752, 8459, 30, 220) / 10,0; // Karta ne može koristiti plovke. Dodajte 0 iza preslikane vrijednosti i podijelite s 10 da biste dobili očitavanje s plutanjem.
// Mapiranje iz proračuna napona daje stabilnije očitanje od korištenja neobrađenog očitanja ADC -a.
if (shuntvoltage> = -0.10 && shuntvoltage <= -0.01) // Bez opterećenja INA219 ima tendenciju očitavanja ispod -0.01, dobro radi moj.
{
struja_mA = 0;
napon sabirnice = 0;
napon opterećenja = 0;
napon pomaka = 0;
}
}
poništiti
Ispis_Da_LCD () {
lcd.setCursor (0, 0);
if (ma_mapped <1.25) {// Bez struje, ovo je moje očitanje mA, pa sam ga jednostavno odbacio.
lcd.print (" * 4-20mA generator *");
}
drugo {
lcd.print ("** Analogni tester **");
}
lcd.setCursor (0, 1);
lcd.print ("Uređaj:");
lcd.setCursor (10, 1);
if (preslikano <1,25) {
lcd.print ("bez uređaja");
}
drugo {
lcd.print (mapirano);
}
lcd.print ("mA");
lcd.setCursor (0, 2);
lcd.print ("Generiraj:");
lcd.setCursor (10, 2);
lcd.print (trenutna_mA);
lcd.print ("mA");
lcd.setCursor (0, 3);
lcd.print ("Opskrba:");
lcd.setCursor (10, 3);
lcd.print (napon opterećenja);
lcd.print ("V");
}
Korak 5: Još nekoliko fotografija
Terminal zvučnika pojačala. LED pogonjen generatorom struje (RTD). Ožičenje analogne kartice zamijenit će LED.
Krajnji lijevi priključak služi za ulaz napajanja. Stezaljke s desne strane služe za unos instrumenata.
Korak 6: Ugradnja
Čini se da sve pristaje. Koristio sam silikon da privremeno držim neke stvari zajedno. Trim lonac je silikoniziran u gornjem desnom kutu. Prethodno je izbušena mala rupa. Mogu podesiti struju s vrha okvira.
Korak 7: Samo fotografije
Korak 8: Završne riječi
Testirao sam izlaz ovog uređaja s PLC -om Allan Bradley. Rezultati su bili vrlo dobri. Dobio sam cijeli raspon. Također sam testirao ovaj uređaj sa senzorom tlaka 4-20mA koji ima ugrađen LCD zaslon. Opet su rezultati bili vrlo dobri. Moja su očitanja bila isključena za nekoliko decimala.
Zapisujem svoj arduino kod u kartice. U PLC -ima se zovu podprogrami. Olakšava ispravljanje pogrešaka.
U privitku se nalaze tekstualne datoteke tih kartica.
Preporučeni:
Upravljajte svjetlima kuće pomoću Google pomoćnika pomoću Arduina: 7 koraka
Upravljajte svjetlima kuće pomoću Google pomoćnika pomoću Arduina: (Ažurirano 22. kolovoza 2020 .: Ova instrukcija stara je 2 godine i oslanja se na neke aplikacije trećih strana. Svaka promjena s njihove strane može učiniti ovaj projekt neradnim. Može, ali i ne mora sada radi, ali možete ga pratiti kao referencu i mijenjati prema
Programiranje Arduina pomoću drugog Arduina za prikaz teksta koji se pomiče bez biblioteke: 5 koraka
Programiranje Arduina pomoću drugog Arduina za prikaz teksta koji se pomiče bez biblioteke: Sony Spresense ili Arduino Uno nisu toliko skupi i ne zahtijevaju puno energije. Međutim, ako vaš projekt ima ograničenje snage, prostora ili čak proračuna, razmislite o upotrebi Arduino Pro Mini. Za razliku od Arduino Pro Micro, Arduino Pro Mi
Kontrolirajte u cijelom svijetu pomoću interneta pomoću Arduina: 4 koraka
Kontrolirajte diljem svijeta pomoću Interneta koristeći Arduino: Bok, ja sam Rithik. Pomoću vašeg telefona napravit ćemo LED diodu s internetskim nadzorom. Koristit ćemo softver poput Arduino IDE -a i Blynk -a. Jednostavno je i ako uspijete, možete kontrolirati koliko god želite elektroničkih komponenti. Stvari koje nam trebaju: Hardver:
Kako napraviti bespilotnu letjelicu pomoću Arduina UNO - Napravite četverokopter pomoću mikrokontrolera: 8 koraka (sa slikama)
Kako napraviti bespilotnu letjelicu pomoću Arduina UNO | Napravite četverokopter pomoću mikrokontrolera: Uvod Posjetite moj kanal na YouTubeu Drone je vrlo skup gadget (proizvod) za kupnju. U ovom postu ću raspravljati o tome kako to učiniti jeftino ?? I kako možete sami napraviti ovakav po povoljnoj cijeni … Pa u Indiji svi materijali (motori, ESC
Generator - DC generator pomoću Reed prekidača: 3 koraka
Generator - DC generator pomoću Reed sklopke: Jednostavni DC generator Generator istosmjerne struje (DC) je električni stroj koji pretvara mehaničku energiju u istosmjernu struju. Važno: Generator istosmjerne struje (DC) može se koristiti kao istosmjerni motor bez ikakvih konstrukcija promjene