mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik zu geringe ausgangsspannung an den ports


Autor: Demerzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi leutz,

ich hab da ein riesiges problem mit der ausgangspannung meines
controllers.ich hab ein programm auf meinem atmega8 laufen (wills hier
jetzt aber nicht weiter erklären)das soll in bestimmten abständen meine
ausgänge setzten. das läuft soweit ziemlich gut nur mein problem ist das
an den ausgängen nur eine spannung von max. 1,70 V anliegt. ich wollte
diese aber als eingänge für andere controller weiterbenutzen aber die
spannungen sind zu niedrig um richtig erkannt zu werden.hatte schonmal
jemand die selben probleme? ne lösung wäre vielleicht op's dazwischen
zuschalten aber das wäre ein ziemlicher aufwand.gibt es noch andere
möglichkeiten?.
ciao peter

Autor: Christian Schleiffer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Pullups aktivier?

Autor: Thomas Burkhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Ausgang brauchts keine Pull-Ups, da die Pins aktiv hoch oder runter
gezogen werden...

Autor: Christian Schleiffer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verd****, hast natürlich recht, richtig lesen würde wohl helfen...
Wie sieht denn die Beschaltung aus, sind die Ausgänge unbelastet?

Autor: Thomas Burkhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
;)

Also bei einem funktionsfähigen Mega an 5 V muss die High
Ausgangsspannung mindestens 4,2 V betragen. Wenn der Ausgangsstrom
nicht größer als 20 mA ist, muss irgendwas mit dem µC faul sein. Ich
sehe jedenfalls nicht, wie man das "falsch programmieren" kann...

Achja, wenn Port A verwendet wird, muss natürlich AVCC ordentlich
angeschlossen sein.

Autor: Ingo Henze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder es wurde vergessen, die Ports als Ausgang zu konfigurieren.
Dann schaltet man ja mit out PORTx,YY immer nur die Pull-Ups ein und
aus, was je nach Innenwiderstand der angeschlossenen Schaltung zu
solchen Effekten führen könnte.

Gruß
Ingo

Autor: Demerzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi leutz,

also ich schalte so:(mal für einen pin)

if (***)
{
led_on;
}...

in der header hab ich den pin so definiert:

#define led_on     PORTB|=(1<<0)
#define led_off     PORTB&=(unsigned char)(~(1<<0))

hab die spannung auch mal gemessen wenn nix angeschlossen ist und komme
trotzdem nur auf 1,7 V

ciao peter

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schick einfach mal das ganze programm. sind die ports nicht
standardmässig auf eingang?

Autor: Demerzel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
oki,hier ist das programm

in der global.h sind die defin.
in der motor.c sind die programme womit die ausgänge gesetzt werden
und in der project_sol ist die main funktion
ciao peter

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so weit ich das sehe hast du nirgendwo den pin an port b als ausgang
definiert. zumindest nicht im hauptprogramm

Autor: Demerzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi tobi,

reichen denn die defines nicht aus?
ciao peter

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
defines sind bloss makros. die machen selber noch nichts. ausserdem
schalten die ja bloss den pin ein und aus. die richtung muss noch extra
in den DDRx registern gesetzt werden

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast den reset - pin auf +5V gelegt???
sonst fährt der controller nämlich im dauer reset mode
Probier das mal aus
mfg klaus

Ps: wenn dass das Problem war dann antworte

Autor: Demerzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi klaus,

das programm läuft ja schon - also daran kann es nicht liegen.
kann es sein das ich zuviel über den controller laufen habe?
display, ds1302 und dann noch die weiteren 5 pins?

ciao peter

Autor: Demerzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi leutz,

ihr hattet recht es lag daran das ich vergessen hatte port b als
ausgang zu definieren.habs jetzt gemacht und siehe da es
funktionierte.
danke leute
ciao peter

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.