INHOUDSOPGAWE:

Hoe om baie LED's uit 'n paar mikrokontroller -penne te dryf: 6 stappe (met foto's)
Hoe om baie LED's uit 'n paar mikrokontroller -penne te dryf: 6 stappe (met foto's)

Video: Hoe om baie LED's uit 'n paar mikrokontroller -penne te dryf: 6 stappe (met foto's)

Video: Hoe om baie LED's uit 'n paar mikrokontroller -penne te dryf: 6 stappe (met foto's)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, November
Anonim
Hoe om baie LED's uit 'n paar mikrokontroller -penne te dryf
Hoe om baie LED's uit 'n paar mikrokontroller -penne te dryf

Met die feit dat baie mikrobeheerspennetjies drie toestande het (+V, GND of "hoë impedensie", kan u N*(N-1) LED's van N-penne dryf. Dus kan die klein 8-pins mikrobeheerder soos 'n PIC12Fxxx of 'n ATtiny11 dryf. 20 LED's op sy vyf beskikbare uitvoerpenne, en nog 'n pen oor vir 'n soort invoer. Sien ook

Stap 1: 20 LED's op 5 penne

20 LED's op 5 penne
20 LED's op 5 penne

Die huidige opbrengs van mikro-beheerders met 'n lae speldtelling (6 penne tot 20 penne op

die hele pakket) is pragtig en 'oulik', maar die vraag is hoe u die penne die beste kan gebruik vir algemene toepassings, soos die bestuur van LED's. 'N Direkte verbindingsbenadering tot die bestuur van LED's verbruik een pen vir elke LED. 'N Tradisionele multiplexeringskema waar rye LED -anodes deur 'n stel N -penne aangedryf word en elke ry se gemeenskaplike katode deur 'n ander stel M -penne aangedryf word, slaag daarin om N*M -LED's met N+M -penne aan te steek. Maar op 'n verwerker met slegs 5 of minder uitsette (soos die geval is met die meeste 8-pen mikrobeheerders), kry u skaars meer uitsette as direkte dryf.

Stap 2: Charlieplexing

Charlieplexing
Charlieplexing

Gestel die uitsetpenne is in werklikheid in drie toestande (aktief hoog, aktief laag en hoog impedensie (invoer)), is dit ook moontlik om die ry- en kolombestuurders te deel en N*(N-1) LED's met slegs N-penne te beheer. Een pen is verbind met algemene katodes van 'n ry LED's en aangedryf laag, en die oorblywende N-1-penne is aan die anodes gekoppel en eitherdryed hoog om daardie kolom aan te steek, of as insette gelaat om die LEDoff te verlaat. Maxim noem hierdie tegniek "Charlieplexing", en beskryf dit in (1); Microchip noem dit ook in hul dokument (2) (en implementering ook op die PICKit 1-bord.) (1) "Charlieplexing-Verminderde pin-count LED-skermvermenigvuldiging" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "Tips 'n truuks 8-pins FLASH PIC-mikrobeheerders" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf (3) Charlieplexing LEDs- The theory An Instructable deur rgbphil

Stap 3: Om dit aan die werk te sit

Om dit aan die werk te sit
Om dit aan die werk te sit
Om dit aan die werk te sit
Om dit aan die werk te sit

Dit dryf 20 LED's van 'n ATtiny11. 'N Vorige weergawe van hierdie bord was

eintlik gebou en verskyn as die hoofbladfoto. Ek is bang die prentjie van die skematiese is redelik hopeloos; jy het Eagle nodig om jou te vertel watter seine waar verbind is.

Stap 4: Kleiner en veelsydiger …

Kleiner en veelsydiger …
Kleiner en veelsydiger …

Aangesien die grootste deel van die bord deur die LED -skikking opgeneem word, kan ons plek maak

vir 'n Attiny -chip OF 'n PIC12F -chip vir mikroskyfies. Krimp die LED's tot 3 mm en gaan na 'n dubbelzijdige bord, en ons kry iets omtrent 27x44mm Helaas, hierdie bord is nog nie getoets nie …

Stap 5: Itty Bitty

Itty Bitty
Itty Bitty

Microchip het natuurlik hul 6 -pins PIC10F -skyfies wat 'n motor kan bestuur

slegs 6 LED's van die 3 uitvoerpenne. Dit is ongeveer 16 mm in deursnee. As u na 603 LED's gaan, kan u 'n bietjie kleiner word, maar ek weet nie wat die punt is nie.

Stap 6: sagteware

Die sagteware raak 'n bietjie deurmekaar om verskeie redes:

1) Vir die getoonde PCB's word die LED's op 'n manier uitgelê wat gemaklik is vir die PCB -uitleg, eerder as in die "korrekte" bietjie volgorde. IMO, dit is die manier om dinge te doen, maar dit beteken wel dat ry 1 nie noodwendig bit 1 beteken nie, of kolom 3 nie bit 3. Dit vereis 'n vlak van kartering tussen die gewone ry/kolomadresering en die stukkies wat verstel moet word. 2) Aangesien dieselfde bisse vir anodes en katodes gebruik word, kan die algemene (ry) verbinding vir sommige bisse in die middel van aangedrewe (kolom) bisse wees. Dit beteken dat u kolomstukke moet verskuif, afhangende van of dit voor of na die rybit vir die stel kolomme is. 3) U moet uitvoerwoorde aflei vir beide die ioport en die poortrigtingregister. Die aangehegte ASM -kode vir ATtiny11 is 'n 'bewys van konsep'. Dit is 'n verleentheid wat nie geoptimaliseer is nie en swak kommentaar lewer, maar dit is al wat ek tot dusver geskryf het.

Aanbeveel: