mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega8 ist programmierbar, läuft aber nicht


Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich arbeite schon seit einiger Zeit mit meinem Atmega8.
Seitdem ich mit ihm einen Motortreiber angesteuert habe,
ist es nicht mehr möglich die I/O zu schalten.
Man kann sie weder auf GND noch auf VCC schalten.
Der µC wird aber korrekt erkannt, lässt sich korrekt programmieren, und
liefert beim lesen des Flash's auch die korrekten Werte.

Kennt jemand zufällig des Rätsels Lösung?

Für jede Form der Hilfe wäre ich sehr dankbar

MfG
Batti

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Selbst ein Austausch des µC liefert das gleiche Fehlerbild...

:-(

Autor: Frank Linde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine oder zu langsame Schutzdioden verwendet oder zu hohen Strom aus
dem Controller gezogen und damit die entsprechenden Pins abgeschoßen?

Gruß, Frank

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ist der controller kaputt?
War ein nagelneuer Controller, hab nur ne led angeschlossen
(wollte nur sehn ob er die Ports schaltet).
Ich vermute das der Controller garnicht das Programm abarbeitet...

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Batti
Schau mal bei den Fusebits nach vileicht
hast da was falsch eingestellt ???

Schik mir mal den code ich probiers dann
mal aus.

Gruss Lightning

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube ich muss das Problem noch ein wenig näher erleutern.

Ich habe einen Motortreiber mit dem "letzten" Atmega8 angesteuert.
Dieses funktionierte nicht so ganz, und als meine Fehlersuche ergab,
das der µC, der vorher noch problemlos funktionierte, keine Pegel mehr
ausgab hab ich diesen ausgetauscht.
An dem neuen µC hab ich nur eine low-current led angeschlossen, aber
auch der neue µC gibt nichts aus.

Die Fusebits sind so eingestellt, wie auf dieser Seite beschrieben
(AVR-Tutorial).
Mit dieser EInstellung funktionierte der alte µC auch tadellos.

Ich bin echt ratlos, denn die Erkennung und die Programmierung
geschieht ohne Probleme.

Der Test-Code ist der folgende:
         ldi r16, 0xFF
         out DDRD, r16
         ldi r16, 0b00000000
         out PORTD, r16

Mit freundlichen Grüßen

Batti
(Danke an alle, die mir mit ihren Tipps helfen)

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Code hab ich vergessen die m8def.inc einzubinden, dies hab ich
natürlich beim testen gemacht...

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Batti

OK. schließ mal eine led mit dem
Pluspol an den AVR Pin D0 dann den
minuspol auf masse. Sollte man zwar
nicht machen aber für einen ganz kurzen
test geht das schon Achtung! kurz machen
sonst geht die led Flöten.

Hier der code dazu:
---------------------
.include "m8def.inc"

ldi r16, 0xFF
out DDRD, r16
ldi r16, 0x01
out PORTD, r16

loop:
rjmp loop
---------------------

Die led sollte leuchten.

Gruss Lightning

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich muss leider noch etwas ergänzen (ist echt viel heute...)

Zum Schluss des Programms ist natürlich ebenfalls eine Endlosschleife
eingebaut.

Und noch eine Frage, wie sind die Ports belegt, wenn sie nicht
"angesteuert" werden?
Dann dürfte auf denen doch weder Masse noch VCC liegen...
Also quasi der Zustand den meine Ports trotz Programmierung auch gerade
haben...

MfG
Batti

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Batti
Ja wenn ein port nicht angesprochen wird
is es weder masse noch VCC.

Und funzt das programm?? Leuchtet die Led ??

Gruss Lightning

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Lightning für die Hilfe, aber es funktioniert nicht :-(.
Die LED Leuchtet nicht.
Er schaltet einfach überhaupt nicht die Ports.
Dies hab ich ja mit der LED vorher auch schon getestet.
Die LED hab ich angschlossen wie im AVR-Tutorial beschrieben.
Wenn ich diese an GND gehalten habe, dann leuchtete sie, aber der µC
schaltet seine Ports nie auf GND (auch nicht auf VCC).

Werde daraus nicht schlau.

MfG
Batti

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke an alle!

Muss jetzt erstmal ne Pause mit dem Testen machen, heut Abend geht es
aber ganz sicher weiter ;-).

Wenn jemand noch des Rätsels Lösung einfällt (oder weitere Denkanstösse
liefert), wäre ich ihm sehr verbunden, wenn er diese mir mitteilt.

MfG
Batti

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Batti
hm. Dann setze mal statt 0x01
ähm 0xF0 ein und miss die ports
durch. PortD sollte so geschaltet
sein 11110000.

Hast du vileicht am falschen port gemessen ??
PortB oder PortC ??

Gruss Beni

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also hab einfach mal ALLE Ports auf null gesetzt, jetzt müsste ja
eigentlich GND anliegen... Müsste ;-), an keinen Pin liegt GND.

Trotzdem kann ich den Controller fehlerfrei programmieren, und auch das
"programm" wieder aus dem µC downloaden.

???????????????????????????????????????

Ich bin ratlos.

MfG
Batti

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Batti

Dann setze mal alle ports auf High
und miss dann.
Ich kanns jetzt nimma
mit dem mega8 probieren. der hat den geist
aufgegeben--> Geht garnimma wegen kurzzeitig
zu viel Strom. Naja ich könnts höchstens mit
dem alten 4433 weiter testen aber naja.
Egal

Gruss Lightning

Autor: Harald Manske (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht liegt es ja doch an der Hardware.

Funktioniert die Spannungsversorgung noch zuverlässig ? Die ist ja
teilweise entkoppelt von der Versorgung des Programmers.

Hast du vielleicht den Reset Pin durch einen Überwachungsbaustein auf
GND gezogen ?

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reset liegt auf VCC, das hab ich auch schon getestet :-(.
Die Spannungsversorgung liefert 5V. Kann aber nicht testen wie
"sauber" die ist. Wenn ich nen Controller überlastet habe,
"brennen" dann nur die I/o durch, oder ist der dann total kaputt und
lässt sich nicht einmal mehr programmieren?

@Lightning, musst doch nicht extra deinen Controller für mich grillen.
Danke für die Unterstützung!

MfG
Batti

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Batti

Naja. Mich hats e schon gewundert das der noch
geht weil der hätte schon vor längerer zeit
kaputt gehn müssen da ich ihn verkehrt in die schaltung
eingebaut habe. vileicht war es ne verzögerte
zerstörung--> Zeitbombe :-))

Naja muss e wieder mal welche bestellen
dann nehm ich gleich um die 10 ATmgea8
dann hab ich immer genug auf lager.

Gruss Lightning

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt noch meinen Atmega32 aufgebaut, auch dieser ist
programmierbar und wird korrekt erkannt. Es ist auch möglich die zuvor
programmierten Programme wieder korrekt zu laden. Doch leider ist es
wieder das gleiche, es ist nicht möglich die Ports zu schalten.

Ich teste momentan mit folgenden Programm:

.include "m32def.inc"

   ldi r16, 0xFF
         out DDRA, r16

         ldi r16, 0x00
         out PORTA, r16

   ldi r16, 0xFF
         out DDRB, r16

         ldi r16, 0x00
         out PORTB, r16

         ldi r16, 0xFF
         out DDRC, r16

         ldi r16, 0x00
         out PORTC, r16

         ldi r16, 0xFF
         out DDRD, r16

         ldi r16, 0x00
         out PORTD, r16
ende:    rjmp ende

Die Spannungsversorgung liefert 5V, ich kann leider nicht überprüfen
wie sauber diese Spannung ist.

Kann es sein, das die Spannungsversorgung einen weg hat?
Oder der Programmer, obwohl er offensichtlich seinen Job tut.

Die Fusebits sind auf jedenfall richtig gesetzt.
Bin langsam echt verzweifelt.

MfG Batti

Autor: Batti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist gelöst!

Der Grund war ein Problem mit der Programmiersoftware (yaap).
Zufällig hab ich ein altes Projekt geladen, und es funktionierte.
Mehr kann ich dazu mom. nicht sagen, werde das mal genauer
untersuchen.

Danke an alle die mich so tatkräftig unterstützt haben!

MfG

Batti

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Batti
Nim doch PonyProg das geht immer
mit allen programmen. Ich benutze
es auch und hatte bisher keine probleme
mit dem brennen der software.

Gruss Lightning

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.