-
-
Sensorsignal über AD-Wandler und RS232 unter Delphi auslesen
Hallo zusammen,
ich will das Signal eines Beschleunigungssensors, das ich über einen einfachen AD-Wandler (TLC 54 an der seriellen Schnittstelle eines Windows-PCs zur Verfügung stelle, unter DELPHI auslesen.
Zwar habe ich im Netz einige Delphi-Komponenten gefunden, mit denen ich serielle Kommunikation betreiben kann, aber die arbeiten auf einer hohen Abstraktionsebene. Zugriffe auf die einzelnen Datenleitungen sind (insbeondere unter Windows XP) nicht möglich.
Kann mir da jemand weiterhelfen? Ich müsste an den Wandler ein ChipSelect- und ein Clock-Signal senden und an einer der Datenleitungen den Wandlerwert zurücklesen.
Gruss & Danke
Frank
-
Erfahrener Benutzer
Robotik Einstein
Wäre es nicht vielleicht sinnvoll, die Daten mit einem uC auszulesen, der das Clock-Signal erzeugt etc. un das dann über die Serielle Schnittstelle zu senden, dann hast du auf dem PC weniger rechenaufwand, und akannst das Ding beliebig überall anschließen, den ein einfaches Terminalprog aht eigentlich jeder PC.
MFG Moritz
-
Erfahrener Benutzer
Roboter Experte
Ich gehe mal davon aus, dass du als AD-Wandler nen I2C-Wandler nimmst.
Evtl. wäre es einfacher wenn du
- entweder nen Mikrocontroller nimmst, den die AD-Wandlung machen lässt und das dann über die serielle Schnittstelle rausspuckt.
- oder du nen FTDI FT232BM Seriell->USB-Wandler nimmst, den kannst du direkt über ne DLL-Datei ansteuern und da gibt es auch ein Beispiel zur Kommunikation über I2C.
-
Hm, ist in jedem Fall ´ne gute Alternative. Nur deutlich teurer, wenn man sowas in grosser Menge benötigt.
Danke!
-
Erfahrener Benutzer
Roboter Experte
zum Thema viel zu teuer:
nimm z.B. nen Microchip PIC 10F206, der kostet ab 1000 Stk. rund 20 cent. Darin kannst du deine Serielle reinbauen und hast nen Komparator, über den du dann den AD-Wandler realisieren kannst.
Oder du nimmst nen PIC12F675 (oder noch nen etwas kleineren), der hat nen 10bit AD-Wandler und UART in Hardware. Kostet ca. 50 cent je Stück.
Auf jeden Fall dürfte das in einer ähnlichen Preisklasse liegen, wie dein I2C-AD-Wandler.
Und wenn du USB haben willst, dann nimmst du einfach den FT232BM oder einen ähnlichen von Cirrus (der kostet dann nur rund 95 cent).
Beim PIC brauchst du gar keine externe Beschaltung (alles schon drinnen), beim USB-Chip brauchst du noch ein bissle was an passiven Bauteilen. Die kommen auf ca. 15 cent.
Die ganzen Preise sind die Handelspreise im Bereich von 1.000 bis ca. 100.000 Stück Abnahme. Alles unter 1.000 Stk. ist noch Kleinmenge. Aber selbst der FTDI wird bei 100 Stk. schon sehr billig.
-
Erfahrener Benutzer
Fleißiges Mitglied
Ich habe das mit VB gelöst, nur mit einem TLC549, und das geht auch unter XP sehr gut.
-
@stegr:
Wow, im Detail hatte ich mir über die Kosten einer uC-Lösung noch gar keine Gedanken gemacht... Bin einfach davon ausgegangen, dass es deutlich teurer sein müsste. Deine Aufstellung spricht allerdings dagegen. Denke, ich werde es damit mal versuchen.
@Stoneman:
Benutzt Du dafür einen Treiber, oder hast Du eine Möglichkeit gefunden am "Betriebssystem vorbei" auf den Port zuzugreifen?
-
Hallo,
ich habe mal für Zugriffe auf die serielle Schnittstelle unter Delphi eine Freeware-Komponente benutzt, die "VARIAN ASYNC32" heißt. Dort hast Du auch Zugriff auf die einzelnen Steuer- und Statusleitungen.
Allerdings sind Zugriffe mittels dieser Komponente recht langsam (was aber inzwischen behoben sein könnte - es ist bereits ca. 2-3 Jahre her, daß ich diese Komponente benutzt habe, und es gibt inzwischen bestimmt aktuellere Versionen... such einfach mal in Google...).
Bis dann,
Bruno
-
es gibt möglichkeiten ohne speziellen treiber, aber mit einer dll das zu realisieren
-
Erfahrener Benutzer
Fleißiges Mitglied
die antwort oben ist von mir, es gibt eine dll, die ist glaube ich auch für delphi
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen