Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Mittwoch, 4. August 2010, 15:38

Streckenmesssystem - Anschluss RC-Empfänger an PC

Kollegen,
ich möchte ein computergestütztes Streckenmessystem bauen und bin auf der Suche nach einer Schaltung, über die ich ein Empfängersignal (Gasservo) auf dem Computer auswerten kann. Dazu möchte ich einen separaten zweit-Empfänger idealerweise über einen USB Port oder auch Serial Port an einen PC anschliessen und per software den Gaskanal auswerten (nur Motor ein/aus).

Was für eine Hardware benötige ich hier? Hat jemand von Euch sowas ähnliches schonmal gebaut?

Danke und Gruss
Stephan

haschenk

RCLine User

Beruf: Dipl. Ing.

  • Nachricht senden

2

Mittwoch, 4. August 2010, 15:53

Hallo Stefan,

mach´ dich hier mal schlau:

http://www.sm-modellbau.de/shop/index.php?cPath=11

Für einen Selbstbau würdest du solide Kenntnisse in PC-Hard- und Software benötigen.

Gruß,
Helmut

3

Donnerstag, 5. August 2010, 09:49

Helmut,
das ist nicht was ich meine. Den Unlilog hab ich in meinem F5B Modell.

Was ich brauche ist folgendes:
Um per PC Programm die Zahl meiner Steigflüge während des Fluges zu tracken möchte ich das Gasservo Signal an einem zweiten Empfänger, der sich am Boden am PC befindet, per PC auswerten.
Dazu benötige ich eine Schaltung oder ein Interface, mit der ich per Software über einen USB oder seriellen Port den Gaskanal auswerten kann. Um es noch einfacher zu machen, kann ich auch ein Schaltrelais am Servoausgang anschliessen und damit ein einfaches Ein/Aus Signal bereitstellen.
Für Euch Elektronikfreaks mit Sicherheit ein Klacks ;)
Danke für Eure Tipps
Stephan

4

Donnerstag, 5. August 2010, 11:46

Wir haben kürzlich einen Nautic Simulator / Messer gebastelt.
Damit wäre das machbar.
Eventuell kannst Du ja Teile des Quellcodes für Dein Projekt verwenden.

Allerdings dürfte das für Deinen Zweck ziemlich übertrieben sein.
Ein "Zeitstempel" ist noch nicht eingebaut!

USB und Display hat das Teil.
»wkrug« hat folgendes Bild angehängt:
  • Nautic_simulator.png

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »wkrug« (5. August 2010, 11:48)


hsh

RCLine User

Wohnort: Österreich

  • Nachricht senden

5

Donnerstag, 5. August 2010, 13:08

Ein Arduino Duemilanove dürfte sich da anbieten, wenn du nicht selber bauen willst.
Die serielle Schnittstelle läuft schon über einen USB/UART-Konverter, Stromversorgung über USB und alle AVR Pins auf Buchsenleisten herausgeführt. Programmiert wird der µC per Bootloader. Du brauchst also keinen Programmer und hast keine weiteren Kosten. Der Arduino Dialekt soll sehr gut für Einsteiger geeignet sein.

Im Prinzip brauchst du einen kleinen µC mit Timer und UART. Du musst das Servosignal (am besten per Capture/Compare) auswerten und dann deine gewünschten Daten per UART an den PC senden. Vermutlich wirst du aber noch ein Programm brauchen, das dir diese Daten auch interpretiert.

Je nachdem was du da genau planst, könnte vielleicht LogView und Openformat für die Darstellung am PC interessant sein.

Warum willst deine Gaskanalaufzeichnung eigentlich doppelt?
Das UniLog schreibt dir doch ohnehin alles mit...

mfg Harald
mfg Harald

haschenk

RCLine User

Beruf: Dipl. Ing.

  • Nachricht senden

6

Donnerstag, 5. August 2010, 17:49

Hallo Stephan,

ich hab dir Unilog empfohlen, weil ich vermute, daß du keine Elektronik- und Programmierkenntnisse hast, und weil man damit deine Aufgabe lösen kann.

Harald hat schon gesagt, wie´s geht; obwohl man mit dem Duemilanove mit Kanonen auf Spatzen schießt; aber er ist halt eine "fertige" und rel. preiswerte Lösung und hat USB an Bord.

Wenn du dir einen Eingriff in den Sender zutraust, gibt´s eine einfache Lösung für das "Interface": Gas-Poti im Sender anzapfen (GND und Mitte) und einen Spannungskomparator nachschalten. Der liefert dir dann Hi- bzw. Lo-Pegel, damit kannst du auf die serielle Schnittstelle des PCs gehen.

Bei deiner "elektromechanischen" Lösung müsstest du in jedem Fall noch die Relaiskontakte entprellen.

Das PC-Programm ist schon etwas anspruchsvoller; es muß die Schnittstelle ständig abfragen oder auf einen Interrupt reagieren und dann immer den Spannungspegel + einen "Zeitstempel" in eine Datei schreiben.

Mit Logview bin ich bei einer ähnlichen Aufgabe schon verzweifelt, weil es mir nicht gelungen ist, eine für meine Aufgabe passende Konfiguration zu erstellen (kann an der Dokumentation oder an mir liegen...). Ich hab dann eine Lösung mit der Studi-Version von "LabView" gemacht, worin ich mich aber auch erst mal einarbeiten musste.

Heute würde ich versuchen, ein Progrämmchen dafür in C (mit DJGPP-Compiler) zu schreiben. Vielleicht hat hier jemand das schon in der Schublade...


Gruß,
Helmut

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »haschenk« (5. August 2010, 17:56)


7

Freitag, 6. August 2010, 14:07

Hi Helmut,
danke - ich komme der Lösung näher :)
Der Unilog wäre wohl die aufwändigste Lösung - ich muesste einen 2. Unilog an den Empfänger am Boden und übers USB Kabel an den PC anschliessen sowie ein Programm austüfteln welches den seriellen Datenstrom während des Fluges a la Logview in echtzeit analysiert, die Gasservostellung aus den ganzen Parametern extrahiert und für meine Zwecke interpretiert. Ich kann etwas Programmieren, ich hab das Unilog Datenprotokoll, aber das übersteigt mein Können.

Einen Eingriff in den Sender ist auch nicht optimal, da ich ja dann ein Kabel vom Sender zum PC hätte - unpraktisch. Aber das sollte ich über ein Relais oder einer anderen Schaltung analog abbilden können? Ich brauche nur einen Schaltungsvorschlag, wie ich den Status am Empfängerausgang (an/aus bzw. Knüppel vorne/hinten) so an dem USB Port habe, dass ich im Programm mittels interrupt diesen Zustand abfragen kann und entsprechend verarbeiten kann.
Danke und Gruss Stephan

haschenk

RCLine User

Beruf: Dipl. Ing.

  • Nachricht senden

8

Freitag, 6. August 2010, 19:37

Hi Stephan,

erstmal auch von mir nochmal die Frage:
Wenn du schon das Unilog im Modell hast- warum loggst du nicht einfach den Strom mit ? Ich hab schon jede Menge solche Logs gesehen; das geht doch problemlos...

Die Schaltung, die du zunächst mal an deinem Empfängerausgang brauchen würdest (Impulslänge => Spannungspegel Hi/Lo), ist ziemlich trivial. Als Fertigteil z.B. bei Conrad Best.Nr. 227389-62, "Baustein Elektronischer Unischalter". Wenn du ein paar Teuro sparen willst, dann lade dir davon unter "Download Dokumente" die Bedienungs-/Bauanleitung runter. Darin findest du die Schaltung und Erklärung der Funktion. Die paar Teile dafür kriegst du im Elektronikshop für wenig Geld; das Relais brauchst du nicht, dafür einen Widerstand einsetzen; dann entfällt auch die Kontaktentprellung.

Aber das ist noch nicht mal die halbe Miete...
Du kannst mit so einem Pegel-Signal nicht einfach auf einen PC-Eingang gehen, vor allem schon garnicht auf USB. Bei USB gibt´s nur 2 Signalleitungen, auf denen eine nicht triviale, durch das USB-Protokoll definierte bidirektionale Kommunikation abläuft. Das zu programmieren tut man sich normalerweise nicht an, sondern man verwendet idR fertige RS232<=>USB Adapter bzw. ICs.

Diese möchten aber an ihrem Eingang einen RS232-gemäßen Bit- bzw. Bytestrom sehen, den du erst erzeugen müsstest (mit Microcontroller...). Dann ist es aber einfacher und billiger, gleich einen "Arduino" (z.B. den Duemilanove) zu verwenden, der den USB-Kommunikationsbaustein an Bord hat. Wenn du wie erwähnt gewisse Programmierkenntnisse hast, wäre das der Weg... Dazu müsstest du dich in die "Arduino-Welt" einlesen.

Falls dein PC (Laptop, Notebook... ? ) eine serielle (RS232) Schnittstelle hat, könnte man diese "mißbrauchen", da es ja nur um den Status einer I/O-Line geht. Einen RS232-Bitstrom braucht´s dann nicht. Dazu muß das PC-Programm nur eine der RS232-Signalleitungen (wählbar) abfragen; das ist der Weg, den ich weiter oben schon erwähnt habe.

Ich kann das hier nicht tiefergehend erklären; und die Zeit, dir das zu programmieren, habe ich auch nicht. Du findest das aber incl. den nötigen Grundlagen z.B. hier:

Y. Magda, "Complete Practical Measurement Systems Using A PC"
oder
A. Heppner, "MSR Messen, Steuern, Regeln mit dem PC"

Beide Bücher sind vom Elektor-Verlag.
Das zweitgenannte ist für dich wahrscheinlich besser geeignet. Die Programmierung erfolgt dort im "antiken" QBASIC, das es im Web kostenlos gibt und leicht erlernbar ist; außerdem gibt´s im Buch Beispiele.


Gruß,
Helmut

PS.
Auch im erstgenannten Buch gibt es fertige Schaltungs- und Programmbeispiele unter Verwendung des "bitweisen" COM- oder Parallelports. Hier wird aber als Programmiersprache Visual Basic und/oder C#.NET verwendet; ist schon etwas aufwendiger. Hierzu brauchst du MS Visual Studio.NET, die kostenlose "Express"-Version genügt.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »haschenk« (6. August 2010, 19:58)


9

Sonntag, 8. August 2010, 11:50

Hi Helmut,
das mit dem Unilog geht nicht, da ich die Gasservo Daten während des Flugs auswerten möchte, nicht nach der Landung.
Gruss Stephan