Hallo, ich bin bei meinem aktuellen Projekt auf ein Problem gestoßen, trotz einiger Stunden des ausprobierens komme ich auf keine Lösung und möchte euch um eure Hilfe bitten: Das Projekt: Für einen Wohnzimmertisch sollen mehrere "interaktive" Licht-Module verbaut werden, die die Bewegung einer Hand usw. erkennen und entsprechend LEDs faden. Jedes Modul besteht aus 1 x ATmega368 und 6 IR/LED-Pixeln Prinzip: der Controller schaltet einen Transistor, der einen hohen Strom durch 3 IR-Dioden jagt. Ein Fototransistor misst die Helligkeit, über einen Spannungsteiler bekomt der Controller ein analogwert. Nun schaltet der Transistor die IR-Dioden aus, der µC misst erneut die Spannung am Fototransistor und vergleicht sie mit der vorherigen. Besteht eine Differenz wird sie in einen pwm-Wert umgerechnet und an eine LED ausgegeben. Ich habe den gesammten Aufbau mit einem Arduino getestet, alles funktionierte einwandfrei. Aus Kostengründen wollte ich in meinen Wohnzimmertisch nicht 10 Arduinos verbauen, deshalb entschied ich mich für einen standalone-ATmega328, den ich (weil ich damit leichter arbeiten kann) einen 8Mhz-Arduino bootloader verpasste. Das Problem: Wenn ich in der Standalone-Version die IR-LEDs wie vorher beim Arduino verschalte, dann macht der ATmega nichts mehr. Schaltung: Transistor (2N3904) C an +5V, B über 220Ohm an µC, E an drei parallele IR-LEDs (TSHA5202), die über 1 Ohm an GND. Diese Version macht beim Arduino keine Probleme. Durch die IR-Dioden fließt ein Stom von je etwa 1 A, laut Datenblatt können die das für 1ms ab. Tausche ich diese Konfiguration an den Stand-alone ATmega, dann reagiert die LED nicht mehr auf Annäherung. Setze ich in den IR-Kreis einen 330 Ohm Widerstand ein, dann funktioniert alles wunderbar, nur dass eben die Reichweite durch die geringere IR-Helligkeit extrem leidet. Schließe ich diesen R während des Betriebs kurz (als wäre er nicht da), dann "friert" der µC ein, d.h. wenn die gefadete LED leuchtete dann behält sie diese Helligkeit bei, verändert sie aber nicht mehr. Unterbinde ich diesen Kurzschluss, dann gehts normal weiter, ohne dass ein Reset nötig wäre. Ich verwende eine externe Spannungsquelle mit Elko, der Stomstoß sollte kein Problem machen. Und ich möchte nochmal betonen, dass ich NICHT versuche 3 A durch den ATmega zu jagen, der dient nur als I/O-Geber für den Transistor. Wisst ihr woran es liegen könnte? Einfach einen Widerstand akzeptieren fällt aus, da die Reichweite sehr leidet. Anbei die Quellen, aus denen das Projekt entstanden ist: Prinzip: http://www.instructables.com/id/Make-an-Attiny13-based-IR-proximity-sensor-for-2/?ALLSTEPS http://www.instructables.com/id/Infrared-Proximity-Sensing-Coffee-Table-Module/?ALLSTEPS ATmega328 Standalone http://www.instructables.com/file/FP6AIB0H0OIZC72
Jannai Flaschberger schrieb: > Schaltung: Transistor (2N3904) C an +5V, B über 220Ohm an µC, E an drei > parallele IR-LEDs (TSHA5202), die über 1 Ohm an GND. 1. Solltest du deinen Transistor in Kollektorschaltung betreiben Jannai Flaschberger schrieb: > Durch die IR-Dioden fließt ein Stom von je etwa 1 A, laut Datenblatt > können die das für 1ms ab. 2. Kann der verwendete Transistor nur 200mA ab Jannai Flaschberger schrieb: > ich (weil ich damit leichter arbeiten kann) einen 8Mhz-Arduino > bootloader verpasste 3. Sind alle Zeiten gegenüber dem 16MHz Arduino doppelt so lang. Oder hast du das geändert? Jannai Flaschberger schrieb: > Ich verwende eine externe Spannungsquelle mit Elko, der Stomstoß sollte > kein Problem machen. 4. IST kein Problem wäre eine Aussage. SOLLTE nur eine Vermutung, die sich angesichts längerer Einschaltzeiten erst noch beweisen muß. Wenn etwas nicht funktioniert, liegt es sehr oft an dem, was man auf jeden Fall ausschliessen kann. mfg.
Jannai Flaschberger schrieb: > Das Problem: > Wenn ich in der Standalone-Version die IR-LEDs wie vorher beim Arduino > verschalte, dann macht der ATmega nichts mehr. Und wie ist dein "Standalone" AVR beschaltet? Bricht dem die Spannung weg, wenn du die IR Leds befeuerst?
Das durch eine 2N3904 1A fließen halte ich für ein Gerücht. Lt. Datenblatt Ic max 200mA. Zu anderen, ein Bild (Schaltbild)sagt mehr als viele Worte. Aber so wie du es tatsächlich gemacht hast.
@ Jannai Flaschberger (ein_geweihter) >Schaltung: Transistor (2N3904) C an +5V, B über 220Ohm an µC, E an drei >parallele IR-LEDs (TSHA5202), die über 1 Ohm an GND. Eine Kollektorschaltung, wobei der Basiswiderstand hier eher hinderlich bis falsch ist. >Durch die IR-Dioden fließt ein Stom von je etwa 1 A, Mit dem Oszi gemessen? 3A sind für einen 2N3904 nicht wirklich drin, der ist für 200mA DC ausgelegt, der schafft vielleicht 1A Puls. Dazu braucht er aber auch eher 50mA Basisstrom oder mehr. >Setze ich in den IR-Kreis einen 330 Ohm Widerstand ein, Wo? zwischen Basis und uC? >funktioniert alles wunderbar, nur dass eben die Reichweite durch die >geringere IR-Helligkeit extrem leidet. >Schließe ich diesen R während des Betriebs kurz (als wäre er nicht da), >dann "friert" der µC ein, d.h. wenn die gefadete LED leuchtete dann >behält sie diese Helligkeit bei, verändert sie aber nicht mehr. >Unterbinde ich diesen Kurzschluss, dann gehts normal weiter, ohne dass >ein Reset nötig wäre. Komisch. >Ich verwende eine externe Spannungsquelle mit Elko, der Stomstoß sollte >kein Problem machen. WO sitzt der Elko? Nah am AVR, sagen wir 5cm? OK. Weiter weg? nicht gut. Hast du 100nF Keramik am AVR? >Und ich möchte nochmal betonen, dass ich NICHT versuche 3 A durch den >ATmega zu jagen, der dient nur als I/O-Geber für den Transistor. Schon klar. Aber kann dein Transistor 3A? Ach so. Am Arduino geht es ja. >Wisst ihr woran es liegen könnte? Einfach einen Widerstand akzeptieren >fällt aus, da die Reichweite sehr leidet. Klingt so, als ob der Pulsstrom von der Versorgung nicht geliefert werden kann, eben weil der Elko zu weit weg ist. Die Zuleitung hat zuviel Induktivität. >http://www.instructables.com/id/Make-an-Attiny13-b... Fetter Fehler im Schaltplan. Der 2N3904 in Emitterschaltung hat keinen Basiswiderstand. Ausserdem werden die IR-Leds dort mit deutlich weniger Strom betrieben.
Danke für die schnelle Antwort! Stimmt, eigentlich bewege ich mich hier klar über den Spezifikationen des Transistors. Anfängerfrage: ist es klug einfach trotzdem mit der bestehenden Konfiguration zu fahren (ist ja nur ca. 100µs an), nur weil nach einer Woche Dauertest keine Ausfälle erkennbar waren, oder sollte ich unbedingt auf andere Transistoren umsteigen? Trotzdem hat das aber wohl nur indirekt etwas mit der Problemstellung zu tun, denn mit dem vollständigen Arduino als Controller funktioniert es ja. Wenn ich statt den drei IR-LEDs parrallel zwei in Serie schalte taucht das gleiche Problem auf. Ein Widerstand ab ca. 10 Ohm (deutlich geringer als bei der Parallelschaltung!) in macht alles wieder gut, die Helligkeit (-> Reichweite) ist aber auch hier natürlich deutlich verkürzt. Auch hier gilt: dem Arduino-Board ist es egal, nur beim stand-alone ATmega gibt es Probleme. Merke: der problematische Zustand scheint ab einm gewissen Strom durch den Transistor aufzutauchen. Ich habe leider kein Oszilloskop, aber mit einem Piezo-Lautsprecher an Stelle einer IR-LED konte ich feststellen, dass der Transistor auch im "eingefrorenen" Zustand des µC durchschaltet, allerdings ist der Ton (=die Schaltfrequenz) deutlich niedriger. In der Vermutung dass der Spannungsabfall beim durchschalten des Transistors irgendwelche versteckten Sicherungsmechanismen des Controllers auslöst habe ich einen größeren Elko in die Versorgung geschaltet. Keine Veränderung.
@Jannai Flaschberger (ein_geweihter) >Stimmt, eigentlich bewege ich mich hier klar über den Spezifikationen >des Transistors. Anfängerfrage: ist es klug einfach trotzdem mit der >bestehenden Konfiguration zu fahren (ist ja nur ca. 100µs an), nur weil >nach einer Woche Dauertest keine Ausfälle erkennbar waren, oder sollte >ich unbedingt auf andere Transistoren umsteigen? Man sollte einen anderen Transistor nehmen, einen der wenigstens 1A DC kann, der kann dann meist auch 3A Puls. BC337 könnte knapp passen. Ist aber im Moment nich das Hauptproblem, denn . . . >Trotzdem hat das aber wohl nur indirekt etwas mit der Problemstellung zu >tun, denn mit dem vollständigen Arduino als Controller funktioniert es >ja. Eben. >Wenn ich statt den drei IR-LEDs parrallel zwei in Serie schalte taucht >das gleiche Problem auf. Ein Widerstand ab ca. 10 Ohm (deutlich geringer >als bei der Parallelschaltung!) in macht alles wieder gut, die >Helligkeit (-> Reichweite) ist aber auch hier natürlich deutlich >verkürzt. Prüfe mal GENAU deinen Aufbau. Vielleicht sind Emitter und Kollektor vertauscht. ODer was anderes. Naja, man muss erstmal rauskriegen, wie hoch die Flußspannung der LEDs bei 1A ist. Messen oder Datenblatt, wobei Messen besser ist. Braucht man ein Oszi. >Auch hier gilt: dem Arduino-Board ist es egal, Dort sind halt ein paar Elkos drauf. Schau dir den Schaltplan an. > nur beim stand-alone >ATmega gibt es Probleme. Dort fehlen sie wahrscheinlich. Mal überschlagen. C = I x t / U Wenn wir 3A für 100s schalten wollen und dabei nur 0,5V Spannungsabfall haben wollen macht das 3A * 100us / 0,5 = 600 uF. Ganz schön viel. >"eingefrorenen" Zustand des µC durchschaltet, allerdings ist der Ton >(=die Schaltfrequenz) deutlich niedriger. Wieviel? >Controllers auslöst habe ich einen größeren Elko in die Versorgung >geschaltet. Wie groß? Wo GENAU?
entschuldige, du warst mit deiner Antwort schneller... So, Fehler gefunden: ich hatte zwar einen großen Elko parallel zu Spannungsquelle geschaltet, aber den schnellen, nahen 100nF Kondensator vergessen (saublöder Anfängerfehler, mea culpa). 100nF hab ich zwar gerade nicht zur Hand, mit einer zweiten Spannungsquelle nur für den µC, (GND natürlich verbunden) klappts wunderbar. > >>http://www.instructables.com/id/Make-an-Attiny13-b... > > Fetter Fehler im Schaltplan. Der 2N3904 in Emitterschaltung hat keinen > Basiswiderstand. Ausserdem werden die IR-Leds dort mit deutlich weniger > Strom betrieben. Ja, der Schaltplan ist etwas dürftig. Das Prinzip ist aber kompakter und zügiger zu verstehen als bei dem anderen Link, deshalb . Wegen der Transistoren: nachdem für meine gewünschten 3A ein so großer Basisstrom nötig ist und mir meine ganze tolle Rechnung verhagelt bin ich einfach mal so vermessen und lasse alles dabei. In der Konfiguration bin ich mit der Reichweite zufrieden, sie hat schon über einen längeren Zeitraum funktioniert und außerdem habe ich blauäugig schon 30 Pixel fertiggelötet. So wie es gerade für mich aussieht muss der Transistor eher <1000mA schalten, und bisher kann er das gut. Vielen Dank an Falk für die Hilfe, für mich ist das Problem gelöst!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.