LED Ansteuerung

OP #2965595
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
Gast
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.
OP
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.
Gast
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.
OP
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
Gast
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.
Gast
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
Gast
@ Dummschwaetzer
> Trotzdem schaltet man Led nicht in die Emitterstrecke bei NPN

Grundlagen der Elektronik und wie Chris schon gesagt STROMGEGENKOPPLUNG
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
Gast
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 ?
Moderator Persönliche Seite
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.
Gast
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.
Moderator Persönliche Seite
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.
Gast
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
Gast
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
Gast
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?
Gast
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 ...
Gast
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.?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.