Hallo, ich habe hier einen Microsonic Ultraschallsensor pico-usb-25/cd. Der Sensor gibt laut Hersteller Daten (zu finden auf der Homepage vom Hersteller) die Entfernung an einem Pin bitseriell aus. Ich würde mir das ganze gerne mal genauer anschauen. Doch ich weiß nicht wie ich diesen Pin mit meinem Laptop auslesen kann.... Ich versorge den Sensor mit 24V DC. Jemand eine Idee?? Gruß Frank
Frank S. schrieb: > Doch ich weiß nicht wie ich diesen Pin mit meinem Laptop auslesen > kann.... Der Sensor verwendet ein asynchrones serielles Protokoll mit 10 Datenbits und 10 kbaud Übertragungsrate. Die Signalspannung entspricht dabei in etwa der Versorgungsspannung von 10-30V (bei dir 24V). Eine solche Schnittstelle hat dein Laptop ganz sicher nicht. Die hohe Signalspannung könnte man noch mit einem Spannungsteiler oder einer Kombination aus Widerstand und Z-Diode auf ein erträgliches Maß reduzieren. Da kein PC/Laptop über einen 10-Bit-UART verfügt, müsste man das Protokoll in Software abwickeln. Dazu benötigt man aber irgendeinen Eingang, dessen Signalpegel (high/low) per Software abgefragt werden kann. Früher konnte man dafür die Steuerleitungen der parallelen oder der RS-232-Schnittstelle missbrauchen. Leider sind diese Schnittstellen sehr stark aus der Mode gekommen. Selbst wenn so eine Schnittstelle verfügbar ist, muss muss die Abfrage des Signals durch die Software in einem genauen Zeitraster erfolgen. Da jedes Bit nur 100µs lang ist, stellt das hohe Anforderung an die Echtzeitfähigkeit, die von den gängigen PC-Betriebssystemen (Windows, Linux, MaxOS) kaum erfüllt werden. Ein einfacher Mikrocontroller tut sich mit solchen Dingen wesentlich leichter. Du könntest also einen AVR, PIC o.ä. nehmen und dafür eine Software schreiben, die das Kommunikationsprotokoll abwickelt und die gelesenen Abstandsdaten per USB auf deinen Laptop überträgt.
Ich hätte wahrscheinlich auch zu irgend einem uC Board gegriffen das ich hier rum liegen habe und das 10 Bit Daten versteht. Bisschen Spannungsanpassung und dann eine umgerechnet Distanz ausgeben. Edit: wobei ich gerade sehe das die meisten auch nur 8/9 Bit unterstützen. Alternative wäre ein FPGA Eval mit einem kleinen Softcore der das auf USB schiebt. Ist aber auch schon etwas oversized... Der Hersteller selbst bietet aber auch ein Tool an. Kurze Suche ergibt ca 100€ oder vielleicht auch günstiger auf Gewissen Plattformen https://www.microsonic.de/de/zubehoer/programmierhilfe/lca-2.htm
:
Bearbeitet durch User
Was mir gerade noch einfällt, ein USBClone könnte das bestimmt auch wenn man ein eigenes Script dafür schreibt.
Vielen Dank für die Tipps und Hinweise... hatte mir das etwas einfacher vorgestellt. Dann werde ich wohl auf einen anderen Sensor umschwenken, und den Pico versuchen zu verkaufen....
N. M. schrieb: > Ich hätte wahrscheinlich auch zu irgend einem uC Board gegriffen das ich > hier rum liegen habe und das 10 Bit Daten versteht. > Bisschen Spannungsanpassung und dann eine umgerechnet Distanz ausgeben. > > Edit: wobei ich gerade sehe das die meisten auch nur 8/9 Bit > unterstützen. Mit einem Soft-UART sind die 10kBd doch kein wirkliches Problem für einen µC.
Ich würde das Teil in der Rundablage (Mülleimer) deponieren. Wenn Deine Angaben stimmen sollen, so stimmt auch Garnichts. Außer einer SPS kann kaum jemand was mit 24V anfangen. 10kBaud sind ebenfalls unüblich. 9600 Ja. Die wenigsten seriellen Schnittstellen lassen sich mit 10 Bit Daten füttern. Also von wenigen Ausnahmen mal abgesehen lohnt es den Aufwand nicht.
Amateur schrieb: > Die wenigsten seriellen Schnittstellen lassen sich mit 10 Bit Daten > füttern. Davon lässt sich auch nur ein echter Amateur, der zudem von Tuten und Blasen keine Ahnung hat, abschrecken. Um mit den 10 Bit zurecht zu kommen, muss man sich eventuell die Mühe machen, in einer Soft-UART Empfangsroutine die Schleifenlänge von 8 auf 10 Datenbits zu ändern und dafür zu sorgen, dass die Routine für die empfangenen Zeichen einen mehr als 8 Bit großen Speicher zur Verfügung hat. Die Baudrate von gängigen 9600Bd auf 10000Bd zu ändern, wäre wohl auch gerade noch hin zu kriegen. Oder man taktet die Daten über SPI rein, wo man sich dann nur um den Start per Software kümmern muss und der eigentliche Zeichenempfang vollständig per µC Hardware erfolgen kann. Geht es hier im Forum um Mikrocontroller oder nicht?
Die UARTs vieler Mikrocontroller unterstützen bis zu 9 Datenbits. Missbraucht man das Paritybit ebenfalls als Datenbit, hat man die benötigten 10 Bits zusammen.
Yalu X. schrieb: > Die UARTs vieler Mikrocontroller unterstützen bis zu 9 Datenbits. > Missbraucht man das Paritybit ebenfalls als Datenbit, hat man die > benötigten 10 Bits zusammen. Auch dieser Ansatz setzt selbständiges Denken und ein bisschen Kreativität voraus. Das gibt es selten zum "Anstöpseln und läuft", so dass mancher Amateur auch damit überfordert ist ;-) Und das einem Laptop beizubringen, dürfte der richtig steile Teil einer Lernkurve sein. Ohne µC dazwischen wird das mühsam.
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.