Forum: Mikrocontroller und Digitale Elektronik serielle Daten empfangen mit PIC


von K-H J. (k-h)


Lesenswert?

Guten Morgen,

wir müssen serielle Daten mit einem PIC empfangen. Diese Daten sind 
Messwerte und werden uns immer wieder in einem zeitlichen Abstand zur 
Verfügung gestellt. Dann werden diese Daten in einem Programm 
ausgewertet.

Es muss lediglich gelesen werden, deshalb nur unidirektional.

Kann ich das einfach mit einem MAX 232 realisieren, den ich dann an 
unseren PIC anbinde ? Wo sollte der MAX 232 platziert werden, nah am PIC 
denke ich oder was ist das eher als unkritisch anzusehen ?  Platz ist 
auf der LP  vorhanden.

Vielleicht kann mir jemand einen Link zu einer Applikation oder eine 
Schaltung die schon erfolgreich verwendet wurde hierzu übersenden.

Danke im voraus.

Gruss

K-H J.

von TK (Gast)


Lesenswert?

Hallo,
>wir müssen serielle Daten mit einem PIC empfangen
Was sind denn für euch serielle Daten? Da gibt es neben der RS232 auch
SPI und IIC usw
Wer sendet die Daten?
Falls es sich um eine RS232 handelt, dann muß man auch ermitteln, ob 
dieser Datenstrom evtl. schon mit TTL-Pegeln vorliegt. Dann kann man 
sich den MAX232 schenken. Wie man eine RS232 an einen PIC oder anderen 
Controller anbindet, findest Du zu genüge hier im Forum (die Suche hilft 
dabei weiter).
Der MAX232, falls notwendig, sollte dabei natürlich in der Nähe des PIC 
platziert sein.
Wieso nur eine unidirektionale Verbindung? Macht es keinen Sinn, eine 
Quittierung an den Sender zurückzusenden? Was passiert, wenn der 
Datenstrom nicht komplett/verfälscht oder mit einem Fehler ankommt?
Welche Anwendung steht denn überhaupt hinter dem Ganzen?

Gruß
TK

von Harald (Gast)


Lesenswert?

Welcher PIC? Es gibt zig unterschiedliche Baureihen! Dann könnte man mal 
ein Beispielprojekt raussuchen

von HildeK (Gast)


Lesenswert?

K-H J. schrieb:
> Wo sollte der MAX 232 platziert werden, nah am PIC
> denke ich oder was ist das eher als unkritisch anzusehen ?

Das ist unkritisch. Selbst wenn du mit 1MBit/s unterwegs sein solltest, 
sind nach einem RS232-Phy 10cm Leitungslänge kein Problem.

von FlexTheFox (Gast)


Lesenswert?

Pegelwandlung kannst du auch mit einem Mosfet und Widerstand machen, 
wenn du nur V24 reinbekommst. Widerstand gegen 5V, Mosfet gegen GND. 
RS232 aufs Gate. Zwischen FET und R RX abgreifen. +12 V wird zu 0 V, -12 
zu 5 V. Geht ganz gut, wenn du nicht gerade mit 115200 Baud unterwegs 
bist...

von A. S. (Gast)


Lesenswert?

Für den Empfang serieller RS232-Daten geht eigentlich so ziemlich jeder 
Inverter mit Schaltpunkt bei 1..3V. Da braucht es dann noch einen 
Serienwiderstand von ein paar k und ggf. einen Shunt am Eingang oder 
Ableitdioden.

Die einfachste Schaltung ist mit 10k direkt z.B. auf einen Komparator 
des Pics. Je nach Baudrate (bis 1MBaud und 1m sind problemlos möglich), 
noch gerne einen Shunt von 1k, bei niedrigerer Schwelle auch gerne 110R.

Das funktioniert Tadelos im Einsatz, erfordert aber unter Umständen eine 
Anpassung an die tatsächlichen Verhältnisse.

Für wirklich lange Leitungen (100m bei 100kBaud z.B.) geht man am Besten 
auf einen npn-Transistor mit 110R Shunt, 4k7 Basiswiderstand und 1 
Shottky-Diode um die Basis nicht in Sättigung laufen zu lassen (von 
Basis zu Kollektor).  AM Kollektor reicht dann ein Pullup (z.B. 10k) als 
Inverter.

von K-H J. (k-h)


Lesenswert?

Danke schon mal für eure Antworten.
Wir arbeiten mit einem PIC 16F873A. Ich werde einen MAX232 (wenn auch 
ncht nötig) mal ausprobieren und nah am PIC platzieren.

Grüsse

K-H

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.