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


von Demerzel (Gast)


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

von Christian Schleiffer (Gast)


Lesenswert?

Hast du die Pullups aktivier?

von Thomas Burkhardt (Gast)


Lesenswert?

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

von Christian Schleiffer (Gast)


Lesenswert?

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

von Thomas Burkhardt (Gast)


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.

von Ingo Henze (Gast)


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

von Demerzel (Gast)


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

von Tobi (Gast)


Lesenswert?

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

von Demerzel (Gast)


Angehängte Dateien:

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

von Tobi (Gast)


Lesenswert?

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

von Demerzel (Gast)


Lesenswert?

hi tobi,

reichen denn die defines nicht aus?
ciao peter

von Tobi (Gast)


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

von Klaus (Gast)


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

von Demerzel (Gast)


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

von Demerzel (Gast)


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

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.