Sammelbestellung USBTMC Adapter. Interesse?

#7832630
Lesenswert?

@Kai

  • Mein Multimeter (Keithley 2700) bleibt beim Start hängen, wenn der Adapter schon dran ist. Dessen Polling o.Ä. scheint zu stören?

Ich kann die Beobachtung von Jörg H. (idc-dragon) bestätigen. Das passiert immer, wenn das USB Kabel am Rechner schon angesteckt ist beim Einschalten 2700.

Probier autoid mal auf slow oder off zu stellen, das sollte helfen. Wenn du windows hast, gibt es ne GUI dazu im SW folder.

#7832735
Lesenswert?

Übrigens hielt ich dieses autoid feature mal für ganz toll, danit man einen visa ressource string mit dem echten instrumentennamen hat... Da aber viele alte Geräte kein *IDN? Unterstützen stört es oft.

Daher würd ich jedem erstmal blind empfehlen es abzuschalten, d.h. autoid auf off zu setzen.

Die Read terminierung muss man in der Praxis selten auf was anderes als EOI stellen. Bei HP Geräten die kein EOI nutzen kann man es meist einschalten durch senden von END ALWAYS\r\n

#7832791
Lesenswert?

Achja, das geht auch mit visa kommandos. Die GUI macht nix anderes.

Aber es NUR über speziel codierte visa ASCII Nachrichten zu machen war mir zu heikel, darum muss man erstmal nen pulse indicator Kommando schicken. Das ist eigentlich im USBTMC standard dafür gedacht eine LED blinken zu lassen um ein Gerät identifizieren zu können.

Nur für den Fall, dass jemand kein Windows nutzt:

In dem readme.md steht drin wie man das mit Visa Kommandos triggern kann auf Basis von Python code.

Es gibt auch ne Linux GUI, die python basiert ist im SW Ordner.

Und der windows GUI Sourcecode zeigt wie man das mit visa32.dll Kommandos machen kann.

#7834953
Lesenswert?

so, ich hab noch einen AVRISP mkII hier und konnte den bootloader flashen. Dann ging ein Laufwerk auf und ich hab das testandmeasurement.bin über das flash.bin kopiert.

Nach einem Neustart blinkt jetzt eine LED dauerhaft. Ist das jetzt so richtig ? Ich hab noch kein Messgerät dran. Bei 3 Sekunden auf den Taster passiert garnix. Da kommt kein Laufwerk mehr hoch.. oder geht das auch nur noch wenn es am Messgerät angeschlossen ist ?

Grüße Marc

Persönliche Seite #7834971
Lesenswert?

Marc G. schrieb:

Nach einem Neustart blinkt jetzt eine LED dauerhaft. Ist das jetzt so richtig ? Ich hab noch kein Messgerät dran. Bei 3 Sekunden auf den Taster passiert garnix.

Bei mir hat es nach Anschluss an ein Messgerät auf Anhieb funktioniert. Das Fummeligste war, die Programmierpins alle gleichzeitig zu kontaktieren.

Danke übrigens sowohl an den Erfinder des Adapters (Kai G. "xyphro") als auch an den Hersteller (Hans W.)!

#7836380
Lesenswert?

Das ist natürlich elegant :-)

Ich hatte mir für die 50 stück die ich mal gebaut hab aus USB B Buchsenkontakten, Sekundenkleber und alten Platinen schnell nen Adapter zurechtgedengelt. Für nen Einzelstück lohnt sich der 30 minütige extra Bastelaufwand nicht.

Es war halt nicht mehr viel Platz übrig und der 45 grad Eckkontakt mit ISP pinout kam dem standard Wannenstecker am nächsten :-)

Moderator Persönliche Seite #7836456
Lesenswert?

Kai G. schrieb:

Es war halt nicht mehr viel Platz übrig und der 45 grad Eckkontakt mit ISP pinout kam dem standard Wannenstecker am nächsten :-)

Ist ja auch 'ne nette Idee.

Ich hatte sowas ähnliches mal in der Vergangenheit gemacht (für einen Workshop bei den Chemnitzer Linuxtagen), allerdings dann einen Adapter mit einer Pfostenleiste mit 2 mm Raster gebaut. Die passt ziemlich saugend auf eine Platine mit 1,5 mm Stärke.

Moderator Persönliche Seite #7836510
Lesenswert?

Jörg W. schrieb:

Ich hatte sowas ähnliches mal in der Vergangenheit gemacht (für einen Workshop bei den Chemnitzer Linuxtagen), allerdings dann einen Adapter mit einer Pfostenleiste mit 2 mm Raster gebaut. Die passt ziemlich saugend auf eine Platine mit 1,5 mm Stärke.

Der alte Adapter funktioniert natürlich auch noch :), allerdings habe ich damals offenbar die Pins versehentlich gespiegelt (1 <-> 2 etc.), daher ging es nur mit dem "squid cable".

Allerdings bekomme ich beim Versuch, das bin-File in den Bootloader zu kopieren, immer ein "No space left on device" und einen abgebrochenen letzten Block. Am Ende habe ich einfach auch das binary noch mit AVRDUDE drauf geschrieben (und -D, damit der Bootloader nicht gelöscht wird). Jetzt blinkt zumindest ordnungsgemäß die LED.

Angehängte Dateien:
#7836511
Lesenswert?

Ich hatte sowas ähnliches mal in der Vergangenheit gemacht (für einen Workshop bei den Chemnitzer Linuxtagen), allerdings dann einen Adapter mit einer Pfostenleiste mit 2 mm Raster gebaut. Die passt ziemlich saugend auf eine Platine mit 1,5 mm Stärke.

Das muss ich mir merken, so nen Adapter könnte ja direkt zum Abbrechen an der Platine dranhängen und lässt sich zur Not mehrfach nutzen.

In der 1. Hw revision waren die programmierleitungen zu einem echten 2x3 pinheader geroutet, den man abbrechen konnte. Fand ich dann aber doof, weil man danach nie wieder ohne Fädelaktion an die spi leitungen drankommt.

#7836513
Lesenswert?

Unter linux schiebt man die bin Datei am besten mit DD drauf, der bootloader hat da nen Problem - unter windos klappts mit copy. In der readme im ordner zur rev2 steht was dazu drin.

Mit avdrdude direkt mitprogrammieren ist natürlich noch eleganter.

Moderator Persönliche Seite #7836519
Lesenswert?

Kai G. schrieb:

Unter linux schiebt man die bin Datei am besten mit DD drauf,

Hab ich gemacht, wie geschrieben, unter FreeBSD bricht der ab mit:

1
# dd if=/tmp/TestAndMeasurement.bin of=/mnt/TestAndMeasurement.bin bs=512 
2
dd: /mnt/TestAndMeasurement.bin: No space left on device
3
21+0 records in
4
20+0 records out
5
10240 bytes transferred in 0.001884 secs (5434938 bytes/sec)

Irgendwas ist in diesem Bootloader seltsam (irgendwelche weiteren Optionen zu dd haben daran auch nichts geändert).

#7836745
Lesenswert?

Christian M. schrieb:

Ich habe das so gemacht wie im README.md beschrieben:

Klappte mit mir auch so nachdem ich den Inhalt von git korrekt runtergeladen hatte (siehe oben). Ich hatte auch die beiden Teile in einem File bekommen von Kai (ein perfekter Service). Aber ich war dann neugierig, sollte ja auch laut readme funktionieren.

Die dd Variante unter Linux hab ich auch probiert, funktionierte auch mit den Angaben im readme.

#7836942
Lesenswert?

Vielleicht kann mir jemand helfen: Ich habe den Adapter an mein Schlumberger/Solartron 7150 angeschlossen.

https://www.holzleitner.com/el/solartron-7150/index-de.html http://bee.mif.pg.gda.pl/ciasteczkowypotwor/Solartron/Solartron_7150_Digital_Multimeter_User_Manual.pdf ab Seite 36.

Mit dem RsVisaTester und auch mit den Scripts von Hannes Beitrag "Re: Sammelbestellung USBTMC Adapter. Interesse?" kann ich auf das Messgerät senden, es reagiert (wechselt z.B. den Modus) aber ich empfange nichts! Mache ich was falsch oder ist das Messgerät kaputt?

Gruss Chregu

Angehängte Dateien:
#7837004
Lesenswert?

Christian M. schrieb:

Vielleicht kann mir jemand helfen: Ich habe den Adapter an mein Schlumberger/Solartron 7150 angeschlossen.

Ich glaub erstmal nicht, dass da was kaputt ist. Bei jedem neuen Messgerät was man ansteuert muss man erstmal etwas "fummeln" bis man die Einstellungen passend hat.

Das Gerät steht standardmaessig auf U0, das heisst terminiert seine generierten Antworten mit CR + LF, also ohne das EOI Signal zu erzeugen beim letzten Datenwert.

Jetzt kann man entweder den GPIB Adapter auf LF Readterminierung umstellen (z.B. mit der GUI), aber einfacher wäre es hier das Messgerät einfach auf EOI Terminierung umzustellen - das haben die vorgesehen.

Mach mal folgendes: Schreibe "U3" (Das schaltet EOI Generierung ein bei Antworten - siehe Seite 44) Und probier dann nochmal ein query mit M? aus.

Viele Gruesse,

Kai Achja: Erstmal mit dem R&S Tester zu arbeiten ist immer eine gute Idee am Anfang, dann weiss man schnell was geht und was nicht.

#7837064
Lesenswert?

Ich geh erstmal von windows aus.

Lad dir die usbgpibui.ex hier runter: https://github.com/xyphro/UsbGpib/tree/master/SW%2FUsbGpibGUI

Die Nutzung sollte denk ich selbsterklärend sein.

Probier mal LF Terminierung aus.

U3 sollte es eigebtlich auch tun, solange die Kommandos zur fw version deines Gerätes passen. Evtl. Braucht der Parser vom Messgeeät beim schreiben auch ein U3\r\n

#7837293
Lesenswert?

Ja gibt es. War damals nicht auf meinem Radar. Mittlerweile halt ich den ch307 für am geeignetsten.

Edit: Der AVR ist denk ich auch immer noch ne nette Wahl. Gut verfügbar und gute integration. Die Applikation ist sehr klein (kein ldo, leveltranslator), trotzdem im Rahmen der Möglichkeiten hochperformant. Mit etwas mehr ram würd man das lesen auch nochmal deutlich beschleunigen können.

#7837298
Lesenswert?

Ganz alleine würd ich es im Moment nicht mehr stemmen wollen nur um dann den besten, schnellsten, billigsten Adapter gemacht zu haben wo mir der alte doch reicht - mir fehlt die Zeit :-) und wenn man pech hat darf man wenns fertig ist irgendwann plötzlich keine chinesischen MCUs mehr kaufen.

Moderator Persönliche Seite #7837307
Lesenswert?

Kai G. schrieb:

Der AVR ist denk ich auch immer noch ne nette Wahl. Gut verfügbar und gute integration.

Ja, ich finde die insgesamt auch nicht so schlecht.

Aber ich fand daher dazumals eben auch ATSAMC interessant, weil sich (zu der Zeit noch Atmel) wenigstens mal ein Hersteller um Cortex-M mit 5-V-Fähigkeit bemüht hat. Ist ja auch an anderen Stellen interessant, kann man beispielsweise ohne zusätzliche Mittel direkt an eine LiPo-Zelle klemmen.

Mittlerweile halt ich den ch307 für am geeignetsten.

Ist das der gleiche Hersteller wie CH340? Dessen Dokumentation begeistert mich überhaupt nicht (und ich habe einen chinesischen Studenten mal schauen lassen, die chinesische Doku ist nicht besser als die englische).

#7837402
Lesenswert?

Kai G. schrieb:

Wenn du python nutzt kannst du \r\n als write termination einstellen, dann musst du es nicht bei jedem kommando von Hand einbauen.

Scheint (bei mir) default zu sein, denn es geht ohne und wenn ich sie eingebe, kommt eine Warnung dass sie sowieso gesendet werden!

Sonst geht jetzt auch folgender Python-Script:

1
import pyvisa as visa
2
rm = visa.ResourceManager()
3

4
print(rm.list_resources())
5

6
psu=rm.open_resource('USB0::0x03EB::0x2065::GPIB_01_1443531313035130F0C0::INSTR')
7

8
psu.write('U3', encoding='ascii') # \r\n wird sowieso geschickt!
9
psu.query('M0') # Vdc
10
print(psu.query('G'))
11

12
inst_error=''
13
while inst_error.strip() != 'ERROR 00':
14
    inst_error=psu.query('!')
15
    print(inst_error)
16
    
17
psu.close()
18
rm.close()

Gruss Chregu

#7837418
Lesenswert?

Kai G. schrieb:

Edit: Der AVR ist denk ich auch immer noch ne nette Wahl. Gut verfügbar und gute integration

Jörg W. schrieb:

Ja, ich finde die insgesamt auch nicht so schlecht

und wer günstige Gehäuse braucht bedient sich hier: https://www.ebay.de/str/aholstore https://youtu.be/IHaDNVAOMYc?list=TLPQMjgwMjIwMjVmjn06mZZFAw&t=1117

die Originalen IEEE Bustranceiver gibt es zumindest neu als SMD SN75160B SN75161B https://www.ti.com/product/de-de/SN75161B

aber es gibt ja Adapterplatinen auf DIL

Moderator Persönliche Seite #7838263
Lesenswert?

Habe meinen Adapter nun auch endlich mal in Betrieb genommen. Funktioniert auch noch problemlos an ein paar Metern Kabel (die ich gerade eh am Bus dran hatte).

Das NiceGUI habe ich dann auch zum Laufen bekommen. usbtmc brauchte unter FreeBSD noch einen kleinen Patch (es gibt kein "detach kernel driver", da die gesamte Architektur der USB-Treiber ganz anders ist als bei Linux).

Moderator Persönliche Seite #7838275
Lesenswert?

Joachim B. schrieb:

Jörg W. schrieb:

Funktioniert auch noch problemlos an ein paar Metern Kabel

ähm welche USB oder GPIB?

Ich meinte vor allem jetzt GPIB. Da das Teil ja keinen Bustreiber enthält, war das nicht unbedingt garantiert. (Aber Joachim, soweit ich mich entsinne, hast du keinen TMC-Adapter sondern den AR488. Damit ist das für dich eh nicht relevant, den der AR488 von Hans hat Bustreiber.)

#7838303
Lesenswert?

Ich meinte vor allem jetzt GPIB. Da das Teil ja keinen Bustreiber enthält, war das nicht unbedingt garantiert.

So hatte ich das auch verstanden. Das lange USB Kabel gehen, sollte wohl normal sein. Ich hab hier auch so 3-4m USB-Kabel. Bei den GPIP-Kabeln ist das vermutlich schon etwas ausserhalb des Entwicklungsscope gewesen.

Interessant ist dann noch die Frage ob es immer und ueberrall mit jedem USB-Hub geht! Ich hab es bei mir problemlos mit einem 5x hub, aber aktive(!) laufen.

Vanye

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren