Talaan ng mga Nilalaman:

Pagdidisenyo ng isang Multi Node LED PWM Lamp: 6 Hakbang (na may Mga Larawan)
Pagdidisenyo ng isang Multi Node LED PWM Lamp: 6 Hakbang (na may Mga Larawan)

Video: Pagdidisenyo ng isang Multi Node LED PWM Lamp: 6 Hakbang (na may Mga Larawan)

Video: Pagdidisenyo ng isang Multi Node LED PWM Lamp: 6 Hakbang (na may Mga Larawan)
Video: Introduction to NodeMCU ESP8266 WiFi Development board with HTTP Client example- Robojax 2024, Nobyembre
Anonim
Pagdidisenyo ng isang Multi Node LED PWM Lamp
Pagdidisenyo ng isang Multi Node LED PWM Lamp

Ang itinuturo na ito ay ipapakita kung paano ko dinisenyo ang isang LED PWM Lamp controller. Ang maramihang mga ilawan ay maaaring i-strung nang magkasama upang makagawa ng malalaking mga string ng ilaw. Ang paglikha ng ilang mga blinky LED na ilaw para sa Pasko ay palaging nasa listahan ng aking hiling. Noong nakaraang panahon ng Pasko talagang nagsimula akong mag-isip tungkol sa pagbuo ng isang bagay. Ang aking unang naisip ay, ang bawat LED lamp ay maaaring konektado sa isang pares ng mga wire. Ang lakas sa mga LED lamp ay maaaring isang senyas ng AC na magwawalis mula sa isang mababang dalas hanggang sa isang mataas na dalas. Ang isang filter na band-pass na binuo sa bawat lampara ay magpapasara sa LED kapag ang dalas ay tumutugma sa dalas ng gitna ng filter na band-pass. Kung ang mga filter ng band-pass, tama ang pag-setup, maaaring gawin ang isang pagkakasunud-sunod ng paghabol sa LED. Talaga, sa pamamagitan ng paglukso sa iba't ibang mga frequency sa halip na pagwawalis, ang alinman sa mga LED ay maaaring i-on. Gamit ang isang H-Bridge driver chip, ang pagmamaneho ng nais na dalas pababa ng mga wire ay hindi dapat masyadong matigas. Baho, mabaho lang ako sa disenyo ng analog - Mas marami akong uri ng software ng isang tao. Matapos ang isang pares ng mga pagsubok sa bench, mabilis akong sumuko sa paggamit ng analog. Ang talagang gusto ko ay isang LED lamp na maaaring ganap na makontrol upang maipakita ang anumang kulay na gusto ko. Oh, at dapat itong may kakayahang gumamit ng PWM (modulate ng lapad ng pulso) upang ang mga LED ay maaaring rampa, o i-off sa mga cool na pattern. Ang sumusunod sa itinuturo na ito ay isang paglalarawan ng isang talagang cool na disenyo batay sa isang Microchip microprocessor na nahulog sa aking pagnanasa para sa mga ilaw ng puno ng Pasko. Magkaroon ng mabilis na pagtingin sa video sa ibaba upang makita nang mabilis kung ano ang maaring ipakita ng Kemper LED PWM Lamp Controller. Tandaan, mahirap makakuha ng isang mahusay na video ng mga LEDs sa pagkilos na gumagamit ng PWM para sa control ng intensity. Ito ang parehong problema kapag sinubukan mong i-video ang isang computer monitor. Ang 60Hz ng LEDs ay nakakakuha ng isang beat frequency fight na may 30Hz ng camcorder. Samakatuwid, habang may mga oras na ang video ng mga LED ay medyo "glitchy", hindi talaga ito ang kaso. Ang mga LED ay hindi lilitaw na mayroong anumang mga glitches kapag tiningnan ng mata ng tao. Tingnan ang hakbang ng software sa ibaba para sa karagdagang talakayan tungkol sa pag-tap sa video ng mga LED.

Hakbang 1: Mga Layunin sa Disenyo

Mga Layunin sa Disenyo
Mga Layunin sa Disenyo

Matapos gugulin ang pahinga sa Pasko na iniisip ang tungkol sa proyektong ito ay nakabuo ako ng isang listahan ng nais. Narito ang ilan sa mga tampok (pinagsunod-sunod ayon sa pagkakasunud-sunod) Nais ko sa aking LED Controller: 1) Ang bawat LED lamp ay dapat na mura hangga't maaari. Ang isang string ng 100 lampara ay nagkakahalaga ng isang bungkos kung ang bawat lampara ay nagkakahalaga ng maraming. Ang gastos, samakatuwid, ay isang pangunahing kadahilanan.2) Ang bawat lampara ay magkakaroon ng isang maliit na micro sa board na magdadala sa mga LED. Ang maliliit na micro ay bubuo ng mga signal ng PWM upang ang mga LED ay maaaring dimmed, o kupas. Ang mga LED ay maaaring magmukhang malupit kapag simpleng nakabukas, at naka-off. Ang paggamit ng mga signal ng PWM na ang mga LED ay maaaring mapula pataas at pababa nang walang mga matitigas na gilid nang normal sa mga LED.3) Upang panatilihing simple ang mga kable ng bawat lampara ay tatanggap ng mga utos gamit ang isang interface na dalawang kawad. Ang kapangyarihan at mga komunikasyon ay magbabahagi ng parehong dalawang mga wire. Ang mga utos sa mga ilawan ay sasabihin sa on board na micro alin sa mga LED na magmaneho gamit ang PWM.4) Dapat magmukhang cool! Sa palagay ko ito ay dapat na muling mabilang muli kaya't ito ang bilang uno. Narito ang ilan sa mga menor de edad na layunin sa disenyo (walang partikular na pagkakasunud-sunod): 1) Para sa pag-unlad, dapat na madaling i-reflash / reprogram in-circuit. 2) Dapat magkaroon ang isang PC bumuo ng mga utos sa mga ilawan. Ginagawa nitong mas madali ang pagbuo ng mga pattern kaysa sa paggamit ng isa pang naka-embed na micro.3) Ang bawat lampara ay dapat magkaroon ng isang natatanging address. Ang bawat LED, sa loob ng isang ilawan, dapat ding natatanging matugunan.4) Ang command na proteksyon ay dapat suportahan ang Maraming mga ilawan sa isang string ng mga wire. Sinusuportahan ng kasalukuyang disenyo ang 128 lampara sa isang string. Sa 4 na LED bawat lampara na gumagana hanggang sa 512 LEDs sa isang string ng dalawang wires! Tandaan din, ang bawat isa sa mga 512 LED na iyon ay may buong PWM na nagtutulak nito.5) Ang protocol ay dapat magkaroon ng isang utos na nagsasabing, "Simulan ang pagkupas ng LED mula sa antas na ito hanggang sa antas na iyon". Kapag nagsimula ang pagkupas, ang iba pang mga LED ay maaari ding i-set up at itakda sa pagkupas sa parehong lampara. Sa madaling salita, pag-set up ng isang LED sa isang kumukupas na pattern at pagkatapos ay kalimutan ito alam na ang LED ay isakatuparan ang utos. Ipinapahiwatig nito ang multitasking software sa micro! 6) Dapat mayroong mga pandaigdigang utos na nakakaapekto sa lahat ng mga lampara nang sabay-sabay. Samakatuwid, ang lahat ng mga LED ay maaaring utusan gamit ang isang utos lamang. Narito ang ilang talagang menor de edad na mga layunin sa disenyo (muli, walang partikular na pagkakasunud-sunod): 1) Kailangan mo ng isang paraan upang magkaroon ng isang ulat ng lampara kapag nangyari ang isang error sa comm. Papayagan nitong maging sama ng loob ang utos.2) Ang command protocol ay nangangailangan ng isang paraan upang magkaroon ng isang magarbong pattern ng pandaigdigan na tugma. Papayagan nitong mapili ang bawat x bilang ng mga lampara na may isang utos. Mas madali nitong makagawa ng mga pattern sa paghabol na may maraming mga ilawan. Bilang isang halimbawa, papayagan nitong ipadala ang isang utos sa bawat pangatlong lampara sa isang string ng mga lampara. Pagkatapos, ang susunod na utos ay maaaring maipadala sa susunod na pangkat ng tatlo. 3) Ang isang auto comm polarity na makitang sistema ng lohika ay magiging mahusay din. Pagkatapos, ang polarity ng dalawang feed wires sa mga LED lamp ay naging hindi mahalaga. Tingnan ang seksyon ng hardware para sa higit pa sa tampok na ito.

Hakbang 2: Prototyping:

Prototyping
Prototyping
Prototyping
Prototyping
Prototyping
Prototyping

Maagang bahagi ng Enero ngayon at pupunta ako. Natagpuan ko ang 10F206 sa Digikey at ito ay talagang mura! Kaya, pinaikot ko ang isang board ng proto upang hawakan ang isang 10F206 micro mula sa Microchip. Dinisenyo ko ang isang mabilis na board dahil ang 10F2xx ay hindi magagamit sa isang pakete ng DIP. Sa ilalim ng linya, hindi ko nais na mag-abala sa maliit na maliit na tilad. (Tiwala ako noong Enero) Humiwalay din ako at bumili ng isang bagong CSS C compiler na naka-target sa 10F2xx micros. Ang pamilya ng 10F2xx ng chips ay talagang mura! Sa mataas na pag-asa, sumisid ako at nagsimulang magsulat ng maraming code. Ang 10F206 ay may napakalaki na 24 bytes ng RAM - ang chip ay nagpapalakas din ng 512 bytes ng flash at isang walong bit na timer. Habang ang mga mapagkukunan ay kalat-kalat, ang presyo ay mabuti sa 41 cents sa maraming dami. Sus, isang milyong tagubilin bawat segundo (1 MIPS) para sa 41 cents! Mahal ko lang ang Batas ni Moore. Ang Evan sa isang presyo, ang 10F206 mula sa Digikey ay nakalista sa 66 cents. Gumugol ako ng maraming oras sa pagtatrabaho sa 10F206. Habang nagtatrabaho kasama ang 10F206 natuklasan ko na ang multitasking ay ganap na kinakailangan. Ang mga signal ng output ng PWM ay DAPAT panatilihing nai-update kahit na habang tumatanggap ng mga bagong mensahe sa komunikasyon. Ang anumang pagkagambala sa pag-update ng mga signal ng PWM ay makikita bilang mga glitches sa mga LED. Ang mata ng tao ay talagang mahusay na makita ang mga glitches. Mayroong isang pares ng mga pangunahing problema sa 10F206 chip. Hindi bababa sa mga pangunahing problema para sa aking aplikasyon. Ang unang problema ay na walang mga nakakagambala! Ang pagkuha ng simula ng mga bagong komunikasyon gamit ang isang loop ng botohan ay gumagawa ng mga error sa tiyempo. Ang pangalawang problema ay mayroon lamang isang timer. Hindi lang ako makahanap ng isang paraan upang makatanggap ng mga utos habang pinapanatili ang mga output ng PWM. Ang LEDs ay glitch sa bawat oras na ang isang bagong utos ay natanggap. Ang pagbabahagi ng timer sa pagitan ng pagtanggap ng mga utos at pagmamaneho ng mga output ng PWM ay isa ring pangunahing abala sa software. Hindi ko ma-reset ang timer habang tumatanggap ng isang bagong character dahil ang timer ay ginagamit din upang makontrol ang mga signal ng PWM. Habang nagtatrabaho kasama ang 10F206 nakakita ako ng isang artikulo sa Circuit Cellar tungkol sa bagong maliit na maliit na MC9RS08KA1 micro ng Freescale. Gustung-gusto ko ang Freescale chips - Ako ay isang malaking tagahanga ng kanilang BDM debugging. Ginamit ko ang Star12 chips ng marami sa nakaraan (Isinulat ko ang lahat ng software para sa GM Cadillac & Lacern ultrasonic system sa isang Star12 - ang aking ultrasonic software ay nasa produksyon ngayon sa dalawang kotseng ito). Kaya, talagang umaasa ako na ang kanilang bagong maliit na maliit na chips ay magiging mabuti. Tama din ang presyo, ang Digikey ay may mga chips na ito na nakalista sa 38 cents sa maraming dami. Ang Fccale ay mahusay at pinadalhan ako ng ilang mga libreng sample. Gayunpaman, ang Freescale 9RS08 chip ay tila totoong maloko - hindi ako makagawa ng higit na daanan dito. Ang chip ay naghihirap din sa kakulangan ng mga nakakagambala at isang timer lamang. Oh mabuti, hindi bababa sa naisip ko na lahat ay walang pag-aaksaya ng pera sa pag-ikot ng isa pang board ng proto. Tingnan ang mga larawan sa ibaba. Ngayon alam ko - para sa aking aplikasyon dapat akong magkaroon ng mga nakakagambala at higit sa isang timer. Bumalik sa Microchip, nahanap ko ang 12F609 chip. Mayroon itong mga nakakagambala at dalawang timer. Mayroon din itong 1K ng flash at 64 bytes ng RAM. Downside ang presyo; Inililista ni Digikey ang mga chips na ito sa 76 cents sa malaking dami. Oh well, ang Batas ni Moore ay aalagaan iyon sa lalong madaling panahon. Sa karagdagang panig, ang 12F609 ay maaari ding mag-order sa mga pakete ng DIP. Sa panig ng minus, kailangan kong bumili ng susunod na tagabuo ng level up - medyo nasunog ang aking @ # $%&.Ngayon ay Abril at marami akong natutunan tungkol sa hindi gagana. Nag-spun ako ng isang board at nasayang ang pera sa isang tagatala na hindi ko kailangan. Gayunpaman, ang pagsubok sa ngayon ay nakapagpapatibay. Sa bagong tagatala at 12F209 chips sa DIP packages bench level testing ay mabilis na nagpunta. Ang pagsubok ay nakumpirma na ako ay may tamang chip. Oras upang paikutin ang isa pang board board! Sa puntong ito, determinado ako.

Hakbang 3: 12F609 Development Board

12F609 Development Board
12F609 Development Board
12F609 Development Board
12F609 Development Board
12F609 Development Board
12F609 Development Board
12F609 Development Board
12F609 Development Board

OK, sariwang pagsubok sa bench, handa akong subukan ang isa pang board spin. Sa disenyo ng board na ito, nais kong subukan ang ideya ng pagpapadala ng lakas at komunikasyon sa parehong dalawang wires. Kung ang mga error sa comm ay hindi pinansin, dalawang wires lamang ang kinakailangan. Iyon ay down lamang karapatan cool! Habang ang pagpapadala ng mga komunikasyon sa mga wire ng kuryente ay cool, hindi ito kinakailangan. Ang lahat ng mga ilawan ay maaaring konektado magkasama sa isang solong wire kung nais. Mangangahulugan ito na ang bawat lampara ay mangangailangan ng tatlong mga wire na may ika-apat na opsyonal na kawad ng katayuan ng feedback. Tingnan ang diagram sa ibaba. Ang kapangyarihan at komunikasyon ay maaaring pagsamahin gamit ang isang simpleng H-Bridge. Ang H-Bridge ay maaaring magmaneho ng malalaking alon nang walang anumang problema. Marami, mataas na kasalukuyang LEDs, ay maaaring strung magkasama sa dalawang wires lamang. Ang polarity ng DC power sa mga lampara ay maaaring ilipat nang napakabilis gamit ang H-Bridge. Kaya, ang bawat lampara ay gumagamit ng isang buong tulay ng alon upang maitama ang paglipat ng DC pabalik sa normal na lakas ng DC. Ang isa sa mga micro pin ay kumokonekta sa hilaw na papasok na paglipat ng DC power upang ang signal ng comm ay maaaring makita. Ang isang kasalukuyang pumipigil sa risistor ay pinoprotektahan ang digital input sa micro. Sa loob ng micro input pin, ang hilaw na boltahe ng switching DC ay naka-clamp gamit ang panloob na mga diode ng kampo ng micro - ang switching DC ay naka-clamp (zero sa Vcc volts) ng mga diode na ito. Ang buong tulay ng alon na tumutuwid sa papasok na lakas ay bumubuo ng dalawang patak ng diode. Ang dalawang patak ng diode mula sa tulay ay nalampasan lamang sa pamamagitan ng pag-aayos ng boltahe ng supply ng H-Bridge. Ang isang boltahe na H-Bridge na anim na bolta ay nagbibigay ng magandang supply na limang-bolta sa micro. Indibidwal na naglilimita ng resistors pagkatapos ay ginagamit upang putulin ang kasalukuyang sa pamamagitan ng bawat LED. Tila gumagana nang maayos ang iskema ng kapangyarihan / comm. Nais ko ring subukan na magdagdag ng mga output ng transistor sa pagitan ng micro at ng LEDs. Sa panahon ng pagsubok sa bench, kung ang 12F609 ay itulak sa matigas (masyadong maraming kasalukuyang sa output path nito) ito ay magpapitik sa lahat ng mga output. Ang kasalukuyang kasalukuyang para sa buong chip ayon sa datasheet na maaaring suportahan ng 12F609 ay 90mA, kabuuan. Sa gayon, hindi iyon gagana! Baka kailangan ko pa ng mas maraming kasalukuyang kaysa rito. Ang pagdaragdag ng mga transistor ay nagbibigay sa akin ng kakayahan na 100mA bawat LED. Ang tulay ng diode ay na-rate sa 400mA kaya't magkasya lamang ang 100mA bawat LED na kakayahan. Mayroong isang downside; ang mga transistor ay nagkakahalaga ng 10 cents, bawat isa. Hindi bababa sa ang mga transistor na pinili ko ay nagtayo ng mga resistor - ang numero ng Digikey na bahagi ay MMUN2211LT1OSCT-ND. Sa mga transistors sa lugar, WALANG pagkutitap ng mga LED. Para sa mga lampara sa produksyon sa palagay ko ang mga transistors ay hindi kinakailangan kung ang "normal" na 20mA LEDs ay ginagamit. Ang development board na idinisenyo sa hakbang na ito ay para lamang sa pagsubok at pag-unlad. Ang board ay maaaring maging mas maliit kung gagamitin ang mas maliit na resistors. Ang pag-aalis sa mga transistors ay makatipid din ng isang pangkat ng puwang sa board. Ang in-circuit programming port ay maaari ring alisin para sa mga board ng produksyon. Ang pangunahing punto ng development board ay upang patunayan lamang ang power / comm scheme. Sa katunayan, pagkatapos matanggap ang mga board, natuklasan kong may problema sa layout ng board. Ang buong chip ng tulay ng alon ay may isang maloko na pinout. Kailangan kong putulin ang dalawang mga bakas at magdagdag ng dalawang mga jumper wires sa ilalim ng bawat board. Bilang karagdagan, ang mga bakas sa mga LED at konektor ay masyadong payat. Oh well, mabuhay at matuto. Hindi magiging unang pagkakataon na nagtaguyod ako ng isang bagong layout ng board. Mayroon akong walong board na ginawa gamit ang BatchPCB. Mayroon silang mga pinakamahusay na presyo ngunit ang mga ito ay sooooo sloooow. Tumagal ng ilang linggo upang maibalik ang mga board. Gayunpaman, kung sensitibo ang iyong presyo, ang BatchPCB ang tanging paraan upang pumunta. Gayunpaman, babalik ako sa AP Circuits - ang mga ito ay napakabilis. Nais ko lamang na magkaroon sila ng isang mas murang paraan upang maipadala ang mga board sa labas ng Canada. Ang AP Circuits ay nagbubunga sa akin ng 25 pera sa pagpapadala para sa bawat order. Masakit iyon kung bibili lamang ako ng 75 bucks na halaga ng mga board. Inabot ako ng dalawang araw upang maghinang ang walong maliliit na board. Tumagal ng isa pang araw upang malaman na ang pull-up risistor R6 (tingnan ang eskematiko) ay ginugulo sa akin. Sa palagay ko ang risistor R6 ay hindi kinakailangan. Nag-alala ako pagkatapos basahin ang datasheet at ipinahiwatig nito na walang panloob na mga micro pull-up sa input pin na ito. Sa aking disenyo, ang pin ay aktibong hinihimok palagi kaya't ang isang pull-up ay hindi talaga kinakailangan pagkatapos ng lahat. Upang magpadala ng mga utos sa board Gumamit ako ng mga simpleng mensahe ng 9600-baud mula sa isang programa ng Python. Ang hilaw na RS232 na lumalabas sa PC ay na-convert sa TTL gamit ang isang MAX232 chip. Ang signal ng RS232 TTL ay papunta sa input ng control ng H-Bridge. Ang RS232 TTL ay dumadaan din sa isang inverter gate sa isang 74HC04 chip. Ang baligtad na RS232 pagkatapos ay papunta sa iba pang input ng control ng H-Bridge. Kaya, nang walang trapiko sa RS232, ang H-Bridge ay naglalabas ng 6 volts. Para sa bawat piraso sa RS232, i-flip ng H-Bridge ang polarity sa -6 volts hangga't tumatagal ang RS232 bit. Tingnan ang mga larawan ng block diagram sa ibaba. Ang programa ng Python ay nakakabit din. Para sa mga LED, bumili ako ng isang bungkos mula sa https://besthongkong.com. Mayroon silang maliwanag na 120 degree LEDs na pula / berde / asul / puti. Tandaan, ang mga LED na ginamit ko ay para lamang sa pagsubok. Bumili ako ng 100 sa bawat kulay. Narito ang mga numero para sa mga ginamit kong LED: Blue: 350mcd / 18 cents / 3.32V @ 20mAGreen: 1500mcd / 22 cents / 3.06V @ 20mAWhite: 1500mcd / 25 cents / 3.55V @ 20mARed: 350mcd / 17 cents / 2.00V @ 20mAUsing ang apat na LEDs na ito upang mapunan ang lampara, nagdagdag sila hanggang sa gastos na kasing dami ng micro sa 82 cents! Ouch

Hakbang 4: Software

Software
Software
Software
Software
Software
Software

Talagang ginagawa ng software ang proyektong ito! Ang source code sa 12F609 ay talagang kumplikado. Gumagamit ako ng huling lokasyon ng memorya! Lahat ng 64 bytes ay natupok ng aking code. Mayroon akong napakalaki na 32 bytes ng flash na natitira bilang ekstrang. Kaya, gumagamit ako ng 100% ng RAM at 97% ng flash. Gayunpaman, kamangha-mangha kung magkano ang pag-andar na nakukuha mo para sa lahat ng pagiging kumplikado. Ang komunikasyon sa bawat lampara ay nai-archive sa pamamagitan ng pagpapadala ng walong byte na mga packet ng data. Ang bawat packet ng data ay nagtatapos sa isang Checkum - kaya talaga, mayroong pitong byte ng data kasama ang isang pangwakas na pagsusuri. Sa 9600 baud, ang isang data packet ay tumatagal ng higit sa 8 milliseconds upang makarating. Ang trick ay upang mag-multitask habang darating ang packet ng bytes. Kung ang alinman sa mga LED ay aktibo na may isang PWM signal, ang output PWM ay dapat na panatilihing nai-update kahit na habang tumatanggap ng mga bagong byte ng packet. Iyon ang daya. Inabot ako ng mga linggo at linggo upang ayusin ito. Gumugol ako ng isang malaking halaga ng oras sa pagtatrabaho sa aking Logiport LSA na sinusubukan na sundin ang bawat kaunti. Ito ang ilan sa mga pinaka-kumplikadong code na naisulat ko. Ito ay dahil ang micro ay limitado lamang. Sa mga micros na mas malakas pa madali itong magsulat ng maluwag / madaling code at magkaroon ng mabilis na mikro rip sa pamamagitan nito nang hindi nagrereklamo. Sa 12F609, ang anumang maluwag na code na nagkakahalaga sa iyo ng marami. Ang lahat ng mga micro source code ay nakasulat sa C maliban sa nakakagambala na gawain sa serbisyo. Bakit may mga malalaking packet ng data na maaari mong tanungin. Kaya, dahil nais naming magkaroon ng LEDs ramp up at down sa kanilang sariling kasunduan. Kapag na-load ang isang profile sa rampa, ang LED ay maaaring patayin at magsimulang mag-ramping kahit na tumatanggap ng mga bagong utos para sa isa pang LED. Ang bawat lampara ay kailangang makatanggap at mag-decode ng lahat ng trapiko ng packet ng data kahit na ang pakete ay hindi inilaan para dito. Ang isang profile sa LED ay binubuo ng isang antas ng pagsisimula, simulan ang oras ng tirahan, rate ng rampa, tuktok na antas, tuktok na oras ng tirahan, rampa na rate, ilalim na antas. Tingnan ang kalakip na diagram. Wow, marami iyan para sa isang LED. Ngayon, i-multiply na ang beses sa bilang ng mga LED. Nagiging sobra ito - masusubaybayan ko lamang ang tatlong mga LED na may buong mga profile sa rampa. Ang pang-apat (puting LED sa dev board) ay may rampa lamang mula / patungo sa kakayahan. Ito ay isang kompromiso. Tingnan ang nakalakip na larawan ng isang ramp profile. Ang PWM signal ay nabuo mula sa isang timer na tumatakbo sa 64uS bawat tick. Ang walong bit timer ay gumulong sa bawat 16.38mS. Nangangahulugan ito na ang signal ng PWM ay tumatakbo sa 61.04Hz. Hindi ito mabuti para sa pag-tap sa video! Kaya, gumamit ako ng isang trick ng software at tumalon ng ilang labis na bilang sa timer upang mabatak ito hanggang sa 60Hz. Ginagawa nitong mas mahusay ang pag-tap sa video. Sa bawat roll-over ng PWM timer (16.67mS) ina-update ko ang (mga) profile ng ramp. Samakatuwid, ang bawat ramp / tirahan na tick ay 1/60 ng isang segundo, o 60Hz. Ang pinakamahabang segment ng profile (gamit ang bilang ng 255) ay tatagal ng 4.25 segundo at ang pinakamaikli (gamit ang bilang ng 1) ay tumatagal ng 17ms. Nagbibigay ito ng magandang saklaw upang magtrabaho sa loob. Magkaroon ng isang pagtingin sa naka-attach na larawan mula sa taga-analisa ng lohika. Upang makita talaga ang detalye sa pic, buksan ang pic sa mode na may mataas na resolusyon. Tumatagal ito ng ilang dagdag na pag-click sa itinuturo na web site. Mayroon ding isang guhit ng isang profile na ipinakita sa ibaba. Ang pagdodokumento ng command protocol ay nasa aking listahan ng todo. Plano kong magsulat ng isang uri ng dokumento ng datasheet upang ilarawan ang buong proteksyon. Nagsimula ako ng isang datasheet para sa maliit na tilad - isang paunang bersyon ay nasa aking web site ngayon.

Hakbang 5: Mga Potensyal na Aplikasyon

Mga Potensyal na Aplikasyon
Mga Potensyal na Aplikasyon
Mga Potensyal na Aplikasyon
Mga Potensyal na Aplikasyon

Christmas Tree Light: Para sigurado, sa palagay ko ang isang puno na puno ng mga sanggol na ito ay magiging kahanga-hanga. Naiisip ko ang isang magandang mainit na ilaw ng mga berdeng ilaw na may light snow na bumabagsak sa puno. Marahil isang mabagal na pagkupas mula berde hanggang pula na may sapal na pagbagsak ng niyebe. Ang mga ilaw ng chaser na gumagawa ng isang helix spiral pattern pataas at pababa sa puno ay magiging maayos din. Sa magaspang, iparada ko ang punong ito sa bakuran at mabaliw ang "Jones" na katabi. Doon, subukan at talunin iyon! Pag-iilaw ng accent: Anumang bagay na nangangailangan ng pag-iilaw ng accent ay isang target para sa mga lamp na ito. Nais ng aking bayaw na ilagay sila sa ilalim ng kanyang tangke ng isda. Nais ng isang kaibigan na tuldikin ang kanyang hot rod engine - ang pagpadyak sa gas pedal ay magpapalaganap ng isang pulang flash ng ilaw. Isinasaalang-alang ko rin ang pagbuo ng isa sa mga ito gamit ang aking mga lampara: https://www.instructables.com/id/LED_Paper_Craft_Lamps/ Gagawa para sa isang mahusay na proyekto ng Cub Scouts. Folding LED String: Ang isang string ng mga LED lamp ay maaaring nakatiklop sa mga hugis. Pitong lampara ay maaaring nakatiklop sa isang pitong segment na pattern ng LED. Ang isang malaking pagpapakita ay maaaring magawa - ay magiging isang mahusay na count-down na display para sa mga bagong taon! O marahil, isang display upang ipakita ang stock market - mga pulang digit sa hindi magandang araw at berde sa mabuti. Siguro isang malaking display na nagpapakita ng labas ng temperatura. Mayroong ilang mga cool na halimbawa ng 3D LED array sa YouTube. Gayunpaman, ang mga mayroon nang mga halimbawa na nakita ko ay mukhang maliit at masakit sa kawad. Marahil isang malaking 3D grid sa labas ng bakuran sa panahon ng Pasko din. WinAmp Plug-In: Ang bawat isa na nasa aking lab, at nakita ang mga ilaw, nagtanong kung sumayaw sila sa musika. Gumawa ako ng kaunting paghuhukay, mukhang magiging madali upang magdagdag ng isang plug-in sa WinAmp. Ang plug-in ay magpapadala ng mga mensahe sa isang nakakabit na string ng mga lampara upang ang mga ilaw ay mai-sync sa musika na pinatugtog ng WinAmp. Ang pagsi-sync ng ilang musika sa Pasko ay magiging kahanga-hanga lamang. Naka-embed na Baby Orangutan B-328 Robot Controller na may H-Bridge: Ang maliit na tagakontrol mula sa Pololu ay magiging perpekto. Tingnan: https://www.pololu.com/catalog/product/1220 Ang board na ito ay mayroon nang H-Bridge na handa nang puntahan. Ang mga pattern ng lampara ay maaaring mai-program sa micro upang ang PC ay maaaring patayin. 802.15.4: Sa pamamagitan ng pagdaragdag ng 802.15.4 ang mga lampara ay maaaring maging wireless. Para sa mga ilaw ng Christmas tree ay kumalat sa paligid ng bahay, magiging maganda ito. O, ang pagdaragdag ng mga lampara sa bawat bintana sa isang malaking gusali ay posible. Cool. Rotating 'Lighthouse Beacon: Ang aking anak na lalaki ay nagkaroon ng isang proyekto sa paaralan upang magtayo ng isang Parola. Ang ideya ay upang bumuo ng isang cheesy baterya na pinapatakbo ng ilaw na may isang switch ng clip ng papel upang ang Lighthouse ay aktwal na magaan. Walang anak kong lalaki ang pupunta sa paaralan kasama iyon kapag siya ay maaaring magkaroon ng isang buong tinatangay ng hangin na umiikot na beacon! Tingnan ang nakalakip na mga litrato at video.

Hakbang 6: Buod

Totoong namamangha ito sa akin na ang bawat ilawan ay mayroong 2 MIPS ng horsepower sa isang SOIC-8 sa halagang 80 cents. Tulad ng isang string ng lampara ay napalawak sa pamamagitan ng pagdaragdag ng higit pang mga lampara ang halaga ng MIPS sa string ay umakyat din. Sa madaling salita ito ay isang nasusukat na disenyo. Ang isang string ng 16 lampara ay humuhuni kasama ang 32 MIPS ng pagpoproseso ng lakas. Nakakamangha lang. Marami pa ring trabaho ang dapat gawin. Ang pag-unlad ng lupon ay kailangang i-update. Mayroong isang pares ng mga layout ng bug na kailangan ng pagwawasto. Ang mga error na output ng error sa output ay tila hindi gumagana sa output ng transistor. Hindi pa sigurado kung bakit - Wala pa akong ginugol na oras sa pag-aayos nito. Ang pagtanggap ng code ng komunikasyon ay nangangailangan ng kaunting trabaho din. Sa pamamagitan ng panonood ng mga LED na nakikita kong may mga pagkakamali sa bawat madalas. Lumilitaw na mayroong isang average ng isang random na error sa bawat 1000 mga mensahe. Kailangan kong maghanap ng isang paggawa ng SMD na nais na gumawa ng mga lampara para sa akin. Siguro magiging interesado ang Spark Fun? Mayroon akong isang kaibigan sa Hong Kong na maaaring makahanap sa akin ng isang paggawa. Ang pagpupulong ng lupon ay dapat na awtomatiko. Hindi ko magagawa na itayo ang mga board na ito sa pamamagitan ng kamay tulad ng ginawa ko. Ang isang PC interface board ay kailangang binuo. Ito ay dapat talagang madali - isang bagay lamang sa paglalaan ng oras upang matapos ito. Ang gastos ay hari - isang pinaliit na gastos sa lampara (80 sentimo para sa micro + tatlong LED na 10 cents bawat + board / resistors / 20 cent diode bridge) isang kabuuang siguro $ 1.50 na pera. Magdagdag ng pagpupulong, mga kable, at kita at nagsasalita kami ng $ 2.00 hanggang $ 2.50 bawat lampara. Magbabayad ba ang mga geeks ng $ 40 bucks para sa isang string ng 16 RGB lamp sa isang string? Sa ilalim na linya, inaasahan kong may interes mula sa DIY crowd. Sa ilang positibong puna ay magpapatuloy kong ituloy na gawing isang produkto ang ideyang ito. Naiisip ko ang pagbebenta ng mga chips, lampara ng board, at kumpletong mga light string. Binigyan ako ng ilang puna at ipaalam sa akin kung ano ang iniisip mo. Para sa karagdagang impormasyon at patuloy na pag-unlad na balita bisitahin ang aking web site sa https://www.powerhouse-electronics.comThanks, Jim Kemp

Inirerekumendang: