mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Pin Spannungen


Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

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

Autor: Anfänger (Gast)
Datum:

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

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ja das stimmt auch.
Sry das ich das vergessen hatte...

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an avcc sollte auch noch vcc
und vcc sollte maximal 5,5V sein...

Autor: Niels Hüsken (monarch2)
Datum:

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

Autor: Anfänger (Gast)
Datum:

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

Autor: Anfänger (Gast)
Datum:

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

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Niels Hüsken (monarch2)
Datum:

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

Autor: Anfänger (Gast)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hannes Lux (hannes)
Datum:

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

...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist die Versorgungsspannung mies.
Wo nimmst du die her?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Anfänger (Gast)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: mullet (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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...

...

Autor: mullet (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo - hab wohl etwas zu viel C(++) gesehen...

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: mullet (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Versorgungsspannung überprüft? Und auch alle GND-Pins
verbunden?

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor allem, poste mal, was du dem Reset-Eingang vorgeschalten hast.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne Fotos, ohne Zeichnung sag ich nix mehr...

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zwingt dich ja auch keiner.
Trotzdem danke für deine Hinweise bisher!

Autor: mullet (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ASM im AVR Studio.
µC ATMega 8515L.
Programmer ist GALEP III

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Anfänger (Gast)
Datum:
Angehängte Dateien:

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

Autor: mullet (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry, ich sprach vom RESET-Pin.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !?

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist richtig :-)

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die Zeichnung der Pinbelegung im Datenblatt entspricht der Draufsicht
auf den Chip...

...

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Antwort?!
Ich glaub, wir habens.....

Autor: Thorsten (Gast)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dann versuch mal die Hexdatei im Anhang...

Quelltext folgt...

...

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier der Quelltext...

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

...

Autor: Anfänger (Gast)
Datum:

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

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Niels Hüsken (monarch2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Typischer Fall von: Kaum macht mans richtig, schon funktionierts.

Oh welch Wunder ;)

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
;-)
Danke nochmal!

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.