Orodha ya maudhui:
- Hatua ya 1:
- Hatua ya 2: Jaribio la Pato la Ala
- Hatua ya 3: Usawazishaji
- Hatua ya 4: Kupanga Arduino
- Hatua ya 5: Picha zingine zaidi
- Hatua ya 6: Kuingia ndani
- Hatua ya 7: Picha tu
- Hatua ya 8: Maneno ya Mwisho
Video: 4-20ma Generator / Tester Kutumia Arduino: 8 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Jenereta 4-20mA zinapatikana kwenye ebay, lakini mimi kwa moja napenda sehemu ya vitu ya DIY na kutumia sehemu ambazo nimeweka karibu.
Nilitaka kujaribu pembejeo za Analog za PLC ili kudhibitisha usomaji wetu wa scada na kujaribu pato la vyombo vya 4-20mA. Kuna anuwai ya wageuzi wa sasa wa voltage na voltage kwa waongofu wa sasa wa arduino kwenye ebay, wanahitaji usawazishaji ingawa. Ninaweza kutumia hii kusawazisha yoyote ya waongofu wale wanaopatikana kwenye ebay na kama.
Niliamua kuwa nitafanya DIY jenereta na tester. Kwa wakati huu kwa wakati bado ni kazi inayoendelea na mfano.
Nilikuwa na mfumo wa sauti wa zamani wa 2.1 ambao haukutumiwa (spika ndogo). Kwa hivyo nilitumia sanduku moja la spika kama kiambata. Pia nilikuwa na kipaza sauti kilichokufa kwa sababu ya umeme, niliondoa kituo cha spika kutoka kwa kipaza sauti ili kuunganisha upepo. Nina nia ya kutengeneza PCB katika siku zijazo na kiambatisho bora.
Ugavi:
Orodha ya Sehemu.
LCD // 20x4 (badilisha nambari ikiwa yako ni ndogo)
Mdhibiti wa LM7808 // 8volt
LED // Aina yoyote au saizi
Resistor kwa LED // Inafaa kwa aina ya LED na 8volt
100 ohm resistor + 47 ohm resistor in series // Itatumika kama shunt resistor
Kinga ya 10K // Analog ya Arduino katika kinga dhidi ya voltage kubwa
Kontena la 22K // Kuacha A0 isielea
Trimpot 100 ohm + 47 ohm resistor katika mfululizo // simulator PT100
Volt capacitor 35 // nilitumia 470uF, ili tu kushuka kwa kushuka kwa usambazaji wa voltage
RTD (PT100 transducer) // Span haijalishi (masafa)
DIODE (kwa ulinzi wa polarity)
INA219
Arduino
Hatua ya 1:
Kufuatia mpango lazima uanze juu ya wapi kuongeza sehemu na kuzitia waya.
LM7808 inaruhusu kiwango cha juu cha pembejeo 25 ambazo ni sawa kwa mifumo ya PLC, kwa ujumla hutumia umeme wa 24volt. Ongeza heatsink kwa mdhibiti na usitumie kwa muda mrefu. Kuacha 16volts husababisha mdhibiti atoe joto nyingi.
Ugavi wa pembejeo unalisha mdhibiti na unaunganisha na INA219 VIN, katika usanidi huu INA219 pia itaweza kupima voltage sahihi ya usambazaji ikitoa kushuka kwa voltage kutoka diode. Unapaswa kupima kushuka kwa voltage ya diode na kuiongeza kwa nambari ili upate usomaji sahihi wa usambazaji wa voltage.
Kutoka kwa INA219 VOUT hadi RTD + inawezesha RTD. RTD- hadi ardhini inakamilisha mzunguko.
Ili kujaribu kadi ya analoji ya PLC ungeunganisha RTD- na pembejeo kwenye kadi ya analog na ardhi kutoka kwa kadi hadi arduino. (Hakikisha kukata kifaa chochote kilichoshikamana na kituo kinachojaribiwa).
R5 na LED1, ikionyesha mfumo umewezeshwa.
Mdhibiti hulisha ndani ya VIN ya arduino (arduino imejengwa kwa mdhibiti hadi 5volts).
Pini ya Arduino 5V huenda kwa INA219 kuwezesha chip kwenye bodi. INA219 GND kwa arduino ardhini.
Punguza bomba la sufuria kwa RTD PIN1 na Punguza sufuria 3 hadi RTD siri 2 itaiga unganisho la PT100. (Badili waya ikiwa kugeuza sufuria ndogo kwa saa hakuongeza mA).
Hatua ya 2: Jaribio la Pato la Ala
Ili kupima vifaa vya ziada vya vifaa vinahitajika, kama kontena la shunt. Vipinga vya kawaida vya 0.25W vitafanya kazi vizuri. Unaweza kuondoka kwa kontena la shunt na uongeze INA219 ya pili kujaribu pato la chombo. Nilibaki na moja tu kwa hivyo nilitumia kipinga badala yake.
Kujaribu kutumia shunt kunaweza kufanywa tu kwa upande hasi wa kifaa. Ikiwa unatumia upande mzuri utasambaza arduino yako kwa zaidi ya mara 4 ya voltage inayoruhusiwa na acha moshi utoke.
Ongeza kontena la shunt katika safu na waya hasi wa chombo. Upande wa shunt iliyo karibu na kifaa itakuwa mfano mzuri wa arduino. Upande wa pili wa shunt iliyo karibu na usambazaji wa umeme itakuwa ardhi ya arduino inayokamilisha mzunguko wa pembejeo ya analog.
150 ohm shunt resistor ni kiwango cha juu kabisa ambacho kinapaswa kutumiwa wakati wa kutumia arduino. Kinzani ina laini ya kushuka kwa voltage kwa mA inayopita ndani yake. Kadiri mA inavyozidi kuwa kubwa voltage.
Kwa 20mA ya sasa # 150ohm * 0.02A = 3volt kwa arduino.
Saa 4mA sasa # 150ohm * 0.004A = 0.6volt kwa arduino.
Sasa unaweza kutaka voltage iwe karibu na volts 5 ili uweze kutupatia safu kamili ya ADC ya arduino. (Sio wazo zuri).
RTD inaweza kufikia pato la 30.2mA (Mgodi hufanya). 150ohm * 0.03A = 4.8 volt. Hiyo ni karibu kama vile ningependa kuwa.
Tovuti nyingine imeonyeshwa kutumia kontena la 250ohm.
Kwa 20mA ya sasa # 250ohm * 0.02A = 5volt kwa arduino.
Kwa sasa 30mA # 250ohm * 0.03A = 7.5volt kwa arduino.
Una hatari ya kuchoma ADC yako na arduino.
Ili kujaribu chombo nje ya uwanja, chukua betri ya 12volt na wewe na uiunganishe na pembejeo la usambazaji. Kutumia chanzo cha nguvu cha nje hakitaathiri usanidi wa sasa wa PLC.
Ili kujaribu kadi ya kuingiza analog kwenye uwanja, chukua betri ya 12volt nawe. Tenganisha chombo + kutoka kwa mzunguko. Unganisha ardhi na ardhi na RTD- kwa waya ya kifaa iliyokatika.
Hatua ya 3: Usawazishaji
Ili usimamishe usomaji wako wa kipinga cha shunt, waya RTD- kwa Analog ya shunt in. Weka sufuria yako ndogo ili mA iliyotengenezwa iwe 4mA. Ikiwa kifaa chako mA si sawa basi badilisha thamani ya kwanza kwenye nambari kwenye laini ya 84. Kuongeza thamani hii kutapunguza usomaji wa mA.
Kisha weka sufuria yako ndogo ili kuzalisha 20mA. Ikiwa kifaa chako mA si sawa basi badilisha thamani ya pili kwenye nambari kwenye laini ya 84.
Kwa hivyo 4-20mA yako sasa itakuwa 0.6-3volts (kinadharia). Zaidi ya masafa ya kutosha. Kutumia maktaba kutoka eRCaGuy, kupindukia utakupa usomaji bora na thabiti.
Tunatumahi kuwa umesoma hii. Huu ndio mafunzo yangu ya kwanza, kwa hivyo tafadhali chukua ikiwa nimefanya makosa mahali fulani au nimeacha kitu nje.
Mradi huu labda sio njia bora ya kwenda juu yake, lakini inanifanyia kazi na ilikuwa ya kufurahisha kuifanya.
Mawazo mengine ninayo ya ziada…
Ongeza servo ili kuzungusha sufuria ndogo ndani ya sanduku.
Ongeza vifungo vya kushinikiza ili kuzungusha servo kushoto au kulia.
Ongeza sensorer ya joto ya dijiti kwa mdhibiti wa heatsink kuonya kwa joto hatari.
Hatua ya 4: Kupanga Arduino
# pamoja
// # pamoja na // Kutosheleza ikiwa unatumia LCD na rejista ya zamu.
# pamoja
# pamoja
# pamoja
# pamoja
// A4 = (SDA)
// A5 = (SCL)
Adafruit_INA219 ina219;
LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
// LCD ya LiquidCrystal_SR (3, 4, 2); // Uncomment ikiwa unatumia LCD na rejista ya mabadiliko.
// | | | _ Pini ya Latch
// | / _ Saa ya Saa
// / _ Takwimu / Wezesha Pin
byte bitsOfResolution = 12; // aliamuru azimio kubwa
nambari ndefu ambazo hazijasainiwaSampuliToAvg = 20; // idadi ya sampuli KATIKA UAMUZI ULIOPITILIWA ambao unataka kuchukua na wastani
ADC_prescaler_t ADCSpeed = ADC_DEFAULT;
unsigned muda mrefu uliopitaMillis = 0;
kuelea shuntvoltage = 0.0; // Kutoka INA219
kuelea busvoltage = 0.0; // Kutoka INA219
kuelea sasa_mA = 0.0; // Kutoka INA219
mzigo wa kuelea = 0.0; // Kutoka INA219
kuelea arduinovoltage = 0.0; // Hesabu ya Voltage kutoka kwa pini A0
Kusoma kwa muda mrefu A0analogReading = 0;
byte analogIn = A0;
kuelea ma_mapped = 0.0; // Voltage ya Ramani kutoka A0 hadi 4-20mA
usanidi batili () {
adc.setADCSpeed (ADCSpeed);
adc.setBitsOfResolution (bitsOfResolution);
adc.setNumSamplesToAvg (numSampuliToAvg);
uint32_t currentFrequency;
ina219. anza ();
uzani219.setCalibration_32V_30mA (); // Maktaba iliyobadilishwa kwa usahihi zaidi juu ya mA
lcd kuanza (20, 4); // kuanzisha LCD
lcd wazi ();
lcd.home (); // nenda nyumbani
lcd.print ("********************");
kuchelewa (2000);
lcd wazi ();
}
kitanzi batili ()
{
unsigned long longMillis = millis ();
muda mrefu wa const = 100;
//&&&&&&&&&&&&&&&&&
Soma vifaa vya I2C kwa vipindi na fanya mahesabu
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
ikiwa (sasaMillis - uliopitaMillis> = muda) {
previousMillis = currentMillis;
Muda ();
}
Chapisha_To_LCD (); // Labda siitaji kusasisha LCD haraka sana na inaweza kuhamishiwa chini ya muda ()
}
utupu
Muda () {
shuntvoltage = ina219.getShuntVoltage_mV ();
busvoltage = ina219. getBusVoltage_V ();
sasa_mA = ina219. pataCurrent_mA ();
mzigo wa umeme = (busvoltage + (shuntvoltage / 1000)) + 0.71; // +0.71 ni kushuka kwa voltage yangu ya diode
A0analogReading = adc.newAnalogRead (AnalogIn);
arduinovoltage = (5.0 * A0analogReading); // Imehesabiwa kwa mV
ma_mapped = ramani (arduinovoltage, 752, 8459, 30, 220) / 10.0; // Ramani haiwezi kutumia kuelea. Ongeza 0 nyuma ya thamani iliyopangwa na ugawanye na 10 kupata kusoma kwa kuelea.
// Ramani kutoka kwa hesabu ya voltage inatoa usomaji thabiti zaidi kisha kutumia usomaji wa adc mbichi.
ikiwa (shuntvoltage> = -0.10 && shuntvoltage <= -0.01) // Bila mzigo INA219 huwa inasoma chini ya -0.01, vizuri mgodi hufanya.
{
sasa_mA = 0;
umeme wa basi = 0;
mzigo wa mzigo = 0;
shuntvoltage = 0;
}
}
utupu
Chapisha_To_LCD () {
lcd.setCursor (0, 0);
ikiwa (ma_mapped <1.25) {// Bila sasa hii ni kusoma kwangu kwa mA, kwa hivyo mimi huiondoa tu.
lcd.print ("* 4-20mA Jenereta *");
}
mwingine {
lcd.print ("** Analog Tester **");
}
lcd.setCursor (0, 1);
lcd.print ("Kifaa:");
lcd.setCursor (10, 1);
ikiwa (imechorwa <1.25) {
lcd.print ("hakuna kifaa");
}
mwingine {
lcd.print (ma_mapped);
}
lcd.print ("mA");
lcd.setCursor (0, 2);
lcd.print ("Tengeneza:");
lcd.setCursor (10, 2);
lcd.print (sasa_mA);
lcd.print ("mA");
lcd.setCursor (0, 3);
lcd.print ("Ugavi:");
lcd.setCursor (10, 3);
lcd.print (mzigo wa umeme);
lcd.print ("V");
}
Hatua ya 5: Picha zingine zaidi
Kituo cha spika cha kipaza sauti. LED inayoendeshwa na jenereta ya sasa (RTD). Wiring ya kadi ya Analog itachukua nafasi ya LED.
Kituo upande wa kushoto zaidi ni kwa pembejeo za usambazaji. Vituo upande wa kulia ni vya kuingiza vifaa.
Hatua ya 6: Kuingia ndani
Kila kitu kinaonekana kutoshea. Nilitumia silicone kushikilia vitu kadhaa kwa muda. Sufuria ya trim imefunikwa kulia juu. Shimo ndogo ilitanguliwa. Ninaweza kurekebisha sasa kutoka juu ya sanduku.
Hatua ya 7: Picha tu
Hatua ya 8: Maneno ya Mwisho
Nimejaribu pato la kifaa hiki na Allan Bradley PLC. Matokeo yalikuwa mazuri sana. Nimepima anuwai kamili pia nimejaribu kifaa hiki na sensor ya shinikizo la 4-20mA ambayo imejengwa katika onyesho la LCD. Tena matokeo yalikuwa mazuri sana. Usomaji wangu ulizimwa na desimali kadhaa.
Ninaandika nambari yangu ya arduino kwenye tabo. Katika PLC wanaitwa utaratibu mdogo. Inafanya utatuaji rahisi kwa yangu.
Imeambatanishwa ni faili za maandishi za tabo hizo.
Ilipendekeza:
DIY -- Jinsi ya Kutengeneza Roboti ya Buibui Ambayo Inaweza Kudhibitiwa Kutumia Smartphone Kutumia Arduino Uno: Hatua 6
DIY || Jinsi ya kutengeneza Roboti ya Buibui ambayo inaweza Kudhibitiwa Kutumia Smartphone Kutumia Arduino Uno: Wakati wa kutengeneza roboti ya Buibui, mtu anaweza kujifunza vitu vingi juu ya roboti. Kama vile kutengeneza Roboti ni ya kuburudisha na pia ni changamoto. Katika video hii tutakuonyesha jinsi ya kutengeneza roboti ya Buibui, ambayo tunaweza kutumia kwa kutumia smartphone yetu (Androi
Jinsi ya Kutumia Arduino DDS Frequency Signal Generator AD9850: 7 Hatua
Jinsi ya Kutumia Arduino DDS Frequency Signal Generator AD9850: Katika Mafunzo haya tutajifunza jinsi ya kutengeneza Jenereta ya Ishara ya Frequency kwa kutumia moduli ya AD9850 na Arduino. Angalia Video! Kumbuka: Niliweza kupata masafa hadi + 50MHz lakini ubora wa ishara unapata mbaya zaidi na masafa ya juu
Jinsi ya Kutumia Sensore ya Unyevu wa Udongo Kutumia Arduino: Hatua 4
Jinsi ya kutumia Sensore ya Unyevu wa Udongo Kutumia Arduino: sensa ya unyevu wa mchanga ni sensa inayoweza kutumiwa kupima unyevu kwenye mchanga. Inafaa kwa kutengeneza prototypes ya miradi ya kilimo cha Smart, miradi ya wadhibiti wa Umwagiliaji, au miradi ya Kilimo ya IoT. Sensor hii ina uchunguzi 2. Ambayo hutumiwa
Jinsi ya Kutumia Sensorer ya DHT11 Kutumia Arduino: Hatua 5
Jinsi ya Kutumia Sensorer ya DHT11 Kutumia Arduino: Katika mafunzo haya tutajaribu sensorer ya DHT11 kutumia Arduino.DHT11 inaweza kutumika kupima joto na unyevu. Vipengee vinavyohitajika: Arduino NanoDHT11 Joto na Sura ya Unyevu Sura za mini za Jumper za USB zinahitajika Maktaba: Maktaba ya DHT
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino - Nrf24l01 4 Channel / 6 Kituo cha Mpokeaji wa Kituo cha Quadcopter - Helikopta ya Rc - Ndege ya Rc Kutumia Arduino: Hatua 5 (na Picha)
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino | Nrf24l01 4 Channel / 6 Channel Transmitter kipokeaji cha Quadcopter | Helikopta ya Rc | Ndege ya Rc Kutumia Arduino: Kuendesha gari la Rc | Quadcopter | Drone | Ndege ya RC | Boti ya RC, siku zote tunahitaji kipokezi na mtumaji, tuseme kwa RC QUADCOPTER tunahitaji kipitishaji na mpokeaji wa kituo 6 na aina hiyo ya TX na RX ni ya gharama kubwa sana, kwa hivyo tutafanya moja kwenye yetu