Hallo, ich benötige für ein Projekt eine Gerätschaft, die ein gegebenes Signal eines antivalenten kapazitiven Sensors via RS-232 an einen PC sendet. Am besten sollte das ganze Interruptähnlich sein, d.h. wenn der Sensor auf +24V schaltet soll an den PC ein Signal gesendet werden(umgekehrt genau so). Optimal wäre wenn das Modul auf 4 Sensoren lauschen könnte und je nach Auslösen ein Byte mit der entsprechenden Anschlussnummer des Sensors senden könnte. Frage 1: Wie heißt so etwas? Frage 2: Wo kann ich es kaufen? Danke!
wenn der Sensor nur "HI" oder "LO" ausgibt, einfach kleiner AVR + MAX232 + etwas Software -> fertig!
Am wenigsten Aufwand wäre eine fertige Baugruppe mit USB und digitalen IOs a la IOWarrior, allerdings kann der soweit ich weiß nur abgefragt werden.
Wenn an den Schnittstellen eines PC Signale anliegen, ist noch lange nicht gegeben, dass der PC eine Reaktion zeigt. Auch wenn er eingeschaltet ist. Was läuft denn so auf dem PC, was sich um die (interrupt-ähnlich generierten) Signale kümmert? Und über welche Schnittstelle solls denn rein kommen? Blackbird
Hallo, danke erstmal für die Zahlreichen Antworten! Im allgemeinen erstmal: Auch wenn ich mit der µC-Programmierung recht gut auskenne, möchte ich diesmal darauf verzichten. Außerdem brauchte ich keine große Auflösung des Signals sondern nur einen boolschen Wert. Entweder durch Abfrage: HI/LO, oder fast besser als Interrupt: HI! Auf dem PC soll ein Java Programm laufen. Ein Thread sollte laut plan auf den RS-232 (alternativ auch USB) horchen und einen anderen benachrichtigen, wenn das Signal kommt. Ich habe das ganze bereits mit µC gesteuerten Pumpen ausprobiert und es funktioniert soweit gut. Ich kann über RS-232 die Pumpen steuern und auf Antwort warten. (Ich benutze RXTX) EDIT: PS: Der IO-Warrior gefällt mir soweit ganz gut, jedoch ist die Lieferung als Bausatz ein wenig abschreckend. Meine Löt-Kenntnisse sind eher bescheiden.
Gero S. schrieb: > Auf dem PC soll ein Java Programm laufen. Ein Thread sollte laut plan > auf den RS-232 (alternativ auch USB) horchen und einen anderen > benachrichtigen, wenn das Signal kommt. und genau da fangen deine Probleme an. Einzelne Pins von der RS232 zweckentfremden, das war mal. Ein gestandenes Betriebssystem darf so etwas nicht zulassen. Also brauchst du irgendeine Schaltung, an die du deinen Sensor(en) anschliessen kannst, und die dir dafür eine echte RS232 zur Verfügung stellt, an die du den PC mittels RS232-Kabel (gegebenenfalls mit einem RS232-USB Umsetzer) anschliesst. Und dafür gibt es nun mal nichts sehr viel, was noch einfacher als ein kleiner µC ist.
Karl Heinz Buchegger schrieb: > Gero S. schrieb: > >> Auf dem PC soll ein Java Programm laufen. Ein Thread sollte laut plan >> auf den RS-232 (alternativ auch USB) horchen und einen anderen >> benachrichtigen, wenn das Signal kommt. > > und genau da fangen deine Probleme an. > > Einzelne Pins von der RS232 zweckentfremden, das war mal. Ein > gestandenes Betriebssystem darf so etwas nicht zulassen. Es geht zumindest unter Linux mit C noch (glaube CTS kann man abfragen) Vorschlag: V-USB, Keyboard Beispiel, läuft Betriebsystemunabhängig, und du hast einen Interrupt. Einfach eine Tastenkombination senden. Bauen kannst du das mit einem ATMega8... (OK, ich weiss, willst du nicht.) mfg Andreas
Geht auch unter Windows - siehe oben. (Datum: 11.04.2013 10:33) Besser ist aber die "echte" RS232-Nutzung nur mit TxD und RxD. Blackbird
Blackbird schrieb: > Besser ist aber die "echte" RS232-Nutzung nur mit TxD und RxD. Wieso? Alle COM-Ports haben einen Satz Statusleitungen (mindestens RTS/CTS), die Eingänge davon können abgefragt werden. Dass es sich dabei nicht um TTL, sondern +-12V handelt, ist für Peripherieschaltungen eher ein Vorteil wegen der höheren Störsicherheit. Damit spart man sich die Umsetzung auf ein serielles Signal, dafür gabs mal extra ICs, die sind aber ausgestorben. Gruss Reinhard
Reinhard Kern schrieb: > Blackbird schrieb: >> Besser ist aber die "echte" RS232-Nutzung nur mit TxD und RxD. > > Wieso? Ich für meinen Teil würds auch umsetzen. Schon alleine deswegen, weil ich dann keine Probleme mit USB Umsetzern habe, wenn der nächste Rechner keine echte RS232 mehr hat. Zumal ja die Sensoren höchst wahrscheinlich sowieso irgendeine Form von vorgelagerter Elektronik zur Auswertung benötigen. Da spielt dann der Tiny+MAX dann auch schon keine Rolle mehr.
Karl Heinz Buchegger schrieb: > Da spielt dann der Tiny+MAX dann auch schon keine Rolle mehr. Hallo, darüber könnten wir uns leicht einigen, aber er fürchtet die Prozesserei ja wie ein Vampir die Sonne. Ich selbst würde auch einen 8poligen µC nehmen, kleiner gehts nicht. Gruss Reinhard
Die schnellste, einfachste und sicher auch preiswerte Lösung wäre z.B. das Benutzen eines Arduino Nano - da gibts zwar kein (altertümliches) RS232 mehr - zumindest nich tin V24-Form, dafür einen zeitgemäßen USB-Anschluss. http://arduino.cc/en/uploads/Guide/ArduinoNanoUSBCable.jpg
Das geht noch einfacher: FTDI232 oder den Typ für 2xRS232. Die +24V-Sensorausgänge kann man ja leicht auf +5V oder +3,3V teilen. Blackbird
Hallo, also ich gebe ja zu, dass es mit einem µC schön wäre! Nur fehlt mir die Zeit, da das Projekt ja nicht nur die Erfassung der Sensordaten beinhaltet sondern auch noch Steuerungsaufgaben erledigen soll. Und diese möchten samt einer GUI noch geschrieben werden. Eine weitere Lösung auf die mich Blackbird gebracht hat ist das ganze mit einem AD-Wandler und timed polling zu realisieren und die Sensorspannung zu teilen um unter die messbaren 2.5V zu gelangen. Da gibt es einen von Taskit: Taskit RS232-ADC16 (Conrad 70.81€) Das ist für meine zwecke eigentlich übertrieben, da ich keine genauen Messwerte brauche, allerdings spare ich mir so hoffentlich ein wenig Zeit und kosten, die ich an anderer Stelle sicher gut gebrauchen kann. Hat jemand von euch Erfahrung mit diesem Teil? Die Suche gab nix her. Es liegt eine C-Library von Taskit vor, jedoch kann man wenn ich das richtig verstanden habe den integrierten µC mit ASCII-Befehlen steuern, was mir ja über Java-RXTX gelingt. Ich danke euch allen für die vielen Ideen und Tipps! Falls keiner sich mit dem Taskit auskennt würde ich diesen Thread für geschlossen erklären.
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.