HowTo: RGB Moodulator mit ATMEGA168 oder ATMEGA88

Anleitungen für "hausgemachte" LED Projekte

Moderator: T.Hoffmann

synvox
Mega-User
Mega-User
Beiträge: 147
Registriert: Fr, 27.04.07, 04:40
Wohnort: Schweiz

Di, 04.09.07, 00:57

@djjoke:
Schön dass du mein HowTo mit noch etwas Nützlichem für die User hier ergänzst :) .
Aber aufgepasst :!: Du solltest unbedingt die Leitungen, welche sowohl vom der ISP-Schnittstelle als auch als PWM-Ausgang benutzt werden (hier also PB3/MOSI/OC2A), mit einem Umschaltjumper versehen. Wenn nämlich die linke blaue LED und der Widerstand R5 angelötet sind, könnte es Probleme beim Programmieren über die ISP-Schnittstelle geben. R5 und LED bilden eben einen relativ niederohmigen Anschluss nach V+, und auch wenn du die Vorwärstspannung der LED (ca. 3 - 3.5 V) abziehst, könntest du durchaus, je nach Leistung des Pin-Treibers der ISP-Schaltung, in den Grenzbereich kommen, wo der AVR ein LOW-Signal nicht mehr als LOW erkennen könnte. Also lieber auf Nummer Sicher gehen und dort noch einen 3-Pin-Jumper mit einplanen. Den kann man dann zwischen Programmierung und Betrieb umschalten.

Gruss
Neni
djjoke
User
User
Beiträge: 23
Registriert: So, 02.09.07, 17:45
Kontaktdaten:

Di, 04.09.07, 17:15

Danke für die Info, habe ich bei der ganzen Hecktik total mißachtet. habe nun nach dem Vorwiderstand der blauen LED einen Jumper eingeschleift. So kann man dann zum Programmieren einfach den Jumper ziehen, um so die LED / Widerstandskombination elektrisch auszublenden.
djjoke
User
User
Beiträge: 23
Registriert: So, 02.09.07, 17:45
Kontaktdaten:

Fr, 07.09.07, 09:56

durch einen anderen Threat hier im Forum, bin ich auf einen Fernbedienungsbausatz von Pollin gestoßen.

werde mal die Schaltung anpassen (Taster enfernen und dafür ne SUB-D Buchse anbringen). Somit könnte man dann die RGB Schaltung per Fernbedienung steuern.
Benutzeravatar
Mirfaelltkeinerein
Ultra-User
Ultra-User
Beiträge: 746
Registriert: Mi, 25.10.06, 17:52
Wohnort: Südwesten

Fr, 07.09.07, 17:50

Mal 'ne doofe Frage von einem Atmel-Controller-Nicht-Kenner. Hätte man das nicht so programmieren können, dass keine Pins doppelt benutzt werden (programmieren/Ablauf)? Oder wird da eine bestimmte Funktion benutzt, die nur auf so einem Pin zur Verfügung steht?
RPH
Mega-User
Mega-User
Beiträge: 182
Registriert: Fr, 27.04.07, 08:13
Wohnort: Südlich v.Augsburg

Fr, 07.09.07, 19:14

Tja, das ist halt so ne Sache, die ISP bzw. ICSP (In Circuit Seriel Programing) Pins werden nur
beim Programmieren des Chips benötigt und können aber gleichzeitig auch als IO Pins verwendet werden.
Zumindest die meisten.

Daher muss dieser Pin, wenn er auch eine Funktion in der Schaltung hat entweder mit Widerständen etwas
entkoppelt werden (was aber nicht immer machbar ist) oder wie oben beschrieben die beste Lösung
mit einem Jumper komplett dem Programmer zur Verfügung zu stellen.
Es sind immer 3 Pins, Clock und Data sowie die Programmier Spannung.

MfG RPH
Zuletzt geändert von RPH am So, 09.09.07, 08:39, insgesamt 1-mal geändert.
synvox
Mega-User
Mega-User
Beiträge: 147
Registriert: Fr, 27.04.07, 04:40
Wohnort: Schweiz

So, 09.09.07, 03:40

Jepp, genau wie RPH gesagt hat. In diesem Fall sind zwar an sich noch genügend Pins frei, aber die Hardware-PWM-Funktionen sind eben nur an bestimmten Pins (OCxn) verfügbar. Wenn man alle 6 HW-PWM-Pins nutzt, wie in dieser Software für zwei unabhängige RGB-LEDs, dann wird eben auch ein Pin der ISP-Schnittstelle zwangsläufig mitgenutzt.

Ach ja, noch was zur Fernbedienung, habe ganz übersehen, dass da noch ne Frage offen war. In BASCOM gibt es den Befehl GETRC5, mit welchem man relativ einfach die Codes einer RC5-Fernbedienung (viele Universalferbedienungen unterstützen diesen Code von Philipps) decodieren kann. Allerdings benötigt der Befehl einen Timer (Timer 0) als freie Ressource. Da in meiner Software aber alle drei Timer für PWM genutzt werden, kann man den RC5-Empfangsbefehl nicht mehr nutzen. Man könnte aber zum Beispiel einen kleinen ATtiny25 nehmen, den man nur für den RC5-Empfang programmiert, und über fünf Ausgänge dann die Tasten-Eingänge des ATmega88/168 'bedient'.

Gruss
Neni
Benutzeravatar
Mirfaelltkeinerein
Ultra-User
Ultra-User
Beiträge: 746
Registriert: Mi, 25.10.06, 17:52
Wohnort: Südwesten

Mo, 10.09.07, 09:13

synvox hat geschrieben:Jepp, genau wie RPH gesagt hat. In diesem Fall sind zwar an sich noch genügend Pins frei, aber die Hardware-PWM-Funktionen sind eben nur an bestimmten Pins (OCxn) verfügbar. Wenn man alle 6 HW-PWM-Pins nutzt, wie in dieser Software für zwei unabhängige RGB-LEDs, dann wird eben auch ein Pin der ISP-Schnittstelle zwangsläufig mitgenutzt.
Aha, sowas hatte ich schon geahnt. So ein Atmega hat 6 mal HW-PWM? Wow, vieleicht sollte ich mich doch mal damit beschäftigen...
JeLe0310
User
User
Beiträge: 35
Registriert: Di, 04.09.07, 00:09
Wohnort: nähe Nürnberg

Mo, 10.09.07, 09:52

kommt drauf an welchen Atmega man hat. Hab hier nen ATMega8, der kann nur 3 mal PWM, das langt aber schonmal für ne RGB LED ;)
djjoke
User
User
Beiträge: 23
Registriert: So, 02.09.07, 17:45
Kontaktdaten:

Di, 25.09.07, 18:59

So Leute.

habe nun eine Version2 meines gerouteten Boardes vorbereitet. :lol:

:idea: In der Version2 gibt es nicht mehr die 5 Taster, welche den Atmega steuern, sondern man kann
über eine Sub-D 25 pol. Buchse die 8 Kanal Fernbedienungseinheit von Pollin.de anschließen.

Es ist also nun möglich die Steuerung per Fernbedienung zu regeln. :mrgreen: :mrgreen:

Gesamtkosten Insgesamt mit allem liegen bei 35,-€ :!:

Wer will einfach bei mir melden. Werde nächsten Montag die Platinen und alle Bauteile bestellen.
Benutzeravatar
exelero
Mega-User
Mega-User
Beiträge: 184
Registriert: Do, 22.01.09, 20:42
Wohnort: Norddeuschland

Fr, 23.01.09, 14:27

hi

vorweg: durch diesen und anderen sehr hifreichen beiträgen habt ihr mich als neues mitglied werben können ;)

meine frage:

im ersten beitrag ist die rede vom mosfet IRLD110. wo kann man diesen kaufen?
bisher habe ich den IRLD110 nur bei ebay gesehen - für 3.00$.
kann man als alternative auch den IRLD014 oder IRLD024 nutzen? der IRL014 hat einen on-widerstand von 0.2 Ohm bei 400pF oder ist das schon zuviel?
welche alternativen gibt es sonst noch?

gruß exelero
Benutzeravatar
exelero
Mega-User
Mega-User
Beiträge: 184
Registriert: Do, 22.01.09, 20:42
Wohnort: Norddeuschland

Fr, 27.03.09, 16:01

der IRL3803 funktioniert super!
habe ihn in diesem projekt benutzt. viewtopic.php?f=28&t=6671&p=94623#p94623
kaufen kann man ihn z.b. bei reichelt
N0i5eBreak3r
Mini-User
Beiträge: 2
Registriert: Mo, 16.01.12, 18:13

Mo, 16.01.12, 18:23

Guten Abend,

Auch wenn dieser Thread schon bald 4,5 Jahre unberührt ist, vielleicht liest ja hier irgendjemand mein Eintrag. Und zwar würde ich gerne das ganze Programm auf einem ATmega32 portieren. Ich brauche nicht alle Funktionen und eine RGB -LED würde mir auch reichen. Leider steht das Programm in BASCOM wovon ich kein blassen Schimmer habe. Ich kenne halt nur C. Hat jemand das Programm in C vorliegen? Was ich eigentlich erreichen möchte ist das ich eine RGB-LED einfach nur in allen Farben leuchtet (Rainbow Effekt). Mit der Funktion das ich mit einem Taster Die Rainbow Funktion anhalte und die aktuelle Farbe bestehen bleibt bis ich erneut die Taste drücke.

Grüße, Daniel J.
stromflo
Mega-User
Mega-User
Beiträge: 304
Registriert: Mi, 31.12.08, 12:16

Mo, 16.01.12, 22:06

Was soll denn noch mit drauf? Ansonsten dürfte ein Atmega32 für deine Anwendung schon eher Oversized sein!

Gruß Flo
N0i5eBreak3r
Mini-User
Beiträge: 2
Registriert: Mo, 16.01.12, 18:13

Mo, 16.01.12, 22:14

Wie gesagt, normalerweise reicht mir ein einfacher Farbverlauf denn ich mit Hilfe eines Taster's anhalten kann und die Farbe in dem Zustand bleibt wo sie ist bis ich erneut auf die Taste drücke. Das mein ATmega32 etwas überdimensioniert ist mir bewusst hab aber denn nun mal hier vor mir rumliegen :) Sonst brauche ich nichts will auch keine zu hohen Ansprüche stellen, mir fehlt auch nix ein was man noch brauchen könnte...

Gruß, Daniel J.
Borax
Star-Admin
Star-Admin
Beiträge: 11995
Registriert: Mo, 10.09.07, 16:28

Di, 17.01.12, 07:46

Ich kenne halt nur C
Das Programm ist ja nicht soo schwer zu verstehen. Wenn Du C halbwegs kannst, dann sollte es keine großen Probleme machen den Basic Code nach C zu portieren. Ansonsten gibt es bestimmt auch schon einen passenden 'Rohbau' in C. Da musst Du halt mal die eher C orientierten Foren im Netz absuchen (z.B. mikrocontroller.net: http://www.mikrocontroller.net/topic/54561#421940)
Antworten