Բովանդակություն:
- Քայլ 1: Նպատակների ձևավորում
- Քայլ 2: Նախատիպերի ձևավորում
- Քայլ 3. 12F609 զարգացման խորհուրդ
- Քայլ 4: Softwareրագրակազմ
- Քայլ 5: Պոտենցիալ ծրագրեր
- Քայլ 6: Ամփոփում
Video: Multi Node LED PWM լամպի նախագծում. 6 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:53
Այս հրահանգը ցույց կտա, թե ինչպես եմ ես նախագծել LED PWM լամպի վերահսկիչ: Բազմաթիվ լամպեր կարող են լարվել միասին ՝ լույսի մեծ լարեր ստեղծելու համար: Սուրբ Christmasննդյան տոների համար մի քանի լուսաշող լուսարձակներ ստեղծելը միշտ եղել է իմ ցանկությունների ցանկում: Անցյալ Սուրբ seasonննդյան սեզոնին ես իսկապես սկսեցի մտածել ինչ -որ բան կառուցելու մասին: Իմ առաջին միտքն այն էր, որ յուրաքանչյուր LED լամպ պարզապես կարող էր միացված լինել մի զույգ լարերի: LED լամպերի հզորությունը կարող է լինել AC ազդանշան, որը ցածր հաճախականությունից կանցնի բարձր հաճախականության: Յուրաքանչյուր լամպի մեջ ներկառուցված ժապավենը կարող է միացնել LED- ն, երբ հաճախականությունը կհամապատասխանի ժապավենի կենտրոնական հաճախականությանը: Եթե ժապավենների անցման զտիչները ճիշտ տեղադրված լինեին, կարող էր LED հետապնդման հաջորդականություն կազմել: Իրոք, այլ հաճախությունների փոխարեն ցատկելու փոխարեն, LED- ներից որևէ մեկը կարող էր միացվել: Օգտագործելով H -Bridge վարորդի չիպը, ցանկալի հաճախականությունը լարերի վրայով վարելը չպետք է չափազանց դժվար լինի: Դե, ես պարզապես հոտում եմ անալոգային դիզայնին. Ես ավելի շատ տղայի ծրագրային ապահովում եմ: Մի քանի նստարանային փորձարկումներից հետո ես արագ հրաժարվեցի անալոգային օգտագործումից: Այն, ինչ ես իսկապես ուզում էի, LED լամպ էր, որը կարող էր լիովին վերահսկվել `ցուցադրելու իմ ցանկացած գույնը: Օ, և այն պետք է կարողանա օգտագործել PWM (զարկերակի լայնության մոդուլյացիա), որպեսզի լուսադիոդային լուսարձակները կարողանան միացնել կամ անջատել իսկապես սառը նախշերով: Այն, ինչ հետևում է այս հրահանգին, միկրոչիպի միկրոպրոցեսորի վրա հիմնված իսկապես զով դիզայնի նկարագրությունն է: դա դուրս եկավ տոնածառի լույսերի իմ ցանկությունից: Շտապ դիտեք ստորև ներկայացված տեսանյութը `արագ տեսնելու համար, թե ինչ կարող է ցուցադրել Kemper LED PWM լամպի վերահսկիչը: Ուշադրություն դարձրեք, դժվար է ստանալ գործող LED լուսադիոդների լավ տեսանյութ, որոնք PWM- ն օգտագործում են ինտենսիվության վերահսկման համար: Նույն խնդիրն է, երբ փորձում ես տեսանկարել համակարգչի մոնիտորը: LED- ների 60 Հց հաճախականությամբ պայքարի մեջ են մտնում տեսախցիկի 30 Հց -ի հետ: Հետևաբար, չնայած կան ժամանակներ, երբ LED- ների տեսանյութը մի փոքր «փայլուն» է, բայց դա իրականում այդպես չէ: Մարդկային աչքով դիտվող LED- ները, ըստ երևույթին, ոչ մի անսարքություն չունեն: Տե՛ս ստորև բերված ծրագրաշարի քայլը ՝ LED- ների տեսագրման վերաբերյալ ավելի շատ քննարկման համար:
Քայլ 1: Նպատակների ձևավորում
Այս նախագծի մասին մտածելով Սուրբ Christmasննդյան արձակուրդն անցկացնելուց հետո ես հայտնվեցի ցանկությունների ցուցակ: Ահա մի քանի հնարավորություններ (դասավորված ըստ հերթականության), որոնք ես ուզում էի իմ LED վերահսկիչով. 1) Յուրաքանչյուր LED լամպ պետք է լինի հնարավորինս էժան: 100 լամպերի շարանը կարժենա մի փունջ, եթե յուրաքանչյուր լամպը շատ թանկ արժի: Արժեքը, հետևաբար, հիմնական գործոնն է: 2) Յուրաքանչյուր լամպի վրա կլինի մի փոքրիկ միկրո, որը կքշի LED- ները: Փոքր միկրոյը կստեղծի PWM ազդանշաններ, որպեսզի LED- ները կարողանան մթագնել կամ մարել: LED- ները կարող են կոշտ տեսք ունենալ, երբ դրանք պարզապես միացված և անջատված են: Օգտագործելով PWM ազդանշանները, LED- ները կարող են մարել վեր ու վար առանց LED- ների սովորական կոշտ եզրերի: Էլեկտրաէներգիան և հաղորդակցությունները կկիսեն նույն երկու լարերը: Լամպերին տրված հրամանները կտեղեկացնեն միկրոավտոբուսում, թե LED- ներից որն է վարել PWM- ով: 4) Պետք է զով տեսք ունենա: Կարծում եմ, որ սա իսկապես պետք է համարակալվի, ուստի այն թիվ մեկ է: Ահա որոշ փոքր նախագծային նպատակներ (առանց հատուկ կարգի). 1) Forարգացման համար պետք է հեշտությամբ միաձուլվի / ծրագրավորվի շրջանագծում: 2) ԱՀ-ն պետք է կարողանա առաջացնել հրամաններ լամպերին: Սա շատ ավելի հեշտ է դարձնում օրինաչափությունների մշակումը, քան մեկ այլ ներկառուցված միկրո օգտագործելը: 3) Յուրաքանչյուր լամպ պետք է ունենա յուրահատուկ հասցե: Յուրաքանչյուր լուսադիոդ, լամպի ներսում, պետք է լինի նաև եզակի հասցեավոր: Ներկայիս դիզայնը ապահովում է 128 լամպ մեկ լարի վրա: Մեկ լամպի 4 լուսադիոդով, որը մշակում է մինչև 512 լուսադիոդ ՝ երկու լարերի մեկ լարի վրա: Նաև նկատի ունեցեք, որ այդ 512 LED- ներից յուրաքանչյուրն ունի PWM- ով աշխատող ամբողջական սարք: 5) Արձանագրությունը պետք է ունենա հրաման, որն ասում է. Երբ մարումն սկսվում է, մյուս LED- ները նույնպես կարող են կարգավորվել և միանալ նույն լամպի վրա: Այլ կերպ ասած, տեղադրեք LED- ն մարող ձևի մեջ, այնուհետև մոռացեք այն ՝ իմանալով, որ LED- ը կկատարի հրամանը: Սա ենթադրում է միկրո գործի վրա բազմաֆունկցիոնալ ծրագրեր: 6) Պետք է լինեն գլոբալ հրամաններ, որոնք միանգամից կազդեն բոլոր լամպերի վրա: Հետևաբար, բոլոր LED- ները կարող են պատվիրվել ՝ օգտագործելով միայն մեկ հրաման: Ահա որոշ իրոք աննշան նախագծման նպատակներ (կրկին ՝ առանց որևէ կարգի). Սա թույլ կտա հրամանը վրդովվել 2: Սա թույլ կտա լամպերի յուրաքանչյուր x թիվը ընտրել մեկ հրամանով: Սա ավելի դյուրին կդարձնի մեծ թվով լամպերով հետապնդման նախշեր պատրաստելը: Որպես օրինակ, դա թույլ կտա հրաման ուղարկել լամպերի լարի յուրաքանչյուր երրորդ լամպին: Այնուհետև հաջորդ հրամանը կարող է ուղարկվել հաջորդ երեք հոգուց բաղկացած խմբին: 3) Ավտոմոբիլային բևեռայնության հայտնաբերման տրամաբանական համակարգը նույնպես հիանալի կլիներ: Այնուհետեւ, LED լամպերի սնուցման երկու լարերի բեւեռականությունը դառնում է անկարեւոր: Այս գործառույթի մասին ավելին տեսեք ապարատային բաժին:
Քայլ 2: Նախատիպերի ձևավորում
Հիմա հունվարի սկիզբն է, և ես գնում եմ: Ես գտա 10F206- ը Digikey- ում և այն իսկապես էժան է: Այսպիսով, ես պտտեցի մի նախատախտակ ՝ միկրոչիպից 10F206 միկրո պահելու համար: Ես նախագծեցի արագ տախտակ, քանի որ 10F2xx- ը հասանելի չէ DIP փաթեթում: Եզրակացություն, ես չէի ցանկանում քաշքշուկ անել փոքր չիպի հետ: (Ես այնքան վստահ էի դեռ հունվարին) ես նույնպես գնացի և գնեցի նոր CSS C կոմպիլյատոր, որն ուղղված էր 10F2xx միկրոն: Չիպերի 10F2xx ընտանիքն իսկապես էժան է: Մեծ հույսերով ես սուզվեցի և սկսեցի շատ կոդեր գրել: 10F206- ն ունի ահռելի 24 բայթ օպերատիվ հիշողություն. Չիպը նաև ունի 512 բայթ ֆլեշ և մեկ ութ -բիթ ժամաչափ: Մինչ ռեսուրսները սակավ են, գինը լավ է `41 ցենտ մեծ քանակությամբ: Աստված իմ, մեկ վայրկյանում մեկ միլիոն ցուցում (1 MIPS) 41 ցենտով: Ես պարզապես սիրում եմ Մուրի օրենքը: Evan մեկանգամյա գներով, Digikey- ի 10F206- ը նշված է 66 ցենտով: Ես մի շատ ժամանակ անցկացրեցի 10F206- ի հետ աշխատելու համար: 10F206- ի հետ աշխատելիս ես հայտնաբերեցի, որ բազմակի առաջադրանքները բացարձակապես պահանջվում են: PWM ելքային ազդանշանները ՊԵՏՔ է թարմացվեն նույնիսկ նոր հաղորդակցման հաղորդագրություններ ստանալիս: PWM ազդանշանների թարմացման ցանկացած ընդհատում կդիտվի որպես LED- ների անսարքություն: Մարդու աչքը իսկապես լավ է տեսնում անսարքություններ: 10F206 չիպի հետ կապված կան մի քանի հիմնարար խնդիրներ: Առնվազն հիմնարար խնդիրներ իմ դիմումի համար: Առաջին խնդիրն այն է, որ ընդհատումներ չկան: Ընտրական օղակի միջոցով նոր հաղորդակցությունների սկիզբը բռնելը ժամանակի սխալներ է թույլ տալիս: Երկրորդ խնդիրն այն է, որ կա միայն մեկ ժամաչափ: Ես պարզապես չկարողացա գտնել հրամաններ ստանալու միջոց ՝ պահպանելով PWM ելքերը: LED- ները կփչանան ամեն անգամ, երբ նոր հրաման էր ստացվում: Commandամաչափի փոխանակումը հրամաններ ստանալու և PWM- ի ելքերը քշելու միջև էր նաև ծրագրային մեծ դժվարություն: Ես չէի կարող վերականգնել ժամաչափը նոր նիշ ստանալիս, քանի որ ժամաչափը նույնպես օգտագործվում էր PWM ազդանշանները վերահսկելու համար: 10F206- ի հետ աշխատելիս ես Circuit Cellar- ում հոդված տեսա Freescale- ի նոր փոքրիկ MC9RS08KA1 միկրո մասին: Ես սիրում եմ Freescale չիպսերը. Ես նրանց BDM կարգաբերման մեծ երկրպագու եմ: Նախկինում ես շատ էի օգտագործում Star12 չիպերը (ես GM12 Cadillac & Lacern ուլտրաձայնային համակարգի բոլոր ծրագրերը գրել եմ Star12- ում. Իմ ուլտրաձայնային ծրագրակազմը այժմ արտադրվում է այս երկու մեքենաների վրա): Այսպիսով, ես իսկապես հույս ունեի, որ իրենց նոր փոքրիկ չիպսերը լավ կլինեին: Գինը նույնպես ճիշտ է, Digikey- ում նշված չիպերը նշված են մեծ քանակությամբ 38 ցենտով: Freecale- ը լավն էր և ինձ ուղարկեց մի քանի անվճար նմուշներ: Այնուամենայնիվ, Freescale 9RS08 չիպը իսկապես հիմար թվաց. Ես չէի կարող շատ առաջ գնալ դրա հետ: Չիպը նույնպես տառապում է ընդհատումների բացակայությամբ և միայն մեկ ժամաչափով: Դե, գոնե ես դա հասկացա ՝ առանց գումար վատնելու մեկ այլ նախատախտակի պտտման վրա: Տես ստորև բերված նկարները: Այժմ ես գիտեմ. Իմ դիմումի համար ես պետք է ունենամ ընդհատումներ և մեկից ավելի ժամանակաչափ: Վերադառնալով Microchip, ես գտա 12F609 չիպը: Այն ունի ընդհատումներ և երկու ժամանակաչափ: Այն ունի նաև 1K ֆլեշ և 64 բայթ RAM: Բացասական է գինը; Digikey- ն այս չիպերը թվարկում է 76 ցենտ մեծ քանակությամբ: Դե, Մուրի օրենքը շուտով կհոգա այդ մասին: Դրական կողմն այն է, որ 12F609- ը կարող է պատվիրվել նաև DIP փաթեթներով: Բացասական կողմերից ես ստիպված էի գնել հաջորդ մակարդակի վերևի կոմպիլյատոր - դա մի տեսակ այրեց իմ @#$% -ը&.Հիմա ապրիլն է, և ես շատ բան եմ սովորել այն մասին, ինչը չի աշխատի: Ես պտտել եմ տախտակ և գումար եմ վատնել այն կոմպիլյատորի վրա, որն ինձ պետք չէ: Այնուամենայնիվ, մինչ այժմ փորձարկումը հուսադրող է: Նոր կոմպիլյատորով և 12F209 չիպսերով DIP փաթեթներում նստարանային մակարդակի թեստավորումն արագ անցավ: Փորձարկումը հաստատեց, որ ես ունեմ ճիշտ չիպ: Timeամանակն է պտտել մեկ այլ նախատախտակ: Այս պահին ես վճռական եմ տրամադրված:
Քայլ 3. 12F609 զարգացման խորհուրդ
Լավ, նոր նստարանային փորձարկում, ես պատրաստ եմ փորձել մեկ այլ տախտակի պտույտ: Այս տախտակի նախագծում ես իսկապես ուզում էի փորձել նույն երկու լարերի միջոցով էներգիա և հաղորդակցություն ուղարկելու գաղափարը: Եթե կոմունալ սխալներն անտեսվեին, կպահանջվեր ընդամենը երկու լար: Դա պարզապես ներքև է Չնայած հոսանքի լարերի միջոցով հաղորդակցություններ ուղարկելը հիանալի է, դա պարտադիր չէ: Theանկության դեպքում բոլոր լամպերը կարող են միացվել միմյանց հետ մեկ հաղորդալարի վրա: Սա կնշանակի, որ յուրաքանչյուր լամպի համար կպահանջվի երեք լար `չորրորդ ընտրովի հետադարձ կապի կարգավիճակի լարով: Տես ստորև բերված դիագրամը: Ուժը և հաղորդակցությունը կարող են համատեղվել `օգտագործելով պարզ H-Bridge: H-Bridge- ը կարող է առանց մեծ խնդրի քշել մեծ հոսանքներ: Շատ, բարձր հոսանքի LED- ները կարող էին միացվել միայն երկու լարերի վրա: Լամպերի վրա DC հոսանքի բևեռականությունը կարող է շատ արագ փոխվել H-Bridge- ի միջոցով: Այսպիսով, յուրաքանչյուր լամպ օգտագործում է լիարժեք ալիք կամուրջ ՝ DC- ն կրկին նորմալ հոսանքի վերածելու համար: Միկրո կապանքներից մեկը միանում է չմշակված մուտքային DC հոսանքին այնպես, որ կոմունալ ազդանշանը կարող է հայտնաբերվել: Ընթացիկ սահմանափակող ռեզիստորը պաշտպանում է միկրո վրա թվային մուտքը: Միկրո մուտքագրման քորոցի ներսում, հումքի միացման անընդհատ լարումը սեղմվում է միկրո ներքին ճամբարի դիոդների միջոցով. Անջատիչ DC- ն սեղմված է (զրոյից մինչև Vcc վոլտ) այս դիոդներով: Ամբողջ ալիքի կամուրջը, որը շտկում է մուտքային հզորությունը, առաջացնում է երկու դիոդային անկում: Կամրջից երկու դիոդային կաթիլները պարզապես հաղթահարվում են `H-Bridge մատակարարման լարումը կարգավորելով: Վեց վոլտ H-Bridge լարումը ապահովում է գեղեցիկ հինգ վոլտ սնուցում միկրոյում: Այնուհետև օգտագործվում են անհատական սահմանափակող ռեզիստորներ `յուրաքանչյուր LED- ի միջոցով հոսանքը կտրելու համար: Այս հզորության / հաղորդման սխեման, կարծես, շատ լավ է աշխատում: Ես նաև ուզում էի փորձել ավելացնել տրանզիստորի ելքերը միկրո և LED- ների միջև: Նստարանի փորձարկման ժամանակ, եթե 12F609- ը ուժգին մղվի (ելքի չափազանց մեծ հոսանք), այն կթարթի բոլոր ելքերը: Ամբողջ չիպի առավելագույն հոսանքը, ըստ տվյալների թերթի, որը 12F609- ը կարող է ապահովել, կազմում է 90 մԱ, ընդհանուր: Դե, դա չի աշխատի: Ես պարզապես կարող եմ շատ ավելի ընթացիկ կարիք ունենալ, քան դա: Տրանզիստորների ավելացումն ինձ տալիս է 100 մԱ հզորություն մեկ լուսադիոդի համար: Դիոդային կամուրջը գնահատվում է 400 մԱ, այնպես որ 100 մԱ մեկ LED հնարավորությամբ պարզապես տեղավորվում է: Կա բացասական կողմ; տրանզիստորներն արժեն 10 ցենտ, յուրաքանչյուրը: Առնվազն իմ ընտրած տրանզիստորները ներկառուցված են ռեզիստորների մեջ. Digikey- ի մասի համարը MMUN2211LT1OSCT -ND է: Տեղադրված տրանզիստորներով LED- ների առկայծում ՉԿԱ: Արտադրական լամպերի համար, կարծում եմ, տրանզիստորները չեն պահանջվի, եթե օգտագործվում են «նորմալ» 20 մԱ LED լուսադիոդներ: Այս քայլում նախագծված զարգացման խորհուրդը պարզապես փորձարկման և զարգացման համար է: Տախտակը կարող էր շատ ավելի փոքր լինել, եթե ավելի փոքր դիմադրիչներ օգտագործվեին: Տրանզիստորների վերացումը կփրկի նաև տախտակի մի հատված: Շրջանակային ծրագրավորման նավահանգիստը կարող է հանվել նաև արտադրական տախտակների համար: Boardարգացման խորհրդի հիմնական նպատակը էներգիայի/կոմունալ ծառայությունների սխեման ապացուցելն է: Փաստորեն, տախտակները ստանալուց հետո ես պարզեցի, որ տախտակի դասավորության խնդիր կա: Ամբողջ ալիքի կամրջի չիպը ունի հիմար քորոց: Ես ստիպված էի երկու հետք կտրել և յուրաքանչյուր տախտակի ներքևում ավելացնել երկու ցատկող լար: Բացի այդ, LED- ների և միակցիչի հետքերը պարզապես չափազանց բարակ են: Դե, ապրեք և սովորեք: Առաջին անգամը չեմ լինի, երբ ես սխալեցի տախտակի նոր դասավորությունը: Ես ունեի ութ տախտակ, որոնք պատրաստված էին BatchPCB- ի միջոցով: Նրանք ունեն լավագույն գները, բայց դրանք շատ ցածր են: Տախտակները հետ վերցնելը տևեց շաբաթներ: Այնուամենայնիվ, եթե ձեր գինը զգայուն է, BatchPCB- ն միակ ճանապարհն է: Այնուամենայնիվ, ես պատրաստվում եմ վերադառնալ AP սխեմաներին. Դրանք գերարագ են: Ես պարզապես կցանկանայի, որ նրանք ունենային ավելի էժան միջոց տախտակները Կանադայից դուրս ուղարկելու համար: AP Circuits- ն ինձ առաքում է 25 դոլար առաքում յուրաքանչյուր պատվերի համար: Դա ցավ է պատճառում, եթե ես գնում եմ միայն 75 դոլար արժողությամբ տախտակ: Ինձանից երկու օր պահանջվեց ութ փոքրիկ տախտակները միացնելու համար: Եվս մեկ օր պահանջվեց պարզելու համար, որ ձգվող դիմադրությունը R6 (տես սխեմատիկ) խառնաշփոթ էր ինձ հետ: Կարծում եմ, որ R6 ռեզիստորը պարզապես անհրաժեշտ չէ: Տվյալների թերթը կարդալուց հետո ես անհանգստացա, և դա ցույց տվեց, որ այս մուտքային քորոցում ներքին միկրո քաշքշուկներ չկան: Իմ ձևավորման մեջ, այնուամենայնիվ, քորոցն ակտիվորեն անընդհատ վարվում է, ուստի, ի վերջո, քաշքշուկի կարիք իսկապես չկա: Տախտակին հրամաններ ուղարկելու համար ես օգտագործեցի 9600 բաուդ պարզ հաղորդագրություններ Python ծրագրից: Համակարգչից դուրս եկող չմշակված RS232- ը վերածվում է TTL- ի ՝ օգտագործելով MAX232 չիպը: RS232 TTL ազդանշանը անցնում է H-Bridge կառավարման մուտքին: RS232 TTL- ն անցնում է նաև inverter դարպասով ՝ 74HC04 չիպով: Շրջված RS232- ն այնուհետև անցնում է մյուս H-Bridge կառավարման մուտքին: Այսպիսով, առանց RS232 երթևեկի, H-Bridge- ը թողարկում է 6 վոլտ: RS232- ի յուրաքանչյուր բիտի համար H -Bridge- ը բևեռականությունը շրջում է -6 վոլտի այնքան ժամանակ, քանի դեռ RS232 բիթը տևում է: Տե՛ս բլոկ -դիագրամների նկարները ստորև: Python ծրագիրը նույնպես կցված է: LED- ների համար ես մի փունջ եմ գնել https://besthongkong.com կայքից: Նրանք ունեին վառ լուսադիոդներ 120 աստիճանի կարմիր/կանաչ/կապույտ/սպիտակ գույներով: Հիշեք, իմ օգտագործած LED- ները միայն փորձարկման համար են: Ես գնել եմ յուրաքանչյուր գույնի 100 հատ: Ահա այն LED- ների համարները, որոնք ես օգտագործել եմ. Օգտագործելով այս չորս LED- ները `լամպը լցնելու համար, դրանք ավելանում են այնքան, որքան միկրո արժեքը` 82 ցենտ: Վայ
Քայլ 4: Softwareրագրակազմ
Theրագրային ապահովումը իսկապես ստիպում է այս նախագծին տիզ: 12F609- ի աղբյուրի կոդը իսկապես բարդ է: Ես օգտագործում եմ երբևէ վերջին հիշողության վայրը: Բոլոր 64 բայթերը սպառվել են իմ ծածկագրով: Ես ունեմ ահռելի 32 բայթ ֆլեշ, որը մնացել է որպես պահեստ: Այսպիսով, ես օգտագործում եմ RAM- ի 100% -ը և ֆլեշի 97% -ը: Այնուամենայնիվ, զարմանալի է, թե որքան ֆունկցիոնալություն եք ստանում այդ ամբողջ բարդության համար: Յուրաքանչյուր լամպի հետ կապն արխիվացվում է ՝ ուղարկելով ութ բայթ տվյալների փաթեթներ: Տվյալների յուրաքանչյուր փաթեթ ավարտվում է ստուգիչ գումարով, ուստի իսկապես կա յոթ բայթ տվյալներ ՝ գումարած վերջնական ստուգման գումարը: 9600 baud- ով, մեկ տվյալների փաթեթին հասնում է 8 միլիվայրկյանից մի փոքր ավելին: Խնդիրը բազմակողմանի կատարելն է, մինչ բայթերի փաթեթը գալիս է: Եթե LED- ներից որևէ մեկն ակտիվ է PWM ազդանշանով, ելքային PWM- ը պետք է թարմացվի նույնիսկ նոր փաթեթային բայթ ստանալիս: Դա հնարքն է: Ինձանից շաբաթներ և շաբաթներ պահանջվեցին այս ամենը լուծելու համար: Ես հսկայական ժամանակ անցկացրեցի իմ Logiport LSA- ի հետ աշխատելով ՝ փորձելով հետևել յուրաքանչյուր բիթին: Սա իմ երբևէ գրած ամենաբարդ կոդերից է: Դա պայմանավորված է նրանով, որ միկրո -ն այնքան սահմանափակ է: Ավելի հզոր միկրոների վրա հեշտ է գրել չամրացված/հեշտ կոդ և արագ միկրո պատռել այն առանց բողոքելու: 12F609- ի դեպքում ցանկացած չամրացված կոդ ձեզ համար շատ կարժենա: Բոլոր միկրո աղբյուրի կոդը գրված է C- ով, բացառությամբ ծառայության ընդհատման ռեժիմի: Ինչու՞ կարող եք ունենալ այդքան մեծ տվյալների փաթեթներ: Դե, որովհետև մենք ցանկանում ենք, որ LED- ները իրենց ցանկությամբ բարձրանան և իջնեն: Երբ թեքահարթակի պրոֆիլը բեռնվում է, LED- ն կարող է անջատվել և սկսել թեքվել նույնիսկ մեկ այլ LED- ի համար նոր հրամաններ ստանալիս: Յուրաքանչյուր լամպ պետք է ստանա և վերծանի տվյալների տուփի ամբողջ տրաֆիկը, նույնիսկ եթե փաթեթը նախատեսված չէ դրա համար: LED պրոֆիլը բաղկացած է սկզբնական մակարդակից, սկսելու ժամանակից, թեքահարթակից, վերին մակարդակից, վերին կանգառի ժամանակից, թեքահարթակից դեպի ներքև, ներքևի մակարդակից. Տե՛ս կցված դիագրամը: Վա,յ, դա շատ է մեկ LED- ի համար: Այժմ բազմապատկեք LED- ների թիվը: Դա չափազանց շատ է դառնում. Ես կարող էի հետևել միայն երեք լուսադիոդային լուսամփոփներին `թեքահարթակի ամբողջական պրոֆիլներով: Չորրորդը (սպիտակ լուսադիոդը dev- ի տախտակի վրա) ունի միայն թեքահարթակ `դեպի/դեպի հնարավորություն: Դա փոխզիջում է: Նայեք թեքահարթակի պրոֆիլի կցված լուսանկարին: PWM ազդանշանը գեներացվում է ժամանակաչափից, որն աշխատում է 64uS մեկ տիզի վրա: Ութ բիթ ժմչփը պտտվում է յուրաքանչյուր 16.38mS- ի վրա: Սա նշանակում է, որ PWM ազդանշանն աշխատում է 61.04 Հց հաճախականությամբ: Սա լավ չէ տեսանյութը հպելու համար: Այսպիսով, ես օգտագործեցի ծրագրային հնարք և մի քանի լրացուցիչ հաշվարկ ավելացրի ժմչփի մեջ ՝ այն մինչև 60 Հց երկարացնելու համար: Սա տեսահոլովակի հպումը շատ ավելի լավ տեսք է տալիս: PWM ժմչփի (16.67mS) յուրաքանչյուր գլորման վրա ես թարմացնում եմ թեքահարթակի պրոֆիլը (ներ) ը: Հետևաբար, յուրաքանչյուր թեքահարթակ/բնակության տիկն է 1/60 վայրկյան, կամ 60 Հց: Ամենաերկար պրոֆիլի հատվածը (օգտագործելով 255 հաշվարկ) կտևի 4.25 վայրկյան, իսկ ամենակարճը (1 -ի հաշվարկով) կտևի 17 մկմ: Սա ներսում աշխատելու լավ տեսականի է տալիս: Դիտեք տրամաբանական անալիզատորի կից նկարը: Նկարում մանրամասներն իսկապես տեսնելու համար բացեք նկարը դրա բարձր լուծման ռեժիմում: Սա պահանջում է մի քանի լրացուցիչ կտտացում ուսանելի վեբ կայքի վրա: Կա նաև ստորև ներկայացված պրոֆիլի նկարը: Հրամանի արձանագրության փաստաթղթավորումն իմ անելիքների ցուցակում է: Ես նախատեսում եմ գրել տվյալների թերթիկի տիպի փաստաթուղթ `ամբողջությամբ նկարագրելու համար արձանագրությունը: Ես սկսել եմ չիպի տվյալների տվյալները - նախնական տարբերակը այժմ իմ կայքում է:
Քայլ 5: Պոտենցիալ ծրագրեր
Տոնածառի լույս. Իհարկե, ես կարծում եմ, որ այս երեխաներով լցված ծառը պարզապես հիանալի կլինի: Ես կարող եմ պատկերացնել կանաչ լույսերի գեղեցիկ տաք շող, ծառի միջով թափվող թեթև ձյուն: Միգուցե կանաչից կարմիրը դանդաղ մարում է պատահական տեղացող ձյան հետ: Hasառի վերև -ներքև պարուրաձև նախշ ստեղծող հալածող լույսերը նույնպես կոկիկ կլինեին: Կոպիտ, ես պատրաստվում եմ կայանել այս ծառը բակում և խելագարել հարևան «onesոնսին»: Այնտեղ փորձեք և հաղթահարեք դա: Առոգանության լուսավորություն. Այն, ինչ շեշտադրման լուսավորության կարիք ունի, այս լամպերի թիրախն է: Իմ խնամի եղբայրը ցանկանում է դրանք դնել իր ձկան տանկի հատակին: Ընկերն ուզում է շեշտել իր տաք ձողի շարժիչը. Գազի ոտնակի վրա հարվածելը կհանգեցնի լույսի կարմիր բռնկման: Ես նաև մտածում էի դրանցից մեկը կառուցել իմ լամպերի միջոցով. Յոթ լամպ կարելի է ծալել յոթ հատվածի լուսադիոդային օրինակով: Հսկայական ցուցադրում կարող էր կատարվել. Հիանալի հետհաշվարկ կլիներ նոր տարիների համար: Կամ գուցե, ֆոնդային շուկան ցուցադրող ցուցադրություն ՝ վատ թվերի կարմիր թվանշաններ, իսկ լավը ՝ կանաչ: Միգուցե արտաքին ջերմաստիճանը ցուցադրող մեծ էկրան: YouTube- ում կան մի քանի հիանալի 3D լուսադիոդային օրինակներ: Այնուամենայնիվ, առկա օրինակները, որոնք ես տեսել եմ, փոքր և ցավոտ են թվում: Հնարավոր է, որ Սուրբ Christmasննդյան օրերին բակում հայտնվի նաև մի մեծ 3D ցանց: WinAmp Plug-In. Բոլոր նրանք, ովքեր եղել են իմ լաբորատորիայում և տեսել են լույսերը, հարցնում են, թե արդյոք նրանք պարում են երաժշտության ներքո: Ես մի փոքր փորեցի, կարծես բավականին հեշտ կլիներ plug-in ավելացնել WinAmp- ին: Plug-in- ը հաղորդագրություններ կուղարկեր կցված լամպերի լարին, որպեսզի լույսերը համաժամացվեն այն երաժշտության հետ, որը նվագում էր WinAmp- ը: Ամանորյա երաժշտություն իմ տոնածառի համաժամեցումը պարզապես հիանալի կլիներ:Տեղադրված Baby Orangutan B-328 ռոբոտի վերահսկիչ H-Bridge- ով. Pololu- ի փոքրիկ վերահսկիչը կատարյալ կլիներ: Տես ՝ https://www.pololu.com/catalog/product/1220 Այս տախտակին արդեն տեղադրված է H-Bridge- ը: Լամպի նախշերը կարող են ծրագրավորվել միկրո համակարգչի մեջ, որպեսզի համակարգիչը կարողանա անջատվել: 802.15.4. 802.15.4 ավելացնելով լամպերը կարող են անլար դառնալ: Տան տոնածառի լույսերը տարածվելու համար սա հիանալի կլիներ: Կամ, հնարավոր կլիներ մեծ շենքային համալիրի յուրաքանչյուր պատուհանին լամպեր ավելացնել: Cool. Rotating 'Lighthouse Beacon: Իմ որդին դպրոցական ծրագիր ուներ Փարոս կառուցելու համար: Գաղափարը կայանում էր նրանում, որ մարտկոցով աշխատող լամպ է կառուցվում թղթե սեղմիչ անջատիչով, որպեսզի Փարոսը փաստացի լուսավորվի: Իմ ոչ մի որդի դրանով դպրոց չի գնա, երբ նա կարողանա լիովին փչող պտտվող փարոս ունենալ: Դիտեք կից նկարներն ու տեսանյութը:
Քայլ 6: Ամփոփում
Ինձ իսկապես զարմացնում է, որ յուրաքանչյուր լամպ ունի 2 ձիաուժ ձիաուժ SOIC-8- ում `80 ցենտով: Լամպերի շարանը երկարացնելով ՝ ավելի շատ լամպեր ավելացնելով, լարի վրա MIPS- ի քանակը նույնպես բարձրանում է: Այլ կերպ ասած, սա մասշտաբային ձևավորում է: 16 լամպերի շարանը դղրդում է, ինչպես նաև 32 MIPS մշակման հզորություն: Պարզապես զարմանալի է: Դեռ շատ աշխատանք կա անելու: boardարգացման խորհուրդը պետք է թարմացվի: Կան դասավորության մի քանի սխալներ, որոնք շտկման կարիք ունեն: Կարծես կոմունալ սխալի ելքային լարերը չեն աշխատում տրանզիստորի ելքի հետ: Դեռևս վստահ չեմ, թե ինչու. Ստացող հաղորդակցության կոդը նույնպես մի փոքր ավելի շատ աշխատանքի կարիք ունի: LED- ները դիտելով ՝ ես տեսնում եմ, որ հաճախակի սխալներ են լինում: Հայտնվում է, որ միջինը մեկ պատահական սխալ է 1000 հաղորդագրության դիմաց: Ես պետք է գտնեմ SMD արտադրող, որը պատրաստ կլինի ինձ համար լամպի տախտակներ պատրաստել: Միգուցե Spark Fun- ին կհետաքրքրի՞: Ես ընկեր ունեմ Հոնկոնգում, որը կարող է ինձ արտադրող գտնել: Տախտակի հավաքումը պետք է ավտոմատացված լինի: Պարզապես անհնար է այս տախտակները ձեռքով կառուցել, ինչպես ես: Անհրաժեշտ է մշակել համակարգչի ինտերֆեյսի տախտակ: Սա պետք է իսկապես հեշտ լինի. Դա պարզապես ժամանակ տրամադրելու համար է: ostախսը թագավոր է `նվազագույն լամպի արժեքը (80 ցենտ միկրո + երեք LED- ների համար` 10 ցենտ յուրաքանչյուրում + տախտակ / դիմադրիչներ / 20 ցենտ դիոդային կամուրջ ընդհանուր առմամբ գուցե 1,50 դոլար: Ավելացրեք հավաքում, էլեկտրամոնտաժ և շահույթ, և մենք խոսում ենք $ 2,00 -ից $ 2,50 մեկ լամպի համար: Արդյո՞ք գեյերը 40 դոլար կվճարեն լարի վրա 16 RGB լամպի լարի համար: Որոշ դրական արձագանքներով ես կշարունակեմ շարունակել այս գաղափարը արտադրանքի վերածելը: Ես կարող էի պատկերացնել, որ վաճառվում են չիպսեր, լամպի մշակման տախտակներ և ամբողջական լուսային լարեր: Տվեք ինձ որոշ հետադարձ կապ և տեղեկացրեք ինձ, թե ինչ եք կարծում: Լրացուցիչ տեղեկությունների և զարգացման շարունակական նորությունների համար այցելեք իմ կայքը ՝ https://www.powerhouse-electronics.com: Շնորհակալություն, Jimիմ Քեմփ
Խորհուրդ ենք տալիս:
Լամպի ընթացիկ սահմանափակիչ `9 քայլ (նկարներով)
Էլեկտրական լամպի հոսանքի սահմանափակիչ. Խնդրում ենք մի փորձեք այս նախագիծը, եթե ձեզ հարմար չէ բարձրավոլտ էլեկտրաէներգիայի հետ աշխատել: Այս նախագիծը լամպ պատրաստելն է
Միկրոհսկիչների զարգացման խորհրդի նախագծում. 14 քայլ (նկարներով)
Միկրոկառավարիչների զարգացման խորհրդի նախագծում. Դուք ստեղծող, հոբբի՞ կամ հաքեր եք, ովքեր շահագրգռված են բարձրացնել տախտակամածի նախագծերը, DIP IC- ները և տնային պատրաստված PCB- ները բազմաշերտ PCB- ներին, որոնք պատրաստված են տախտակներից և SMD փաթեթավորումներից, որոնք պատրաստ են զանգվածային արտադրության: Ապա այս խրատը ձեզ համար է: Այս ուղեցույցը
Դեկորատիվ LED լամպի ձայնային ռեակտիվ (Arduino). 5 քայլ (նկարներով)
Դեկորատիվ LED լամպ ձայնային ռեակտիվ (Arduino). Բարի օր, դա իմ առաջին խրատականն է, և ես անգլիացի չեմ;) խնդրում եմ ներեք ինձ, եթե սխալներ թույլ տամ: Թեման, որի մասին ուզում էի խոսել, LED լամպ է, քան կարող է նաև հնչել ռեակտիվ: Պատմությունը սկսվում է իմ կնոջից, որին պատկանում է Ikea- ի այս լամպը, քանի որ ահա
PCB- ի նախագծում և մեկուսացում `միայն անվճար ծրագրակազմի միջոցով. 19 քայլ (նկարներով)
PCB- ի նախագծում և մեկուսացում `օգտագործելով միայն անվճար ծրագրակազմ. ջրաղաց/երթուղիչ, այնքան ավելի ճշգրիտ է խաղադրույքը
LED- ների ամրացում դինամո լամպի մեջ. 12 քայլ (նկարներով)
Բարև, կրկին, Ինչպես գիտեք, հեծանիվների լուսավորության համակարգեր կառուցելու մի քանի հրահանգներ կան, բայց, այո, ես ուզում էի տեղադրել իմ սեփականը: Մի քանի ժամ հրահանգներ որոնելուց հետո ես չտեսա Bulb-Led- ի համապատասխան փոխակերպում, ես պարզապես մի քանի սպամ տեսա