Ich bin ganz neu hier, hab allerdings so zu 90% von dem was ich mit Arduino kann hier gelernt 8) Immer fleißig gelesen hier
So nun aber zu meinen Problem.
Ich hab mir LED Lampen gebastelt in dennen jeweils eine Rote, grüne und blaue Highpower led drinne sind ( 1W ) Diese hab ich bereits über ein PWM LED treiber am Arduino.
Funktioniert auch alles wunderbar, nuja zumindest Blau und Grün
Rot Blitzt immer nur kurz auf, b.z.w. Auf volle helligkeit Leuchtet sie sobald ich anfange zudimmen. ist sie komplett aus.
Es liegt aber 100% nicht an der LED oder an der KSQ hab 4 von diesen Lampen gebaut und alle die selben anzeichen.
Ich hatte das Vorher alles schon mal vorher mit freiluftverdrahtung getestet, da hatte ich es auch schon einmal und habs dan irgendwie gehoben, leider ist das schon ein paar Monate her da ich kaum Zeit hatte diese Lampen weiter zubauen
Muss ich irgendwas an der Programmierung anpassen ? Oder ein Pulldown wiederstand zu den PWM ausgängen ? Hab es mit nen 10kohm gegen masse vesucht hat sich nichts geändert.
Oder hatte ich darmals sogar den PWM Ausgang Defekt und hab nun den selben atmega genommen^:/
Ist echt merkwürdig das es nur die Rote ist ^^
Hoffe die gaaaaanze Arbeit war nicht um bekom ein Tipp von jemanden.
laut der Arduino Hardware Seite: PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.
( http://arduino.cc/en/Main/ArduinoBoardUno )
Wenn Du 2 PWM-Ausgänge umtauscht (zwischen Arduino und KSQ) und das Problem mit einer anderen Farbe auftritt dann liegt das Problem nicht bei den KSQ oder den LED.
Das hast Du schon gemacht und das Problem hat Farbe gewechselt.
Also bleibt ein HW oder SW Problem. Du hast den Arduino augetauscht und somit hast due die HW des Arduino kontrolliert. Bleibt die HW des Anschlusses zwischen Arduino und KSQ (der Teil zwischen Arduino und kabel) Bitte auf kurzschlüsse prüfen.
SW: schreib mal ein Minimalbeispiel
wo Du nur die Helligkeit alle 3 LEDS änderst:
loop(){
analogWrite(blau, 0);
analogWrite(grun, 0);
analogWrite(rot, 0);
delay(2000);
analogWrite(blau, 127);
analogWrite(grun, 127);
analogWrite(rot, 127);
delay(2000);
analogWrite(blau, 255);
analogWrite(grun, 255);
analogWrite(rot, 255);
delay(2000);
}
Ich werd hier noch bekloppt ^^
Ich hab nun den ausgang von 3 auf 10 geändert in script und dan läuft. Alle LED's dimmen einbandfrei.
Kann es irgendwie damit zusammenhängen das die leiterbahnen zu dicht einander liegen ?
Komigerweise klappt es aber mit dem beispielscript, dachte evtl gehts dan weil alle gleich dimmen, also hab ich noch mal ein kleines mit übergang der farben gemacht und es lief auch ^^ ( Und die übergänge hatte ich sogar aus meinen script rauskopiert ^^ )
Naja ich gibts auf, ist mir grad viel zu hoch. Mal ne Nacht drüber schlafen.
Hast Du Uwes Beispiel in Dein bestehendes Programm eingebaut oder als neues Programm geladen ?
Ich vermute daß der Timer am Pin3, der ja für die PWM-Erzeugung mit analogWrite gebraucht wird, bereits anderweitig verwendet wird, z.B. von IRremote - da müsstest mal nachschauen. Das erklärt dann auch, warum es an einem anderen PWM-Pin funktioniert.
Oder Du machst einfach aus Deiner setup()-Routine ein neues Programm ohne die libs. Dann sollte es auch an Pin3 funktionieren.
@mmi
Daran hab ich gar nicht gedacht. :* :* @Buddah
Brauchst Du alle 6 PWM- Ausgänge? wenn nicht dann benutze nicht pin 3 und pin 11. Beide hängen am gleichen Timer
Grüße Uwe
Mahlzeit =)
Ich hatte ein Teil aus meinnen program genommen und als neues program geladen. Also ohne schnick schnack nur den teil fürs LED's dimmen.
Nun Lief die Rote nach dem ich von D3 zu D10 gändert habe, Alles fein alles gut... naja bis ich die Zweite Lampe Parallel geschaltet hab ^^
Alle LED's dimmten aus Lampe 1 ( Rot, Grün, Blau ) und aus Lampe 2 nur Grün und Blau, aber Rot streikte mal wieder o.O
Hab darauf mal die Rote LED von Lampe zwei mit auf den Ausgang von Grün oder Blau gemacht und die Rote LED dimmte ^^
Da ist echt der Wurm drinne -.-
3PWM würden mir auch reichen, 6PWM's wer natürlich schöner.
Kann es sein, dass die roten LEDs eine höhere Leistungsaufnahme haben? Wie muss ich mir deine Schaltung über die KSQ vorstellen? Hast du ein schaltbild für uns?
btw: Es heißt einwandfrei - von keine Einwände, einbahnfrei macht wenig sinn... bei sowas bluten mir die Sehnerven.
Der PT4150 hat halt ein PWM eingang den ich dazu nutze.
Also hab ich alle lampen Parralel geschaltet an 12v ( Strom ist ausreichend )
Und die PWM eingänge halt am Arduino an den PWM ausgängen. Alle Roten an D3 b.z.w. Jetzt an D10 ... Blau an D6 und Grün an D5
Hey, ich hab mal einen kleinen teil aus dem Quelltext raus genommen. Damit ist auch der effekt das eine Lampe Wunderbar Funktioniert ( immer die an der, der controller hängt ) und die andere ( mit kabel parallel geschaltet ) Funktioniert bis auf das nicht ROT dimmt.
Egal wie rum ich die lampen dreh 100% geht nur immer die an der, der controller hängt.
Ich hab mittlerweile auch mal Batterien für mein Gutes multimeter gekauft und das Baumarkt teil in den schrank verbannt ^^ Damit kann ich auf dem Display mit balkengrafik sehen das, das minuspotential steigt und singt ( pwm )
hier der quelltext
//Variablen
int grun = 5;
int blau = 6;
int rot = 9;
int tempo = 10;
int i=0;
void setup()
{
pinMode(grun, OUTPUT);
pinMode(blau, OUTPUT);
pinMode(rot, OUTPUT);
Serial.begin(9600);
}
void loop(){
//AN Blau
for(i = 0; i < 255; i++)
{
analogWrite(blau, i);
delay(tempo);
}
//AN Grün
for(i = 0; i < 255; i++)
{
analogWrite(grun, i);
delay(tempo);
}
//AN Rot
for(i = 0; i < 255; i++)
{
analogWrite(rot, i);
delay(tempo);
}
//AUS Blau
for(i = 255; i > -1; i--)
{
analogWrite(blau, i);
delay(tempo);
Serial.print("Helligkeit =>");
Serial.println(i);
}
//AUS Grün
for(i = 255; i > -1; i--)
{
analogWrite(grun, i);
delay(tempo);
}
//AUS Rot
for(i = 255; i > -1; i--)
{
analogWrite(rot, i);
delay(tempo);
}
}
uwefed:
Brauchst Du alle 6 PWM- Ausgänge? wenn nicht dann benutze nicht pin 3 und pin 11. Beide hängen am gleichen Timer
Hallo Uwe,
ich habe den Quellcode von analogWrite nicht angeschaut, aber wenn es so wäre, dann könnte man nicht nur pin3/pin11, sondern auch pin5/pin6 sowie pin9/pin10 in diesem Fall nicht verwenden.
Ich glaube nicht, daß es so programmiert ist. Der atmega168/328 hat zwar tatsächlich nur 3 timer, aber je timer zwei unabhängig voneinander einstellbare counter, die somit 6 unterschiedliche Pulsweiten an den entsprechenden pins zulassen.
Deshalb glaube ich auch, daß da eine lib bereits den counter an pin3 in Anspruch genommen hat und Dein Beispiel deshalb auch als eigenständiges Programm korrekt läuft.
@buddah: Du scheinst ja eine abenteuerliche Schaltung zu haben, wenn Du die Lampen (Du hast ja geschrieben, es wären LEDs) drehen und wenden kannst, wie Du willst und nun zwei antiparallel angebrachte Dioden den Fehler behoben haben.