Innehållsförteckning:

Cykel bakljus med en vridning: 9 steg (med bilder)
Cykel bakljus med en vridning: 9 steg (med bilder)

Video: Cykel bakljus med en vridning: 9 steg (med bilder)

Video: Cykel bakljus med en vridning: 9 steg (med bilder)
Video: Webbinarium om Trek Fuel EXe 2024, Juni
Anonim
Cykel bakljus med en vridning
Cykel bakljus med en vridning
Cykel bakljus med en vridning
Cykel bakljus med en vridning
Cykel bakljus med en vridning
Cykel bakljus med en vridning

Låt möta det. Bakljus är tråkiga.

I bästa fall blinkar de blinkande - titta på mig! Jag blinkar - woohoo 'hela tiden. Och de är alltid röda. Väldigt kreativ. Vi kan göra bättre än så, kanske inte mycket, men ändå bättre än att bara "blinka blinka". Jag cyklade under nyårsfirandet och folk gillade det, och inte alla var fulla;-) Resten är ganska rakt fram: 2x AA-celler, boost-omvandlare för 5V, några RGB-lysdioder, den obligatoriska mikrokontrollern, anpassad kretskort från BatchPCB, perfboard och det vanliga lödutrustningen.

Steg 1: Huvudschema

Huvudschema
Huvudschema
Huvudschema
Huvudschema
Huvudschema
Huvudschema
Huvudschema
Huvudschema

Verkligen inget speciellt. Om du vet hur du kopplar upp ett AVR -chip på en brödbräda eller en Arduino på en brödbräda, om du gillar det bättre, har du inga problem med det här. Jag använde KICAD för att designa schemat och kretskorten. KICAD är öppen källkod och till skillnad från eagle, som också har en gratis (som gratis) version, finns det absolut inga begränsningar i storleken på brädor du kan göra. Du får också gerber -filer som fungerar med alla fantastiska hus du vill ha. T.ex. BatchPCB hade inga problem med dem.

I schemat hittar du bara cpu, lysdioder, några motstånd och kondensatorer. Det är allt. Det finns också några rubriker. Brädorna har en ICSP -rubrik för att blinka en bootloader och en 6 -stifts rubrik för enkel seriell uppladdning. De två sista rubrikerna är speglade och innehåller ström, I2C och ytterligare två GPIO/ADC -stift. 3 GPIO -stift med 3 strömbegränsande motstånd används för att mata ström till alla 8 anoder i en enda färg. Enskilda lysdioder slås på eller av med 8 GPIO -stift för att driva katoderna. Beroende på typ av operation är lysdioderna antingen multiplexerade (PWM för fler färger) eller helt på (högre ljusstyrka). Lite information om de paket jag använde för detta kort: - ATmega168-20AU: TQFP32 SMD - LED: PLCC6 5050 SMD - Motstånd: 0805 SMD - Kondensatorer: 0805 SMD, 1206 SMD

Steg 2: Hantera lysdioderna

Hanterar lysdioderna
Hanterar lysdioderna

Jag kommer inte att gå in på detaljer här, eftersom detta har täckts någon annanstans flera gånger. Du måste bara se till att du inte överskrider mikrostyrenhetens maximala utström per stift (cirka 35mA eller så för AVR). Detsamma gäller lysdiodernas ström. Som du kan gissa från bilden använde jag en av SMD -lysdioderna för att räkna ut motståndsförhållandet för att få välbalanserat vitt ljus. Det finns tre potentiometrar på 2k något på andra sidan. Det är allt. I det här fallet slutade jag med motstånd från 90 till 110Ω, men det beror på vilken typ av LED du får. Använd bara en vanlig multimeter för att bestämma LED: s framspänningar V_led och du är i affärer.

Med hjälp av Ohms lag kan du beräkna värdena för strömbegränsningsmotstånd för små lysdioder så här: R = (V_bat - V_led) / I_led I_led bör inte överskrida någon strömgräns för de delar du använder. Detta tillvägagångssätt är också bara bra för applikationer med låg ström (kanske upp till 100mA) och bör inte användas för Luxeon- eller CREE -lysdioder! Strömmen genom lysdioder är temperaturberoende och en konstant strömförare bör användas. Om du behöver mer information om det ämnet kommer wikipedia att ha lite information. Att söka efter halvledares elektriska ledningsförmåga (låg/hög dopning etc.) eller negativ temperaturkoefficient kan vara till hjälp. Jag har använt 6pin SMD RGB -lysdioder utan att hitta något. Om du googlar efter dem får du många resultat. De magiska orden är "SMD, RGB, LED, PLCC6 5050". 5050 är metriska dimensioner för x och y i enheter på 0,1 mm. På ebay hittar du dem för så lågt som 50 ¢ per bit för beställningar med hög volym. Förpackningar om 10 säljer för närvarande för cirka 10 spänn. Jag skulle få minst 50;-)

Steg 3: Bakplan och strömkälla

Bakplan och strömkälla
Bakplan och strömkälla

Bakplanet ger ström och en gemensam I2C -buss till båda korten. Varje kort har 8 RGB -lysdioder och en ATmega168 mcu som körs med sin interna oscillator på 8MHz. Det senare kräver synkronisering mellan korten och/eller omkalibrering av oscillatorerna. Det här problemet kommer att visas i kodavsnittet igen.

Schemat för 5V boost -omvandlaren togs från Maxim MAX756: s datablad utan någon ändring. Du kan använda alla andra chip du finner lämpliga som kan ge cirka 200mA vid 5V. Se bara till att antalet externa delar är lågt. Normalt behöver du minst två elektrolytkondensatorer, en Schottky -diod och en induktor. Referensdesignen i databladet har alla siffror. Jag använde FR4 -skivor av hög kvalitet för detta jobb. De billigare kolofoniumbaserade brädorna kan också fungera, men de går sönder för lätt. Jag vill inte att brädorna sönderfaller på en ojämn åktur. Om du redan äger en 'MintyBoost' kan du också använda den om du kan få den att passa på din cykel.

Steg 4: Du måste ha lite kod

Du måste ha lite kod!
Du måste ha lite kod!
Du måste ha lite kod!
Du måste ha lite kod!

I läge med hög ljusstyrka stöder kortet 6 olika färger + vitt. Färgen väljs genom att ställa in 3 GPIO -stift till hög eller låg. På så sätt kan alla åtta lysdioder vara helt på, men bara visa samma färg.

I PWM -läge ställs färgen in genom att applicera en pulsbreddsmodulerad signal på de tre GPIO -stiften och multiplexa de 8 lysdioderna. Detta minskar den övergripande ljusstyrkan, men nu är individuell färgkontroll möjlig. Detta görs i bakgrunden av en avbrottsrutin. Grundfunktioner finns tillgängliga för att ställa in lysdioderna ett visst färgvärde, antingen med hjälp av en RGB -triplett eller ett HUE -värde. Enheten är programmerad i C med Arduino IDE för enkelhets skull. Jag har bifogat den nuvarande koden jag använder. Uppdaterade versioner finns på min blogg. Du kan bläddra i GIT -förvaret med hjälp av gitweb -gränssnittet. Många dumma programmeringsfel kommer att dyka upp, jag är säker på det;-) Den andra figuren illustrerar PWM-generationen. En hårdvaruräknare räknas från BOTTOM till TOPP. När räknaren är större än ett visst tal som representerar en önskad färg växlas utmatningen. När räknaren har nått sitt TOP -värde återställs allt. Lysdiodens upplevda ljusstyrka är något proportionell mot signalens tid. Strängt taget är det en lögn, men lättare att förstå.

Steg 5: Se det i aktion

Se det i aktion
Se det i aktion

Bara några preliminära tester. Ja, den kan göra RGB-färger också;-)

Verkliga tester. Ja vi hade lite snö, men det var innan jul. Nu har vi snö igen. Men, som vanligt, under julhelgen och nyårsfirandet var det bara regn. Ignorera mig när jag stönar på ungefär i mitten av videon, jag börjar bli gammal så det blir lite svårt att sitta på huk. Äntligen lite förbättrade effekter. Uppdrag slutfört. Nördiga bakljus, och olagligt där jag bor också;-) Jag är ganska säker på att jag inte kommer att ignoreras av sömniga eller okunniga bilister längre. Genom att ställa in tiderna lite kan du skapa ganska irriterande effekter som är bra blickfång. Speciellt på natten. Eftersom det finns 4 GPIO/ADC -stift på korten (2 kan användas för att bygga ett litet I2C -nätverk) bör det vara enkelt att koppla in en tryckknapp för att utlösa alla möjliga effekter. Att koppla in ett CdSe -fotomotstånd skulle också fungera. Total materialkostnad är cirka 50 $. Den största delen gick in i kretskorten. Låg volym beställningsstraff som vanligt. I analogi med en en gång utbredd tv -reklam för ett mobiltelefonföretag i USA, låt mig fråga dig detta: "Kan du SE mig nu? - Bra."

Steg 6: Uppdaterad design

Uppdaterad design
Uppdaterad design
Uppdaterad design
Uppdaterad design
Uppdaterad design
Uppdaterad design
Uppdaterad design
Uppdaterad design

Jag har ändrat några saker här och där.

Framför allt är tillägget av en lågdroppspänningsregulator. Nu kan kortet fungera med allt från 4 till 14V DC. Jag har också ändrat PCB -färgen till gul och lagt till hoppare för att inaktivera automatisk återställning och för att kringgå spänningsregulatorn om det inte behövs. Demokod för grepp och monteringsanvisningar. Du hittar KiCAD -filer och en schematisk där också. Om du vill ha en kan du hitta mer information på min blogg.

Steg 7: Överstor

Nästa sak på listan: Tic Tac Toe

Steg 8: Mer Light Hack

Genom att lägga till 3 trådar och ytterligare 3 motstånd kan ljusstyrkan fördubblas. Nu används två GPIO -stift per färg för att få ström.

Steg 9: Fler uppdateringar

Fler uppdateringar
Fler uppdateringar

Så jag har äntligen bytt från 'dum' avbrottsdriven PWM till BCM (Binary Code Modulation). Detta minskar drastiskt CPU -tiden som går åt till att tvätta LED -stiften och ökar ljusstyrkan ganska mycket. Den helt förbättrade koden finns på github. De första sekunderna av videon visar förbättringen i det vänstra kortet. Tills nästa hårdvaruversion av detta kort är ute (väntar på att brädorna ska komma), kommer detta att mata behovet av "mer ljus" lite. Att titta på de nya brädorna som kör fullt ut kommer att vara smärtsamt.

Rekommenderad: