Inhaltsverzeichnis:

Fahrradrücklicht mit einem Twist - Gunook
Fahrradrücklicht mit einem Twist - Gunook

Video: Fahrradrücklicht mit einem Twist - Gunook

Video: Fahrradrücklicht mit einem Twist - Gunook
Video: Fahrrad Dynamo (Seitenläufer & Rücklicht mit 2 Kabel Verdrahtung) vorne und hinten Montage Anleitung 2024, Juli
Anonim
Fahrradrücklicht mit einem Twist
Fahrradrücklicht mit einem Twist
Fahrradrücklicht mit einem Twist
Fahrradrücklicht mit einem Twist
Fahrradrücklicht mit einem Twist
Fahrradrücklicht mit einem Twist

Seien wir ehrlich. Rücklichter sind langweilig.

Bestenfalls gehen sie 'blink blinzeln - sieh mich an! Ich blinzele - woohoo' die ganze Zeit. Und sie sind immer rot. Sehr kreativ. Wir können es besser machen, vielleicht nicht viel, aber immer noch besser als nur 'blink blink'. Ich bin während der Neujahrsfeier mit dem Fahrrad gefahren und es hat den Leuten gefallen, und nicht alle waren betrunken;-) Der Rest ist ziemlich einfach: 2x AA-Zellen, Aufwärtswandler für 5V, einige RGB-LEDs, der obligatorische Mikrocontroller, Custom Leiterplatten von BatchPCB, Perfboard und das übliche Lötgerät.

Schritt 1: Hauptschaltplan

Hauptschaltplan
Hauptschaltplan
Hauptschaltplan
Hauptschaltplan
Hauptschaltplan
Hauptschaltplan
Hauptschaltplan
Hauptschaltplan

Wirklich nichts besonderes. Wenn Sie wissen, wie man einen AVR-Chip auf einem Steckbrett oder einen Arduino auf einem Steckbrett verdrahtet, wenn Sie das besser mögen, werden Sie mit diesem keine Probleme haben. Ich habe KICAD zum Entwerfen des Schaltplans und der Leiterplatten verwendet. KICAD ist Open Source und im Gegensatz zu eagle, das auch eine kostenlose (wie kostenlose) Version hat, gibt es absolut keine Einschränkungen in der Größe der Boards, die Sie erstellen können. Auch Sie erhalten Gerber-Dateien, die mit jedem gewünschten Fab House funktionieren. Z. B. BatchPCB hatte damit keine Probleme.

Im Schaltplan finden Sie nur die CPU, die LEDs, ein paar Widerstände und Kondensatoren. Das ist alles. Es gibt auch ein paar Überschriften. Die Boards verfügen über einen ICSP-Header zum Flashen eines Bootloaders und einen 6-Pin-Header für den bequemen seriellen Upload. Die letzten 2 Header sind gespiegelt und enthalten Strom, I2C und zwei weitere GPIO/ADC-Pins. 3 GPIO-Pins mit 3 Strombegrenzungswiderständen werden verwendet, um alle 8 Anoden einer einzigen Farbe mit Strom zu versorgen. Einzelne LEDs werden mit 8 GPIO-Pins ein- oder ausgeschaltet, um die Kathoden anzusteuern. Je nach Betriebsart sind die LEDs entweder gemultiplext (PWM für mehr Farben) oder voll an (höhere Helligkeit). Einige Informationen zu den Gehäusen, die ich für dieses Board verwendet habe: - ATmega168-20AU: TQFP32 SMD - LED: PLCC6 5050 SMD - Widerstände: 0805 SMD - Kondensatoren: 0805 SMD, 1206 SMD

Schritt 2: Umgang mit den LEDs

Umgang mit den LEDs
Umgang mit den LEDs

Ich werde hier nicht ins Detail gehen, da dies an anderer Stelle schon mehrfach behandelt wurde. Sie müssen nur sicherstellen, dass Sie den maximalen Ausgangsstrom des Mikrocontrollers pro Pin (etwa 35 mA oder so für AVRs) nicht überschreiten. Das gleiche gilt für den LED-Strom. Wie Sie aus dem Bild erraten können, habe ich eine der SMD-LEDs verwendet, um das Widerstandsverhältnis herauszufinden, um ein ausgewogenes weißes Licht zu erhalten. Auf der anderen Seite befinden sich drei 2k-Potentiometer. Das ist alles. In diesem Fall habe ich Widerstände von 90 bis 110 erhalten, aber das hängt von der Art der LED ab, die Sie erhalten. Verwenden Sie einfach ein Standard-Multimeter, um die Durchlassspannungen V_led der LED zu bestimmen und Sie sind im Geschäft.

Mit dem Ohmschen Gesetz können Sie die Werte für Strombegrenzungswiderstände für kleine LEDs wie folgt berechnen: R = (V_bat - V_led) / I_led I_led sollte keine Strombegrenzung der von Ihnen verwendeten Teile überschreiten. Auch dieser Ansatz eignet sich nur für Schwachstromanwendungen (vielleicht bis 100mA) und sollte nicht für Luxeon- oder CREE-LEDs verwendet werden! Der Strom durch LEDs ist temperaturabhängig und es sollte ein Konstantstromtreiber verwendet werden. Wenn Sie mehr Informationen zu diesem Thema benötigen, bietet Wikipedia einige Informationen. Die Suche nach elektrischer Leitfähigkeit von Halbleitern (niedrige/hohe Dotierung usw.) oder negativem Temperaturkoeffizienten kann hilfreich sein. Ich habe 6-Pin-SMD-RGB-LEDs ohne Commond verwendet. Wenn Sie danach googeln, erhalten Sie viele Ergebnisse. Die Zauberworte lauten "SMD, RGB, LED, PLCC6 5050". 5050 sind metrische Abmessungen für x und y in Einheiten von 0,1 mm. Bei ebay finden Sie sie auch schon ab 50¢ pro Stück für Großbestellungen. 10er-Packs werden derzeit für etwa 10 Dollar verkauft. Ich würde mindestens 50 bekommen;-)

Schritt 3: Backplane & Stromquelle

Backplane & Stromquelle
Backplane & Stromquelle

Die Backplane versorgt beide Boards mit Strom und einem gemeinsamen I2C-Bus. Jedes Board verfügt über 8 RGB-LEDs und einen ATmega168-MCU, der mit seinem internen Oszillator bei 8 MHz läuft. Letzteres erfordert eine Synchronisation zwischen den Platinen und/oder eine Neukalibrierung der Oszillatoren. Dieses Problem wird im Codeabschnitt erneut angezeigt.

Der Schaltplan für den 5V-Aufwärtswandler wurde ohne Änderungen dem Datenblatt des Maxim MAX756 entnommen. Sie können jeden anderen Chip verwenden, den Sie für geeignet halten und der bei 5 V etwa 200 mA liefern kann. Stellen Sie nur sicher, dass die Anzahl der externen Teile niedrig ist. Normalerweise benötigen Sie mindestens 2 Elektrolytkondensatoren, eine Schottky-Diode und eine Induktivität. Das Referenzdesign im Datenblatt enthält alle Nummern. Ich habe für diesen Job hochwertige FR4-Platten (Glasfaser) verwendet. Die billigeren Boards auf Kolophoniumbasis können auch funktionieren, aber sie brechen zu leicht. Ich möchte nicht, dass sich die Boards bei einer holprigen Fahrt auflösen. Wenn Sie bereits einen 'MintyBoost' besitzen, können Sie diesen ebenfalls verwenden, wenn Sie ihn an Ihr Fahrrad anpassen können.

Schritt 4: Sie müssen etwas Code haben

Sie müssen etwas Code haben!
Sie müssen etwas Code haben!
Sie müssen etwas Code haben!
Sie müssen etwas Code haben!

Im High-Brightness-Modus unterstützt das Board 6 verschiedene Farben + Weiß. Die Farbe wird ausgewählt, indem 3 GPIO-Pins auf High oder Low gesetzt werden. Auf diese Weise können alle acht LEDs vollständig leuchten, aber nur die gleiche Farbe anzeigen.

Im PWM-Modus wird die Farbe durch Anlegen eines pulsweitenmodulierten Signals an die 3 GPIO-Pins und Multiplexen der 8 LEDs eingestellt. Dadurch wird die Gesamthelligkeit reduziert, aber jetzt ist eine individuelle Farbsteuerung möglich. Dies geschieht im Hintergrund durch eine Interrupt-Routine. Es stehen Grundfunktionen zur Verfügung, um den LEDs einen bestimmten Farbwert einzustellen, entweder mit einem RGB-Triplett oder einem HUE-Wert. Das Gerät wird in C mit der Arduino IDE programmiert. Ich habe den aktuellen Code, den ich verwende, angehängt. Aktuelle Versionen finden Sie auf meinem Blog. Sie können das GIT-Repository über die gitweb-Schnittstelle durchsuchen. Viele dumme Programmierfehler werden auftauchen, da bin ich mir sicher;-) Die zweite Abbildung zeigt die PWM-Erzeugung. Ein Hardware-Zähler zählt von BOTTOM nach TOP. Sobald der Zähler größer als eine bestimmte Zahl ist, die eine gewünschte Farbe darstellt, wird der Ausgang umgeschaltet. Hat der Zähler seinen TOP-Wert erreicht, wird alles zurückgesetzt. Die wahrgenommene Helligkeit der LED ist etwas proportional zur Einschaltzeit des Signals. Streng genommen ist das eine Lüge, aber leichter zu verstehen.

Schritt 5: Sehen Sie es in Aktion

Sehen Sie es in Aktion
Sehen Sie es in Aktion

Nur ein paar Vorversuche. Ja, es kann auch volle RGB-Farben machen;-)

Tests in der realen Welt. Ja, wir hatten etwas Schnee, aber das war vor Weihnachten. Jetzt haben wir wieder etwas Schnee. Aber wie immer hatten wir während der Weihnachtsfeiertage und Neujahrsfeiern nur Regen. Bitte ignoriere mein Stöhnen ungefähr in der Mitte des Videos, ich werde alt, also wird das Hocken ein bisschen schwer. Schließlich einige leicht verbesserte Effekte. Mission erfüllt. Geekige Rücklichter und dort, wo ich wohne auch illegal;-) Ich bin mir ziemlich sicher, dass ich von schläfrigen oder ignoranten Autofahrern nicht mehr ignoriert werde. Indem Sie die Timings etwas abstimmen, können Sie ziemlich nervige Effekte erzeugen, die gute Hingucker sind. Besonders in der Nacht. Da sich auf den Boards 4 GPIO/ADC-Pins befinden (2 können zum Aufbau eines kleinen I2C-Netzwerks verwendet werden), sollte es einfach sein, einen Taster anzuschließen, um alle möglichen Effekte auszulösen. Das Anschließen eines CdSe-Fotowiderstands würde auch funktionieren. Die gesamten Materialkosten betragen etwa 50 $. Der größte Brocken ging in die Leiterplatten. Strafe für geringe Bestellmengen wie üblich. In Analogie zu einem einst weit verbreiteten TV-Werbespot für eine Mobilfunkgesellschaft in den USA frage ich Sie: "Können Sie mich jetzt SEHEN? - Gut."

Schritt 6: Aktualisiertes Design

Aktualisiertes Design
Aktualisiertes Design
Aktualisiertes Design
Aktualisiertes Design
Aktualisiertes Design
Aktualisiertes Design
Aktualisiertes Design
Aktualisiertes Design

Ich habe hier und da ein paar Dinge geändert.

Am bemerkenswertesten ist die Hinzufügung eines Spannungsreglers mit niedrigem Abfall. Jetzt kann das Board mit allem von 4 bis 14V DC betrieben werden. Ich habe auch die PCB-Farbe in Gelb geändert und Jumper hinzugefügt, um das automatische Zurücksetzen zu deaktivieren und den Spannungsregler zu umgehen, wenn er nicht benötigt wird. Demo-Code für Schnappschüsse und Montageanleitungen. Dort finden Sie auch KiCAD-Dateien und einen Schaltplan. Falls Sie einen haben möchten, finden Sie weitere Informationen auf meinem Blog.

Schritt 7: Supersized

Als nächstes auf der Liste: Tic Tac Toe

Schritt 8: Mehr Licht Hack

Durch Hinzufügen von 3 Drähten und 3 weiteren Widerständen kann die Helligkeit verdoppelt werden. Jetzt werden zwei GPIO-Pins pro Farbe zur Stromquelle verwendet.

Schritt 9: Weitere Updates

Weitere Aktualisierungen
Weitere Aktualisierungen

Also bin ich endlich von "dummem" Interrupt-gesteuertem PWM auf BCM (Binary Code Modulation) umgestiegen. Dies reduziert die CPU-Zeit, die für das Drehen der LED-Pins aufgewendet wird, drastisch und erhöht die Helligkeit erheblich. Der komplett verbesserte Code ist auf github zu finden. Die ersten Sekunden des Videos zeigen die Verbesserung im linken Board. Bis die nächste Hardware-Revision dieses Boards herauskommt (Warten auf die Ankunft der Boards), wird dies den Bedarf an "mehr Licht" ein wenig nähren. Der Blick auf die neuen Boards, die auf Hochtouren laufen, wird schmerzhaft sein.

Empfohlen: