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.
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
Welcher PIC? Es gibt zig unterschiedliche Baureihen! Dann könnte man mal ein Beispielprojekt raussuchen
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.
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...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.