www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16F870 - Port RA4 (Schmitt Trigger) als TTL-Ausgang nutzen


Autor: Olaf Rechtner (gruser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

den Kanal RA4 (Schmitt-Trigger Kanal) des o.g. PIC´s möchte ich als ganz 
normalen TTL-Ausgang verwenden. Dazu habe den Ausgang einmal an einen 
Widerstand an 5V angeschlossen, und einmal an eine LED die auf Masse 
geht.

Schon funktionierts, ich kann die LED schön ein- und ausschalten. Ebenso 
schaltet der Kanal ein Relais ein und aus.

Problem ist aber, wenn ich die Spannung des PIC´s einschalte, blinkt die 
LED kurz (bzw. zieht mein Stromstoßrelais kurz an). Das gleiche passiert 
wenn ich die Spannung des PIC´s abschalte. Dann "glüht die LED für ca. 
500ms aus".

Dabei ist egal in welcher Reihenfolge ich den Port initialisiere:

PORTC = 0;
ADCON1=0b.0000.0110;
TRISC = 0b.1000.0000;

Die anderen TTL-Ports klappen super. Da gibts kein Geblinke.

Gibt es da einen praktikablen Trick, damit der Port beim Ein- und 
Ausschalten der Spannung auf Low bzw. auf dem letzten Schaltzustand 
stehen bleibt? Hoffentlich ohne große externe Beschaltung.

Gruß
Olaf

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Port RA4 ist ein Open-Drain-Ausgang !

D.h. es ist keine Push-Pull-Stufe, die satten Strom liefert und 
"ansaugt"!

So ein Ausgang (bei Transistoren ist das ein Open-Collector-Ausgang) 
kann prima Strom "einsaugen" und gegen Masse leiten, aber keinen Strom 
liefern.
Um also logische Eingänge anzusteuern, nimmt man einen 
Pull-Up-Widerstand, um einen High-Zustand (Ausgang passiv) oder einen 
Low-Zustand (Ausgang aktiv gegen Masse geschaltet) zu erhalten.

Wenn man aber nun eine LED ansteuern will, so ist es am 
intelligentesten, man schaltet von V+ die LED über den Vorwiderstand an 
den Port-Pin. Gibt der Port-Pin nun eine 0 aus, leuchtet die LED.

Alles andere ist Blödsinn.

Autor: Olaf Rechtner (gruser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, ja war ein blöder Fehler wie ich die LED angeschlossen habe.

Leider klappt es trotzdem nicht - sehr sehr seltsam. Die LED brennt hell 
wenn ich die Spannungsversorgung einschalte und PORTA auf Low steht - 
und leuchtet deutlich schwächer wenn ich PORTA auf High setze.

Gibt es eventuell noch ein relevantes Register außer diesen hier?

ADCON1=0b.0000.0110;
PORTA = 0;
TRISA = 0b.0000.0000;    // PortA als Ausgang definieren

Das gibts doch nicht dass ich diesen Open Drain nicht zu einem 
stinknormalen TTL Ausgang hinbekomme seufz

Hoffe ihr habt noch Ideen woran es liegen könnte.

Gruß
Olaf

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr merkwürdig...

Der Schmittrigger im Eingang ist immer mit dem Pin verbunden. Ich kann 
mir nicht vorstellen, daß der soviel Strom zieht.

Die LED wird von dem gleichen Potential versorgt, wie der PIC ?
Welchen Vorwiderstand hast Du verwendet ? Welche LED ?

Du hast auch keine Böcke im Code, die den Ausgang gelegentlich kurz 
einschalten ?

Autor: Jens PICler (picler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus leidvoller Erfahrung versuche ich, wenn möglich, den RA4-Pin nicht 
zu nutzen und wenn es doch sein muss, dann als Eingang.
Schaue dir mal die Seite sprut.de an, da gibt es ein paar gute Tipps zu 
den PICs.

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.