Guten Abend. Ich bin am verzweifeln. Ich steuer mit meinem Atmega32 10 LEDs an. 5 auf PortA und 5 auf PortC. mega32 widerstand>transistor>led am emitter widerstand>transistor>led am emitter ... das gleich bloß 10 mal alle collector zusammengefasst und über einen gemeinsamen transistor für alle auf collector dieses transistors. dieser dient hauptsächlich nur als PWM. spielt in dem fall keine rolle, denn hier im versuch, schalte ich ihn voll durch. mein problem: die letzten 2 leds, ist auch egal wo ich sie anschließe, sie leuchten einfach nicht.! ein einfacher code der eigentlich funktionieren sollte: #include <avr/io.h> #include <avr/pgmspace.h> #include <util/delay.h> int main(void) { DDRD = 0xff; DDRA = 0xff; DDRC = 0xff; DDRB = 0xff; while(1) { PORTD = 0xff;//PORTD |= (1<<PD5); PORTA = 0xff; PORTC = 0xff; PORTB = 0xff; } } was mache ich falsch.? danke euch mfg
ich habe die schaltung versucht oben zu erklären. vorwiderstand bei der led hab ich. ja.
Hast du dir mal die "Alternate Functions" des Port C angesehen? Da liegt das JTAG-Interface, welches standardmäßig aktiviert ist. Das kann man per ISP oder auch im Programm deaktivieren.
chris schrieb: > die leds verpolt?? nein. schon versucht STK500-Besitzer schrieb: > Hast du dir mal die "Alternate Functions" des Port C angesehen? > Da liegt das JTAG-Interface, welches standardmäßig aktiviert ist. > Das kann man per ISP oder auch im Programm deaktivieren. den port kann ich deswegen trotzdem nutzen. und wie gesagt: ist egal wo ich sie anschließe. es gehen immer nur 8 leds.
Dann wird es ein Problem mit deiner Hardware sein. Hast du wirklich die LEDs als Emitterfolger geschaltet?
Johannes Adler schrieb: > mein problem: die letzten 2 leds, ist auch egal wo ich sie anschließe, > sie leuchten einfach nicht.! So wie Chris schon meinte oder sind einfach Kaputt! Schon mal die LED durch gemessen oder einfach nur so mal beschaltet mit RV + Led und Batterie? Hast noch andere Led bzw. die schon Funze getestet? Dann fällt mir noch ein das vllt. irgend etwas den Port zurück setzt wie auch immer.
collector erster transi basis > widerstand>IO emitter>widerstand>led das 10mal und alle collector zusammengefasst, auf einen elften transistor, welcher alle ein/aus stellt
Klaus schrieb: > So wie Chris schon meinte oder sind einfach Kaputt! > Schon mal die LED durch gemessen oder einfach nur so mal beschaltet > mit RV + Led und Batterie? > Hast noch andere Led bzw. die schon Funze getestet? alles versucht. in 10 leds habe führe ich mit kabeln auf meine platine. dazwischen eine stiftleise/buchse...da rumdrehen, geht es. nun sind es wieder die 2 led auf der anderen seite
Johannes Adler schrieb: > collector erster transi > basis > widerstand>IO > emitter>widerstand>led > > das 10mal > und alle collector zusammengefasst, auf einen elften transistor, welcher > alle ein/aus stellt Das hattest du oben schon geschrieben. Kannst du das mal bitte in einen Schaltplan (z.B. kostenlose Eagle Home-Edition) bringen? Hast du schon mal über den Dioden die Spannung gemessen? Nicht, dass einer deiner Transistoren einen Defekt aufweist.
nein. bc548 NPN diese "darstellung" zeigt nur, wo der transistor angeschlossen ist
STK500-Besitzer schrieb: > Hast du schon mal über den Dioden die Spannung gemessen? > Nicht, dass einer deiner Transistoren einen Defekt aufweist. funktioniert. nichts kaputt. auch die transistoren nicht... ja mach ich.
Johannes Adler schrieb: > ein. bc548 NPN Deine Beschaltung scheint falsch zu sein! | _ | | - | / -| \ | _
Johannes Adler schrieb: > emitter>widerstand>led Bei NPN sollte der Widerstand un Rv im Kollektor zu VCC sein und Emitter an GND. Wollte ich damit sagen.
Klaus schrieb: > Bei NPN sollte der Widerstand un Rv im Kollektor zu VCC sein und > Emitter an GND. Widerstand sollte LED heissen. Oh man ist es Spät
Oh Mann ehh wie kommst du auf diese Schaltung fällt mir gerade auf! Funktioniert das überhaubt
die masse fehlt noch. klar . warum soll das nicht funktionieren.? leds, die mit 2 transistoren geschalten werden
hey jungs die PDF kommt von mir das ist die Schaltung so wie ich sie vom eröffner von "text" in "schaltplan" compiliert habe.
das ist der sinn davon. ich kann die durch den 2ten transistor dimmen oder durchschalten und dann jede einzeln ansteuern. der code funktioniert ja alles. es scheiter wirklich nur an den letzten beiden leds.
ja sicher. nur dass hier schon der 2. transistor fehlt. das problem ist immer noch, dass immer 2 leds nicht leuchten.! egal wo ich sie anschließe
Klaus schrieb: > Was ist wenn du die transistoren mit der basis an einen anderen Port > hängst? erzähle ich ja die ganze zeit. es ist es egal wo. es leuchten immer nur 8. nicht defekt, nicht falsch. alles richtig... ich schätze es wird ein tieferes problem sein
na dann hängen 8 an einen port und 2 die nicht leuchten hängen an keinen port weil die ports sind 8 bit breit.
Jetzt mal im ernst hast du schon mal testweise die Transistoren mit einem käbelchen einfach an VCC gehängt? Damit solltest zu mindest prüfen können ob der verdammte transistor durchdchaltet
ok letzter versuch bevor die welt unter geht mach doch mal bitte ein bild von deinem jetzigen testaufbau.
Noch ein Tipp! Controller entfernen und mit einem Drähtchen an VCC die Transistoren durch testen ob alle LED aufleuchten. Wenn das geht solltest das mit dem JTAG nochmal überdenken.
Klaus schrieb
> Trotzdem schaltet man Led nicht in die Emitterstrecke bei NPN
Und warum nicht?
ich sach nur STROMGEGENKOPPLUNG aber hör auf den post zu kappern, mach ein eigenen auf.
@ Dummschwaetzer
> Trotzdem schaltet man Led nicht in die Emitterstrecke bei NPN
Grundlagen der Elektronik und wie Chris schon gesagt STROMGEGENKOPPLUNG
#include <avr/io.h> #include <avr/pgmspace.h> #include <util/delay.h> int main(void) { DDRA = 0xff; DDRB = 0xff; DDRC = 0xff; DDRD = 0xff; while(1) { PORTA = 0xff; PORTB = 0xff; PORTC = 0xff; PORTD = 0xff; } }
Johannes, ich empfehle mal, die Schaltung mit einem Multimeter Stück für Stück durchzumessen: Den PWM-Tansistor zuerst mal kurzschließen, dann 1. Spannung am Port-Pin 2. Spannung an der Basis 3. Spannung am Emiter 4. Spannung am Kollektor 5. Spannung an LED (hinter dem Widerstand). Da solltest Du doch den Punkt finden, wo das Signal verloren geht! Den PWM-Tansistor kannst Du ja dann wieder akivieren und sein Funktion ebenso durchmessen. Gruß Dietrich
Hallo, Schaltplan sieht ertsmal o.k. aus. Kann zwar kein C aber die DDRx's sind ja alle auf Ausgang geschaltet sowie die Ports mmh sollte also gehen. Zu deinem ersten Post du sagtest die letzten beiden LED's leuchten nicht also meinst du T10/13 ?
Johannes Adler schrieb: > PC4 und PC5.^^ Sach mal, kannst Du nicht lesen? Direkt die erste Antwort gestern abend hat Dich mit einem Link auf JTAG direkt mit der Nase drauf gestoßen. PC2 bis PC5 sind fürs JTAG-Interface, dieses ist standardmäßig AKTIVIERT. Damit kannst Du PC4 und PC5 NICHT als Output verwenden. Oder Du deaktivierst das JTAG. Das geht entweder mit Umstellen einer Fuse oder At-Runtime mit einem Befehl. Such Dir eins aus.
ich weis schon. aber ich sagte, es ist egal wo ich sie anschließe. auch wenn wenn portb oder d nehme
so keule wie siehts denn jetzt aus was hast du denn hardwaretechnisch durchgeprüft??
problem ist schon gelöst. JTAG in fuses rausgenommen. aber ich verstehe es trotzdem nicht warum. weil noch nie alle 10 geleuchtet haben. immer nur acht. auch wenn ich die pins getauscht habe
So hab mir mal die Mühe gemacht un deine Schaltung nach gebaut auf Steckbrett ohne PWM-Transistor. Also bei mir funktionieren alle LED. JTAG Fusbit auf jeden fall abschalten sonst leuchten da evtl. ungewollt LED. Was noch sein könnte falls Du Johannes Adler, die sache auf dem Steckbrett aufgebaut hast, kontaktprobleme mit Steckbrücken oder Widerstand, Transistor daneben gesteckt.
Johannes Adler schrieb: > problem ist schon gelöst. JTAG in fuses rausgenommen. Schon? Das hättest Du gestern abend schon haben können, wenn Du die Hinweise auf JTAG nicht die ganze Zeit ignoriert hättest. > aber ich verstehe es trotzdem nicht warum. weil noch nie alle 10 > geleuchtet haben. immer nur acht. auch wenn ich die pins getauscht habe Genauso unsystematisch, wie Deine Antworten hier waren, wirst Du auch getestet haben.
Johannes Adler schrieb: > spielt in dem fall keine rolle, denn hier im versuch, schalte ich ihn > voll durch. Hast Du die PWM-Transistor volldurchgeschaltet oder kurzgeschloßen(Emiter und Kollektor)? Du hast keine Stromwerte gegeben, kann ich hier deshalb nur folgendermaßen vermuten: "Volldurchgeschaltet" ist wahrscheinlich in Deinem Fall nicht wirklich voll durch. Der reale Strom (Ic von T3) ist viel höher als hardwaremäßig eingestellt. Die T3 ist in Sättigung getrieben, Vce von T3 steigt hoch. Dadurch werden die anderen Transistor ausgeschaltet. Die Folgerung ist dass zwei Transistor bekommen nicht eingeschaltet, der Strom durch T3 wird begrenzt. Miss bitte mal die Spannung Vce von T3 Gruß XSHEN
Johannes Adler schrieb: > aber ich verstehe es trotzdem nicht warum. weil noch nie alle 10 > geleuchtet haben. immer nur acht. auch wenn ich die pins getauscht habe Dann dürften andere nicht geleuchtet haben...
So jetzt brauch ich auch mal hilfe! Nach dem ich jtag abgeschaltet habe kann ich nichts mehr flaschen auch mit ISP nicht. Erkennt den Chip nicht mehr. Hat da jmd einen Tipp! Ach ja Programmer ist AVR-Dragon
So! Problem gelöst Atmega32 lässt sich wieder Programmieren. Hab jetzt auf ISP umgestellt und habe nochmal Johannes Adler Schaltung durch getestet. An den Threadersteller bei mir funktionieren alle 10 LED nach deiner Schaltung. So was für Fehlerquellen hast du bis jetzt an deinem Aufbau festgestellt?
Es sollte zwar nicht vorkommen, aber ich habe mich mal dadurch reingelegt, dass meine Stromversorgung eine sehr gut funktionierende und sehr genau einstellbare Strombegrenzung hatte. Alles lief prima bis ...
aber was macht man, wenn man nur ein JTAG programmer hat und kein ISP.`? ich meine, wenn ich alle 4 ports komplett brauche, auch den wo mein JTAG interface ist. ??? das würde mich mal interessieren, möglichkeiten wird es bestimmt geben oder.?
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.