Innholdsfortegnelse:

Sykkel baklys med en vri: 9 trinn (med bilder)
Sykkel baklys med en vri: 9 trinn (med bilder)

Video: Sykkel baklys med en vri: 9 trinn (med bilder)

Video: Sykkel baklys med en vri: 9 trinn (med bilder)
Video: 125 САМЫХ ИННОВАЦИОННЫХ ЭЛЕКТРОТРАНСПОРТНЫХ И ЛИЧНЫХ ТРАНСПОРТНЫХ СРЕДСТВ 2024, Juli
Anonim
Baklys med sykkel
Baklys med sykkel
Baklys med sykkel
Baklys med sykkel
Baklys med sykkel
Baklys med sykkel

La oss innse det. Baklys er kjedelig.

I beste fall blinker de - blink på meg! Jeg blinker - woohoo 'hele tiden. Og de er alltid røde. Veldig kreativ. Vi kan gjøre det bedre enn det, kanskje ikke så mye, men likevel bedre enn å blinke blink. Jeg syklet under nyttårsfeiringer og folk likte det, og ikke alle var fulle;-) Resten er ganske rett frem: 2x AA-celler, boost-omformer for 5V, noen RGB-lysdioder, den obligatoriske mikrokontrolleren, tilpasset kretskort fra BatchPCB, perfboard og det vanlige loddeutstyret.

Trinn 1: Hovedskjema

Hovedskjema
Hovedskjema
Hovedskjema
Hovedskjema
Hovedskjema
Hovedskjema
Hovedskjema
Hovedskjema

Egentlig ikke noe spesielt. Hvis du vet hvordan du kabler en AVR -brikke på et brødbrett eller en Arduino på et brødbrett, vil du ikke ha noen problemer med denne hvis du liker det bedre. Jeg brukte KICAD for å designe skjematisk og kretskort. KICAD er åpen kildekode, og i motsetning til eagle, som også har en gratis (som gratis) versjon, er det absolutt ingen begrensninger i størrelsen på brettene du kan lage. Du får også gerber -filer som fungerer med alle flotte hus du ønsker. F.eks. BatchPCB hadde ingen problemer med dem.

I skjematikken finner du bare cpu, lysdioder, noen få motstander og kondensatorer. Det er alt. Det er også noen overskrifter. Brettene har en ICSP -overskrift for å blinke en oppstartslaster og en 6 -pinners overskrift for enkel seriell opplasting. De to siste topptekstene er speilvendt og inneholder strøm, I2C og ytterligere to GPIO/ADC -pinner. 3 GPIO -pinner med 3 strømbegrensende motstander brukes til å levere strøm til alle 8 anodene i en enkelt farge. Individuelle lysdioder slås på eller av med 8 GPIO -pinner for å drive katodene. Avhengig av operasjonstype er lysdiodene enten multiplekset (PWM for flere farger) eller fullt på (høyere lysstyrke). Litt informasjon om pakkene jeg brukte til dette kortet: - ATmega168-20AU: TQFP32 SMD - LED: PLCC6 5050 SMD - Motstander: 0805 SMD - Kondensatorer: 0805 SMD, 1206 SMD

Trinn 2: Håndtering av lysdiodene

Håndterer lysdiodene
Håndterer lysdiodene

Jeg vil ikke gå i detalj her, siden dette har blitt dekket andre steder flere ganger. Du må bare sørge for at du ikke overskrider mikrokontrollerens maksimale utgangsstrøm per pinne (ca. 35mA eller så for AVRer). Det samme gjelder LED -strømmen. Som du kan gjette fra bildet, brukte jeg en av SMD -lysdiodene for å finne ut motstandsforholdet for å få et godt balansert hvitt lys. Det er tre potensiometre på 2k noe på den andre siden. Det er alt. I dette tilfellet endte jeg opp med motstander fra 90 til 110Ω, men det avhenger av hvilken type LED du får. Bare bruk et standard multimeter for å bestemme lysdiodens fremspenninger V_led, og du er i gang.

Ved å bruke Ohms lov kan du beregne verdiene for gjeldende begrensningsmotstander for små lysdioder slik: R = (V_bat - V_led) / I_led I_led bør ikke overskride noen nåværende grense for delene du bruker. Denne tilnærmingen er også bare bra for applikasjoner med lav strøm (kanskje opp til 100mA) og bør ikke brukes til Luxeon- eller CREE -lysdioder! Strømmen gjennom lysdioder er temperaturavhengig og en konstant strømdriver bør brukes. Hvis du trenger mer informasjon om dette emnet, vil wikipedia ha litt informasjon. Å lete etter elektrisk ledningsevne til halvledere (lav/høy doping etc.) eller negativ temperaturkoeffisient kan være nyttig. Jeg har brukt 6 -pins SMD RGB -lysdioder uten å finne noe. Hvis du googler etter dem, får du mange resultater. De magiske ordene er "SMD, RGB, LED, PLCC6 5050". 5050 er metriske dimensjoner for x og y i enheter på 0,1 mm. På eBay finner du dem også for så lite som 50 ¢ per stykke for bestillinger med høyt volum. Pakker med 10 selger for øyeblikket for omtrent 10 dollar. Jeg får minst 50;-)

Trinn 3: Bakplan og strømkilde

Bakplan og strømkilde
Bakplan og strømkilde

Bakplanet gir strøm og en felles I2C -buss til begge brettene. Hvert kort har 8 RGB -lysdioder og en ATmega168 mcu som kjører med sin interne oscillator på 8MHz. Sistnevnte krever synkronisering mellom kortene og/eller omkalibrering av oscillatorene. Dette problemet vil dukke opp i kodeseksjonen igjen.

Skjematikken for 5V boost -omformeren ble hentet fra Maxim MAX756s datablad uten noen endringer. Du kan bruke hvilken som helst annen brikke du finner egnet som kan gi ca 200mA ved 5V. Bare sørg for at den eksterne delen er lav. Vanligvis trenger du minst 2 elektrolytiske kondensatorer, en Schottky -diode og en induktor. Referansedesignet i databladet har alle tallene. Jeg brukte FR4 -plater av høy kvalitet til denne jobben. De billigere kolofonbaserte brettene kan også fungere, men de går for lett i stykker. Jeg vil ikke at brettene skal gå i oppløsning på en humpete tur. Hvis du allerede eier en 'MintyBoost', kan du også bruke den hvis du får den til å passe på sykkelen din.

Trinn 4: Du må ha noen kode

Du må ha litt kode!
Du må ha litt kode!
Du må ha litt kode!
Du må ha litt kode!

I modus for høy lysstyrke støtter brettet 6 forskjellige farger + hvitt. Fargen velges ved å sette 3 GPIO -pinner til høy eller lav. På den måten kan alle åtte lysdiodene være fullt på, men bare vise samme farge.

I PWM -modus settes fargen ved å bruke et pulsbreddemodulert signal på de 3 GPIO -pinnene og multiplexere de 8 lysdiodene. Dette reduserer den generelle lysstyrken, men nå er individuell fargekontroll mulig. Dette gjøres i bakgrunnen av en avbruddsrutine. Grunnleggende funksjoner er tilgjengelige for å sette lysdiodene en bestemt fargeverdi, enten ved hjelp av en RGB -triplett eller en HUE -verdi. Enheten er programmert i C ved hjelp av Arduino IDE for enkelhets skyld. Jeg har lagt ved gjeldende kode jeg bruker. Oppdaterte versjoner er tilgjengelige på bloggen min. Du kan bla gjennom GIT -depotet ved hjelp av gitweb -grensesnittet. Mange dumme programmeringsfeil vil dukke opp, jeg er sikker på det;-) Den andre figuren illustrerer PWM-generasjon. En maskinvareteller teller fra BUNN til TOPP. Når telleren er større enn et visst tall som representerer en ønsket farge, veksles utgangen. Når telleren har nådd sin TOP -verdi, tilbakestilles alt. Den oppfattede lysstyrken til LED-en er noe proporsjonal med signalets tid. Strengt tatt er det en løgn, men lettere å forstå.

Trinn 5: Se det i bruk

Se det i aksjon
Se det i aksjon

Bare noen foreløpige tester. Ja, den kan gjøre fulle RGB-farger også;-)

Test i den virkelige verden. Ja, vi hadde litt snø, men det var før jul. Nå har vi litt snø igjen. Men som vanlig, i juleferien og nyttårsfeiringen var alt vi hadde regn. Vennligst ignorer meg mens jeg stønner omtrent midt i videoen, jeg begynner å bli gammel, så hukingen blir litt vanskelig. Endelig noen litt forbedrede effekter. Oppdrag utført. Nerdete baklys, og ulovlig der jeg bor også;-) Jeg er ganske sikker på at jeg ikke blir ignorert av søvnige eller uvitende bilister lenger. Ved å stille inn timene litt, kan du lage ganske irriterende effekter som er gode blikkfang. Spesielt om natten. Siden det er 4 GPIO/ADC -pinner på brettene (2 kan brukes til å bygge et lite I2C -nettverk), bør det være enkelt å koble til en trykknapp for å utløse alle slags effekter. Å koble til en CdSe fotomotstand ville også fungere. Total materialkostnad er omtrent 50 dollar. Den største delen gikk inn i kretskortene. Bestillingsstraff for lavt volum som vanlig. I analogi med en en gang utbredt TV -reklame for et mobiltelefonselskap i USA, la meg spørre deg dette: "Kan du SE meg nå? - Bra."

Trinn 6: Oppdatert design

Oppdatert design
Oppdatert design
Oppdatert design
Oppdatert design
Oppdatert design
Oppdatert design
Oppdatert design
Oppdatert design

Jeg har endret noen ting her og der.

Mest bemerkelsesverdig er tillegg av en lavt fall spenningsregulator. Nå kan brettet kjøre med alt fra 4 til 14V DC. Jeg har også endret PCB -fargen til gul og lagt til hoppere for å deaktivere automatisk tilbakestilling og for å omgå spenningsregulatoren hvis den ikke er nødvendig. Demokode for grip og monteringsinstruksjoner. Du finner KiCAD -filer og en skjematisk der også. Hvis du vil ha en, kan du finne mer informasjon på bloggen min.

Trinn 7: For stor

Neste ting på listen: Tic Tac Toe

Trinn 8: Mer lett hack

Ved å legge til 3 ledninger og 3 motstander mer kan lysstyrken dobles. Nå brukes to GPIO -pinner per farge for å skaffe strøm.

Trinn 9: Flere oppdateringer

Flere oppdateringer
Flere oppdateringer

Så jeg har endelig byttet fra 'dum' interrupt -drevet PWM til BCM (Binary Code Modulation). Dette reduserer drastisk CPU -tiden som brukes til å rotere LED -pinnene og øker lysstyrken ganske mye. Den forbedrede koden finnes på github. De første sekundene av videoen viser forbedringen i venstre brett. Inntil neste maskinvarerevisjon av dette kortet er ute (venter på at brettene kommer), vil dette mate behovet for "mer lys" litt. Det vil være smertefullt å se på de nye brettene som kjører for fullt.

Anbefalt: