Forum: Mikrocontroller und Digitale Elektronik atmega32 Ports kaputt?


von Felix (Gast)


Lesenswert?

Hallo,
mein Name ist Felix und seit den letzten Wochen habe ich mich in die 
Programmierung von Mikrocontrollern eingearbeitet und mit jetzt ein 
Steckbrett, nen atmega32 und nen programmer zugelegt.
Ich habe mit dem Versuch gestartet einfach ne LED zum leuchten zu 
bringen und es ist sehr deprimierend daran gleich zu scheitern.
Der Atmega lässt sich programmieren und alles, nur bekomme ich an keinem 
Port bzw. Pin ein high-Signal heraus, welches meine LED zum leuchten 
bringt :(.
Kann mir vllt. einer sagen, wo da Fehlerquellen liegen könnten?
wie gesagt, programmieren lässt er sich ja und ich hab auch schon 
internen und externen takt probiert mit nem 7,3728Mhz Oszi.

vieln Dank schon im Vorraus

von H.Joachim S. (crazyhorse)


Lesenswert?

Zeig deine Software, sonst geht hier gar nichts.

von Frickler (Gast)


Lesenswert?

Zeige bitte deinen Quelltext?
Sonst wird das hier ein Kaffesatz-Lesen.

Gruß Frickler

von Chris M. (Gast)


Lesenswert?

wie ist die LED angeschlossen? Gegen +5v oder gegen GND?

Wie es richtig geht steht unter 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die LED leuchtet bei HIGH am PORTPIN nur, wenn sie so angeschlossen ist:

Pin o----->|-----###-----o GND
          D1      R1
         LED   Vorwiderstand

Damit der Portpin HIGH ausgibt, muss er korrekt vom Programm angesteuert 
werden.

Damit das Programm läuft muss der Atmega32 korrekt beschaltet sein. 
Falle bei PORTC: JTAG Fuse im Werkszustand.

von Steven (Gast)


Lesenswert?

Hallo,

ohne deinen Code und gegebenenfalls auch deinen Schaltplan gesehen zu 
haben kann man da nur raten;)

Steven

von Albert D. (albert32)


Lesenswert?

Hallo!

Achten auf:
Atmega32 PC2 bis PC5 (Pin 21..24) -> JTAG Fuse Werkseinstellung

albert

von Felix (Gast)


Lesenswert?

Also:
ich bastle schon seit der Hälfte meines Lebens mit Elktrozeugs rum...und 
ich bin erst 21 :) die LED's hab ich in beide Richtungen probiert auch 
gegen Vcc wenn die Pins low ausgeben sollen, JTAG ist deaktiviert, es 
handelt sich bei dem Problem um wirklich ALLE Pins.
ich programmiere mit Bascom und mein Quelltext:
                                 $regfile = "m32def.dat"
                                 $crystal = 4000000

                                 Config Porta = Output
                                 Config Portb = Output
                                 Config Portc = Output
                                 Config Portd = Output

                                 Config Porta = &B11111111
                                 Config Portb = &B11111111
                                 Config Portc = &B11111111
                                 Config Portd = &B11111111

                                 End
als Programmer nehme ich den "my smart USB ligth" Verbindung mit PC kein 
Prob. und Bascom sagt mir auch immer, das das Prog aufm Atmega drauf 
is....fuses und so kann ich ja auch alles einstellen.

von visitor (Gast)


Lesenswert?

Felix schrieb:
> Config Porta = &B11111111
> Config Portb = &B11111111
> Config Portc = &B11111111
> Config Portd = &B11111111

lass mal das Config weg

von Felix (Gast)


Lesenswert?

geht trotzdem nicht. laut simulator ändert das doch nix ob mit oder ohne 
config?

von Karl H. (kbuchegg)


Lesenswert?

Felix schrieb:
> geht trotzdem nicht. laut simulator ändert das doch nix ob mit oder ohne
> config?

Doch.
Mit Config setzt du hier nochmal alle Pins auf Output.

Ohne Config setzt du dann auch tatsächlich alle Pins auf 1.

Jetzt kommt es nur noch darauf an, wie deine LED verschaltet sind.
Daher mach ich gerne folgendes:

   Porta = &B01010101
   Portb = &B10101010
   Portc = &B01010101
   Portd = &B10101010

also nur jeden 2.ten auf 1 setzen. Unter der Annahme, dass alle LED 
gleich verschaltet sind, leuchten dann auf jeden Fall an jedem Port 4 
LED, egal ob die jetzt nach GND oder nach Vcc verschaltet sind.
Wenn nicht, dann kann es jetzt höchstens noch sein, dass die LED 
Kathode/Anode falsch rum drinn sind.

von Felix (Gast)


Lesenswert?

:) es geht.....immernoch net...es muss ne einstellungssache sein, an der 
Hardware ist alles ok. jeder port hat 4 leds und immer 2 sind kathode 
anode vertauscht...es leuchtet keine :(..egal ob ich die ports auf high 
oder low setze...ich hab auch ne led zwischen Vcc und GND 
geschaltet...stromversorgung mit 7805 geht also auch einwandfrei kondis 
sind auch dran....ich bin zwar ein kerl....aber ich fang gleich an mit 
weinen :(
blockieren einstellungen an fuses oder am quarz iwas?
für die einstellung des internen taktes kann man ja auch 1000 
unterschiede einstellen und extern....

von Düsendieb (Gast)


Lesenswert?

Felix schrieb:
> immer 2 sind kathode
> anode vertauscht...es leuchtet keine

und die sind dann auch entsprechend mal nach Vcc und nach GND 
geschaltet?

von Karl H. (kbuchegg)


Lesenswert?

Felix schrieb:
> :) es geht.....immernoch net...es muss ne einstellungssache sein, an der
> Hardware ist alles ok. jeder port hat 4 leds und immer 2 sind kathode
> anode vertauscht...es leuchtet keine :(

Schnapp dir mal dein Voltmeter und miss die Pegel an den Pins nach.

> blockieren einstellungen an fuses oder am quarz iwas?

Nein.
Wenn du dich erst mal nur auf den Port B konzentrierst: Wenn der µC an 
sich läuft, dann kommt da auch eine Ausgabe auf den Pins, indem du den 
Port auf Ausgang stellst und die Portpins auf 1 stellst.

Da kann keine Fuse dazwischenfunken.

> für die einstellung des internen taktes kann man ja auch 1000
> unterschiede einstellen und extern....

Alles fürs erste uninteressant.
Solange der µC läuft, kommt da auch etwas auf den Pins.

von Felix (Gast)


Lesenswert?

ja....:(

von Karl H. (kbuchegg)


Lesenswert?

Allerdings weiß ich nicht, was BASCOM macht, wenn sein Programm zu Ende 
ist. Du solltest es auf jeden Fall in einer Endlosschleife gefangen 
halten, dann stellt sich diese Frage erst gar nicht.
1
$regfile = "m32def.dat"
2
$crystal = 4000000
3
4
Config Portb = Output
5
6
Portb = &B11111111
7
8
Do
9
Loop
10
11
End

von H.Joachim S. (crazyhorse)


Lesenswert?

Infrarot-LEDs :-)

von Felix (Gast)


Lesenswert?

hatte ich auch schon...und gerade nochmal getestet.....keine reaktion
ich finde es übrigens einfach total super wie schnell hier versucht wird 
einem zu helfen :)
Alleine die Zeit die ihr euch nehmt ist ein großes Lob und ein noch 
größeres DANKESCHÖN wert!
vllt fällt euch ja noch was ein :)

von Felix (Gast)


Lesenswert?

Infrarot led :D
nee leider net...aber ich hab auch schon unterschiedliche LEDs 
genommen....

von visitor (Gast)


Lesenswert?

Mach doch mal ein Foto von deinem Aufbau und lade das hier hoch.

von visitor (Gast)


Lesenswert?

... aber nicht grüßer als 100K :-)

von Felix (Gast)


Angehängte Dateien:

Lesenswert?

also ich hab mal bissl aufgeräumt ;)
die kontroll-led funzt und die beiden anderen sind an Port B einmal 
gegen Vcc und einmal gegen Gnd. :)
78k ;)

von Karl H. (kbuchegg)


Angehängte Dateien:

Lesenswert?

Manchmal denkt man sich schon, die Leute glauben wir fordern das alles 
zum Spass an.

von Karl H. (kbuchegg)


Lesenswert?

Felix schrieb:
> Also:
> ich bastle schon seit der Hälfte meines Lebens mit Elktrozeugs rum...

Kaum zu glauben.
Und in all der Zeit hast du noch nie etwas von Vorwiderständen für LED 
gehört?

Also ich für meinen Teil kann noch nicht mal die Spannungsversorgung auf 
dem Bild nachvollziehen. Wie da Masse an die Schaltung kommt ist für 
mich nicht ersichtlich.

Was sagt dein Voltmeter:
* Spannung am Reset Pin
* Spannung an den Port Pins

von Felix (Gast)


Lesenswert?

Masse liegt auf der untersten leiste an und wird durch den grünen Draht 
neben der LED geführt. Vorwiderstände für die LEDs? die gehen von 2 bis 
5V.
am reset bzw. Pins liegt 0V an.
sry wegen dem schlechten Foto.

von Karl H. (kbuchegg)


Lesenswert?

Felix schrieb:
> Masse liegt auf der untersten leiste an und wird durch den grünen Draht
> neben der LED geführt.

Und das war jetzt so schwer, vom 7805 (ich geh davon aus, dass das einer 
ist), einfach 2 kleine Brücken vom mittleren bzw rechten Pin einfach auf 
die beiden unteren waagrechten Leitungen zu führen, von wo wiederrum 
kleine Brückrn beim Mega sich die Potentiale holen. Da könnte man ja 
auch auf einen Blick sehen, wie die Stromversorgung gemacht ist. OK, geb 
mich geschlagen: das wäre zu einfach und zu übersichtlich gewesen.

denn, wo die grüne Leitung hingeht ist ja auf dem Foto nicht 
ersichtlich. Und wenn man das Foto ganz genau eingehend studiert, findet 
man auch raus, dass da tatsächlich eine der roten(!) Strippen am 
mittleren Pin des 7805 endet. Ist nicht gut zu sehen, weil der Elko die 
Sicht verdeckt, aber was solls. Es war schwer zu stecken also solls auch 
schwer zu entschlüsseln sein.

> Vorwiderstände für die LEDs? die gehen von 2 bis
> 5V.

Autsch.
Schon mal den Begriff Ohmsches Gesetz gehört?


> am reset bzw. Pins liegt 0V an.

0V an Reset ist schon mal schlecht.
Mach mal den Programmieradapter runter.
Am Resetpin musst du 5V messen können.

von Spess53 (Gast)


Lesenswert?

Hi

>die gehen von 2 bis 5V.

Soll das integrierte Vorwiderstände bedeuten?

MfG Spess

von Felix (Gast)


Lesenswert?

ich hab schonmal was von dem gesetz gehört.....nur die 2 dingens ziehen 
doch net den atmega leer oder?^^ oder was meinst du?
also auch ohne Programmer weniger als nischt....0V

von Karl H. (kbuchegg)


Lesenswert?

Sag mal:
Auf dem Bild - wo zeigt die Kerbe des Mega32 hin?
nach rechts oder nach links.

Wenn ich so die Pins abzähle, dann ist doch da gar nichts an der 
Stromversorgung des Mega angeschlossen.

von Felix (Gast)


Lesenswert?

zu meiner Verteidigung, ich hab hier leider nicht mein ganzes zeug 
mitgenommen und hab deshalb nur Litze gehabt...keine Drahtbrücken. ich 
bin, was sowas angeht ein ordentlicher Bastler. Nur leider hat mich 
heute die Lust gepackt, weshalb ich nicht bis zum we gewartet 
habe....der Programmer kam heute per post und das "allernötigste" hatte 
ich hier im Wohnheim rumliegen.

von Felix (Gast)


Lesenswert?

Gnd über Pin 11 und 31 und Vcc über Pin 10.
die Kerbe ist links

von Karl H. (kbuchegg)


Lesenswert?

Karl heinz Buchegger schrieb:
> Sag mal:
> Auf dem Bild - wo zeigt die Kerbe des Mega32 hin?
> nach rechts oder nach links.
>
> Wenn ich so die Pins abzähle, dann ist doch da gar nichts an der
> Stromversorgung des Mega angeschlossen.

Das heist:
doch, ich denke ich kann in der unteren Reihe eine Verbindung nach Vcc 
erahnen, sogar 2 mal. Einmal über das rote Kabel das Luftlinie zum 7805 
geht und einmal über ein kurzes schwarzes Kabel, welches in die 
Verteilerschiene unten geht.
Aber ich seh keine Masseverbindung.

Normalerweise würde ich sagen: reiß den Krempel runter und machs 
nochmal.
Aber diesmal nicht die Kabel kreuz und quer, sondern vom 7805 gehts auf 
die beiden waagrechten Verteiler und von dort gehts mit kurzen! Brücken 
auf die jeweiligen IC-Pin Schienen im Steckbrett

Den Programmer wild zu verdrahten ist schon ok, das geht nicht anders. 
Aber bei allem anderen kommt man locker ohne Kabelkreuzung hin und kann 
das so anordnen, dass ein Blinder greifen kann, was da verschaltet 
wurde.

von Karl H. (kbuchegg)


Lesenswert?

Felix schrieb:
> zu meiner Verteidigung, ich hab hier leider nicht mein ganzes zeug
> mitgenommen und hab deshalb nur Litze gehabt...

AUch die kann man auf das Notwendige ablängen. UNd wenn man sich dann 
auch noch an das Frabschema hält (Stichwort rot/schwarz) dann vermeidet 
man gleich die nächsten blöden Fehler.

von Karl H. (kbuchegg)


Lesenswert?

Wenn der Mega chon programmiert ist,
dann brauchst du minimal:
  Nur die Stromversorgung
  100nF an den jeweiligen Vcc/GND Pärchen wären gut

Den Programmer komplett abziehen
Dann muss Reset auf 5V gehen. Wenn nicht, die Stromversorgungspins 
nachmessen, ob alles da ist.

Und die LED klemm erst mal ab, solange du da keine Vorwiderstände drann 
hast.

von Felix (Gast)


Lesenswert?

ALSO! ich war gerade dabei euren Rat zu befolgen und nochmal Ordnung zu 
schaffen, da nehm ich die Brücke zwischen den Gnd-anschluss für den 7805 
und den Gnd-anschluss des 32er raus...und plötzlich leuchtet die eine 
LED...und nach umstellen des Ports von high auf Low...leuchtet die 
andere :)....mir ist nur net ganz klar, warum.......doch jetzt 
schon.....es läuft alles aber ohne den 
7805....der...nee....mom....also...ich fotografier das hier doch 
nochmal....vllt kann mir das einer erklären^^

von Christian D. (chris83)


Lesenswert?

Hast das Netzteil für den 7805 auf 5V eingestellt gehabt?
Oder woher bekommt der sein Strom?

von Felix (Gast)


Angehängte Dateien:

Lesenswert?

...so...erstmal 1000 und 2 Dänker an euch alle!
ich find das einfach super.....es geht und Ordung ist halt doch das A 
und O... danke nochmal :)
und jetzt zu dem was ich noch net ganz verstehe....wie man jetzt 
hoffentlich aufm foto sehen kann:
Gnd ist nur am Pin 31 des atmega32, sobald ich an Pin 11 Gnd anlegen 
will, geht die LED aus....also kurzschluss?!
und dann zum 7805....der bekommt nur V+ von meinem Trafo und keine Masse 
und trotzdem funzt das....da sag ich mal glück gehabt, das mein trafo 
schon 5, irgendwas bringt....sonst hätte ich mir womöglich meinen mikro 
abgeschossen...schnell rein mit der Brücke :)

von Karl H. (kbuchegg)


Lesenswert?

Felix schrieb:

> schon 5, irgendwas bringt....sonst hätte ich mir womöglich meinen mikro
> abgeschossen...schnell rein mit der Brücke :)

Wollt grad sagen: da fehlt doch noch was.

von Christian D. (chris83)


Lesenswert?

Aus einem Trafo? Der wahrscheinlich auch eine Wechselspannung ausgibt?
Ich denke dass die LED leuchtet ist eher ein Zufall als gewollt.

von Karl H. (kbuchegg)


Lesenswert?

Hast du vom Programmer eine Vcc Leitung rübergezogen?

Eventuell wird dein µC vom Prgorammer mit Strom versorgt und gar nicht 
vom 7805.

Falls du eine Vcc Leitung vom Programmer rüber hast, lass die mal weg.

Du brauchst nur

   RESET
   MISO
   MOSI
   SCK
   GND

von Karl H. (kbuchegg)


Lesenswert?

Christian D. schrieb:
> Aus einem Trafo? Der wahrscheinlich auch eine Wechselspannung ausgibt?

<Stossgebet>
Sags nicht, bitte sags nicht

von Christian D. (chris83)


Lesenswert?

:) na immerhin hat er mit der LED zwischen den Leitungen einen kleinen 
Gleichrichter hust

von Floh (Gast)


Lesenswert?

Christian D. schrieb:
> :) na immerhin hat er mit der LED zwischen den Leitungen einen kleinen
> Gleichrichter hust

Gleichrichten bis zur Selbstaufgabe, vorausgesetzt, der macht die 
Massebrücken rein. :-)

@TO: Mal doch mal einen Schaltplan, an dem die gewünschte Verdrahtung zu 
sehen ist (mit Pinnummern). Dann kontrolliere Pin für Pin, ob dein 
Aufbau passt.

von Karl H. (kbuchegg)


Lesenswert?

Christian D. schrieb:
> :) na immerhin hat er mit der LED zwischen den Leitungen einen kleinen
> Gleichrichter *hust*


Ist auch eíne Möglichkeit: Gleichrichten indem man den nicht gewollten 
Teil der Sinusschwingung mehr oder weniger kurzschliest.

Aber das wird er ja doch nicht gemacht haben. Das wird ja wohl ein 
Steckernetzteil sein.
Oder?

Nein, das will ich mir jetzt gar nicht erst vorstellen. Ich hab schon an 
den LED ohne Vorwiderstand zu kauen.

von Felix (Gast)


Lesenswert?

nee^^ da kommt schon DC raus^^
cool...so servo ansteuern geht auch...hab ich gerade noch gefunden:D 
natürlich mit nem transistor davor...falls die Frage aufkommt.
bin begeistert von dem Ding....ich hab seit na woche das Buch von Stefan 
Hoffmann "der leichte einstieg in die elektronik mit mikrocontrollern"
und nach na woche wird es zeit zum experimentieren....ohne 
schleichwerbung machen zu wollen....*hust*....das tutorial hier und das 
Buch sind eine Hammerkombination :)

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.