Բովանդակություն:
- Քայլ 1: Ընթացիկ տրանսֆորմատորներ
- Քայլ 2: Ազդանշանի պայմանավորում
- Քայլ 3: Էներգամատակարարում
- Քայլ 4. Թվային փոխարկիչների անալոգային
- Քայլ 5: Միկրոհսկիչ
- Քայլ 6: Հավաքում
- Քայլ 7: Վերբեռնման ծածկագիր
- Քայլ 8: Կալիբրացում
- Քայլ 9: Ավարտեք
Video: AC ընթացիկ մոնիտորինգի տվյալների գրանցիչ. 9 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Ողջույն բոլորին, բարի գալուստ իմ առաջին հրահանգը: Dayերեկը ես ինժեներ -փորձարկող եմ մի ընկերության համար, որը մատակարարում է արդյունաբերական ջեռուցման սարքավորումներ, իսկ գիշերը ես տեխնոլոգիայի եռանդուն հոբբիստ եմ և DIY'er: Իմ աշխատանքի մի մասը ներառում է ջեռուցիչների կատարողականի ստուգում, այս առիթով ես ուզում էի կարողանալ 1000 ժամվա ընթացքում վերահսկել 8 սարքի RMS ընթացիկ վիճակահանությունը և մուտքագրել տվյալները `արդյունքները հետագայում գրաֆիկացնելու համար: Ես մուտք ունեմ տվյալների գրանցիչ, բայց դա արդեն նվիրված էր մեկ այլ նախագծի, և ինձ հարկավոր էր ինչ -որ ցածր գին, ուստի որոշեցի միասին հավաքել այս հիմնական տվյալների ցուցակը:
Նախագիծն օգտագործում է Arduino Uno ՝ անալոգային սենսորներ կարդալու համար անալոգային թվային փոխարկիչի (ADC) միջոցով և տվյալները գրանցում է SD քարտի ժամանակային կնիքով: Շրջանակների նախագծման մեջ շատ տեսություն և հաշվարկներ կան, ուստի բացարձակապես ամեն ինչ բացատրելու փոխարեն, ես պարզապես ցույց կտամ ձեզ, թե ինչպես դա անել: Եթե ձեզ հետաքրքրում է FULL հիթը տեսնելը, ապա ինձ տեղյակ պահեք մեկնաբանություններում, և ես լրացուցիչ կբացատրեմ:
ՆՇՈՒՄ:
Ես շատ հարցեր ունեի True RMS հաշվարկների վերաբերյալ: Այս սարքը օգտագործում է կես ալիքի ուղղիչ ՝ ալիքի գագաթը գրավելու համար, որն այնուհետև կարող է բազմապատկվել 0,707 -ով ՝ RMS ստանալու համար: Հետևաբար, դա միայն ճշգրիտ արդյունք կտա գծային բեռների դեպքում (այսինքն ՝ չափվող հոսանքը մաքուր սինուս ալիք է): Ոչ գծային մատակարարումները կամ բեռները, որոնք տալիս են եռանկյունաձև, ուղղանկյուն կամ այլ ոչ սինուսային ալիքի ձևեր, չեն տա RMS- ի իսկական հաշվարկ: Այս սարքը չափում է AC հոսանքը միայն այն նախատեսված չէ լարման չափման համար, հետևաբար այն չի հաշվարկում կամ չափում հզորության գործոնը: Խնդրում եմ, տես իմ մյուս հրահանգը, թե ինչպես ստեղծել էներգիայի գործոնի հաշվիչ, որը կարող է օգտագործվել դրա համար: Շատերը նաև ասել են, որ 2.5 Վ կենտրոնական գծի հետ ուղիղ միացումն ավելի լավ է, սակայն դա բարդություններ է առաջացնում, քանի որ ներառում է բավականաչափ արագ թվային նմուշառման արագություն, միջին միջին/տվյալների հարթեցում և այլն: հում արժեքը: Անձամբ ես նախընտրում եմ ապարատային լուծումներ և հնարավորինս պարզ կոդ, այնպես որ ինձ չի հետաքրքրում այդ մեթոդը: Accշգրտությամբ, ես հավատում եմ, որ սա շատ ավելի լավ է, քան վերջինս:
Քայլ 1: Ընթացիկ տրանսֆորմատորներ
Այս նախագիծը օգտագործում է HMCT103C 5A/5MA ընթացիկ տրանսֆորմատոր: Այն ունի 1: 1000 պտույտ հարաբերակցություն, ինչը նշանակում է հոսանքի յուրաքանչյուր 5 Ա հոսանքի համար, որը հոսում է հաղորդիչով, 5 մԱ հոսում է ՀՏ -ով: Անհրաժեշտ է մի դիմադրություն միացնել CT- ի երկու տերմինալների վրա, որպեսզի թույլ տա չափել դրա լարումը: Այս առիթով ես օգտագործեցի 220 Օմ ռեզիստոր, հետևաբար օգտագործելով Օհմի օրենքը V = IR, CT- ի ելքը կլինի 1.1 Վոլտ AC, յուրաքանչյուր 5 մԱ CT հոսանքի համար (կամ չափված հոսանքի յուրաքանչյուր 5A): ՀՏ -երը զոդման են ենթարկվել ռեզիստորով տախտակի վրա և որոշ գործիքային մետաղալարեր `թռչող տողեր պատրաստելու համար: Ես հանգույցները դադարեցրեցի 3.5 մմ արական աուդիո խցիկի խցաններով:
Ահա ընթացիկ տրանսֆորմատորի տվյալների թերթիկը
Տվյալների թերթիկ
Քայլ 2: Ազդանշանի պայմանավորում
CT- ից ազդանշանը թույլ կլինի, ուստի այն պետք է ուժեղացնել: Դրա համար ես միացրեցի մի պարզ ուժեղացուցիչի սխեմա ՝ օգտագործելով uA741 երկակի երկաթուղային օպերատոր: Այս դեպքում շահույթը սահմանվում է 150 ՝ օգտագործելով Rf / Rin բանաձևը (150k / 1k): Այնուամենայնիվ, ուժեղացուցիչից ելքային ազդանշանը դեռ AC է, op-amp- ի ելքի դիոդը կտրում է AC- ի բացասական կես ցիկլը և դրական լարումը փոխանցում 0.1uF կոնդենսատորին `ալիքը հարթեցնելու համար ալիքվող DC ազդանշանի: Ստորև բերված են հատվածը, որը կազմում է միացումը.
- V1-Այս սխեմայում սա կամայական է, այն պարզապես ներկայացնում է ազդանշանի լարումը, որը սնվում է op-amp- ի ոչ շրջադարձային մուտքի մեջ:
- R1 - Սա հայտնի է որպես հետադարձ դիմադրություն (Rf) և սահմանվում է 150k
- R2 - Սա հայտնի է որպես մուտքային դիմադրություն (Rin) և սահմանված է 1k
- 741 - Սա uA741 ինտեգրված միացումն է
- VCC - Դրական մատակարարման երկաթուղի +12V
- VEE - բացասական մատակարարման երկաթուղի -12 Վ
- D1 - Արդյո՞ք ալիքի ուղղիչ ազդանշանի դիոդն է 1N4001
- C3 - Այս կապակտորը պահում է DC ազդանշանը որոշակի ժամանակ
Նկար 2 -ում դուք կարող եք տեսնել, որ այն հավաքվել է Veroboard- ի և թիթեղյա պղնձե մետաղալարի միջոցով: PCB- ի անջատման համար 4 անցք է բացվել, որպեսզի դրանք կարողանան կուտակվել (քանի որ կան ութ ալիք, ընդհանրապես պետք է լինի ութ ուժեղացուցիչ սխեմաներ:
Քայլ 3: Էներգամատակարարում
Եթե դուք չեք ցանկանում այն զրոյից պատրաստել, ապա կարող եք գնել Չինաստանից նախապես հավաքված տախտակը, ինչպես վերևում պատկերվածը, բայց ձեզ դեռ անհրաժեշտ կլինի 3VA տրանսֆորմատորը (240V- ից մինչև 12V իջեցում): Նկարում պատկերվածն ինձ արժեցավ մոտ 2.50 ֆունտ ստերլինգ
Նախագիծը սնուցելու համար ես որոշեցի պատրաստել իմ սեփական երկակի երկաթուղային 12VDC էլեկտրամատակարարումը: Սա հարմար էր, քանի որ op -amps- ը պահանջում է +12V, 0V, -12V, իսկ Arduino Uno- ն կարող է ընդունել մինչև 14 VDC մատակարարում: Ստորև բերված են հատվածը, որը կազմում է միացումը.
- V1 - Սա ներկայացնում է 240V 50Hz հոսանքի ցանցից մատակարարումը
- T1 - Սա փոքր 3VA տրանսֆորմատոր է, որի մասին ես ստում էի: Կարևոր է, որ տրանսֆորմատորն ունենա երկրորդական հատվածի կենտրոնական ծորակ, որը միացված կլինի 0V- ին, այսինքն `գետնին
- D1- ից D4 - Սա լիարժեք ալիքային կամրջի ուղղիչ է `օգտագործելով 1N4007 դիոդներ
- C1 & C2 - 35V էլեկտրոլիտային կոնդենսատորներ 2200uF (պետք է լինի 35 Վ, քանի որ դրական և բացասական միջև ներուժը կհասնի 30 Վ)
- U2 - LM7812, 12 Վ դրական լարման կարգավորիչ է
- U3 - LM7912, 12 Վ բացասական լարման կարգավորիչ է (զգույշ եղեք նկատել 78xx և 79xx IC- ի միջև եղունգների տարբերությունները):
- C3 & C4 - 100nF Հարթեցնող կոնդենսատորներ 25V էլեկտրոլիտիկ
- C5 & C6 - 10uF կերամիկական սկավառակի կոնդենսատորներ
Ես բաղադրիչները կպցրեցի գիպսաստվարաթղթի վրա և միացա ուղղահայաց ուղիներին մերկ միաձույլ պղնձե մետաղալարով: Վերոնշյալ 3 -րդ նկարը ցույց է տալիս իմ DIY էլեկտրամատակարարումը, կներեք, որ լուսանկարում շատ թռչկոտողներ կան:
Քայլ 4. Թվային փոխարկիչների անալոգային
Arduino Uno- ն արդեն ունի ներկառուցված 10-բիթանոց ADC, սակայն կան միայն 6 անալոգային մուտքագրումներ: Հետևաբար, ես նախընտրեցի օգտագործել երկու ADC ճեղքվածք ADS1115 16-բիթանոցով: Սա թույլ է տալիս 2^15 = 32767 բիթ ներկայացնել լարման մակարդակները 0-4.096V- ից (4.096V- ը ճեղքման աշխատանքային լարումն է), սա նշանակում է, որ յուրաքանչյուր բիթ ներկայացնում է 0.000125V! Բացի այդ, քանի որ այն օգտագործում է I2C ավտոբուսը, դա նշանակում է, որ կարող է հասցեագրվել մինչև 4 ADC- ի ՝ ցանկության դեպքում թույլ տալով վերահսկել մինչև 16 ալիք:
Ես փորձել եմ պատկերել կապերը Fritzing- ի միջոցով, սակայն սահմանափակումների պատճառով ազդանշանային գեներատորը պատկերելու համար հատուկ մասեր չկան: Մանուշակագույն մետաղալարը միացված է ուժեղացուցիչի սխեմայի ելքին, իսկ կողքի սև մետաղալարը ցույց է տալիս, որ ուժեղացուցիչի բոլոր սխեմաները պետք է ունենան ընդհանուր հիմք: Այսպիսով, ես օգտագործել եմ տախտակ `պատկերելու համար, թե ինչպես եմ ես կատարել փողկապի միավորները: Այնուամենայնիվ, իմ իրական նախագծում կան վերնագրեր, որոնք նստած են իգական վերնագրերով, զոդված են Veroboard- ին, և բոլոր փողկապները ամրացված են veroboard- ի վրա:
Քայլ 5: Միկրոհսկիչ
Ինչպես նշվեց վերևում, իմ ընտրած կարգավորիչը Arduino Uno- ն էր, սա լավ ընտրություն էր, քանի որ այն ունի շատ ինքնաթիռ և ներկառուցված ֆունկցիոնալություն, որը հակառակ դեպքում անհրաժեշտ կլիներ առանձին կառուցել: Բացի այդ, այն համատեղելի է հատուկ կառուցված «վահանների» հետ: Այս առիթով ես պահանջեցի իրական ժամանակի ժամացույց `բոլոր արդյունքները ժամանակագրելու համար, և SD քարտի գրող` արդյունքները գրանցելու համար.csv կամ.txt ֆայլում: Բարեբախտաբար, Arduino- ի տվյալների գրանցման վահանը երկուսն էլ վահանի մեջ է, որը տեղավորվում է Arduino- ի օրիգինալ տախտակի վրա ՝ առանց լրացուցիչ զոդման: Վահանը համատեղելի է RTClib և SD քարտերի գրադարանների հետ, ուստի կարիք չկա որևէ մասնագիտացված ծածկագրի:
Քայլ 6: Հավաքում
Ես օգտագործել եմ 5 մմ չափսի միջին/ցածր խտության PVC (երբեմն հայտնի է որպես փրփուր) `բաղադրամասերիս մեծ մասը փչացնելու և ձեռքի դանակով այն հարմար չափի կտրելու համար: Բոլոր բաղադրիչները կառուցվել են մոդուլային ձևով նախատիպի համար, քանի որ այն թույլ է տալիս առանձին մասերի հեռացում, եթե ամեն ինչ սխալ է, սակայն դա այնքան էլ արդյունավետ կամ կոկիկ չէ, որքան փորագրված PCB- ն (հետագա աշխատանք), սա նաև նշանակում է շատ թռիչքային լարերի միջև բաղադրիչները:
Քայլ 7: Վերբեռնման ծածկագիր
Վերբեռնեք կոդը Arduino- ում կամ ստացեք կոդը իմ Github ռեպոյից
github.com/smooth-jamie/datalogger.git
Քայլ 8: Կալիբրացում
Տեսականորեն չափված հոսանքը կլինի մի քանի բաների արդյունք.
Չափված ուժեղացուցիչ = (((a *0.45)/150)/(1.1/5000))/1000, որտեղ 'a' - ը ուժեղացուցիչից ազդանշանի լարումն է
0.45-ը ուժեղացուցիչի շղթայի Vout- ի rms արժեքն է, 150-ը op-amp- ի շահույթն է (Rf / Rin = 150k / 1k), 1.1-ը CT- ի ամբողջական մասշտաբի լարման ելքն է, երբ չափված ամպեր է 5A, 5000-ը պարզապես 5A է mA, իսկ 1000 -ը տրանսֆորմատորի շրջադարձերի քանակն է: Սա կարող է պարզեցվել ՝
Չափված ուժեղացուցիչ = (b * 9.216) / 5406555 որտեղ b- ը ADC հաշվետու արժեքն է
Այս բանաձևը փորձարկվել է Arduino 10-բիթանոց ADC- ի միջոցով և բազմաչափ արժեքների և գեներացված Arduino արժեքների միջև տարբերությունը նկատվել է 11% -ով, ինչը անընդունելի շեղում է: Կալիբրացիայի իմ նախընտրած մեթոդը աղյուսակի մեջ բազմաչափի վրա ADC- ի և հոսանքի արժեքի գրանցումն է և երրորդ կարգի բազմանդամի գծագրումը: Այստեղից խորանարդ բանաձևը կարող է օգտագործվել չափված հոսանքը հաշվարկելիս ավելի լավ արդյունքներ տալու համար.
(կաց^3) + (bx^2) + (cx^1) + դ
A, b, c, d գործակիցները հաշվարկվում են Excel- ում ՝ պարզ տվյալների աղյուսակից, x- ը ձեր ADC արժեքն է:
Տվյալները ստանալու համար ես օգտագործեցի կերամիկական 1k փոփոխական ռեզիստոր (ռեոստատ) և 12 վ տրանսֆորմատոր `240 Վ -ից հոսանքի հոսանքը իջեցնելու համար, ինչը թույլ կտա ինձ ստեղծել փոփոխական ընթացիկ աղբյուր 13 մԱ -ից մինչև 100 մԱ: Որքան շատ տվյալների միավորներ հավաքվեն, այնքան ավելի լավ, այնուամենայնիվ, ես կառաջարկեի հավաքել 10 տվյալների միավոր ճշգրիտ միտում ձեռք բերելու համար: Կցված Excel ձևանմուշը ձեզ համար կհաշվարկի գործակիցները, այնուհետև դրանք պարզապես պետք է մուտքագրվեն arduino կոդի մեջ
Կոդի 69 -րդ տողում կտեսնեք, թե որտեղ պետք է մուտքագրել գործակիցները
float chn0 = ((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0.003985811 * adc0) + (0.663064521)));
որը նույնն է, ինչ Excel- ի թերթ 1 -ի բանաձևը.
y = 7E-13x3-4E-08x2 + 0.004x + 0.663
Որտեղ x = adc0 ցանկացած ալիքի, որը դուք չափաբերում եք
Քայլ 9: Ավարտեք
Տեղադրեք այն նախագծի պատյանում: Ես ավարտեցի էներգիայի մատակարարումը միացման անջատիչով, որն ամբողջը միացնելու/անջատելու է մատակարարման ժամանակ, և IEC «գործիչ 8» միակցիչ `ցանցի մուտքի համար: Պտտեք այս ամենը միասին և պատրաստ եք փորձարկել այն:
Հետագա աշխատանք
Ամբողջ նախագիծը ծաղրվեց բավականին արագ, այնպես որ բարելավման շատ տեղ կա, փորագրված միացում, ավելի լավ բաղադրիչներ: Իդեալում, ամբողջը կարող էր փորագրվել կամ զոդվել FR4- ի վրա, այլ ոչ թե թռիչքների բեռների: Ինչպես ավելի վաղ ասացի, շատ բաներ կան, որոնք ես չեմ նշել, բայց եթե կա որևէ կոնկրետ բան, որը կցանկանայիք իմանալ, ինձ տեղյակ պահեք մեկնաբանություններում, և ես կթարմացնեմ instrucable- ը:
Թարմացվել է 2016-12-18
Ես հիմա ավելացրել եմ 16x2 LCD ՝ օգտագործելով I2C «մեջքի պայուսակը» ՝ առաջին չորս ալիքները վերահսկելու համար, ևս մեկին կավելացնեմ վերջին չորսին վերահսկելու համար, երբ այն հասնի փոստի միջոցով:
Վարկեր
Այս նախագիծը հնարավոր դարձավ գրադարանների բոլոր հեղինակների կողմից, որոնք օգտագործվում էին իմ Arduino էսքիզում, ներառյալ DS3231 գրադարանը, Adafruit ADS1015 գրադարանը և Arduino SD գրադարանը
Խորհուրդ ենք տալիս:
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. Ներածություն. Բարև, սա Liono Maker- ն է, ահա YouTube- ի հղումը: Մենք ստեղծում ենք ստեղծագործական նախագիծ Arduino- ի հետ և աշխատում ներկառուցված համակարգերի վրա: Data-Logger: Տվյալների գրանցիչ (նաև տվյալների գրանցիչ կամ տվյալների գրանցիչ) էլեկտրոնային սարք է, որը ժամանակի ընթացքում գրանցում է տվյալները
OpenLogger: Բարձրորակ, Wi-Fi- ով միացված, բաց կոդով, շարժական տվյալների գրանցիչ ՝ 7 քայլ
OpenLogger: Բարձրորակ, Wi-Fi- ով միացված, բաց կոդով, դյուրակիր տվյալների գրանցիչ. OpenLogger- ը դյուրակիր, բաց կոդով, էժան, բարձրորակ տվյալների անտառահատ է, որը նախատեսված է ապահովելու բարձրորակ չափումներ ՝ առանց թանկարժեք ծրագրակազմ կամ գրելու ծրագրակազմ զրոյից. Եթե դուք ինժեներ եք, գիտնական կամ էնտուզիաստ, ով
Բաց կոդով տվյալների գրանցիչ (OPENSDL) ՝ 5 քայլ (նկարներով)
Բաց կոդով տվյալների անտառահատ (OPENSDL). Այս նախագծի նպատակն է նախագծել, կառուցել և փորձարկել շենքերի գործունեության գնահատման ցածր ծախսերի չափման համակարգ, որը ներառում է առնվազն ջերմաստիճան, հարաբերական խոնավություն, լուսավորություն և ընդարձակելի լրացուցիչ սենսորների համար, և զարգացնել
Duերմաստիճանի և խոնավության տվյալների գրանցիչ Arduino- ից մինչև Android հեռախոս ՝ SD քարտի մոդուլով Bluetooth- ի միջոցով. 5 քայլ
Peratերմաստիճանի և խոնավության տվյալների գրանցիչ Arduino- ից մինչև Android հեռախոս ՝ SD քարտի մոդուլով Bluetooth- ի միջոցով. Հաճախ մենք մեր նախագծերում օգտագործում ենք սենսորներ, բայց գտնում ենք տվյալներ հավաքելու, պահելու և անմիջապես հեռախոսներ կամ այլ սարքեր փոխանցելու միջոց
Ինչպես կատարել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. 11 քայլ (նկարներով)
Ինչպես պատրաստել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. Նպատակներ. Ստեղծեք տվյալների գրանցիչ ≤ 500 դոլարով: Այն պահում է ջերմաստիճանի, pH- ի և DO- ի տվյալները ժամանակային կնիքով և I2C հաղորդակցության միջոցով: Ինչու՞ I2C (ինտեգրված սխեմա): Կարելի է միևնույն տողում հավաքել նույնքան տվիչ ՝ հաշվի առնելով, որ դրանցից յուրաքանչյուրն ունի