Forum: Analoge Elektronik und Schaltungstechnik Pin Spannungen


von Anfänger (Gast)


Lesenswert?

Ich bin Anfänger bzw. werde Anfänger:-)
Hab hier nen Atmega8 rumliegen und will anfangen mich in die Welt der
µC einzuarbeiten.
Also gleich mal Hardware(LEDs,Widerstände usw...)bestellt auf welche
ich im Moment warte um Tutorials usw. zu bearbeiten.

Da ich natürlich nicht abwarten kann hab ich mal ein kleines Prog im
ASM geschrieben und verschiedene Pins bzw.Ports als Ein- und Augänge
festgelegt.Bestimme Pins gesetzt und gelöscht usw.
Sieht im AVR Studio schon ganz gut aus lol

Auf einem alten Steckbrett hab ich dann den µC in Betrieb
genommen(nachdem ich das Programm natürlich in den µC gebrannt hatte)
und Versogungsspannung angelegt.
Nun müßte ich doch an bestimmten Pins(Ausgängen) einen Spannungspegel
annähernd an Vcc messen können?!
Hab aber an allen Pins nahezu 0V außer am Reset Pin (knapp Vcc hier).

Kann mir jemand sagen was ich falsch mache,nicht beachte bzw. wie es
richtig geht?

Vielen Dank schonmal dafür!

von Wolfram (Gast)


Lesenswert?

du hättest das Programm posten sollen und evt. beschreiben wie du den
AVR gebrannt hast und was für Einstellungen du gemacht hast.

von Anfänger (Gast)


Lesenswert?

Ich binde die entsprechende Atmega8 Datei mit include ein.
Danach nur mal kurz:

main:
ldi    r17,0b11111111
out    DDRD,r17
out    PortD,r17

end:    rjmp  end

Beim Brennen hab ich groß keine Einstellungen gemacht außer halt den µC
ausgewählt.

von Karl H. (kbuchegg)


Lesenswert?

Kannst Du das Pgm aus dem µC auch wieder auslesen,
und durch vergleichen mit dem Original feststellen
ob der Brennvorgang geklappt hat?

von Anfänger (Gast)


Lesenswert?

Brennvorgang hat funktioniert!
Also das Prog ist nach dem auslesen aus dem µC identisch mit meinem
erstellten Prog.

von Wolfram (Gast)


Lesenswert?

>>Hab aber an allen Pins nahezu 0V außer am Reset Pin (knapp Vcc hier)
am VCC Pin sollte aber auch VCC anliegen

poste mal lieber die Schaltung

von Anfänger (Gast)


Lesenswert?

Ah ja das stimmt auch.
Sry das ich das vergessen hatte...

von Wolfram (Gast)


Lesenswert?

an avcc sollte auch noch vcc
und vcc sollte maximal 5,5V sein...

von Niels H. (monarch2)


Lesenswert?

Ist sichergestellt, das der interne RC-Ozillator selektiert ist?
Reset sollte man auf jeden Fall ein festes Potential geben.

von Anfänger (Gast)


Lesenswert?

Naja Schaltung hab ich ja groß keine.
µC an Vcc und GND und ich messe knapp Vcc an Reset

von Anfänger (Gast)


Lesenswert?

Ist der interne RC-Oszi standartmäßig nicht eingeschaltet?
Der µC ist ja noch neu.

von Wolfram (Gast)


Lesenswert?

Auch wenn es umständlich erscheint, gewöhn Dir ein sauberes Arbeiten
an.
Als erstes zeichnet man einen Schaltplan.
Es verhindert viele Fehler wenn man das ganze erstmal auf dem Papier
macht und dort überprüft und evt. berechnet.
Danach wird an Hand des Schaltplans verkabelt. Da kann man auch kein
Kabel vergessen.

von Niels H. (monarch2)


Lesenswert?

RESET ist ein Eingang, der ein festes Potential braucht. Den in der Luft
hängen zu lassen, ist fatal!

StandarDmässig ist der interne OC selektiert, richtig. Du sagtest, du
bist neu. Wenn man neu ist, weiss man nicht immer, was man tut, also
kontrolliers besser nochmal; vieleicht hast du die fuses ja schon
beschrieben. Möglicherweise hast du das Ding ja auch schon bereits
geplättet, denn der Code ist recht eindeutig.

von Anfänger (Gast)


Lesenswert?

Naja werd ich mal kontrollieren müssen irgednwie.
Aber es ist richtig dass mit dem Code oben die Pins des Port D gegen
Masse gemessen knapp an Vcc ran kommen sollten?!
Wenn der µC richtig beschalten ist ;-)

Wie kommt es dann dass ich an Reset die Vcc messe?

von Niels H. (monarch2)


Lesenswert?

Dein Code setzt definitv alle Pins des PortD auf Hi (also nach VCC).
Gemessen gegen GND solltest du hier 5V messen.

Was du ein einem Eingang misst, der unbeschaltet ist, ist absolut
irrelevant und undefiniert, da es von der internen Beschaltung abhängt.
Das kann von chip zu chip unterschiedlich sein.

von Anfänger (Gast)


Lesenswert?

Du hast ja schon geschrieben dass ich Reset nicht in der Luft hängen
lassen darf.
Hab ich ja aber im Moment.
Kann es daran liegen dass ich sonst nirgends die Vcc messe?
Normal doch nicht oder?

von Niels H. (monarch2)


Lesenswert?

Doch, natürlich kann das daran liegen.
Möglichweise ist Reset ständig oder teilweise aktiv, sodaß dein Code
überhaupt nicht zur Ausführung kommt.

von Anfänger (Gast)


Lesenswert?

Ok dann werd ich mal schauen was ich an C und R herbekomm zum
beschalten.
Was ist denn da empfohlen?
Find da nix drüber im Datenblatt und auf Erfahrungswerte kann ich mich
leider (noch) nicht stützen ;-)

von Niels H. (monarch2)


Lesenswert?

Üblicherweise ziegt man einen negierten Reset-Eingang über 10K oder 100K
nach VCC.

von Anfänger (Gast)


Lesenswert?

Hab es gerade hier in der Checkliste gefunden die ich gerade durchgehe.
Aber trotzdem vielen Dank!

von Hannes L. (hannes)


Lesenswert?

Den Reset-Pin solltest du mit 3k..10k nach Vcc ziehen. Ein Kondensator
sollte nicht erforderlich sein, das stammt noch aus der Zeit, als die
AVRs noch kein BOD hatten.

...

von thkais (Gast)


Lesenswert?

In Testschaltungen habe ich bislang noch nie den Reset-Pin nach VCC
ziehen müssen, AFAIK ist ein Pull-Up integriert. Sicherer ist es
allemal , aber absolut notwendig für einen Test ist es nicht.

von Anfänger (Gast)


Lesenswert?

Habe es nun mit beschaltetem Reset Pin versucht aber es funzt immer noch
nicht.
Beschaltung ist genau wie es in der Checkliste beschrieben ist.
Einzig am Pin Reset und Vcc kann ich die Spannung Vcc messen.
Am Reset Pin minimal unter Vcc.

von Hannes L. (hannes)


Lesenswert?

- Stimmt deine Stromversorgung (saubere Gleichspannung)?
- Sind AGND und AVCC auch angeschlossen?
- Sind die Keramik-Abblock-Kondensatoren an den Stromversorgungspins
  vorhanden?

...

von Karl H. (kbuchegg)


Lesenswert?

Vielleicht ist die Versorgungsspannung mies.
Wo nimmst du die her?

von Karl H. (kbuchegg)


Lesenswert?

Hmm. Du sagst immer nur, dass du an Vcc (Pin7) die
Versorgungsspannung messen kannst. Was ist mit AVcc (Pin20)?
Dort muss ebenfalls die Versorungsspannung ran.

von Anfänger (Gast)


Lesenswert?

Benutze ein ganz normales DC Versorgungsspannungsteil.
Ich verwende jetzt einen ATMega 8515 weil ich dem anderen nicht mehr
traue.
Dieser hier ist definitiv neu.
Dadurch entfallen AGND undAVCC.
Abblock Kondensatoren benutze ich keine.Brauche ich diese bei dieser
konstanten Versorgungsspannung?

von Hannes L. (hannes)


Lesenswert?

> Abblock Kondensatoren benutze ich keine.Brauche ich diese bei dieser
> konstanten Versorgungsspannung?

Die brauchst du immer.

> Benutze ein ganz normales DC Versorgungsspannungsteil.

Ein "normales" ist total ungeeignet, wenn es nicht ein besseres,
stabilisiertes ist.

Ich nehme zum Testen gern mal 4 NiCd- oder NiMH-Akkus der Größe AA und
setze als "Sicherung" eine Glühlampe 6V / 100mA ein. Trotzdem
verwende ich grundsätzlich Abblock-Kondensatoren 100nF-Keramik oder
470nF-Vielschicht-Keramik-Chipkondensatoren.

...

von Anfänger (Gast)


Lesenswert?

Naja wenn ich die immer brauche wird es wohl daran liegen ;-)
Werd es mal testen und über das Ergebniss berichten.
Hab hier noch nen 47µ C und nen 100p C.
Kann ich einen von denen als Abblockkondensator verwenden?
Vielen Dank schonmal soweit!

von Anfänger (Gast)


Lesenswert?

Der 47 scheint ja nicht geeignet weil zu langsam.
Was ist wenn ich ein kleiners C als die 100nF einsetze?

von Hannes L. (hannes)


Lesenswert?

> Hab hier noch nen 47µ C und nen 100p C.
> Kann ich einen von denen als Abblockkondensator verwenden?

Nein...
Du brauchst Keramik-Vielschicht-Kondensatoren in der Größenordnung von
etwa 100nF. Diese müssen so dicht wie möglich an die
Stromversorgungspins des AVRs.
Ein großer Elko irgendwo in der Schaltung kann die kleinen
Abblock-Kondensatoren nicht ersetzen.

...

von mullet (Gast)


Lesenswert?

Erstmal: Der Reset hat einen internen Pull-Up, der meistens
funktioniert.
Zum Testen sollte es auch ohne Abblockkondensatoren klappen.
Wenn man ein "gewöhnliches" (also unreguliertes) Netzteil auf 5V
einstellt, kann man mit 7V oder mehr oder weniger am Ausgang rechnen -
das ist natürlich ungesund wenn das absolute Maximum bei 6V liegt.
afaik müssen AGND und AVCC auch nicht unbedingt verbunden sein - der
ATmega8 im DIP hat ja nichtmal einen AGND - dafür aber 2 GND, die sehr
wohl verbunden sein müssen.
Außerdem musst du natürlich auch die richtige include-Datei im
Assembler benutzen:
.include "m8def.h"

von Hannes L. (hannes)


Lesenswert?

> Außerdem musst du natürlich auch die richtige include-Datei im
> Assembler benutzen:
> .include "m8def.h"

oder

.include "m8def.inc"

das könnte eher klappen...

...

von mullet (Gast)


Lesenswert?

Jo - hab wohl etwas zu viel C(++) gesehen...

von Anfänger (Gast)


Lesenswert?

Wie gesagt benutze ich im Moment einen ATMega8515.
Also
INCLUDE "8515def.inc"
oder nicht?
Hab jetzt nen 100nF alsBlcokkondensator drin.
Immer noch nix!

Hier nochmal mein kurzes Programm:
.NOLIST
.INCLUDE "8515def.inc"
.LIST


Reset:ldi    r31, LOW(RAMEND)
      out    SPL, r31
      ldi    r31, HIGH(RAMEND)
      out    SPH, r31

ldi    r17,0b11111111
out    DDRD,r17
out    PortD,r17

end:    rjmp  end

von mullet (Gast)


Lesenswert?

Hast du die Versorgungsspannung überprüft? Und auch alle GND-Pins
verbunden?

von Anfänger (Gast)


Lesenswert?

Was meinst du mit allen GND Pins beim ATMega8515?
Gibt doch nur einen!?
Weiterhin habe ich Reset jetzt mit R und C beschalten sowie den
Abblockondensator eingesetzt.
Ich messe aber immer noch Vcc am Reset Pin und an allen  anderen Pins
ca 90mV.
Der µC ist der ATMega8515L, also betreibe ich den mit 3,3V

Was meinst du mit Versorungsspannung überprüft?
Also an Vcc messe ich die Spannung von 3,3 V.

von Niels H. (monarch2)


Lesenswert?

Am Code liegts nicht, der ist eindeutig!Mal mal den Schaltplan auf,
machn Photo von und poste es hier rein. Am besten auch von der
Testverdrahtung....

von Niels H. (monarch2)


Lesenswert?

Vor allem, poste mal, was du dem Reset-Eingang vorgeschalten hast.

von Anfänger (Gast)


Lesenswert?

Hab grad keine Kamera aber ich beschreibs nochmal genau.

Also am Reset Pin:
-einmal 10K Widerstand,anderes Bein auf Vcc
-einmal C,anderes Bein auf GND

100nF als Abblockondensator auf Vcc und GND und jeweils an die
entsprechenden Pins des µC

von Niels H. (monarch2)


Lesenswert?

Ohne Fotos, ohne Zeichnung sag ich nix mehr...

von Anfänger (Gast)


Lesenswert?

Zwingt dich ja auch keiner.
Trotzdem danke für deine Hinweise bisher!

von mullet (Gast)


Lesenswert?

Ah, dacht wir wärn wieder beim mega8 - der hat nämlich 2 im DIP GND
Pins. Was misst du denn zwischen Vcc und den Pins? Und wie sind die
Fusebits? Was benutzt du denn zum Programmieren?

von Anfänger (Gast)


Lesenswert?

ASM im AVR Studio.
µC ATMega 8515L.
Programmer ist GALEP III

von Niels H. (monarch2)


Lesenswert?

Fusebits hatten wir alles schon. In der Theorie ist alles richtig. Hier
wird irgendwas prinzipell falsch gemacht. Deshalb denke ich ist es
sinnlos hier noch weiter zu diskutieren, ohne irgendwas zu sehen.

von Anfänger (Gast)


Lesenswert?

Fuses hab ich nix geändert,ist also alles noch so wie er standartmäßig
ausgeliefert wird.
Hab ich auch ausgelesen und mit Datenblatt verglichen,paßt alles.
Werd mal ne Zeichnung versuchen und posten...

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

So hier mal meine kleine Beschaltung schnell in Paint erstellt :-)
Was mache ich falsch?

von mullet (Gast)


Lesenswert?

Also die Schaltung sieht so richtig aus. Du kannst mal spannung zwischen
Vcc und den ganzen Pins messen, evtl. auch Strom aus GND oder Vcc wenn
du ganz am verzweifeln bist.

von Niels H. (monarch2)


Lesenswert?

Der Schaltung nach muss am Vcc-Pin 5V zu messen sein. Wenns das nicht
tut, läuft hier irgendwas essenzielles falsch, da der Chip diesen Pin
nicht "nach unten" ziehen kann.

Bist du dir sicher, das du dich mit der Pin-Nummerierung nicht vertan
hast?

von Niels H. (monarch2)


Lesenswert?

sorry, ich sprach vom RESET-Pin.

von Anfänger (Gast)


Lesenswert?

Am Reset messe ich ja Vcc.
Mein Problem ist ja das ich nach dem geposteten Programm an allen I/O
Pins nahezu 0V messe...also ca 50 mV.
Normal sollte an den Ausgängen welche auf logisch "1" sind doch knapp
Vcc zu messen sein !?

von Niels H. (monarch2)


Lesenswert?

Vieleicht mal zur Info:

Wenn man von oben (pins zeigen von betrachter weg) auf den IC schaut
und die markierung auf der linken Seite hält, ist Pin 1 der links
untere Pin. Die Pinnummeriernung läuft dann nach links weg, gegen den
Uhrzeigersinn um den Chip herrum.

von Niels H. (monarch2)


Lesenswert?

Richtig, am port D muss knapp 5V zu messen sein.

Es gibt eigentlich nur 3 mögliche Fehlerquellen:
 - Chip defekt
 - falsch geflasht
 - falsch beschaltet.

Momentan tippe ich darauf, das du dich mit dem Pinout vertust.

von Anfänger (Gast)


Lesenswert?

Das ist richtig :-)

von Anfänger (Gast)


Lesenswert?

AH das "Das ist richtig" war auf den post oberhalb bezogen.
War zu langsam.
Pinout falsch kann eigentlich nicht sein.
Zumal ich an einem Pin ja Vcc messe.
Wenn ich nach meinem Wissensstand im Datenblatt nachschaue entspricht
dieser Pin dem Reset Pin.

Der Pin 1 ist mit einem kleinen Symbol(Dreieck oder Pfeil oder Spitze
oder was das sein soll) gekennzeichnet,richtig?

In meiner Skizze oben wäre der Pin 1 dann rechts oben

von Niels H. (monarch2)


Lesenswert?

PIN 1 selbst hat auf den Chips keine eindeutige Kennzeichnung. Es ist,
wie ich es sagte:

Die runde Aussparung am Gehäuserand selbst nach links ausrichten. Pins
zeigen von dir weg, so das du auf die Beschriftung schaust. Dann ist
PIN1 links unten. Pin2 rechts daneben. Pin40 ist dem PIN1
gegenüber...usw..

Das ganze Spiegelverkehrt sich, wenn du von unten, lötseitig auf die
Sache schaust.

von Hannes L. (hannes)


Angehängte Dateien:

Lesenswert?

Die Zeichnung der Pinbelegung im Datenblatt entspricht der Draufsicht
auf den Chip...

...

von Niels H. (monarch2)


Lesenswert?

Keine Antwort?!
Ich glaub, wir habens.....

von Thorsten (Gast)


Lesenswert?

Lass mal das HEX-File sehen. Vielleicht läuft bei der
Assemblierung/Generierung was schief.

von Hannes L. (hannes)


Angehängte Dateien:

Lesenswert?

Dann versuch mal die Hexdatei im Anhang...

Quelltext folgt...

...

von Hannes L. (hannes)


Angehängte Dateien:

Lesenswert?

Und hier der Quelltext...

Habe ich vor langer Zeit mal geschrieben, weil jemand mit seinem Mega8
und Testboard anfangs nicht zurecht kam.

...

von Anfänger (Gast)


Lesenswert?

Kann ich leider heute nicht mehr versuchen.
Werd aber sobald ich Ergebnisse habe berichten :-)

von Anfänger (Gast)


Lesenswert?

Hab nochmal alles komplett neu gemacht.
Neu geproggt,assembliert,µC beschrieben,Schaltung aufgebaut usw.
Und siehe da es läuft :-)

Ehrlich gesagt weiß ich nicht was das Problem war da ich eigentlich
alles gleich gemacht habe.
Naja vielleicht war ihm das viele hin und her einfach zu viel.

Gut jedenfalls kann ich jetzt an meinen gesetzten Ausgängen Vcc messen
und nun kann es weiter gehen ;-)

Danke für eure Antworten und Hilfen!

von Niels H. (monarch2)


Lesenswert?

Typischer Fall von: Kaum macht mans richtig, schon funktionierts.

Oh welch Wunder ;)

von Anfänger (Gast)


Lesenswert?

;-)
Danke nochmal!

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.