- LiTime Speicher und Akkus         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Mein erstes Projekt: 2 RGB Leds über Computer ansteuern

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    15.11.2008
    Beiträge
    28

    Mein erstes Projekt: 2 RGB Leds über Computer ansteuern

    Anzeige

    Powerstation Test
    Hallo,

    bin neu hier im Forum und fang auch mit Elektronik erst an...
    Vor 2 Tagen ist mir eine Idee in den Sinn gekommen, die ich jetzt auch umsetzen möchte

    Also es sollen 2 RGB-Leds in einem Milchglasgehäuse verbaut werden und dann mit einem Microcontroller über den Seriellen Port am PC gesteuert werden. Gedacht ist das ganze für Farben, Farbverläufe etc. z.B. auch Signalfarben die dann vom PC oder meiner Software (bin eig. ein guter Programmierer, aber so Microcontroller ist dennoch neu für mich ) gesendet werden und dann dargestellt werden. Das ist nützlich, wenn man so durch ein blinken signalisieren kann, wenn man eine eMail bekommen hat, oder derartiges.
    Natürlich wären auch Farbverläufe nett, doch da wären wir beim nächsten Punkt. Wie sollte man die Baudrate usw. wählen, dass man die Daten für einen flüssigen Farbverlauf schnell genug übertragen kann?

    Die 2 Leds sollen einzeln ansteuerbar sein, und das wie gesagt über den Microcontroller über serielle Daten. Dazu bräuchte ich natürlich ein Protokoll... Gibts da schon vordefinierte? Sonst müsst ich halt selber eins ausdenken.. sowas wie
    Code:
    0/1,0-255,0-255,0-255;
    für die LED (0 links, 1 rechts), R, G und B.

    Und jetzt fangen die Fragen an^^ Wie steuer ich eine RGB Led an? Sind ja nicht billig, die Teile... 5 € bei Conrad für eine mit 3 Anoden und 3 Kathoden, wenn ich das richtig seh. Und wie steuert man sowas dann an?

    Ich hoffe ihr könnt mir ein bisschen dabei helfen, da ich Elektronik und die Microcontrollerprogrammierung sehr interessant finde, vor allem weil ich ja eh (Hobby-)Programmierer bin und somit Programme auch ohne Computer benutzen kann....

    thx, NexX

  2. #2
    Hallo,

    RGB LED's die die Farbe wechseln würd ich über die PWM(PulsWeitenModulation) Ausgänge eines Mikrocontrollers verwirklichen. Welchen Controllertyp willst du einsetzen? AVR, Pic?

    Du schreibst ja von zwei RGB-LED's möchtest du, dass beide LED's immer den gleichen Farbton wiedergeben oder unterschiedliche? Danach richtet sich der Controllertyp.

    Hab dir mal ein Beispiel angehängt, wie du an einen Atmega88 eine RGB-LED mit gemeinsamer Kathode anschließen könntest. Hab mal den Atmega88 gewählt weil der 6 PWM Ausgänge bietet.

    Gruß Flo
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken pwm-atmega88.gif  

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    15.11.2008
    Beiträge
    28
    Hi,

    ich wollte eigentlich einen normalen AVR nehmen.
    Die LEDs sollen im Regelfall die gleichen Farben haben, aber auch einzeln ansteuerbar sein. Also doch einzeln über Seriell... Sollt ich oben auch erwähnt haben, oder?
    Ich schau mal nach was PWM ist

    thx, NexX


    Edit: Irgendwie komm ich mit dem Anhang nicht zurrecht... Wo überschneiden sich Leitungen und wo sind sie miteinander verbunden?

  4. #4
    ich wollte eigentlich einen normalen AVR nehmen.
    Dann passt der Atmega88 ja schon mal ganz gut....


    Sollt ich oben auch erwähnt haben, oder?
    Edit: Irgendwie komm ich mit dem Anhang nicht zurrecht... Wo überschneiden sich Leitungen und wo sind sie miteinander verbunden? Eh?
    Hast auch, ich habs übersehen!
    Ich hab den Schaltplan exportiert und dann waren die Verbindungspunkte weg. Ich hab es jetzt geändert und neu hochgeladen....

    Gruß Flo

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Für RGB-LEDs könntest Du auch mal bei anderen Versendern schauen, die sind u.U. billiger.
    z.B.:
    - Reichelt
    - Ebay
    - led.de
    - leds.de
    usw.

    Du solltest auf jeden Fall einen Vorwiderstand pro Leitung benutzen, sonst betreibst Du die LEDs über Ihrem Arbeitspunkt, was bedeutet, sie gehen sehr schnell kaputt.

    Über die serielle Schnittstelle ist eine gute Idee, falls Du das PC-seitig programmiert bekommst. Aber dann kannst Du es auch auf jeden Fall schonmal schön testen, ohne etwas programmiert zu haben.

    Wenn Du übrigens den Controller nichts anderes machen lassen willst, dann würde ich Dir empfehlen, die PWMs (eine pro Leitung, ergo 6 Stück), per Software zu machen. Und des weiteren wäre ein Treiber nicht verkehrt, es sei denn die Summe aller Ströme (abhängig vom Vorwiderstand) ist kleiner als das im Datenblatt des Atmels angegebene Maximum. (Damit meine ich nicht die 20mA per Kanal, es gibt noch ein anderes Maximum)

  6. #6
    Du solltest auf jeden Fall einen Vorwiderstand pro Leitung benutzen, sonst betreibst Du die LEDs über Ihrem Arbeitspunkt, was bedeutet, sie gehen sehr schnell kaputt.
    Oh wei, war gestern einfach schon ein wenig spät, hab die Vorwiderstände in dem Anhang eingefügt und neu hochgeladen.

    (Damit meine ich nicht die 20mA per Kanal, es gibt noch ein anderes Maximum)
    Ein Maximum von 20mA pro Kanal ist mir neu, es sind 40mA pro Kanal möglich. Dabei darf aber der Gesamtstrom von 200mA nicht überschritten werden.

    Wenn Du übrigens den Controller nichts anderes machen lassen willst, dann würde ich Dir empfehlen, die PWMs (eine pro Leitung, ergo 6 Stück), per Software zu machen
    Es kommt auch noch drauf an, welchen Controller er wählt. Nimmt er den Atmega88 dann stehen 6 PWM Ausgänge (Hardware-PWM) zur Verfügung.

    Als Treiber könnte z.B. ULN2803 verwendet werden.

    Gruß Flo

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    15.11.2008
    Beiträge
    28
    Und wie würde man das dann am Controller per PWM anzusteuern?

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Mein Gott, Du hast Recht, im DB stehen 40mA. Ich ging bis dato von 20 aus. Das hat man davon, wenn man Freunden traut...

    Ich meinte das softwaremäßige Erzeugen der PWM aus Flexibilitätsgründen.

  9. #9
    Und wie würde man das dann am Controller per PWM anzusteuern?
    Grundlegendes zur PWM:

    Bei Pulsweiten Modulationen werden die angeschlossenen Verbraucher mit einem Rechtecksignal angesteuert. Die Frequenz dieses Rechtecksignals ist konstant und kann über den Vorteiler (Prescaler) eingestellt werden. Dabei wird die Frequenz so gewählt, dass das menschliche Auge kein flimmern mehr wahrnehmen kann. Der Ausgang wird nun immer kurze Zeit auf High-Pegel (eingeschalten z.B. 5V) und dann wieder auf LOW-Pegel(ausgeschalten 0V) geschalten. Die Ein- und Auschaltzeit ergeben zusammen die Periodendauer, die stets konstant bleibt. Allerdings kann nun das Verhältnis von Ein- und Auschaltzeit verändert werden.
    Beispielsweise kann der Ausgang 100%(bei 8-Bit 255) der Periode eingeschalten und 0%(bei 8-Bit 0) ausgeschalten sein (die LED würde auf voller Helligkeit leuchten) oder der Ausgang kann zu 4%(bei 8-Bit 10) eingeschalten und zu 96% (bei 8-Bit 245) ausgeschalten sein (Die LED würde glimmen).

    Bei den AVR's kann die Auflösung(Pulsbreite) eingestellt werden, (8-Bit,9-Bit,10-Bit). Bei 8-Bit wären also 256 verchiedene Helligkeitsstufen möglich. Bei 10-Bit 1024 Helligkeitsstufen.

    Bei deiner RGB-LED hättest du nun 3 solcher Ausgäng für eine LED. Durch die verschiedenen Helligkeitstufen der einzelnen Farben in der RGB-LED würden sich nun unterschiedliche Farbtöne ergeben.

    Die RGB-LED's müssen bei Hardware PWM nun an die Controller Ausgänge über einen Vorwiderstand OC0A,OC0B,OC1A,OC1B,OC2A,OC2B angeschlossen werden. Wenn die Last an den Ausgänge pro pin 40mA oder Gesamt 200mA überschreitet ist zusätzlich ein Ausgangstreiber notwendig.

    In der Software müssen nun die Timer0,1,2 bei Atmega88 für den PWM-Modus konfiguriert werden.

    Ein paar Hinweise wie sowas funktioniert findest du z.B. hier.

    Hast du eigentlich schon Hardware womit du die Controller flashen bzw. brennen kannst?

    Gruß Flo

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    15.11.2008
    Beiträge
    28
    Ah, jetzt versteh ich... Also je nachdem wie schnell an und aus geschaltet wird, verändert sich die Helligkeit und dadurch bei der passenden Mischung die Farbe.
    Naja, ich wollte eigentlich erstmal die Grundschaltung aus dem Wiki benutzen.

    EDIT: So einfach ist das? Hab mir jetzt mal das Tutorial angeschaut, vorallem das Kapitel mit der PWM. Sieht eigentlich ganz einfach aus... Jetzt muss ich nur noch lesen oder testen, welche Werte welche Farben erzeugen, das mit der seriellen Schnittstelle austüfteln und dann die Teile besorgen.

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus