Elektronische Lampensteuerung selberbauen

MaikRutsche

Holzkasperkopfschnitzer
Registriert
19. Juli 2002
Reaktionspunkte
10
Ort
Dresden
Hallo,

es gibt ja schon einige Elektronische Lampensteuerungen mit Mikrocontroller hier im Form...
Zum Bsp die von MartinM:
http://www.mtb-news.de/forum/showthread.php?t=97124

Zur Zeit bin ich mit nem Kumpel damit beschäftigt einen Prototypen auf Basis der C-Control von Conrad zu bauen.

Ich weis dass die C-Control zu gross und zu langsam ist ;) - aber es geht hauptsächlich ja erstmal um die Software, und die lässt sich später relativ einfach auf einen anderen µC portieren.

Bisher ist folgendes realisiert:
* Ansteuerung von 2 Lampen über PWM
* Akkuladeüberwachung für Blei (12V) und Li-Ion(14.4V)
* entsprechende Status-LEDs
* Tasterbelegung (sicherlich noch stark verbesserungswürdig ;) ):
Taster1-kurz: Lampe1 - zyklisch durchschalten der 3 Helligkeitsstufen
Taster1-lang: Lampe1 aus
Taster2: Analog Taster 1 für Lampe2


Ich würde hier ja nix im Forum posten wenn ich keine Fragen habe ;)

Also fangen wir mal an:

1. Welchen µC könnt ihr uns empfehlen?
8 i/o Ports, 1 a/d Wandler, mit wenig Aufwand in der Schaltung programmierbar

2. Spannungsmessung am Akku
Bisher habe ich mittels einer Zehnerdiode (8V) die unteren 8V "abgeschnitten" und mit einem Spannungsteiler die resultierende Spannung halbiert.
Somit kann ich in einem Bereich von 8-18V auf 0.02V genau messen.

3. Wie verkabel ich das alles am Besten am Rad?
Elektronik mit in den Akku rein und nur die Taster mit den Statusleds an den Lenker?

4. Platine und Bestückung
Warscheinlich wird dies das grösste Problem.
Das Layout kann ich erstellen, aber wo ätzen und bestücken?
Evtl. könnte hier jemand ausm Forum aushelfen?


Ideen zum Bau habe ich unter anderem von hier:
D.I.Y. Regulator PROJECT
Light Brain Controller

Wer was produktives betragen möchte: Immer her mit Infos, Tipps und Gedanken :)

Gruss Tobi
 
Meine erste Elektronik habe ich mit einem NEC (78P14) gemacht.
Die mußte in den Akku, weil da die Schutzschaltung für den LiIon noch drin war (da kannte ich das Forum noch nicht;) ).
Eine schöne Sorgloslösung, funktioniert nach fast 10 Jahren immer noch einwandfrei :daumen: Einzig das Löten war etwas fummelig, 0.5mm Pitch und 'viel' Peripherie.
Vorteil u.a.: Steckernetzteil an den Akku zum Laden, fertig, Lade/Entladestandsanzeige in %, Dimmung, Notlauf...
Außerdem Einzelzellenüberwachung mit Prewarning, falls ein Pack 'wegläuft' (ja, die Funktion hat schon funktioniert :mad: ). Notlauffunktion, etc.
Etwa Streichholzschachtelgröße.

Heute würde ich eher zu einem Atmel Tiny oder den größeren Brüdern tendieren: Günstig, Leistungsstark, kaum Peripherie :daumen:
Habe damit u.a. schon meinen HID Controller und die LANC Fernbedienung gebaut :daumen:
Die Reihe wird auch schon von einigen anderen hier eingesetzt (->Support;))und ist schön skalierbar (Speicher, Pins, etc.)
Hat Reset und RC Osz. drin. Spannung dran und läuft:)

Spannungsmessung: 10bit, d.h. 0-20V mit 20mV Auflösung.

Verkabelung: habe ihn im Lenkerschalter drin, d.h. nur 2 Leitungen zum Akku.

Bestückung: Die ATs gibt es in DIL oder SMD:)

Der Nikolauzi
 
Hi,
ich denke auch grad über sowas nach.
Was haltet ihr denn vom Butterfly von Atmel. LCD ist dran, müßte man vielleicht noch ne Hintergrundbeleuchtung dran basteln. Das Dings könnte man dann auf ne Platine mit dem Leistungsteil und den Anschlüssen draufstecken.

Uwe
 
Hallo!

Baue mir auch gerade ein ähnliches System.

MaikRutsche schrieb:
1. Welchen µC könnt ihr uns empfehlen?
8 i/o Ports, 1 a/d Wandler, mit wenig Aufwand in der Schaltung programmierbar

Wie vom Vorredner empfohlen, verwende ich einen Atmel Controller (Mega). Bin nicht selber darauf gekommen, erst neulich gabs hier noch einen Fred dazu. Die kleineren kosten bei R******t ca. 5 Euro.

Die Programmierumgebung (mit Simulator) gibts bei Atmel zum Download und macht einen sehr guten Eindruck. Den problemlos integrierbaren C-Compiler (Gnu) dazu gibts ebenfalls im Netz. Einen Programmieradapter kann für ca. 15 Euro kaufen oder für deutlich weniger selber bauen. Viele Infos und Starthilfe zur Programmierung findest du unter http://www.mikrocontroller.net

MaikRutsche schrieb:
4. Platine und Bestückung
Warscheinlich wird dies das grösste Problem.
Das Layout kann ich erstellen, aber wo ätzen und bestücken?
Evtl. könnte hier jemand ausm Forum aushelfen?

Meinen "Prototypen" baue ich erstmal ganz klassisch ;-) auf Lochraster auf. Da nur wenig periphere Elektronik benötigt wird finde ich das vertretbar (und es geht schnell). Mal sehen ob es später noch eine "skalierte" Version geben wird...

Viel Spass und Erfolg!

Gruß,
Jörg.
 
MaikRutsche schrieb:
4. Platine und Bestückung
Warscheinlich wird dies das grösste Problem.
Das Layout kann ich erstellen, aber wo ätzen und bestücken?
Evtl. könnte hier jemand ausm Forum aushelfen?

Wahrscheinlich das kleinste Problem (für mich im Gegensatz zur "Weichware")
Da ich im Rahmen eines Projektes eh ätzen muss und halbwegs löten kann könnte da schon was abfallen.
Bzgl. µC kann ich mich meinen Vorrednern nur anschließen und empfehle was Atmel-mäßiges.
Gruß Thomas
 
@Nikolauzi
Die Tiny-Serie haben wir auch ins Auge gefasst.

Von der Grösse her ist ja der Tiny11/12 sehr interessant.

Allerdings sind es leider zu wenig I/O Ports.

Wir benötigen 2 für die PWM-Ansteuerung der Lampen, 1 für den Taster, 2 gehen für den Comperator drauf, bleibt nur noch einer für die Statusled.

Der nächste der passen würde, wäre der Tiny26.

Wenn ich es dem Datenblatt korrekt entnommen habe, hat er sogar 2 PWM Ausgänge. Das würde das Programmieren etwas vereinfachen ;)

Hast du schon Erfahrungen mit dem Tiny26?


@Gorbi
Dann kann man sich ja evtl. zusammen tun?
Ich werde in den nächsten Tagen mal in der Uni nachfragen, wer evtl. Platinen ätzt.
Zunächst aber müssen wir uns auf den Controller festlegen und die Software im Simulator testen :)
 
Tja, die Tinys haben leider ein wenig wenig Pins:(
Aber was für Komparatoren meinst Du? Spannungsmessung braucht nur einen Eingang, bei den LEDs kann man tricksen:
Eine bipolare RG LED an zwei Ports, da hast Du rot, grün und bei Wechselspannung gelb;) Läuft prima!

Habe bislang nur den 13 eingesetzt, aber der 26 sollte auch kein so großer Unterschied sein. Hat der RAM? Das vereinfacht die Programmierung enorm!

Der Nikolauzi
 
Ich zitiere mal kurz aus dem Datenblatt:
- 2K Bytes of In-System Programmable Program Memory Flash
Endurance: 10,000 Write/Erase Cycles
– 128 Bytes of In-System Programmable EEPROM
Endurance: 100,000 Write/Erase Cycles
– 128 Bytes Internal SRAM
– Programming Lock for Flash Program and EEPROM Data Security
Wo genau der Unterschied nun zwischen "Program Memory Flash" und "Programmable EEPROM" liegt weis ich aber (noch) nicht.

Aber was für Komparatoren meinst Du?
http://www.atmel.com/dyn/resources/prod_documents/doc1006.pdf (Seite 41)
Laut Datenblatt misst der A/D-Wandler die Spannungsdifferenz zwischen PB0 und PB1, demnach sind 2 Pins für die Spannungsmessung belegt.
Bleiben nur noch 4 I/O-Ports übrig.

Oder kann man mit nur einem Pin eine Spannung messen? Um dann 5 I/O-Ports frei zu haben?

Gestern Abend habe ich mal ein wenig mit der Dimmfunktion beschäftigt.
Ich kann dabei nicht von 0-100% dimmen.

Bei unter 40% fängt irgendwas an zu schwingen, die Akku-Status-Leuchte fängt an zu blinken - als ob die Akkuschutzschaltung bei jedem Impuls kurz dicht machen würde.
Denke mal ein Kondesator an richtiger Stelle sollte abhilfe schaffen - gestern Abend wars mir allerdings zu spät um das zu testen ;)

Ausserdem pfeift die Lampe - aber das sollte ja kein Problem sein!?

Was mir sehr gut gefallen hat, ist die Leuchtstärke einer 20W IRC gedimmt auf 5W.
Wenn sich diese geringe Leistung im Wald bewährt, ist eigentlich eine 2. Lampe am Rad total überflüssig.

Gedacht war nämlich 2 Lampen (20W IRC und 3W LED) zu betreiben.
Dabei für die Stadt und Waldautobahn nur die LED zu benutzen um Ernergie zu sparen.


/edit
Habe grade gelesen, dass du den Tiny13 benutzt, der hat in der Tat 4-ADC-Pins. Allerdings fehlt dann noch immer ein I/O-Port.
Wir werden sehen :)
 
MaikRutsche schrieb:
@Gorbi
Dann kann man sich ja evtl. zusammen tun?
Ich werde in den nächsten Tagen mal in der Uni nachfragen, wer evtl. Platinen ätzt.
Zunächst aber müssen wir uns auf den Controller festlegen und die Software im Simulator testen :)

Sischer, sischer :D
Richtung Januar, Februar hätt ich dann mal wieder etwas mehr Luft, da sollte schon was gehen :daumen:
 
MaikRutsche schrieb:
Wo genau der Unterschied nun zwischen "Program Memory Flash" und "Programmable EEPROM" liegt weis ich aber (noch) nicht.
der Unterschied liegt in der Organisation: Im "Program memory" läuft der Code, den du reinlädst, ins EEPROM kannst du Daten ablegen. Das ist wegen der Architektur immer streng getrennt, heißt glaube ich Harvard-Architektur.

Wenn die Anzahl der Pins nicht reicht, kann man doch mit einem I²C-Bus Abhilfe schaffen. Der braucht 2 Pins, mit Interrupt insgesamt 3 Pins. I²C-Bausteine gibt es für I/O, Display-Treiber, A/D- und D/A-Wandler, EEPROMS und und und... Für so gut wie jeden Prozessor gibt es die dazu passenden Routinen.

Gruß

Jürgen
 
I2C als Porterweiterung habe ich auch schon bedacht.

Allerdings würde das preislich keinen Sinn machen.

Tiny13 1,45€ + I2C PCF 8574 AT 1,85€ = >3€
Tiny26 2,80€

der Unterschied liegt in der Organisation: Im "Program memory" läuft der Code, den du reinlädst, ins EEPROM kannst du Daten ablegen. Das ist wegen der Architektur immer streng getrennt, heißt glaube ich Harvard-Architektur.
OK - bei einer C-Control musste ich mich damit noch nicht befassen, da wird scheinabr der ganze Code im EEPRom abgelegt und dann interpretiert - von daher wohl auch die enorm geringe Geschwindigkeit :)
 
MaikRutsche schrieb:
OK - bei einer C-Control musste ich mich damit noch nicht befassen, da wird scheinabr der ganze Code im EEPRom abgelegt und dann interpretiert - von daher wohl auch die enorm geringe Geschwindigkeit :)

Ganz genau. Das ist wie mit einem Porsche auf dem Verkehrsübungsplatz rückwärts einparken üben :p

oder vielleicht mit einem Rennrad nachts ohne Licht einen geilen trail runterheizen (wollen)

Gruß

Jürgen
 
Der Unterschied zwischen EEPROM und Flash ist ganz einfach:
Das Flash ist strukturell kleiner, d.h. mehr Speicher/Fläche, aber nicht so häufig wiederbeschreibbar. EEPROM Zellen sind robuster, damit kann man diese öfters beschreiben und damit während des Programmablaufs ändern, z.B. für den Kapazitätsstand, Brenndauerzähler, programmierbare Dimmung, etc.
Zudem ist Flash in Blöcken organisiert, EEPROMs kann man Zellenweise löschen.
Von der Geschwindigkeit sind nur serielle EEPROMs relativ langsam.

Die CControl wird mit Flash laufen, nur der Takt ist halt langsam;)
Gegen den Tiny 26 spricht nichts, er hat ja RAM:)

Gruß,
Nikolauzi
 
Nachdem der Prototyp bereits läuft, ergeben sich 2 Dinge:

2 kleine Printtaster nebeneinander sind nicht mit Handschuhen zu unterscheiden.

Und 2 Lampen machen keinen Sinn.
Vorgesehen war eine LED + 20W IRC.
Allerdings ist die 3W COnradLED dunkler als ne auf 3-5W gedimmte IRC.
Weiterhin machen 2 Halogenspots keinen Sinn, da man einfach einfach die stärkste ansteckt und diese dann entsprechend dimmt.

Aber dennoch werden wir die Hardware erstmal "volständig" mit 2 PWM-Ausgängen aufbauen :)

Ich habe hier mal den aktuellen Schaltplan hochgeladen:

(draufklicken für grösseres Bild)

Ein Problem habe ich noch:
Wie messe ich die Ausgabespannung der Lampen?
Es ist vorgesehen, eine HID am Controller zu betreiben, und dafür brauche ich eine konstante Spannung am Ausgang.

Die ADC-Eingänge messen ja gegen Masse.
Allerdings schalte ich ja mittels PWM, die Masse der Lampen aus und ein.
Am (+)-Pol der Lampe liegt dabei immer die volle Akkuspannung an.

Hat jemand ne Idee?

Alternativ messe ich einfach für jede Akkuspannung den entsprechenden Byte-Wert für den PWM-Out um die Spannung konstant zu halten.

/edit
Achso:
Sollten hinter die MOS-Fets noch Kondensatoren zum Glätten?
 
Hallo MaikRutsche,

ja, das mit dem Massebezug ist immer eine unschöne Komplizierung. Entweder du nimmst zum PWM-Takten PMOS-Transistoren (zum Schalten der Plus-Leitung), brauchst dann aber einen Pegelwandler für die 12V, oder du lässt alles so, wie es ist, fügst noch einen Glättungskondensator in die 12V-Messleitung ein und änderst das Tastverhältnis entsprechend der Akkuspannung. So eine richtige schnelle Regelung ist doch sicher nicht nötig, es würde doch reichen, die Überspannung am Anfang durch ein etwas kleineres Tastverhältnis nach 12V runterzubringen. Auf dieser Basis würde ich ein festes Tastverhältnis für die gedimmten Zustände nehmen.

Gruß

Jürgen

Nachtrag: nach den Mosfets brauchst du keine Kondensatoren, die Glühwendel macht die Mittelung.
 
Für HIDs ist die PWM Regelung nicht zu empfehlen, der Ballast mag kein getakte:( Das wird ein kurzes Vergnügen...
Habe bei mir auch einen Linearregler mit einem OP reingesetzt.
Ist vom Aufwand her ok.
Und für die Halos brauchst Du ja keine Spannungsregelung. Da reicht ein PWM.

Der Nikolauzi
 
Hmmm...

Ich hab von jemandem nen Schaltplan bekommen, bei dem die Spannung der HID über einen OPV geregelt wird - dies ist also der Grund...
Allerdings habe ich den Plan nur als JPG und der ist zudem noch sehr verwirrend gezeichnet ;)

Hast du evtl. einen Link wo ich Infos finde, wie das ganze funktionieren könnte?

Würde es nicht reichen die Spannung mit einem RC-Glied ausreichend zu glätten?
Wie gross darf denn die Restwelligkeit sein?
 
MaikRutsche schrieb:
Allerdings ist die 3W COnradLED dunkler als ne auf 3-5W gedimmte IRC.

Wenn das stimmt stellt das ja den Conradspot total in Frage!

Dann dimm ich doch lieber meinen 20 Watt Spot auf 3 Watt runter als das ich für 20 Euro nen Spot kauf der nicht so hell ist. Allerdings kann ich mir das kaum vorstellen das aus einem 20 Watt Spot auf 3 Watt gedimmt noch mehr als ein müdes Glimmen rauskommt.

Bist Du Dir da gaaaanz sicher?
 
MaikRutsche schrieb:
Hmmm...

Ich hab von jemandem nen Schaltplan bekommen, bei dem die Spannung der HID über einen OPV geregelt wird - dies ist also der Grund...
Allerdings habe ich den Plan nur als JPG und der ist zudem noch sehr verwirrend gezeichnet ;)
:lol: Meinst Du ev. den hier?
Ist ganz einfach: der Controller läuft mit 5V. Über ein PWM und ein RC-Glied kannst Du einen Digital-Analog Wandler bauen (50%=2.5V). Das geht aber nur mit einem unbelasteten RC-Glied, der Ballast ist ja keine lineare Last!
Dadurch kannst Du die Spannung nicht direkt kontrollieren:(

Der OP regelt einfach die (heruntergeteilte) Ausgangsspannung auf die Eingangsspannung vom DA-Wandlers. That's it:)
Klappt prima, nur der Mosfet oben sollte ein 'Standarttyp' sein, hatte im PSpice keinen anderen Typ... Dropspannung bei leerem Akku hängt dann nur vom Rdson ab...

Hoffe geholfen zu haben?

Der Nikolauzi
 

Anhänge

  • hid_controller.jpg
    hid_controller.jpg
    47 KB · Aufrufe: 543
So, komme eben aus dem Bastelkeller und hab mal die IRC am Netzteil betrieben.

Bei 3 Watt kann man noch sehen das sie an ist - mehr aber auch nicht. Eine einzelne 5mm LED ist heller! So viel zum Thema die IRC ist gedimmt noch heller als der Conrad Spot... :rolleyes:
 
Joerky schrieb:
[...]

Bist Du Dir da gaaaanz sicher?
Ich habe grade nochmal nachgemessen:
IRC 20W 24° PWM 2Khz bei 39% gedimmt:
I=0,87A, U=5,4V => P=4.7W
OK ich hatte geschrieben 3-5W ;)
Zudem habe ich das ganze noch nicht im Wald getestet.

Das Licht der IRC ist schon recht gelb, aber im direktem Vergleich zwischen 3W LED, IRC und Mirage ist die gedimmte IRC die hellste.

Wie gesagt im Flur (leider nur 5,5m lang ;) )!

Ich denke mal nächste Woche sind die ersten Controller fertig, dann kann ich mehr sagen.


@nikolauzi
Nein nicht direkt - der Aufbau ist aber fast identisch.
Wir haben aber erstmal beschlossen keinen HID-kompatiblen Controller zu bauen.
Zunächst wollen wir so schnell es geht ein paar lauffähige Controller in der Praxis testen :)

2 Fragen noch zu dem von dir gepostetem Plan habe ich dennoch:
Wozu dienen R21 und R20.
Der Tiny13 hat doch interne Pullupwiderstände von 10KOhm.
Deswegen sollte man doch auf die beiden verzichten können - oder sind die ur zur korrekten Simulation drin?

R24 ist dann wohl als Pull-Down gedacht?
Hast du dabei internen Pull-Up deaktiviert?
Laut Datenblatt sollten I/O-Pulldowns zwischen 30K und 50K sein müssen.
 
MaikRutsche schrieb:
Ich habe grade nochmal nachgemessen:
IRC 20W 24° PWM 2Khz bei 39% gedimmt:
I=0,87A, U=5,4V => P=4.7W
OK ich hatte geschrieben 3-5W ;)

Gut - im Wald war ich auch nicht, aber ich hab mit 3 Watt gemessen - und auch nicht mit PWM sondern am regelbaren Netzteil - mag ja sein das das zu PWM noch nen Unterschied macht. Das eine gedimmte IRC heller ist als die 5 Watt Mirage wundert MICH allerdings nicht :D
 
@MaikRutsche
Man sollte auch nicht direkt mit der eierlegenden Wollmilchsau anfangen;)

R21 und R20 kommen von meiner Arbeit, Automotive Elektonik, da lebe ich mit üblen EMV Anforderungen;) Ist hier nicht nötig, war nur Gewohnheit :lol:

R24 sorgt dafür, daß im Reset Zustand der Controller nicht die HID Spannung auffahren und dem Ballast schaden kann (Trailtech).

Der Nikolauzi
 
MaikRutsche schrieb:
Ich habe grade nochmal nachgemessen:
IRC 20W 24° PWM 2Khz bei 39% gedimmt:
I=0,87A, U=5,4V => P=4.7W
OK ich hatte geschrieben 3-5W ;)
Zudem habe ich das ganze noch nicht im Wald getestet.

Kannst du vielleicht mal kurz erläutern, wie du diese Spannung und Strom misst?
Ich vermute dir ist ein Denkfehler bei der Leistungsbestimmung der gedimmten Lampe unterlaufen, denn in der on-Zeit fällt die volle Batteriepannung über der Lampe ab. Es gilt also:
P = I(durchschnitt) * U(Batt)

Miss einfach mal die Eingangsleistung deines Reglers, dann wirst du sicher merken, dass da was nicht stimmen kann. Wenn du den Durchschnittsstrom und die Druchschnittsspannung über der IRC tatsächlich korrekt (integrierend, ist ja kein sinuswechselstrom) gemessen hast, kommt folgendes raus:

U = Ubatt * 0,39 = 13,85V * 0,39 = 5,4V
I = Ion * 0,39 = 2,23A * 0,39 =0,87A

und nun rechnest du:
P = Ubatt * 0,39 * Ion * 0,39 = 4,7W

tatsächlich gilt aber:

P = Pon * 0,39 = Ubatt * Ion *0,39 = 12,05W

Du hast die 39% einmal zuviel eingerechnet (vermute ich). Deine gedimmte IRC läuft also mit 12 Watt und da ist meine am Netzteil auch heller als ne 3 Watt Luxeon und Joerkys Beobachtungen sind korrekt.

Gruß Gerrit
 

Ähnliche Themen

Zurück
Oben Unten