Forum: Mikrocontroller und Digitale Elektronik LED Ansteuerung


von Johannes A. (kleinerkeiler96)


Lesenswert?

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

von STK500-Besitzer (Gast)


Lesenswert?

JTAG?

von Johannes A. (kleinerkeiler96)


Lesenswert?

brenne mit ISP


oder was war die frage.

von andreas6 (Gast)


Lesenswert?

Hallo,

es fehlt die Schaltung, die Speisung und der Vorwiderstand.

MfG. Andreas

von Johannes A. (kleinerkeiler96)


Lesenswert?

ich habe die schaltung versucht oben zu erklären. vorwiderstand bei der 
led hab ich. ja.

von chris (Gast)


Lesenswert?

die leds verpolt??

von STK500-Besitzer (Gast)


Lesenswert?

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.

von Johannes A. (kleinerkeiler96)


Lesenswert?

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.

von STK500-Besitzer (Gast)


Lesenswert?

Dann wird es ein Problem mit deiner Hardware sein.
Hast du wirklich die LEDs als Emitterfolger geschaltet?

von Klaus (Gast)


Lesenswert?

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.

von Johannes A. (kleinerkeiler96)


Lesenswert?

collector erster transi
basis > widerstand>IO
emitter>widerstand>led

das 10mal
und alle collector zusammengefasst, auf einen elften transistor, welcher 
alle ein/aus stellt

von Johannes A. (kleinerkeiler96)


Lesenswert?

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

von Klaus (Gast)


Lesenswert?

Johannes Adler schrieb:
> emitter>widerstand>led

Also benutzt du eine PNP Transistor P-Channe Fet?

von STK500-Besitzer (Gast)


Lesenswert?

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.

von Johannes A. (kleinerkeiler96)


Lesenswert?

nein. bc548 NPN

diese "darstellung" zeigt nur, wo der transistor angeschlossen ist

von Johannes A. (kleinerkeiler96)


Lesenswert?

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.

von Klaus (Gast)


Lesenswert?

Johannes Adler schrieb:
> ein. bc548 NPN

Deine Beschaltung scheint falsch zu sein!


   |
   _
  | |
   -
   |

   /
 -|
   \
    |
    _

von Klaus (Gast)


Lesenswert?

Nachtrag!

Am Emitter sollte GND sein

von Klaus (Gast)


Lesenswert?

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.

von chris (Gast)


Angehängte Dateien:

Lesenswert?

siehts denn so aus ??

von Klaus (Gast)


Lesenswert?

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

von Klaus (Gast)


Lesenswert?

Mach nächtesmal einfanch ein  PNG

von Klaus (Gast)


Lesenswert?

Genau das ist falsch beschaltet. Das geht nur mit PNP oder P-Channle Fet

von Johannes A. (kleinerkeiler96)


Angehängte Dateien:

Lesenswert?

scheiße. falsch erklärt...

von Johannes A. (kleinerkeiler96)


Lesenswert?

scheiße. wirklich spät schon :D
ich entschuldige mich für diese verunsicherung!

von STK500-Besitzer (Gast)


Lesenswert?

Johannes Adler schrieb:
> scheiße. falsch erklärt...

und den Schaltplan bitte als PNG

von Klaus (Gast)


Lesenswert?

Oh Mann ehh wie kommst du auf diese Schaltung fällt mir gerade auf! 
Funktioniert das überhaubt

von Johannes A. (kleinerkeiler96)


Lesenswert?

die masse fehlt noch. klar . warum soll das nicht funktionieren.?

leds, die mit 2 transistoren geschalten werden

von Johannes A. (kleinerkeiler96)


Angehängte Dateien:

Lesenswert?

hier...

von chris (Gast)


Lesenswert?

hey jungs die PDF kommt von mir das ist die Schaltung so wie ich sie vom 
eröffner von "text" in "schaltplan" compiliert habe.

von Johannes A. (kleinerkeiler96)


Lesenswert?

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.

von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Ich würde sagen so wie im Anhang könnte es gehen

von Johannes A. (kleinerkeiler96)


Lesenswert?

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

von Klaus (Gast)


Lesenswert?

Was ist wenn du die transistoren mit der basis an einen anderen Port 
hängst?

von Klaus (Gast)


Lesenswert?

Also wenn das auch nicht geht dann sind deine Transistoren defekt oder 
falsche.

von chris (Gast)


Lesenswert?

evt. bei den letzten beiden transen, zu große widerstände erwischt?

von Klaus (Gast)


Lesenswert?

Trotzdem schaltet man Led nicht in die Emitterstrecke bei NPN

von Johannes A. (kleinerkeiler96)


Lesenswert?

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

von Johannes A. (kleinerkeiler96)


Lesenswert?

aber ich danke euch trotzdem ;)

von chris (Gast)


Lesenswert?

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.

von Klaus (Gast)


Lesenswert?

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

von Johannes A. (kleinerkeiler96)


Lesenswert?

auch wenn ich sie aufteile....es geht nicht

von Klaus (Gast)


Lesenswert?

Dann bitte komplettes Schaltpild in PNG format und Programm

von chris (Gast)


Lesenswert?

ok letzter versuch bevor die welt unter geht mach doch mal bitte ein 
bild von deinem jetzigen testaufbau.

von Klaus (Gast)


Lesenswert?

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.

von Dummschwaetzer (Gast)


Lesenswert?

Klaus schrieb
> Trotzdem schaltet man Led nicht in die Emitterstrecke bei NPN

Und warum nicht?

von chris (Gast)


Lesenswert?

ich sach nur STROMGEGENKOPPLUNG aber hör auf den post zu kappern, mach 
ein eigenen auf.

von Klaus (Gast)


Lesenswert?

@ Dummschwaetzer
> Trotzdem schaltet man Led nicht in die Emitterstrecke bei NPN

Grundlagen der Elektronik und wie Chris schon gesagt STROMGEGENKOPPLUNG

von Johannes A. (kleinerkeiler96)


Angehängte Dateien:

Lesenswert?

#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;

    }
}

von Dietrich L. (dietrichl)


Lesenswert?

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

von chris (Gast)


Lesenswert?

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 ?

von Johannes A. (kleinerkeiler96)


Lesenswert?

PC4 und PC5.^^

von STK500-Besitzer (Gast)


Lesenswert?

Ich tippe immer noch auf die JTAG-Geschichte.
Oder die Pins sind kaputt.

von Johannes A. (kleinerkeiler96)


Lesenswert?

mein avr dragon ist leider kaputt :) benutze zur zeit nur mysmart usb 
light

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Johannes A. (kleinerkeiler96)


Lesenswert?

ich weis schon. aber ich sagte, es ist egal wo ich sie anschließe. auch 
wenn wenn portb oder d nehme

von chris (Gast)


Lesenswert?

so keule wie siehts denn jetzt aus was hast du denn hardwaretechnisch 
durchgeprüft??

von Johannes A. (kleinerkeiler96)


Lesenswert?

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

von Klaus (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von XSHEN (Gast)


Lesenswert?

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

von STK500-Besitzer (Gast)


Lesenswert?

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...

von Klaus (Gast)


Lesenswert?

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

von Klaus (Gast)


Lesenswert?

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?

von amateur (Gast)


Lesenswert?

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 ...

von sölls (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.