Guten Abend, ich such schon einige Tage nach einer Moeglichkeit meinen HTS Switch vom Pc aus via USB anzusteuern. Ich benoetige hierfuer eine 5V Versorgung und einen Input >3,5V. Da normale USB Datenuebertragung mit 3V zu niedrig fuer den Schmitt Trigger im Switch ausfaellt, richtet es ein einfacher USB-TTL Wandler nicht. Das Ansteuerungssignal sollte mindestens 5V haben. Ich benoetige ausserdem noch die Moeglichkeit ein TTL Signal zu empfangen und natuerlich Ground. Hat jemand eine Idee wie ich den Switch ueber USB ansteuern kann?
Ich sehe da kein Problem. 5V sind bei USB frei Haus mitgeliefert. Einfach durchschalten. Oder auch nicht.
Blanker schrieb: > Ich benoetige ausserdem noch die Moeglichkeit ein TTL Signal zu > empfangen und natuerlich Ground. Hast Du Dir mal einen IOWarrior angeschaut? Bei USB kann man die (Daten-)Signale nicht direkt ansteuern, man braucht immer einen aktiven Chip. Wenn Du nur einen +5V Ausgang brauchst: Bei einigen USB Hubs kann man die Ausgangsspannung an den Ports ein- und ausschalten. Geht AFAIK aber nur unter Linux und auch nicht bei billigem Chinakrams.
Hm? schrieb: > Ich sehe da kein Problem. 5V sind bei USB frei Haus mitgeliefert. Die Datenkabel liefern doch 3V, da ich aber 5V Supply und 5V als Steuerinput brauche, reicht es eben nicht aus. Ist es nicht möglich mittels Pyvisa (oder ähnlichem) über den Datenausgang gesteuerte Signale zu bekommen?
ich verstehe das Problem auch noch nicht ganz. Was spricht gegen: USB-Port-PC => USB-TTL-Modul(5V TTL) => 5V-Versorgung/5V-Pegel bei TX/RX => Schmitt-Trigger/Sonstiges
Blanker schrieb: > Ist es nicht möglich mittels Pyvisa (oder ähnlichem) über den > Datenausgang gesteuerte Signale zu bekommen? Nein. Die USB Signale kann man nicht direkt steuern. Da kann man nur serielle Datenpakete drüber schicken, und auch das kann nur der Betriebssystemkern direkt. Wenn du über USB etwas steuern willst brauchst du immer einen IC der das USB Protokoll spricht. FTDI hat sowas, NI hat Geräte die das (und viel mehr) können, oder du baust das selbst mit einem Mikrocontroller (kompliziert) .
Dr. Sommer schrieb: > Wenn du über USB etwas steuern willst brauchst du immer einen IC der > das USB Protokoll spricht. Aber: Der Chip kann auch im HUB sein. (Wenn's nur um den Ausgang geht) HUBs die "Per Port Power Switching" nicht nur per Descriptor ankündigen, sondern sogar echt implementieren, sind aber rar. Geiz ist Geil, der Cent für die Schalttansistoren musste weg.. Vor langer Zeit gabs z.B. einen 5€-Hub bei Reichelt, der das konnte. Damit waren dann so USB-Gadgets ohne Eigenintelligenz (Kaffewärmer, Ventilatoren, LEDs usw.) direkt per Software schaltbar. Leider wurde der ohne Ankündigung oder Änderung der Bestellnummer durch ein schrottiges Nachfolgemodell ersetzt.
Dr. Sommer schrieb: > Nein. Die USB Signale kann man nicht direkt steuern. Da kann man nur > serielle Datenpakete drüber schicken, und auch das kann nur der > Betriebssystemkern direkt. Oh das ist gut zu wissen. Mit dem FTDI TTL-232R sollte es dann aber moeglich sein den ueber PYVisa anzusteuern? Andreas I. schrieb: > USB-Port-PC => USB-TTL-Modul(5V TTL) => 5V-Versorgung/5V-Pegel bei TX/RX > => Schmitt-Trigger/Sonstiges Das war meine Vorstellung wie es funktionieren soll. Ich habe aber einfach kein Modul gefunden das am Ende auch 5V Signale ausgibt (nicht nur am Supply). Wie oben bereits von rudolph geschrieben sollte das aber mit dem RT232R funtkionieren.
Blanker schrieb: > Oh das ist gut zu wissen. Mit dem FTDI TTL-232R sollte es dann aber > moeglich sein den ueber PYVisa anzusteuern? Das ist dann ein Serial Port. Den solltest du eher über ein API für Serial Ports ansteuern. Weiß Grad nicht wie so was bei Python heißt. Du würdest dann wahrscheinlich die Flusskontrolle Leitungen schalten (CTS und so) statt den eigentlichen RX/TX Leitungen. Die geben aber glaube ich nur 3.3V aus, aber dafür gibt's ja Pegelwandler. ich meine FTDI hat auch ICs die so was besser können (einzelne Leitugen schalten), das wäre schlauer als einen Serial Adapter zu zweckentfremden. Weiß aber grad nicht wie das heißt
Kann mir jemand eine Empfehlung fuer einen Konverter geben? Ich habe mir die Datasheets zu den verschiedenen Konvertern durchgelesen, finde mich da aber nicht so zu recht. Ich benoetige einfach eine 5V Spannungsversorgung, Ground, ~5V Output Signal (via PYVisa o.ä. steuerbar) und die TTL Signale vom Switch sollten auch ankommen. Wuerde der FTDI Chip TTL-232R-5V-PCB (http://de.rs-online.com/web/p/products/0429278/) funktionieren? Wenn ja, wie stelle ich hier ein das ich 5V Output Signale erhalte? Das ist mir nicht ganz ersichtlich.
Alternativ Vorschlag: Nimm einen Arduino (einen von den alten mit AVR). Der kann über den integrierten Serial Adapter mit dem PC kommunizieren und viele Pins schalten (mit 5V). Ggf. brauchst du dann den PC gar nicht mehr weil der evtl. schon die Logik durchführen kann die du brauchst... Warum brauchst du überhaupt die 5V? Alle bisher vorgeschlagenen Lösungen können keine Lasten außer einer LED schalten, und die meisten 5V kompatiblen Eingänge können auch 3,3V.
Blanker schrieb: > Wuerde der FTDI Chip TTL-232R-5V-PCB > (http://de.rs-online.com/web/p/products/0429278/) funktionieren? Wenn > ja, wie stelle ich hier ein das ich 5V Output Signale erhalte? Das ist > mir nicht ganz ersichtlich. Je nachdem welchen du kaufst haben die 5V oder nicht. Das Teil bringt aber nicht viel weil da die Flusskontroll-Leitungen nicht rausgeführt sind, und du da nur serielle Daten drüber schicken kannst, aber nicht einzelne Pins schalten.
> Kann mir jemand eine Empfehlung fuer einen Konverter geben? Der I/O Warrior wurde Dir bereits empfohlen. Wenn du etwas selber bauen willst, dann nimm meine Firmware auf einem Arduino Nano Modul: http://stefanfrings.de/serial_io/index.html
Danke erstmal fuer eure schnellen Antworten! Ich benoetige auf jeden Fall die Moeglichkeit die Ausgabe ueber Python zu steuern, ich erklaere auch gerne warum. Dr. Sommer schrieb: > Ggf. brauchst du dann den PC gar nicht > mehr weil der evtl. schon die Logik durchführen kann die du brauchst... > Warum brauchst du überhaupt die 5V? /Offtopic Der Switch dient als Blanking Einheit fuer einen Protonenbeschleuniger. D.h. wir lenken den Protonenstrahl mit eienr Kondensatorplatte ab, welche ueber den Switch geladen wird. Da wir mit dem Protonenstrahl Muster schreiben wollen, muss das Blanking System am Ende voll automatisch angesteuert werden. Wir wollen also unser Muster "eingeben", sodass die Probe automatisch bestrahlt wird. Das Verstellen der Probe funktioniert bereits automatisch und genauso soll auch das Blanking System funktionieren um Ueberbelichtung zu vermeiden. Daher benoetige ich eine Ausgabe um den Switch zu bestimmten Zeiten an- bzw. auszuschalten. Mir ist mittlerweile noch ein weiteres Problem eingefallen. Da die Blanking Einheit circa 6m vom Rechner entfernt steht wird ueber diese Distanz Spannung abfallen, weshalb 5V wahrscheinlich nicht als Ausgabe ausreichen. Besser waere also eine Ausgabe von 10V um den Schmitt Trigger noch zu aktivieren (schaltet ab ca. 3,4V). Ich gucke mir jetzt mal den I/O Warrior an...
Das Hauptproblem bei einem Teilchenbeschleuniger ist also die Erzeugung eines 5V-Signals? Uff. Ist die Ansteuerung vielleicht zeitkritisch? Weil über USB und Python wirst du vielleicht auf 100ms Genauigkeit kommen. Wenn du genaues Timing brauchst, geht das z.B. mit Arduino besser. Wenn es unbedingt Python sein muss, wäre vielleicht auch ein Raspberry-PI eine Möglichkeit. Da kannst du direkt aus Python heraus die GPIO-Pins ansteuern. Mit Pegelwandlern kommst du auf 5V oder 10V oder was auch immer du brauchst.
Wenn Du es lieber bequem hast und der Preis zweitrangig ist: Es gibt fertige USB/5V-TTL-"Adapterkabel" mit FT232 im Stecker. Davon kannst Du dann wahlweise die Handshake-Leitungen missbrauchen oder den FT232 im Bit-Bang-Modus betreiben. Gibt es unter anderem von FTDI selbst oder z.B. bei Reichelt als DELOCK 83116.
Dr. Sommer schrieb: > Das Hauptproblem bei einem Teilchenbeschleuniger ist also die Erzeugung > eines 5V-Signals? Uff. Naja nicht so ganz. Das ist halt mein Problem an dem ich sitze, momentan wird das ganze per Hand gesteuert... Zeitkritisch ist es nicht wirklich,es sollte schon um die 100ms liegen. Das Problem ist eher die Zeit bis es fertig sein soll. Daher habe ich auch nicht mehr wirklich die Zeit noch mit Rapsberry oder Arduino zu arbeiten. Wie genau meinst du eigentlich das: Dr. Sommer schrieb: > Je nachdem welchen du kaufst haben die 5V oder nicht. Das Teil bringt > aber nicht viel weil da die Flusskontroll-Leitungen nicht rausgeführt > sind, und du da nur serielle Daten drüber schicken kannst, aber nicht > einzelne Pins schalten. Heisst das es ist mir nicht moeglich mit dem TTL-232R-5V zu bestimmten Zeiten eine Spannung zu erzeugen?
Blanker schrieb: > Heisst das es ist mir nicht moeglich mit dem TTL-232R-5V zu bestimmten > Zeiten eine Spannung zu erzeugen? Mit einem Adapter, der nur RX/TX rausgeführt hat, kannst du nur serielle Datenpakete raussenden. Du kannst die Pegel nicht direkt setzen. "Hmmm" hat hier schon geschrieben mit welchen Adaptern es geht: Hmmm schrieb: > Davon kannst Du dann wahlweise die Handshake-Leitungen missbrauchen oder > den FT232 im Bit-Bang-Modus betreiben. > > Gibt es unter anderem von FTDI selbst oder z.B. bei Reichelt als DELOCK > 83116. Das ganze ist natürlich eine ziemliche Frickellösung. Für ordentlich wäre sowas wie der IOWarrior wesentlich besser. Blanker schrieb: > Daher habe ich > auch nicht mehr wirklich die Zeit noch mit Rapsberry oder Arduino zu > arbeiten. Wie kompliziert ist denn das Signal was generiert werden soll? Wenn das simpel ist kann man da ja ggf. helfen das fix fertig zu machen...
Das Signal das generiert werden soll haengt von der Probe ab. Wenn wir zum Beispiel drei Striche bestrahlen wollen muss das Signal dann schalten, wenn die Probe weiterbewegt wird um Belichtung zwischen den Strichen zu vermeiden. Das ist dann auch nicht mehr meine Aufgabe. Ich muss es nur hinbekommen, dass der Switch vom PC aus angesteuert werden kann.
Blanker schrieb: > Wenn wir > zum Beispiel drei Striche bestrahlen wollen muss das Signal dann > schalten, wenn die Probe weiterbewegt wird um Belichtung zwischen den > Strichen zu vermeiden. Achso, also in Abhängigkeit mit einer weiteren bereits implementierten Steuerung für die Bewegung? Warum kannst du dann nicht das Blanking genau so steuern wie bereits die Bewegung gesteuert wird?
Dr. Sommer schrieb: > Achso, also in Abhängigkeit mit einer weiteren bereits implementierten > Steuerung für die Bewegung? > Warum kannst du dann nicht das Blanking genau so steuern wie bereits die > Bewegung gesteuert wird? Genau. Das ist eine gute Frage, auf die Idee bin ich bisher nicht gekommen. Ich werde es mir einmal anschauen, denke aber das es noch wesentlich komplizierter wird.
Blanker schrieb: > Genau. Das ist eine gute Frage, auf die Idee bin ich bisher nicht > gekommen. Ich werde es mir einmal anschauen, denke aber das es noch > wesentlich komplizierter wird. Wäre irgendwie etwas komisch, wenn jeder Aktor über sein eigenes Interface vom PC gesteuert wird... Es gibt hunderte Produkte die die Entwicklung solch einer Steuerung vereinfachen, wie SPS, NI RIO boards, NI Interface Boards, und eben Arduinos & Co...
> Ich benoetige auf jeden Fall die Moeglichkeit die Ausgabe ueber Python > zu steuern Meine I/O Firmware erfüllt diese Anforderung. Python kann wie fast jede andere Programmiersprache (virtuelle) serielle Ports ansteuern.
> Daher habe ich > auch nicht mehr wirklich die Zeit noch mit Rapsberry oder Arduino zu > arbeiten. In diesem Fall schlage ich vor, daß du irgendein fertiges I/O Modul kaufst. Diese werden für die Industrie ihn alle erdenklichen Varianten zum kauf angeboten.
Also die Kopplung mit der Probe wird nicht funktionieren, zum einen ist dort kein Pin mehr frei und zum anderen soll das Blanking auch unabhaengig davon funktionieren. Ich werde mir daher wohl, wie Hmmm schrieb: Hmmm schrieb: > Wenn Du es lieber bequem hast und der Preis zweitrangig ist: Es gibt > fertige USB/5V-TTL-"Adapterkabel" mit FT232 im Stecker. > > Davon kannst Du dann wahlweise die Handshake-Leitungen missbrauchen oder > den FT232 im Bit-Bang-Modus betreiben. > > Gibt es unter anderem von FTDI selbst oder z.B. bei Reichelt als DELOCK > 83116. einen FT232 bestellen. Dann werde ich das Signal verstaerken und hoffen dass das klappt. Ich werde dann erstmal ein 2Hz Signal versuchen zu generieren um die Funktionalitaet zu ueberpruefen.
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.