Բովանդակություն:
- Քայլ 1:
- Քայլ 2: Գործիքի ելքային փորձարկում
- Քայլ 3: Կալիբրացում
- Քայլ 4. Arduino ծրագրավորում
- Քայլ 5: Որոշ այլ լուսանկարներ
- Քայլ 6: Տեղադրումը
- Քայլ 7: Պարզապես լուսանկարներ
- Քայլ 8: Վերջնական բառեր
Video: 4-20ma գեներատոր/փորձարկիչ, օգտագործելով Arduino- ն. 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
EBay- ում առկա են 4-20mA գեներատորներ, բայց ես մեկ-մեկ սիրում եմ իրերի DIY մասը և այն մասերի օգտագործումը, որոնք տեղադրում եմ:
Ես ուզում էի ստուգել մեր PLC- ի անալոգային մուտքերը `ստուգելու մեր սկադայի ընթերցումները և փորձարկելու 4-20mA գործիքների ելքը: Ebay- ում arduino- ի համար կան հոսանքից մինչև լարման կերպափոխիչներ և հոսանքից փոխարկիչներ, դրանք, սակայն, ճշգրտման կարիք ունեն: Ես կարող եմ օգտագործել սա ՝ ebay- ում և նմանատիպ այլ կերպափոխիչներից որևէ մեկը ստուգելու համար:
Ես որոշեցի, որ ես ինքս կնստեմ գեներատոր և փորձարկիչ: Այս պահին այն դեռ ընթացքի մեջ գտնվող աշխատանք է և նախատիպ:
Ես ունեի հին 2.1 ձայնային համակարգ, որը չէր օգտագործվում (փոքր բարձրախոսներ): Այսպիսով, ես որպես պարիսպ օգտագործեցի բարձրախոսների արկղերից մեկը: Ես ունեի նաև ուժեղացուցիչ, որը մահացել էր կայծակի պատճառով, ես հեռացրել էի բարձրախոսների տերմինալն այդ ուժեղացուցիչից ՝ քամին միացնելու համար: Ես մտադիր եմ ապագայում պատրաստել PCB և ավելի լավ պարիսպ:
Պարագաներ:
Մասերի ցուցակ:
LCD // 20x4 (հարմարեցրեք ծածկագիրը, եթե ձերն ավելի փոքր է)
LM7808 // 8 վոլտ կարգավորիչ
LED // typeանկացած տեսակի կամ չափի
LED- ի դիմացկուն // Հարմար է LED տիպի և 8 վոլտի համար
100 օմ դիմադրություն + 47 օհմ դիմադրություն շարքում // Կօգտագործվի որպես շունտի դիմադրություն
10K ռեզիստոր // Arduino անալոգ `բարձր լարման պաշտպանությունից
22K դիմադրություն // A0- ի լողալը դադարեցնելու համար
Trimpot 100 ohm + 47 ohm դիմադրություն շարքում // PT100 սիմուլյատոր
35 վոլտ կոնդենսատոր // Ես օգտագործել եմ 470uF, պարզապես մատակարարման լարման տատանումները ցածր պահելու համար
RTD (PT100 փոխարկիչ) // Տևողությունը նշանակություն չունի (տիրույթ)
ԴԻՈԴ (բևեռականությունից պաշտպանվելու համար)
INA219
Արդուինո
Քայլ 1:
Սխեմատիկին հետևելը պետք է սկսի, թե որտեղ պետք է ավելացնել մասերը և լարել դրանք:
LM7808- ը թույլ է տալիս առավելագույնը 25 վոլտ մուտք, ինչը լավ է PLC համակարգերի համար, դրանք հիմնականում օգտագործում են 24 վոլտ սնուցման աղբյուրներ: Կարգավորիչին ավելացրեք տաքացուցիչ և մի օգտագործեք այն երկար ժամանակ: 16 վոլտ իջնելը հանգեցնում է նրան, որ կարգավորիչը շատ ջերմություն է արտադրում:
Մուտքային մատակարարումը սնուցում է կարգավորիչը և միանում INA219 VIN- ին, այս կոնֆիգուրացիայում INA219- ը կկարողանա նաև չափել մատակարարման ճիշտ լարումը ՝ հանած դիոդից լարման անկումը: Դուք պետք է չափեք ձեր դիոդի լարման անկումը և ավելացրեք այն ծածկագրին, որպեսզի ստանաք մատակարարման լարման ճիշտ ընթերցում:
INA219 VOUT- ից մինչև RTD+ հզորացնում է RTD- ը: RTD- գետնին ավարտում է շրջանը:
PLC անալոգային քարտը փորձարկելու համար դուք պետք է միացնեք RTD- ը անալոգային քարտի մուտքին և քարտից գետնին arduino գետնին: (Համոզվեք, որ անջատեք փորձարկվող ալիքին կցված ցանկացած գործիք):
R5 և LED1 ՝ նշելով, որ համակարգը միացված է:
Կարգավորիչը սնվում է arduino VIN- ով (arduino- ն կարգավորիչում ներկառուցված է 5 վոլտ):
Arduino 5V քորոցը գնում է INA219 ՝ բորտ չիպը սնուցելու համար: INA219 GND arduino գրունտին:
Կաթսայի մաքրիչը մաքրեք RTD PIN1- ով, իսկ զամբյուղի կապը 3 -ը RTD կապիչ 2 -ին նմանեցնելու են PT100 կապը: (Փոխեք լարերը, եթե զարդանախշը ժամացույցի սլաքի ուղղությամբ պտտելը չի մեծացնում mA- ն):
Քայլ 2: Գործիքի ելքային փորձարկում
Գործիքի ելքը փորձարկելու համար անհրաժեշտ են լրացուցիչ մասեր, ինչպես շանթի դիմադրիչը: Սովորական 0.25W ռեզիստորները լավ կաշխատեն: Դուք կարող եք թողնել շունտի դիմադրիչը և ավելացնել երկրորդ INA219 գործիքի ելքը ստուգելու համար: Ինձ մնում էր միայն մեկը, դրա փոխարեն ես դիմադրություն էի օգտագործում:
Շունտի միջոցով փորձարկումը կարող է կատարվել միայն սարքի բացասական կողմում: Եթե դուք օգտագործում եք դրական կողմը, ձեր արդուինոյին կտրամադրեք թույլատրելիից ավելի քան 4 անգամ լարում և ծուխը դուրս կթողնի:
Գործողության բացասական մետաղալարով շարքով ավելացրեք շանթի դիմադրությունը: Սարքին ամենամոտ շանթի կողմը կդառնա arduino- ի դրական անալոգը: Էներգամատակարարմանը ամենամոտ գտնվող շանթի մյուս կողմը կդառնա անալոգային մուտքային շղթան ավարտող arduino հիմքը:
150 օհմ շունտի ռեզիստորը բացարձակ առավելագույնն է, որը պետք է օգտագործել արդուինո օգտագործելիս: Ռեզիստորն ունի լարման անկման գծային գծեր, որոնք հոսում են դրա միջով: Որքան մեծ է mA- ն, այնքան մեծ է լարումը:
20 մԱ -ով ընթացիկ # 150 օհմ*0.02A = 3 վոլտ դեպի arduino:
4 մԱ -ով ընթացիկ # 150 օհմ*0.004A = 0.6 վոլտ arduino- ին:
Այժմ դուք կարող եք ցանկանալ, որ լարումը մոտ լինի 5 վոլտին, որպեսզի կարողանաք մեզ տրամադրել arduino- ի ամբողջ ADC տիրույթը: (Լավ գաղափար չէ):
RTD- ի հզորությունը կարող է հասնել 30.2mA- ի (իմն ունի): 150 օմ*0.03A = 4.8 վոլտ Դա այնքան մոտ է, որքան ես կցանկանայի լինել:
Մեկ այլ կայք նշված է, որ օգտագործում է 250 օհմ դիմադրություն:
20 մԱ -ով ընթացիկ # 250 օհմ*0.02A = 5 վոլտ դեպի arduino- ին:
30mA- ով ընթացիկ # 250ohm*0.03A = 7.5 վոլտ arduino- ին:
Դուք ռիսկի եք դիմում այրել ձեր ADC- ն և arduino- ն:
Գործիքը դաշտում փորձարկելու համար վերցրեք ձեզ հետ 12 վոլտ մարտկոց և միացրեք այն մատակարարման աղբյուրին: Արտաքին էներգիայի աղբյուրի օգտագործումը չի ազդի PLC- ի ընթացիկ կարգավորման վրա:
Անալոգային մուտքային քարտը դաշտում փորձարկելու համար ձեզ հետ վերցրեք 12 վոլտ մարտկոց: Անջատեք գործիքը + միացումից: Միացրեք գետինը գործիքի գետնին և RTD- ը `անջատված գործիքի լարին:
Քայլ 3: Կալիբրացում
Ձեր շանթային դիմադրության ընթերցումը ճշգրտելու համար RTD- ը միացրեք շունտի անալոգին: Տեղադրեք ձեր զարդանախշը այնպես, որ գեներացված mA- ն լինի 4 մԱ: Եթե ձեր սարքի mA- ն հավասար չէ, ապա փոփոխեք ծածկագրի առաջին արժեքը 84 -րդ տողում: Այս արժեքը մեծացնելը կնվազեցնի mA- ի ընթերցումը:
Այնուհետև կարգավորեք ձեր զարդարված կաթսան ՝ արտադրելու 20 մԱ: Եթե ձեր սարքի mA- ն հավասար չէ, ապա փոփոխեք ծածկագրի երկրորդ արժեքը 84 -րդ տողում:
Այսպիսով, ձեր 4-20 մԱ-ն այժմ կդառնա 0.6-3 վոլտ (տեսական): Ավելի քան բավարար տիրույթ: Օգտագործելով eRCaGuy- ի գրադարանը, գերբարձր ընտրանքը ձեզ կտա ավելի լավ և կայուն ընթերցում:
Հուսով եմ, որ դուք կարդում եք սա: Սա իմ առաջին հրահանգն է, ուստի խնդրում եմ մի՛ հանգստացեք, եթե ես ինչ -որ տեղ սխալ եմ թույլ տվել կամ ինչ -որ բան բաց եմ թողել:
Այս նախագիծը, հավանաբար, դրա իրականացման լավագույն միջոցը չէ, բայց այն աշխատում է ինձ համար և հաճելի էր դա անել:
Որոշ գաղափարներ, որոնք ես ունեմ լրացուցիչ…
Տուփի ներսում զարդանախշը պտտելու համար ավելացրեք սերվո:
Ավելացրեք սեղմման կոճակներ `սերվոն ձախ կամ աջ պտտելու համար:
Կարգավորիչի ջեռուցիչին ավելացրեք թվային ջերմաստիճանի տվիչ `վտանգավոր ջերմության զգուշացման համար:
Քայլ 4. Arduino ծրագրավորում
#ներառում
// #include // Չմեկնաբանել, եթե օգտագործում եք LCD հերթափոխի գրանցամատյանով:
#ներառում
#ներառում
#ներառում
#ներառում
// A4 = (SDA)
// A5 = (SCL)
Adafruit_INA219 ina219;
LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
// LiquidCrystal_SR lcd (3, 4, 2); // Չմեկնաբանել, եթե դուք օգտագործում եք LCD հերթափոխի գրանցամատյանով:
// | | | _ ամրացման կապում
// | / _ ockամացույցի քորոց
// / _ Տվյալներ/Միացնել PIN- ը
բայթ bitsOfResolution = 12; // պատվիրված գերբարձրացված նմուշ
անստորագիր երկար numSamplesToAvg = 20; // ofԱՄԱՆԱԿԱՎՈՐ ԲԱՆԱՁԵՎՈՎ Նմուշների թիվը, որը ցանկանում եք վերցնել և միջինացնել
ADC_prescaler_t ADCSpeed = ADC_DEFAULT;
անստորագիր երկար նախորդ Միլիս = 0;
բոց shuntvoltage = 0.0; // INA219- ից
բոց ավտոբոլտաժ = 0.0; // INA219- ից
բոց ընթացիկ_մԱ = 0.0; // INA219- ից
բոց բեռնվածության լարում = 0.0; // INA219- ից
բոց arduinovoltage = 0.0; // Լարման հաշվարկ A0 կապից
Անստորագիր երկար A0analogReading = 0;
բայթ analogIn = A0;
բոց ma_mapped = 0.0; // Քարտեզի լարումը A0- ից 4-20mA
void setup () {
adc.setADCSpeed (ADCSpeed);
adc.setBitsOfResolution (bitsOfResolution);
adc.setNumSamplesToAvg (numSamplesToAvg);
uint32_t ընթացիկՀաճախականություն;
ina219. սկսել ();
ina219.setCalibration_32V_30mA (); // Փոփոխված գրադարան mA- ի վրա ավելի ճշգրիտ լինելու համար
lcd. սկսել (20, 4); // LCD- ի նախաստորագրում
lcd. հստակ ();
lcd. տուն (); // գնա տուն
lcd.print ("*******************");
ուշացում (2000);
lcd. հստակ ();
}
դատարկ շրջան ()
{
անստորագիր երկար հոսանք Millis = millis ();
const երկար ընդմիջում = 100;
//&&&&&&&&&&&&&&&&&
Կարդացեք I2C սարքերը ընդմիջումներով և կատարեք որոշ հաշվարկներ
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
if (currentMillis - previousMillis> = ընդմիջում) {
նախորդ Միլիս = ընթացիկ Միլիս;
Ինտերվալ ();
}
Print_To_LCD (); // Ես, հավանաբար, կարիք չունեմ LCD- ն այսքան արագ թարմացնելու և կարող եմ տեղափոխվել միջակայքի ստորև ()
}
դատարկ
Ինտերվալ () {
shuntvoltage = ina219.getShuntVoltage_mV ();
busvoltage = ina219.getBusVoltage_V ();
current_mA = ina219.getCurrent_mA ();
բեռնվածության լարման = (ավտոբուսային լարում + (շունտվոլտաժ / 1000)) + 0.71; // +0.71 է իմ դիոդի լարման անկումը
A0analogReading = adc.newAnalogRead (analogIn);
arduinovoltage = (5.0 * A0 անալոգային ընթերցում); // Հաշվարկված է մ. Վ
ma_mapped = քարտեզ (arduinovoltage, 752, 8459, 30, 220) / 10.0; // Քարտեզը չի կարող օգտագործել բոցեր: Քարտեզագրված արժեքի ետևում ավելացրեք 0 և բաժանեք 10 -ի ՝ բոց ընթերցում ստանալու համար:
// Լարման հաշվարկից քարտեզագրումը տալիս է ավելի կայուն ընթերցում, քան օգտագործելով հում adc ընթերցումը:
եթե (shuntvoltage> = -0.10 && shuntvoltage <= -0.01) // Առանց բեռի INA219- ը հակված է կարդալ ստորև -0.01 -ին, իմը դա անում է:
{
ընթացիկ_մԱ = 0;
ավտոբուսային լարման = 0;
բեռնվածության լարում = 0;
shuntvoltage = 0;
}
}
դատարկ
Print_To_LCD () {
lcd.setCursor (0, 0);
if (ma_mapped <1.25) {// Առանց հոսանքի սա իմ mA ընթերցումն է, այնպես որ ես պարզապես հեռացրել եմ այն:
lcd.print (" * 4-20mA գեներատոր *");
}
ուրիշ {
lcd.print ("** Անալոգային փորձարկիչ **");
}
lcd.setCursor (0, 1);
lcd.print ("Սարքը.");
lcd.setCursor (10, 1);
եթե (ma_mapped <1.25) {
lcd.print («ոչ մի սարք»);
}
ուրիշ {
lcd.print (ma_mapped);
}
lcd.print ("mA");
lcd.setCursor (0, 2);
lcd.print ("Ստեղծել.");
lcd.setCursor (10, 2);
lcd.print (ընթացիկ_մԱ);
lcd.print ("mA");
lcd.setCursor (0, 3);
lcd.print ("Մատակարարում.");
lcd.setCursor (10, 3);
lcd.print (բեռի լարման);
lcd.print ("V");
}
Քայլ 5: Որոշ այլ լուսանկարներ
Ուժեղացուցիչ բարձրախոսների տերմինալ: LED, որը առաջնորդվում է ընթացիկ գեներատորի (RTD) կողմից: Անալոգային քարտի լարերը կփոխարինեն LED- ին:
Հեռավոր ձախ տերմինալը մատակարարման մուտքագրման համար է: Աջ կողմում գտնվող տերմինալները նախատեսված են գործիքի մուտքագրման համար:
Քայլ 6: Տեղադրումը
Կարծես ամեն ինչ տեղավորվում է: Սիլիկոն օգտագործեցի որոշ իրեր ժամանակավորապես միասին պահելու համար: Վերևի աջ կողմում զարդարված կաթսան սիլիկոնավորված է: Մի փոքր անցք նախապես փորված էր: Ես կարող եմ կարգավորել հոսանքի տուփի վերևից:
Քայլ 7: Պարզապես լուսանկարներ
Քայլ 8: Վերջնական բառեր
Ես փորձարկել եմ այս սարքի ելքը Allan Bradley PLC- ով: Արդյունքները շատ լավ էին: Ես ստացա ամբողջ տեսականին: Ես նաև փորձարկել եմ այս սարքը 4-20mA ճնշման տվիչով, որն ունի ներկառուցված LCD էկրան: Կրկին արդյունքները շատ լավ էին: Իմ ընթերցումները մի քանի տասնորդական թվով անջատվեցին:
Ես գրում եմ իմ arduino կոդը էջանիշերում: PLC- ում դրանք կոչվում են ենթակարգեր: Իմ համար հեշտացնում է վրիպազերծումը:
Կից ներկայացված են այդ ներդիրների տեքստային ֆայլերը:
Խորհուրդ ենք տալիս:
Ինչպես վերահսկել DC Gear շարժիչը `օգտագործելով 160A խոզանակով էլեկտրոնային արագության վերահսկիչ և սերվերի փորձարկիչ. 3 քայլ
Ինչպես վերահսկել DC Gear Motor- ը ՝ օգտագործելով 160A խոզանակով էլեկտրոնային արագության վերահսկիչ և սերվո փորձարկիչ. Տեխնիկական պայման. Լարման ՝ 2-3S Lipo կամ 6-9 NiMH Շարունակական հոսանք ՝ 35A Պայթյունի հոսանք ՝ 160A BEC ՝ 5V / 1A, գծային ռեժիմի ռեժիմներ ՝ 1: առաջ &հակադարձ; 2. առաջ &արգելակ; 3. առաջ & արգելակ & հակառակ քաշը ՝ 34 գ Չափը ՝ 42*28*17 մմ
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
Ինչպես կատարել AC գծի փորձարկիչ ՝ օգտագործելով 4017 IC: 8 քայլ
Ինչպես պատրաստել AC գծի փորձարկիչ `օգտագործելով 4017 IC: Hii ընկեր, այսօր ես պատրաստվում եմ կատարել AC Tester միացում` օգտագործելով 4017 IC: Այս միացումը ցույց կտա AC հոսանք ՝ առանց մետաղալարերի մակերեսին դիպչելու: Եկեք սկսենք
Ինֆրակարմիր հեռակառավարման փորձարկիչ ՝ օգտագործելով TSOP4838: 5 քայլ
Ինֆրակարմիր հեռակառավարման փորձարկիչ `օգտագործելով TSOP4838- ը. Ահա թե ինչպես կարելի է կառուցել պարզ հեռակառավարման ստուգիչ միացում: Պարզապես հետևեք ստորև բերված քայլերին և այն կհասցնեք 5 րոպեի ընթացքում: Եթե աշխատում է, ապա լայքեք մեր տեսանյութին և ասեք մեզ մեկնաբանություններում
Գեներատոր - DC գեներատոր օգտագործելով Reed Switch: 3 քայլ
Գեներատոր. փոփոխություններ