seltsame Ergebnisse beim Messen von Spannungen

Gast #2108318
Lesenswert?

Guten Abend.

Ich möchte eine Spannung messen, aber ich komme nicht zu dem Ergebnis, 
welches ich eigentlich haben möchte.

Ich verwende:

uC: Atmega88-20PU
Programmer: AVRISP mk2
Programm AVR-Studio

Schaltung auf Steckbrett.

aus dem Tutorial hab ich das Programm verwendet:

.include "m8def.inc"

         ldi r16, 0xFF       ; lade Arbeitsregister r16 mit
         out DDRB, r16       ; Inhalt von r16 ins IO-Register DDRB au
         ldi r16, 0b00000000 ; 0b11111100 in r16 laden
         out PORTB, r16      ; r16 ins IO-Register PORTB ausgeben

ende:    rjmp ende           ; Sprung zur Marke "ende" -> Endlosschleife

Laut Datenblatt sind PortBs die Beinchen 14,15,16,17,18,19, B ist 
5bit-Breit, dennoch verwende ich 8bit-Register, weil ich 5bit nicht 
darstellen kann. Wenn ich nun 0b00000000 in den uC flashe, dann müste an 
den Kontakten 14-19 die Spannung gegen Masse 0V sein (keine LED 
leuchtet). Schreibe ich 0b0011111 in den uC, dann müsste die Spannung 5 
Volt betragen bei den Kontakten 14-19, also die LEDs aufleuchten. Ich 
habe zur Zeit keine LEDs dran, nur ein Multimeter. Ich messe immer egal 
ob gegen Masse oder +5Volt aus der Spannungsversorgung immer 0,8 Volt.

Beim Compilieren und Flashen meckert AVR-Studio nicht, also muss doch 
das Programm korrekt übertragen worden sein.

Bei den Fusebits hab ich nix verändert, da ist bei SPIEN und CKDIV ein 
Häkchen gesetzt und bei SUT_CKSEL steht: "Int. RC OSC 8MHZ StartUPtime 
... 6CK14CK+65ms.

Worin besteht vielleicht mein Fehler? Da das AVR-Studio nix meckert, 
gehe ich davon aus, dass keine Fehler bei der Bedrahtung gemacht wurden, 
sonst hätt es ja bestimmt nicht geklappt. Oder hab ich einen Denkfehler 
in Bezug auf die Spannungsmessung? Ich hab halt grade keine LEDs zur 
Hand und so dacht ich, mit dem Multimeter gegen Masse kann man auch die 
Spannung messen, die 5 Volt betragen müsste, wenn die jeweiligen Bits 
auf 1 stehen und 0V, wenn sie auf 0 stehen.

Vielen Dank im Voraus.
#2108321
Lesenswert?

Mauritio di Mauro schrieb:

> Hand und so dacht ich, mit dem Multimeter gegen Masse kann man auch die
> Spannung messen, die 5 Volt betragen müsste, wenn die jeweiligen Bits
> auf 1 stehen und 0V, wenn sie auf 0 stehen.

Ganz genau so funktioniert das.

Miss mal die Spannung an allen Versorungspins deines Mega88 an. Und miss 
auch mal die Spannung am Reset-Pin nach. Die muss 5V sein.
Gast #2108326
Lesenswert?

Sauger schrieb:
> Moin,
>
> das auf Port B das SPI + ISP Interface hängt wurde beachtet?
>
> MfG

Also, in dem Tutorial steht ja, es würde nix ausmachen, wenn der 
Programmer daran hängt. Aber ich habe immer, wenn ich den uC geflasht 
habe den Steckverbinder von dem Programmer rausgemacht, das Netzteil 
kurz abgestellt und es dann "neu" gestartet.
Gast #2108328
Lesenswert?

Jetzt hab ich einfach mal anstelle von DDRB und PORTB DDRD und PortD 
verwendet, um es an einem anderen Kontakt zu probieren, also nicht da, 
wo der Programmer dransitzt, aber es klappt da auch nicht :-(
Gast #2108335
Lesenswert?

Oder muss ich den uC erstmal noch irgendwie starten? Fängt der von 
selber an, das geflashte Programm abzuspielen, wenn ich den 
ISP-Programmer herausziehe? Oder muss ich nochmal das Netzteil Ein- und 
Ausschalten ...?
Gast #2108345
Lesenswert?

Hmm, also jetzt gibt es in der Tat eine kleine Verbesserung. Jetzt 
unterscheiden sich zumindest schon mal die Spannungen, somit lag der 
Fehler wohl bei der include-Datei.

Ich messe jetzt, wo das Bit gesetzt ist, knapp 1,9 Volt, bei Bit nicht 
gesetzt 0,7 Volt etwa. Aber ich komme noch nicht auf 5 Volt, woran 
könnte dass denn liegen?
Gast #2108348
Lesenswert?

Hmm, ich habe einen anderen Fehler gemacht, AVCC war auch mit +5V 
verbunden, jedoch stand der Trafo nur auf 3 Volt, jetzt steht er auf 6 
Volt und ich bekomme saubere 5 Volt. Der Fehler lag dann wohl in der 
Hauptsache bei der Verwendung der falschen HeaderDatei.

Ich danke Dir sehr herzlich für Deine Unterstützung, so dass Du mir die 
Welt der Mikrocontroller etwas näher gebracht hast - trotz so später 
Stunde.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren