Բովանդակություն:

XOD էներգիայով լիցքավորվող արևային լամպ. 9 քայլ (նկարներով)
XOD էներգիայով լիցքավորվող արևային լամպ. 9 քայլ (նկարներով)

Video: XOD էներգիայով լիցքավորվող արևային լամպ. 9 քայլ (նկարներով)

Video: XOD էներգիայով լիցքավորվող արևային լամպ. 9 քայլ (նկարներով)
Video: Hören & Verstehen - Prüfungsvorbereitung B2/C1 2024, Դեկտեմբեր
Anonim
XOD էներգիայով աշխատող վերալիցքավորվող արևային լամպ
XOD էներգիայով աշխատող վերալիցքավորվող արևային լամպ

Կան էժան արևային այգու/հետիոտնային լամպեր, որոնք մատչելի են տնային ապրանքների և սարքավորումների խանութների մեծ մասում: Բայց ինչպես հին ասացվածքն է ասում, դուք սովորաբար ստանում եք այն, ինչի համար վճարում եք: Սովորական լիցքավորման և լուսավորման սխեմաները, որոնք նրանք օգտագործում են, պարզ և էժան են, բայց ձեր կողմից ստացված լույսի տպավորությունը ոչ այլ ինչ է, քան տպավորիչ (և հազիվ բավական է նրանց համար, ովքեր օգտագործում են ձեր անցուղին, տեսնելու, թե ուր են գնում):

Սա իմ փորձն է նախագծել անջատված լուսավորության մոդուլ, որը զգալի բարելավում է, մինչդեռ դրա պատրաստումը դեռ համեմատաբար էժան է: Որոշ «ուղեղներ» տալով դրան: XOD.io- ն նոր IDE է, որը համատեղելի է Arduino- ի ներդրված զարգացման հարթակի հետ, որտեղ կարող եք գրաֆիկորեն «գրել» ծածկագիր: Միջավայրը ձեր գրաֆիկական ուրվագիծը փոխանցում է ժամանակակից C ++ - ին, որը հոյակապ արդյունավետ է կոմպակտ ծածկույթի ստեղծման մեջ և ստեղծում է լիովին համատեղելի աղբյուր Arduino IDE- ի պաշարների հետ ՝ առանց արտաքին կախվածություններ պահանջելու: Այդ կերպ, նույնիսկ փոքր, էժան միկրոկոնտրոլերները `սահմանափակ ծրագրով և տվյալների պահպանման ռեսուրսներով, կարող են օգտագործվել բարդ առաջադրանքներ կատարելու համար:

Այս նախագիծը ցույց է տալիս, թե ինչպես Arduino- ի հետ համատեղելի ATTiny85 միկրոկոնտրոլերները, որոնք աշխատում են միասին, կարող են օգտագործվել լամպի էներգիայի պահանջները կառավարելու համար: Առաջին պրոցեսորը վարում է արտաքին սարքավորումներից ստացված շրջակա միջավայրի տվյալները, իսկ երկրորդը փորձում է օրվա ընթացքում առավելագույն էներգիա ստանալ արևից, այնուհետև վերահսկել բարձր էներգիայի LED լուսավորությունը, քանի որ պահեստային մարտկոցը լիցքաթափվում է գիշերը: Երկրորդ պրոցեսորն իր աշխատանքը կատարում է «անորոշ տրամաբանության» կառավարման կոմպակտ իրականացման միջոցով: Երկու չիպերի համար ծրագրակազմը մշակվել է բացառապես XOD միջավայրում:

Քայլ 1: Պահանջվող նյութեր

Arduino IDE- ի վերջին տարբերակը ՝ ATTinyCore ընդլայնմամբ, որը տեղադրված է «Տախտակներ» մենեջերից

Sparkfun USBTinyISP ATTiny ծրագրավորող, 11801 կամ համարժեք Sparkfun արտադրանքի էջ

Pololu կարգավորելի ցածր լարման խթանման փոխարկիչ անջատման մուտքով, U1V11A կամ համարժեք Pololu արտադրանքի էջ

Բարձր հզորությամբ սպիտակ կամ RGB LED տաքացուցիչով, ընդհանուր անոդով, Adafruit 2524 կամ համարժեք Adafruit արտադրանքի էջով

Միկրոչիպ ATTiny85 8-փին DIP փաթեթում, 2 Mouser ապրանքային էջ

8 փին DIP IC վարդակներ, 2

Bulանգվածային պահեստավորման կոնդենսատոր, 16 v 220 uF

Ելքային կոնդենսատոր, 6.3v 47uF

Ընթացիկ սահմանափակող ռեզիստորներ, 50 օմ 1/4 վտ

i2c քաշվող դիմադրիչներ, 4.7k, 2

Վահանակի լարման զգացողության բաժանարար դիմադրողներ, 1/4 վտ, 100k, 470k

Ընթացիկ զգայական դիմադրություն, 10 օմ 1⁄2 վտ 1% հանդուրժողականություն

Շրջանցող կոնդենսատորներ, 0.1uF կերամիկական, 2

2 3.7 վ 100 մԱ / ժ լիթիում-իոնային վերալիցքավորվող մարտկոց, PKCELL LP401 կամ համարժեք

Վահանակի տակառի խրոցակի մուտքագրման խցիկ, 1

Մինի տերմինալային բլոկներ 3”x3” զոդման տախտակ և բարակ պինդ միջուկային մետաղալարեր `միացումներ կատարելու համար

Փորձարկման համար գրեթե անպայման կպահանջվի օսլիլոսկոպ, բազմաչափ և նստարանային սնուցման սարք

Քայլ 2: Շրջակա միջավայրի կարգավորում

Շրջակա միջավայրի կարգավորում
Շրջակա միջավայրի կարգավորում

XOD միջավայրը չի աջակցում ATTiny պրոցեսորների շարքը տուփից դուրս, բայց Arduino տիեզերքից մի քանի երրորդ կողմի գրադարանների օգտագործմամբ պարզ է աջակցություն ավելացնել այս շարքի AVR- ներին: Առաջին քայլը «ATTinyCore» գրադարանի տեղադրումն է Arduino IDE- ի «Գործիքներ → տախտակ → խորհրդի կառավարիչ» բացվող ընտրացանկից: Համոզված եղեք, որ ներառված նկարում ցուցադրված պարամետրերը ճիշտ են: Հիշեք, որ որևէ կոդ վերբեռնելուց առաջ պետք է սեղմել «Այրել բեռնիչ» կոճակը ՝ Brownout լարման և ժամացույցի արագության կարգավորումը փոխելու համար:

Այս գրադարանի աղբյուրի կոդը հասանելի է ՝

Պահեստից ունենալու մեկ այլ օգտակար գրադարան է «FixedPoints»-ը, որը Arduino- ի աջակցությամբ պրոցեսորների համար ֆիքսված միավորների մաթեմատիկայի ժամանակային կիրառում է: ATTiny- ն ունի սահմանափակ SRAM և ծրագրային հիշողություն, և դա շատ է օգնում կրճատել էսքիզների վերջնական չափը `տվյալների ընդհանուր պահպանման համար օգտագործել 2 բայթ ամբողջ թիվը, այլ ոչ թե լողացող կետի տեսակը, որը AVR- ի համար պահանջում է 4 բայթ: Կատարման արագությունը նույնպես պետք է բարելավվի, քանի որ ATTiny- ը չունի ապարատային բազմապատկման միավոր, առավել ևս ապարատային լողացող կետ:

Աղբյուրի կոդը հասանելի է ՝

XOD գրաֆիկական ուրվագծեր ստեղծելու, փոխադրելու և տեղադրելու ձեռնարկը ՝ https://github.com/Pharap/FixedPointsArduino- ն շատ կօգնի հասկանալ, թե ինչպես են ստեղծվել ներառված սկզբնական ֆայլերը:

Քայլ 3: Դիզայնի ակնարկ

Դիզայնի ակնարկ
Դիզայնի ակնարկ
Դիզայնի ակնարկ
Դիզայնի ակնարկ

Գրատախտակին երկու ATTiny85 պրոցեսոր միացված են i2c ինտերֆեյսի միջոցով և օգտագործվում են միասին ՝ կառավարելու արևային վահանակի լարումը, հոսանքը հոսում է մարտկոցի մեջ խթանիչ փոխարկիչից, մինչ վահանակը լուսավորված է, մարտկոցի լարումը և մարտկոցը: ջերմաստիճանը:

Խթանիչ փոխարկիչը անջատված մոդուլ է, որը հիմնված է Texas Instruments TPS6120 IC- ի վրա, որը կարող է վերցնել մուտքային լարումը մինչև 0.5 վոլտ և բարձրացնել այն 2 վոլտից մինչև 5 վոլտ: Սենսորային միջուկը բաղկացած է մի քանի ֆունկցիոնալ բլոկներից: Գլխավոր ժամացույցը սկսում է գործել, հենց որ էներգիան ուժի մեջ է մտնում արևային վահանակի մուտքի խթանիչ փոխարկիչի վրա: Սա սկսում է էսքիզների կատարումը, և առաջին հերթին պետք է որոշել, թե արդյոք վահանակը բավականաչափ լուսավորված է մարտկոցին լիցքավորման հոսանք ապահովելու համար:

Արևային վահանակի լարումը փոխանցվում է երկու թվային ֆիլտրերի միջոցով, և եթե այն որոշակի շեմից բարձր է, համակարգը որոշում է, որ վահանակը լուսավորված է և հիմնական ժամացույցը միացնում է ընթացիկ զգայարան ունեցող մոնիտորին: Սա չիպի անալոգային թվային փոխարկիչ է, որը կազմաձևված է տարբեր կերպ, որը զգում է լարումը 10 օմ 1% հանդուրժողականության դիմադրության վրա, որը միացված է անընդմեջ խթանիչ փոխարկիչի ելքի և մարտկոցի մուտքի միջև: Երբ վահանակը լուսավորված չէ, այս ATTiny- ը ազդանշան է ուղարկում երկրորդ ATTiny- ին ՝ ասելով, որ լիցքավորման փոխարեն վերահսկի LED հզորությունը, անջատի խթանիչ փոխարկիչը և մեկուսացնի մուտքը, որպեսզի մարտկոցը հոսանքը հետ չվերցնի վահանակի միջոցով:.

Երկրորդ ATTiny միջուկը այնտեղ է, որտեղ գործում է LED հսկիչը և մարտկոցի լիցքի մոնիտորինգի համակարգը: Վահանակի լարման, մարտկոցի լարման և մարտկոցի լիցքավորման ընթացիկ տվյալները ուղարկվում են այս միջուկ ՝ անորոշ տրամաբանական ցանցի միջոցով մշակման համար, որը փորձում է առաջացնել համապատասխան PWM ազդանշան ՝ SHTDN կապի վրա կիրառելու համար ՝ դրանով իսկ վերահսկելով մարտկոցին ուղարկվող հոսանքի քանակը: լիցքավորելու դեպքում `լույսի ներքո` առավելագույն հզորության կետին հետևելու հիմնական ձևը (MPPT): Այն նաև ազդանշան է ստանում սենսորային միջուկից `ասելով, թե արդյոք այն պետք է միացնել կամ անջատել LED- ը` կախված սենսորի միջուկի օրվա ելքից/ գիշերային մատով խափանել.

Երբ LED- ն ակտիվ է գիշերը, այս ATTiny- ն վերահսկում է մարտկոցի լարման տվյալները, որոնք ուղարկվել են իր ընկերոջից և իր սեփական չիպերի ջերմաստիճանի տվիչից, մոտավոր գնահատական ստանալու համար, թե որքան էներգիա է մղվում LED- ի վրա (մարտկոցի լարումը նվազում է և չիպի ջերմաստիճանը բարձրանում է դրա կապումներից հանված հոսանքի հետ): LED PWM կարկատակի հետ կապված անորոշ տրամաբանական ցանցը փորձում է դատել, թե որքան է մարտկոցի էներգիան դեռևս, և նվազեցնել լուսադիոդի ինտենսիվությունը, քանի որ մարտկոցը սպառվում է:

Քայլ 4: XOD- ի հիմնական գրադարանից հատուկ պատվերների ստեղծում

XOD- ի հիմնական գրադարանից հարմարեցված պատճենների ստեղծում
XOD- ի հիմնական գրադարանից հարմարեցված պատճենների ստեղծում
Ստեղծեք հարմարեցված կարկատաններ XOD հիմնական գրադարանից
Ստեղծեք հարմարեցված կարկատաններ XOD հիմնական գրադարանից

Այս դիզայնի համար օգտագործվել են մի շարք հատուկ կարկատող հանգույցներ, որոնցից ոմանք կարող են հեշտությամբ ամբողջությամբ կառուցվել ներառված XOD հանգույցներից, իսկ ոմանք, որոնք իրականացվել են C ++ - ում:

Նկարների երկու սովորական կարկատող հանգույցներից առաջինը `ցուցադրական շարժվող միջին զտիչի իրականացում: Սա ցածր օդային ցածրուղային թվային զտիչ է, որը օգտագործվում է էսքիզների շարքում ՝ մեկ անգամ տրամաբանական միջուկի համար մուտքային արևային վահանակի լարումը զտելու և մեկ անգամ ևս սնուցող գործոնի համար, որը որոշում է շրջակա միջավայրի երկարաժամկետ լուսավորությունը: Տես Վիքիպեդիայի գրառումը ՝ էքսպոնենցիալ հարթեցման վերաբերյալ:

Պատկերի հանգույցի կառուցվածքը պարզապես հոդվածում փոխանցման գործառույթի ուղղակի գրաֆիկական ներկայացում է, որը միացված է միմյանց `համապատասխան մուտքերից մինչև ելքեր հղումներ օգտագործելով: Գրադարանից կա հետաձգման հանգույց, որը թույլ է տալիս ստեղծել հետադարձ հանգույց (XOD- ը ձեզ կզգուշացնի, եթե ստեղծեք հետադարձ օղակ ՝ առանց հանգույցի հետաձգման տեղադրման, ինչպես նկարագրված է XOD կատարման մոդելում): կարկատը լավ է աշխատում, դա պարզ է:

Երկրորդ հարմարեցված կարկատած հանգույցը XOD- ի հետ ներառված ֆոնդային մատանի տատանում է, որը սնվում է ֆիլտրացված վահանակի լարման միջոցով: Այն կպչում է բարձր կամ ցածր ՝ կախված այն բանից, թե մուտքային ազդանշանը որոշակի շեմից բարձր է կամ ցածր: Ձուլված հանգույցները օգտագործվում են բուլյան ելքային արժեքները զարկերակային տվյալների տիպի փոխարկելու համար, որպեսզի խթանեն խափանումները, քանի որ վիճակը ցածրից անցնում է բարձր: Հուսանք, որ այս կարկատող հանգույցի ձևավորումը պետք է որոշակիորեն բացատրելի լինի սքրինշոթից:

Քայլ 5: Ստեղծեք հարմարեցված կարկատաններ C ++ - ի միջոցով

C ++ - ի միջոցով հարմարեցված պատճենների ստեղծում
C ++ - ի միջոցով հարմարեցված պատճենների ստեղծում

Հատուկ պահանջների դեպքում, որտեղ անհրաժեշտ է հանգույցի ֆունկցիոնալությունը, չափազանց բարդ կլինի գրաֆիկորեն պատկերելու համար, կամ որոնք հիմնված են Arduino գրադարանների վրա, որոնք բնիկ չեն Arduino միջավայրին, XOD- ը դյուրին է դարձնում C/C ++ գիտելիք ունեցողներին գրել կծվածքի չափ կտորներ: կոդը, որն այնուհետև կարող է ինտեգրվել կարկատանի մեջ նույնը, ինչ որ օգտագործողի կողմից ստեղծված կամ ֆոնդային հանգույցը: Ֆայլի ընտրացանկից «ստեղծել նոր կարկատել» ընտրելը ստեղծում է դատարկ թերթ, որի հետ աշխատելու համար, իսկ մուտքային և ելքային հանգույցները կարող են քաշվել հիմնական գրադարանի «հանգույցներ» բաժնից: Այնուհետև «չկիրառված-in-xod» հանգույցը կարող է քաշվել, և կտտացնելիս այն կբերի տեքստային խմբագիր, որտեղ անհրաժեշտ գործառույթը կարող է իրականացվել C ++-ում: Ինչպես կարգավորել ներքին վիճակը և մուտք գործել C ++ կոդից մուտքային և ելքային նավահանգիստներ, այստեղ լուսաբանված է:

Որպես օրինակ ՝ C ++ համակարգում անհատական շտկումներ իրականացնելու համար, վարորդի միջուկի համար օգտագործվում են ևս երկու սովորական կարկատանք ՝ վարորդի միջուկի մատակարարման լարման և հիմնական ջերմաստիճանի գնահատման համար: Իր անորոշ ցանցի հետ միասին, դա թույլ է տալիս մոտավոր գնահատել մարտկոցի մնացած էներգիան, որը հասանելի է LED- ները սնուցելու համար, երբ մութ է:

Temperatureերմաստիճանի տվիչի կարկատակը նաև սնվում է մատակարարման լարման տվիչի ելքով `ավելի լավ գնահատական ստանալու համար: հիմնական ջերմաստիճանի զգացումը թույլ է տալիս մեզ մոտավոր գնահատական տալ, թե որքան էներգիա է այրվում LED- ներում և զուգորդվում է մատակարարման լարման ընթերցման հետ: մարտկոցի լիցքաթափումը լրացուցիչ կոպիտ գնահատական է տալիս, թե որքան մարտկոցի էներգիա է մնացել: Պարտադիր չէ, որ այն չափազանց ճշգրիտ լինի. եթե միջուկը «գիտի», որ LED- ները շատ հոսանք են քաշում, բայց մարտկոցի լարումը արագորեն ընկնում է, հավանաբար անվտանգ է ասել, որ մարտկոցի հզորությունը շատ ավելի երկար չի տևի, և ժամանակն է լամպը անջատել:

Քայլ 6: Շինարարություն

Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն

Ես նախագիծը կառուցեցի մի փոքր նախատիպի տախտակի վրա ՝ պղնձե բարձիկներով ՝ անցքերի հատվածների համար: IC- ների համար վարդակների օգտագործումը շատ է օգնում ծրագրավորման/փոփոխման/թեստավորման համար. Sparkfun- ի USBTiny ISP- ն իր տախտակին ունի նմանատիպ վարդակ, այնպես որ երկու չիպերի ծրագրավորումը պարզապես բաղկացած է ծրագրավորողին համակարգչի USB պորտին միացնելուց, ներառված Arduino.ino ֆայլերից փոխանցված XOD ծածկագիրը համապատասխան տախտակի և ծրագրավորողի կարգավորումներով, և այնուհետև նրբորեն հեռացրեք չիպսերը ծրագրավորողի վարդակից և տեղադրեք դրանք նախատախտակի վարդակների մեջ:

Pololu TPS6120- ի վրա հիմնված խթանման փոխարկիչի մոդուլը գալիս է բարձրացնող տախտակի վրա, որը զետեղված է նախատախտակի մեջ ՝ քորոցների վերնագրերի վրա, այնպես որ հնարավոր է տարածք խնայել ՝ ներքևում տեղադրելով որոշ բաղադրիչներ: Իմ նախատիպի վրա ես դրեցի երկու 4.7k քաշման դիմադրամանները դրա տակ: Սրանք պահանջվում են չիպերի միջև i2c ավտոբուսը ճիշտ աշխատելու համար. Առանց նրանց կապը ճիշտ չի աշխատի: Տախտակի աջ կողմում տեղադրված է արևային վահանակի խրոցակի մուտքի խցիկը և մուտքի պահեստավորման կոնդենսատորը: Լավագույնն այն է, որ ջոկը և այս կափարիչը միացվեն ուղղակիորեն միմյանց հետ զոդման «հոսանքների» միջոցով, այլ ոչ թե միացման մետաղալարերի, որպեսզի հնարավորինս ցածր դիմադրություն ունենա: Այնուհետև պինդ զոդի վազքերն օգտագործվում են պահեստային կոնդենսատորի դրական տերմինալը անմիջապես խթանող մոդուլի մուտքային լարման տերմինալին միացնելու համար, իսկ խթանիչ մոդուլի գրունտային քորոցը `անմիջապես բրիգադի գրունտին:

Երկու ATTinys- ի վարդակների աջ և ձախ կողմերում տեղադրված են 0.1uF արհամարհող/անջատող կոնդենսատորներ: Այս բաղադրիչները նույնպես կարևոր են անմասն չմնալու համար և պետք է հնարավորինս կարճ և ուղիղ ճանապարհով միացված լինեն IC- ների հոսանքի և գրունտի կապերին: 10 օհմ ընթացիկ զգայական դիմադրիչը ձախ կողմում է, այն միացված է խթանիչ փոխարկիչից ելքի հետ և յուրաքանչյուր կողմը միացված է սենսորի միջուկի մուտքի քորոցին. հոսանքը մարտկոցի մեջ: I2c ավտոբուսի IC- կապի և խթանման փոխարկիչի անջատման քորոցի և այլնի միջև կապերը կարող են իրականացվել ՝ օգտագործելով նախալարակի ներքևի մասում միացնող մետաղալարեր, դրա համար հիանալի աշխատում է շատ բարակ ամուր միջուկի միացման մետաղալարը: Դա հեշտացնում է փոփոխությունները և նաև շատ ավելի կոկիկ տեսք ունի, քան վերևի անցքերի միջև թռչկոտներ վազելը:

LED մոդուլը, որն ես օգտագործեցի, եռագույն RGB միավոր էր, իմ ծրագիրն էր, որ բոլոր երեք LED- ները ակտիվ լինեին, որպեսզի մարտկոցը գրեթե ամբողջությամբ լիցքավորված լիներ, արտադրեին սպիտակ գույնը, և կամաց-կամաց մարել կապույտ LED- ը դեղին ՝ լիցքի սպառման դեպքում: Բայց այս գործառույթը դեռ պետք է իրականացվի: Ընթացիկ սահմանափակող դիմադրիչով մեկ սպիտակ LED- ն նույնպես լավ կաշխատի:

Քայլ 7: Փորձարկում, մաս 1

Թեստավորում, մաս 1
Թեստավորում, մաս 1

Arduino միջավայրից USB ծրագրավորողի միջոցով երկու ATTiny IC- ները ներառված էսքիզային ֆայլերով ծրագրավորելուց հետո օգնում է ստուգել, որ նախատիպի երկու միջուկները ճիշտ են աշխատում ՝ նախքան արևային մարտկոցից մարտկոց լիցքավորելը: Իդեալում դա պահանջում է հիմնական oscillscope, multimeter և նստարանային էլեկտրամատակարարում:

Առաջին բանը, որ պետք է ստուգել, այն է, որ նախքան IC- ն, մարտկոցը և վահանակը վարդակների մեջ միացնելը, տախտակի վրա որևէ կարճ միացում չկա, հնարավոր վնասներից խուսափելու համար: Դա անելու ամենահեշտ ձևը նստարանային էներգիայի մատակարարումն է, որը կարող է այդ իրավիճակի դեպքում իր ելքային հոսանքը սահմանափակել անվտանգ արժեքով: Ես օգտագործեցի 3 վոլտ հզորությամբ և 100 մԱ սահմանաչափով միացված արևային վահանակի մուտքային տերմինալներին միացված էներգիայի մատակարարման դրական և բացասական հոսանքներին: Ոչ մի այլ բան, քան տեղադրված են պասիվ բաղադրիչները, էապես չպետք է գրանցվի հոսանքի մատակարարման ընթացիկ մոնիտորի ընթացիկ վիճակահանություն, որի մասին խոսելու համար: Եթե հոսանքի զգալի հոսք կա, կամ մատակարարումը անցնում է հոսանքի սահմանափակման, ինչ-որ բան սխալ է տեղի ունեցել, և խորհուրդը պետք է ստուգվի `համոզվելու համար, որ չկան սխալ միացումներ կամ հակադարձ բևեռականությամբ կոնդենսատորներ:

Հաջորդ քայլը պետք է ապահովել խթանման փոխարկիչի ճիշտ աշխատանքը: Տախտակի վրա կա պտուտակ-պոտենցիոմետր, որի էլեկտրասնուցումը դեռ միացված է, և փոխարկիչի չորս կապում համապատասխանաբար միացված, պոտենցիոմետրը պետք է պտտել պտուտակահանի փոքր ծայրով, մինչև մոդուլի ելքային տերմինալում լարումը կարտադրվի մոտ 3.8-ից 3.9 վոլտ: Այս DC արժեքը չի փոխվի շահագործման ընթացքում, վարորդի միջուկը կկարգավորի միջին ելքային լարումը `մոդուլը անջատելու քորոցը զարկելով:

Քայլ 8. Փորձարկում, մաս 2

Փորձարկում, մաս 2
Փորձարկում, մաս 2
Թեստավորում, մաս 2
Թեստավորում, մաս 2

Հաջորդ բանը, որ պետք է ստուգել, այն է, որ i2c հաղորդակցությունն աշխատում է նորմալ, տախտակի հոսանքազրկման դեպքում սենսորի միջուկը կարող է տեղադրվել: Օսլիլոսկոպի վրա պետք է զարկերակային ազդանշաններ լինեն ֆիզիկական չիպի և՛ 5 -ի, և՛ 7 -ի վրա, չիպի այս i2c վարորդը փորձում է տվյալներ ուղարկել իր ընկերոջը: Վարորդի միջուկը անջատելուց հետո կարող է տեղադրվել և կապը նորից տատանվել օսքիլոսկոպով, երկու տողերում պետք է լինի ավելի տեսանելի իմպուլսների հաջորդականություն: Սա նշանակում է, որ չիպսերը ճիշտ են շփվում:

Այն օգնում է մարտկոցը մի փոքր լիցքավորել վերջնական ամբողջական փորձարկման համար: Դրան հասնելու համար կարող է օգտագործվել նաև նստարանային սնուցումը ՝ ընթացիկ սահմանաչափը սահմանելով մոտ 50 մԱ, իսկ լարումը ՝ դեռ 3,8 վոլտ, թողնելով LiPo մարտկոցը միացված ուղղակիորեն մի քանի րոպե:

Վերջնական քայլը ամբողջական համակարգի փորձարկումն է `ամեն ինչ միացված լինելու դեպքում, եթե վահանակը ծածկված է տասը կամ 15 վայրկյան, լույսը պետք է վառվի` շարժվելով վարորդի միջուկի PWM ելքով: Վահանակը պայծառ արևի լույսի ներքո, մարտկոցը պետք է լիցքավորվի ուժեղացուցիչի փոխարկիչի ելքից: Անորոշ տրամաբանական ցանցը կարող է անուղղակիորեն ստուգվել ՝ տեսնելու համար, թե արդյոք այն ճիշտ է աշխատում ՝ նայելով PWM գծին, որը մղում է խթանիչ փոխարկիչի անջատման քորոցը. batteryածր լիցքավորման դեպքում մարտկոցի հետ լուսավորությունն ավելանում է, զարկերակի լայնությունը պետք է մեծանա ՝ ցույց տալով, որ արևի լույսից ավելի շատ էներգիա հասանելի է դառնում, վարորդի միջուկը ազդանշան է տալիս, որ ավելի շատ էներգիա պետք է ուղարկվի մարտկոց:

Քայլ 9. Հաստատված տրամաբանության հավելված

Անորոշ տրամաբանության հավելված
Անորոշ տրամաբանության հավելված

Անորոշ տրամաբանությունը մեքենայական ուսուցման տեխնիկա է, որը կարող է օգտագործվել ապարատային համակարգերի վերահսկման ժամանակ, որտեղ անորոշություն կա վերահսկվող համակարգի շատ պարամետրերի վերաբերյալ, ինչը հստակ մուտքագրում է ելքի կառավարման լուծման այն նպատակը, որը դժվար է մաթեմատիկորեն գրել: Սա իրագործվում է ՝ օգտագործելով տրամաբանական արժեքներ, որոնք ընկնում են 0 -ի միջև (կեղծ) և 1 -ի (ճշմարիտ) միջև, արտահայտելով անորոշություն այնպիսի արժեքի մեջ, որն ավելի նման է մարդուն («հիմնականում ճշմարիտ» կամ «իրականում ոչ իրական») և թույլ տալով մոխրագույն տարածք 100% ճշմարիտ և 100% կեղծ պնդումների միջև: Դրա իրականացման եղանակը նախ մուտքային փոփոխականների նմուշներ վերցնելն է, որոնց վրա պետք է հիմնված լինի որոշումը և «շփոթեցնել» դրանք:

Fանկացած անհասկանալի տրամաբանական համակարգի սիրտը «անհասկանալի ասոցիատիվ հիշողություն» է: Սա հիշեցնում է մատրիցա, որտեղ մարտկոցի լիցքավորման շրջանի դեպքում պահվում է 0 -ից 1 -ի միջակայքում գտնվող 3x3 արժեքների հավաքածու: Մատրիցայի արժեքները կարող են մոտավորապես կապված լինել այն բանի հետ, թե ինչպես մարդը կմտածի այն մասին, թե ինչպիսին պետք է լինի խթանող փոխարկիչի SHTDN քորոցը կառավարող PWM գործոնը ՝ կախված այն բանից, թե վերը նշված անդամակցության գործառույթը որակում է մուտքերի տվյալ փաթեթը: Օրինակ, եթե վահանակի մուտքային լարումը բարձր է, բայց մարտկոցի մեջ մտնող հոսանքը ցածր է, դա հավանաբար նշանակում է, որ ավելի շատ էներգիա կարող է քաշվել, և PWM կարգավորումը օպտիմալ չէ և պետք է բարձրացվի: Ընդհակառակը, եթե վահանակի լարումը ցածր է, բայց լիցքավորիչը դեռ փորձում է մարտկոցի հոսանքի մեջ մեծ հոսանք մղել, նույնպես կսպառվի, ուստի լավագույնը կլինի PWM ազդանշանը նվազեցնել փոխարկիչին: Երբ մուտքային ազդանշանները «մշուշապատ» են դառնում անորոշ բազմության մեջ, դրանք բազմապատկվում են այս արժեքներով, ինչպես վեկտորը բազմապատկվում է մատրիցով ՝ առաջացնելով փոխակերպված հավաքածու, որը ներկայացնում է «գիտելիքների» բջիջի ծանրության աստիճանը: մատրիցը պետք է հաշվի առնել վերջնական համակցման գործառույթի մեջ:

Օգտագործելով «չկիրառված-xod» հանգույցը, որը թույլ է տալիս XOD հանգույցներին, որոնք իրականացնում են սովորական գործառույթներ, որոնք չափազանց բարդ են, որպեսզի խելամիտ չլինի բաժնետոմսերի կառուցվածքից, և մի փոքր Arduino ոճով C ++, ասոցիատիվ հիշողություն, կշռման գործառույթ և fuzzifier »-ը, որը նման է այս տեղեկանքում նկարագրված բլոկներին.

Խորհուրդ ենք տալիս: