Hallo an alle, ich habe hier zu Hause ein älteres Messgerät von Philips. Ein PM2528. Dabei handelt es sich um ein digital Multimeter mit 5,5 Stellen Auflösung. Das Gerät lässt sich laut Anleitung über den GPIB Bus ansteuern. Nun möchte ich es um eine Scannerkarte erweitern um damit Batteriepacks vermessen zu können. Ich habe den Schaltplan als PDF angehängt. Das Umschalten der Kanäle funktioniert tadellos. Der Aufbau ist auf Lochraster in einem Etuigehäuse. Der Controller soll vom PC über serielle Schnittstelle gesteuert werden (das funktioniert auch schon). Die Messergebnisse werden vom Controller am GPIB Bus eingelesen und über die RS-232 (Bridge) an den PC versendet. Den GPIB Bus habe ich mit den bekannten Schnittstellenbausteinen 75160 und 75161 realisiert. Diesen Schaltungsteil nehme ich gerade in Betrieb. Eine Übersicht über die Funktionscodes habe ich auch angehängt. Hier kann man sehen, wie eine Botschaft aussieht, wenn das Messgerät als Talker arbeitet und seine Daten versendet. Leider kann ich nicht erkennen wie ich den String zusammenbauen muss, um ein Kommando vom PC an das Messgerät zu schicken. Ich möchte gerne die Messungen Triggern per Botschaft. Bei der Adressierung muss die Adresse auch noch an das Gerät geschickt werden. Kann mir jemand weiter helfen wo ich die Informationen finde, wie ich die Strings aufbauen muss? Hat das schon jemand erfolgreich gemacht? In der Anleitung wird auf ein Dokument verwiesen IEC625-2. Das ist der Standard, der im Gerät implementiert ist. Aber auch dieses Dokument kann ich leider nirgends finden. Danke an alle! Grüße, Jens
Das Übertragungsprotokoll des IEEE488 Bus ist leider nicht so einfach. Ich empfehle dir das Buch IEC-Bus von Anton Piotrowski https://www.amazon.de/IEC-Bus-Anton-Piotrowski/dp/3772369537 zu kaufen und durchzulesen. Da steht ausführlich erklärt wie sowohl die Hardware als auch die Software grundlegend aufgebaut ist. Sowohl das Handshake als auch das ganze Handling nebst Befehle sind erklärt. Ralph Berres
Hallo, danke schonmal für die Info. Das Buch ist bei Amazon aber recht teuer. Ist es wirklich nötig dieses Buch zu kaufen? Ich bin skeptisch ob ich die Information finde, die ich brauche. Ich will ja kein voll kompatibles Interface bauen, sondern nur ganz konkret diese Messgerät ansteuern. Wie der Bus funktioniert habe ich schon verstanden. Mir geht es um den Text-String für das Messgerät. Das steht in der Anleitung leider nicht genauer drin. Hat jemand einen Auszug aus der IEC625-2 für mich? Die kann ich nirgends finden. Gruß
Jens schrieb: > Wie der Bus funktioniert habe ich schon verstanden. Dann weisst Du wie man Geräte anspricht und was EOI oder CR/LF ist? > Mir geht es um den Text-String für das Messgerät. Das steht in der > Anleitung leider nicht genauer drin. Das steht doch auf dem von Dir angehängten Bild. "F00" schaltet auf Spannungsmessung, "R6" auf den 20 V-Bereich und "D0" sagt dem Gerät, es möge Werte schicken sobald welche vorhanden sind. Hier sind nochmal alle Befehle aufgeführt: http://electrickery.hosting.philpem.me.uk/comp/divcomp/doc/PM2528.pdf > Hat jemand einen Auszug aus der > IEC625-2 für mich? Die kann ich nirgends finden. Die IEC625-2 entspricht bis auf den Stecker der IEEE488.1. Die wesentlichen Punkte sind z.B. hier erklärt: http://bitsavers.org/pdf/hp/hpib/TutorialDescrOfHPIB.pdf
Jens schrieb: > Wie der Bus funktioniert habe ich schon verstanden. Du weist also den Unterschied zwischen Gerätebefehle und Mehrdrahtbefehle? Das ist nämlich wesentlich. Idealerweise hast du eine Programmierumgebung, welche eine IECbus Library bereits beinhaltet. Unter HP-Basic wäre das z.B. für ein Rohde&Schwarz URE NF-Voltmeter 1 CLEAR 710 10 DIM Daten$[100] 20 REAL Daten 30 ASSIGN @Ure TO 710 !7 ist die Adresse der IECbuskarte ! 10 die Adresse des Gerätes 31 OUTPUT @Ure;"U0" !V0= DBm V1= Volt 33 OUTPUT @Ure;"F2" !F1= Fast 3,5 stellen F0= Slow 4,5 Stellen 34 OUTPUT @Ure;"N0" !X1= Messwertausgabe eingeschwungen nach 2 Werte X0= sofort 35 OUTPUT @Ure;"V0" 40 OUTPUT @Ure;"X1" !PO= nur Messwert P1= Messwert+Gerätestatus8 50 ENTER @Ure;Daten$ 60 REM PRINT USING "DDD.DDDDDD";Daten 70 PRINT Daten$ 80 GOTO 34 90 END Unter C sieht das vermutlich ähnlich aus. Ralph Berres
Hallo, den Unterschied kenne ich. Danke für das Beispiel. Das ist genau das was ich für mein Messgerät bräuchte. Das habe ich aber leider nicht und ich denke ich komme da auch nicht mehr ran, da das Messgerät schon so alt ist. Eine fertige C-Bibliothek kann ich leider nicht verwenden, da ich die Steuerung nicht direkt vom PC aus mache, sondern der eingebaute Mikrocontroller in den Box übernimmt die Steuerung des PM2528. Den programmiere ich selbst. Welche Messung und so weiter ausgeführt werden soll schicke ich per RS232 an den µC. Das Buch, das du mir empfohlen hast, habe ich zufällig bei eBay günstig gefunden. Dann habe ich das natürlich gekauft. Da kann ich mich nochmal gründlicher einlesen. Ich schau mal, ob ich mit den Beispielen, die du gegeben hast, weiter komme. Vielen Dank nochmal dafür. @Soul eye: Danke auch für die Links. Da werde ich mich auch noch einarbeiten. Ich hoffe das reicht, dass ich das Ziel erreiche. Für weitere Tipps bin ich natürlich offen. Ich werde weiter berichten. Grüße
Jens schrieb: > Danke für das Beispiel. Das ist genau das was ich für mein Messgerät > bräuchte. Das habe ich aber leider nicht und ich denke ich komme da auch > nicht mehr ran, da das Messgerät schon so alt ist. Nochmal, der komplette Befehlssatz steht in diesem Dokument: http://electrickery.hosting.philpem.me.uk/comp/divcomp/doc/PM2528.pdf > Das Buch, das du mir empfohlen hast, habe ich zufällig bei eBay günstig > gefunden. Dann habe ich das natürlich gekauft. Da kann ich mich nochmal > gründlicher einlesen. Ein Buch erklärt Dir den GPIB selber, nützt aber für Dein spezielles Multimeter nichts. Ralf muss "U1" senden um Volt zu messen, Du "F00" und ich "MEAS:VOLT:DC".
Ich würde vermuten, das Buch hilft dir beim konkreten Problem nicht weiter. Meiner Meinung nach sind keine allgemeinen Befehle zur Ansteuerung von Multimetern für den GPIB genormt. Diese sind immer Geräte spezifisch. Die Normung mit SCPI kam erst viel später. Vielleicht kannst du Manuals ähnlicher Philips Multimeter finden und deren Befehle ausprobieren. Gruß Illi
Ja das dachte ich mir schon. Das ist auch genau mein Problem. Gut die Bücher schaden sicher auch nicht, da ich die unterste Schicht ja auch auf meinem Controller brauche. Mein Oszi, dass ich von Philips vor kurzem verkauft hatte, hatte auch die IEC Schnittstelle drin. Die Unterlagen habe ich leider mit verkauft. Aber ich denke selbst bei Philips intern sind da noch einige Unterschiede mehr. Ich werde versuchen die Kommandos aus der Übersicht zu senden und werde sehen wie sich das Messgerät verhält. Vielleicht habe ich ja Glück und es ist einfacher als ich mir das im Moment noch vorstelle. Ich berichte, wenn ich das versucht habe. Wird wahrscheinlich Wochenende werden bis ich wieder dazu komme. Nachmal danke an alle! Grüße, Jens
Illi schrieb: > Ich würde vermuten, das Buch hilft dir beim konkreten Problem nicht > weiter. Meiner Meinung nach sind keine allgemeinen Befehle zur > Ansteuerung von Multimetern für den GPIB genormt. Diese sind immer > Geräte spezifisch. Die Normung mit SCPI kam erst viel später. so wie ich ihn verstanden habe erstellt er kein Programm aus einer Umgebung mit implementierter IEC-Bus Lbrary, sondern er will die Library selbst erstellen. Mal abgesehen das sowas ein recht sportliches Unterfangen ist, nützen ihm in diesem Fall die Gerätespezifischen Befehle des Multimeters garnichts, weil er keinen IECbus zu sehen bekommt. Um einen IECbus erst mal in einer Programmierumgebeung zu implementieren ist das Buch schon eine extrem gute Hilfe. Er muss nämlich bis in die Grundlagen hinuter gehen. Dazu ist es sogar hilfreich wenn die einzelene Mehrdrahtbefehle bis ins Byte runter bekannt sind, wie Geräte und Mehrdrahtnachrichten versendet werden, und wie die Mehrdrahtbefehle alle heißen. Wenn man ganz am Anfang ist hilft sogar oft ein Logikanalyzer, welche die 16 Leitungen des IEC-Busses aufzeichnet. Aber Achtung. Der Speicher des Logikanalyzers muss schon sehr groß sein. 1Kbyte reicht hier nicht.Die Abstände zwischen den ersten Bytes bis zur EOI sind deutlich größer und hängt auch von der Reaktionszeit des Multimeters ab. Jens schrieb: > ch werde versuchen die Kommandos aus der Übersicht zu senden und werde > sehen wie sich das Messgerät verhält. Du musst das Gerät zunächst mal adressieren. Das ist bereits ein Mehrdrahtbefehl bei dem ATN und EOI entsprechend gesetzt sein muss. Erst dann kannst du den Gerätebefehl senden. Das passiert bereits auf der untersten Ebene. So lange du die IECbuskarte nicht adressieren kannst und nicht siehst, kannst du Strings senden soviel du willst, sie kommen nicht an, bzw dein Multimeter fühlt sich nicht angesprochen. Deswegen gibt es für verschiedene Programmierumgebungen Librarys welche bei den IEC-Bus karten hoffentlich dabei sind, und die sich hoffentlich in die Programmierumgebung einbinden lassen. Noch ein Tip Wenn du wirklich das ganze handshake mit programmiern willst, dann setze in deiner Hardware einen fertigen IEC-Bus Controller wie z.B. den Nec UPD7210 ein. Bei National Instruments gibt es Nachfolgechips die diesen NEC7210 nachbilden zu kaufen. Aber ich würde mich nach gebrauchten Nec7210 umsehen. Je nach dem welche Ausgabe dein Buch IEC-Bus ist ist dieses Ic darin recht gut beschrieben. Das IC übernimmt das komplette Handshake und einen Teil der Mehrdrahtbefehle. Ralph Berres
:
Bearbeitet durch User
Hallo Ralph, ja genau so ist es. Ich implementiere den Bus selbst auf dem AVR. Das ist nichts für Einsteiger. Das ist mir klar. Ich habe auch schon zwei Implementierungen gefunden bei denen ich ein bisschen Know-How abgreifen will. Aber ich habe den Vorteil, dass ich nicht voll kompatibel sein muss zum IEEE488. Zum Beispiel mache ich nichts in Richtung mehrere Controller und auf ATN muss ich auch nicht in 200ns reagieren, da ich selbst der Controller bin. Dann sollte es schon gehen. Einen fertigen Chip kann ich leider nicht mehr einsetzen. Da ist der Aufbau schon fertig. Da müsste ich zu viel umbauen. Ich halte mich hier an die anderen beiden Projekte. Ich verwende aber richtige IEC-Bustreiber ICs. 75160 und 75161. Ich werde zunächst versuchen die unterste Schicht auf die Leitungen zu bekommen. Dann sollte es schon möglich sein, dass Messgerät zurück zu setzen (*RST). Ich berichte weiter... Grüße, Jens
ich habe ähnliches vor, ich kaufe keine fertigen IEEE Karten mehr, aber das hier finde ich interessant und einen Versuch wert: http://www.kingswood-consulting.co.uk/gpib/ will ich mal nachbauen
@ Ralph, die Bücher sind heute gekommen. Die sind hilfreicher als ich gedacht habe. Danke für den Tipp! Es geht nichts über Grundlagen. Da muss man sich erst fit machen bevor man weiter macht. Ich werde am Wochenende versuchen die unterste Schicht des Busses zu implementieren. Wird alles noch ein bisschen dauern. Ich berichte... Schönes Wochenende an alle!
Jens schrieb: > Es geht nichts über Grundlagen. Da muss man sich erst fit machen bevor > man weiter macht. Was du da vor hast ist sehr ambitioniert. Ich wünsche dir aber trotzdem viel Erfolg. Trotz der vielen Rückschläge die du erleiden werden must. Ralph Berres
Hallo Ralph, ich bin am Testen. Und natürlich geht noch nichts. Vielleicht kannst du mir hier weiter helfen. Ich habe für den Bus die ICs SN75160 und SN75161 eingesetzt. Einen für die Daten und einen für die Control Leitungen. An den ICs sind noch die Anschlüsse PE, TE und DC. Diese müssen unterschiedlich gesetzt werden, je nachdem welche Aufgabe gerade ansteht. Also Talker, Listener oder Controller. Die Angaben aus dem Datenblatt finde ich ein bisschen verwirrend. Kannst du mir sagen wann ich welche Leitung high oder low ziehen muss von diesen drei? Ich habe raus gelesen, dass PE immer high sein kann. Wenn ich zum Talker werde, dann wird TE = high. Und als Controller wird DC = low. Es scheint aber so zu sein, dass TE und DC sich gegenseitig beeinflussen. Ich bin da recht verwirrt. Kannst du mir da einen Tipp geben? Ein zweites Problem: Ich bin mir nicht sicher, wie ich mit dem debuggen des Busses anfangen soll. Einen Logic Analyser habe ich. Wo würdest du anfangen? Grüße, Jens
http://www.pci-card.com/versuch11.pdf sehr gut war das im PET2001 Handbuch erklärt, würde ich mir holen wenn ich es irgendwo finde So konnte ich das nachbauen vom PC1500 zum apple2 https://www.mikrocontroller.net/articles/GPIB-RS232-Schnittstelle https://books.google.de/books?id=7RTMBgAAQBAJ&pg=PA258&lpg=PA258&dq=ieee+488+Bus+Pegel+Kommunikation&source=bl&ots=9RB6RM1Wkq&sig=nTV9YsnlaoQTkd4DOVhSlHBA1VU&hl=de&sa=X&ved=0ahUKEwiy-YaI49vRAhXrCJoKHaDrDCcQ6AEISzAI#v=onepage&q=ieee%20488%20Bus%20Pegel%20Kommunikation&f=false http://www.commodore.ca/commodore-manuals/commodore-pet-computer-communication-with-the-outside-world/ http://www.commodore.ca/commodore-manuals/ hier siehts gut aus http://www.1000bit.it/support/manuali/commodore/pet/PET_and_the_IEEE488_Bus.pdf
:
Bearbeitet durch User
Jens schrieb: > Kannst du mir sagen wann ich welche Leitung high oder low ziehen muss > von diesen drei? Auswendig weis ich das jetzt auch nicht. Das ist zu lange her wo ich mal einen IECbus Schnittstelle ganz ohne Mikrokontroller gebastelt habe. Hast du das Buch https://www.amazon.de/IEC-Bus-Anton-Piotrowski In den neueren Ausgaben ist der Nec7210 beschrieben. Ansonsten sich an den Intel 8291 8292 und 8293 orientieren der ist auch in dem Buch beschrieben. Dort kann man nachlesen wann welche Leitung gesetzt werden muss. Das Buch solltest du dir zwingend als Informationshilfe besorgen. Da steht sehr viel detailiert an Informationen drin was du benötigst. Der 8291 und 8292 wurde auch in Verbindung mit dem Bustreiber 75160/161 statt dem 8293 betrieben. Aber besser durchblickbar ist der Nec7210 ( eventuell Datenblatt runterladen ). https://www.google.de/search?q=intel+8291&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=KEGIWMPKBcbEaOKeksAL#q=intel+8292+datasheet https://www.google.de/search?q=nec7210&ie=utf-8&oe=utf-8&client=firefox-b-ab&gfe_rd=cr&ei=wkSIWPSAC8TBaKOEpoAE#q=nec+7210 http://www.datasheetcatalog.com/datasheets_pdf/U/P/D/7/UPD7210.shtml Jens schrieb: > Ich bin mir nicht sicher, wie ich mit dem debuggen des Busses anfangen > soll. Einen Logic Analyser habe ich. Wo würdest du anfangen? Ich würde alle 16 Leitungen an den logiganalyzer anschließen und auf DAV triggern. Dann sieht man alle Aktivitäten auf dem Bus. Aber du brauchst einen sehr tiefen Speicher weil der DAV nur 200nS lang sein kann aber zwischen ersten und letzten Ereignis unter Umständen eine Sekunde liegen kann (bis das letzte Byte übertragen wurde und das Gerät deadressiert wurde ). Selbst zwischen erstmalige Adressierung und der ersten Antwort kann eine Zeit dauern. Hilfreich ist wenn der Logikanalyzer nicht zeitlich linear aufzeichnen muss, sondern nur dann aufzeichnet, wenn sich irgendwo einByte ändert und intern ein Zeitstempel benutzt. Das spart jede Menge Speicher , welche sonst größtenteils mit unnützen immer gleichen Informationen vollgeschrieben wird. Ralph Berres
Hallo, also ich bin einen Schritt weiter. Ich habe nun die Schnittstellen ICs raus geschmissen. Ohne die funktioniert das. Mit ihnen nicht so richtig. Liegt wahrscheinlich an den Steuersignalen, die die Datenflussrichtung vorgeben. Da habe ich auch keine weiteren Infos gefunden. Das Buch, von dem gesprochen wurde, habe ich, aber in meiner Ausgabe gehen die weder auf den NEC noch auf die SN75160 weiter ein. Das Empfangen von Werten funktioniert soweit. Die Signale habe ich mir mit dem Logic Analyzer angesehen und das passt soweit. Die Handshakeleitungen werden gesetzt wie es in der Norm vorgegeben wird. Ich habe auch alles so angeschlossen wie es in der Anleitung vom Messgerät angegeben wird. Ich habe nun das Multimeter an den Eingängen kurz geschlossen und auf V= gestellt. Die Anzeige zeigt +000.00mV. Der String den ich erhalten sollte muss also mit dem + anfangen (zum Vergleich: in meinem ersten Beitrag ist der Ausschnitt aus dem Handbuch des Messgerätes mit angehängt). In hex also 0x2B. Ich bekomme aber 0xB2. Irgendwie scheint das High-Nibble und das Low-Nibbel vertauscht zu sein. Heute ist es schon spät. Ich werde morgen nochmal die Verdrahtung am Stecker prüfen. Nur um sicher zu gehen, dass da alles richtig ist. Ist bei euch was bekannt, dass die Geräte manchmal die Nibbles vertauschen oder ist das zu 100% auf einen Verdrahtungsfehler zurück zu führen? Ich werde den Fortschritt weiter berichten. Grüße, Jens
Jens schrieb: > Ich habe nun die Schnittstellen ICs raus geschmissen. Ohne die > funktioniert das. Mit ihnen nicht so richtig. Liegt wahrscheinlich an > den Steuersignalen, die die Datenflussrichtung vorgeben. TE ist Talk Enable. Setzt Du auf High zum Senden und auf Low zum Empfangen. PE ist Pullup Enable. Üblicherweise auf High für Push-Pull Ausgänge. Low schaltet auf open collector (für parallel poll), braucht erstmal keiner. DC ist Direction Control. High für Geräte (devices), Low für den Busmaster (controller). Du bist Busmaster, also Low. > Ist bei euch was bekannt, dass die Geräte manchmal die Nibbles > vertauschen oder ist das zu 100% auf einen Verdrahtungsfehler zurück zu > führen? Das ist Sache des Gerätes, auf dem Bus wird nichts vertauscht. Wenn Dein Multimeter laut Anleitung 0x2B ausgeben soll, sollte das auch rauskommen. Das untere Nibble ist auf der breiten Seite von dem Stecker.
Jens schrieb: > Ich habe nun die Schnittstellen ICs raus geschmissen. Ohne die > funktioniert das. Wenn du nur ein Gerät am Bus hast, mag das funktionieren. Aber der Bustreiber kann mindestens 48mA treiben und hat meines Wissens die Terminierungswiderstände nach + und - mit an Board ( ansonsten must du sie vorsehen ). Spätestens wenn du mehrere Geräte am Bus hängen hast benötigst du die Bustreiber zwingend. Der Bustriber ist für 16 Geräte ausgelegt ( wie es die Norm auch vorschreibt ). Ich meine die Bustreiber invertieren auch. Auf jeden Fall ist die logik auf dem IEC-Bus negativ, weil das Bussystem einen verdrahteten Odergatter darstellt. Also 5V = logisch 0 und 0V = Logisch1 1. Jens schrieb: > Das Buch, von dem gesprochen wurde, > habe ich, aber in meiner Ausgabe gehen die weder auf den NEC noch auf > die SN75160 weiter ein. Dann scheinst du eine asbach uralte Ausgabe zu haben. Ich habe zwei Exemplare. In der einen fehlt der Nec7210 auch, in der anderen ist sie ausführlich beschrieben. Aber in dem Nec Datenblatt ist m.W. die Beschaltung mit den SN75160ger Serie auch beschrieben.
@Soul eye: das steht aber anders im Datenblatt. Die Treiber haben keinen Push-Pull Ausgang. Die kann man nur zwischen Open-Collector und High-Z umschalten mit PE. @Ralph: Ja die Version von meinem Buch scheint eine alte zu sein. Ich werde zunächst versuchen den Bus direkt mit dem Controller zu verbinden. Das funktioniert ja auch schon. Wenn ich später dann doch mehr Geräte verbinden will, dann kann ich die Treiber ja wieder einbauen. Die Elektronik ist ja dafür ausgelegt. Momentan brauche ich es nicht. Ziel war es eigentlich nur mit dem Multimeter sprechen zu können. Ich habe an die Controller-Pins die Pull Up Widerstände ergänzt. Nur mit den internen ist mir das zu riskant. Die nächsten Schritte sind: - Zunächst die Listener Funktion fertig machen (Datenbytes richtig anschliepen) - Die Talker Funktion im nächsten Schritt - Die Controller Funktion Ich berichte weiter... Danke für die Unterstützung. Grüße, Jens
Ralph B. schrieb: > Wenn du nur ein Gerät am Bus hast, mag das funktionieren. Aber der > Bustreiber kann mindestens 48mA treiben und hat meines Wissens die > Terminierungswiderstände nach + und - mit an Board ( ansonsten must du > sie vorsehen ). deswegen finde ichdie Atmel Lösung so charmant, so ein Atmel Port kann schon 40mA http://blog.tynemouthsoftware.co.uk/2015/01/usb-to-ieee-488-for-commodore-disk-drives.html Beitrag "[S] GPIB-USB Adapter" da gibt es einiges als virtual Com Umsetzung auf USB ich suche weiter, will das ja auch bauen
Jens schrieb: > @Soul eye: > das steht aber anders im Datenblatt. Die Treiber haben keinen Push-Pull > Ausgang. Die kann man nur zwischen Open-Collector und High-Z umschalten > mit PE. Ich weiss nicht was Du für ein Datenblatt hast, aber in dem von NS steht es auf Seite 8 definitiv so drin.
so dieses möchte ich nachbauen http://www.kingswood-consulting.co.uk/gpib/ Ralph B. schrieb: > Wenn du nur ein Gerät am Bus hast, mag das funktionieren. Aber der > Bustreiber kann mindestens 48mA treiben Atmel als Driver dürfte im Strom reichen http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf DC Current per I/O Pin . . . . . . . . . . . . . . . . . . 40.0mA Atmel 32U4 habe ich schon 2x bekommen http://www.ebay.de/itm/Arduino-pro-micro-kompatibles-Board-Atmel-ATmega32U4-16MHz-5V-/221656602005?hash=item339bc35595:g:jiYAAOSwG-1WxKnG SW http://hg.kingswood-consulting.co.uk/gpib/ vermutlich noch nacharbeiten müssen sieht aber erst mal brauchbar aus
:
Bearbeitet durch User
Joachim B. schrieb: > Atmel als Driver dürfte im Strom reichen > http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf > DC Current per I/O Pin . . . . . . . . . . . . . . . . . . 40.0mA wo hast du das gelesen? Joachim B. schrieb: > http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf Seite 401 lese ich was von 20mA Ralph Berres
Ralph B. schrieb: > Seite 401 lese ich was von 20mA http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf Seite 383 nicht alle Pins müssen ja liefern und die max. Gerätezahl wird der Hobbyist ja nicht anschliessen.
:
Bearbeitet durch User
Joachim B. schrieb: > http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf > Seite 383 Das sind die absoluten Maximalwerte die man dem Pin zumuten darf ehe er kaputt geht, und nicht die Ströme die fließen dürfen um die Pegelgrenzen nicht zu verlassen. Joachim B. schrieb: > und die max. Gerätezahl wird der > Hobbyist ja nicht anschliessen. Naja wer einmal ein IECbus eingeführt hat wird nach und nach alle iecbusfähigen Geräte anschließen. Und da sind 8 Stück schnell erreicht. Ralph Berres
Ralph B. schrieb: > Naja wer einmal ein IECbus eingeführt hat wird nach und nach alle > iecbusfähigen Geräte anschließen. Und da sind 8 Stück schnell erreicht. > > Ralph Berres ich habe nur 4 und wer es dringend braucht für mehr holt sich eben das original Treiberpaar und wer den einen nur noch als SMD bekommt bestellt sich eine kleine Adapterplatine auf DIL in China vergessen wir mal nicht das Topic: Jens W. schrieb: > ich habe hier zu Hause ein älteres Messgerät von Philips. Ein PM2528. > Dabei handelt es sich um ein digital Multimeter mit 5,5 Stellen > Auflösung. Das Gerät lässt sich laut Anleitung über den GPIB Bus > ansteuern. > Nun möchte ich es um eine Scannerkarte erweitern um damit Batteriepacks > vermessen zu können. EIN Gerät, das dürfte der Atmel doch schaffen.
:
Bearbeitet durch User
@Soul eye: Ja, ich habe es in deinem Datenblatt auch so gelesen-Push-Pull. In meinem (von Texas) ist es anders bzw. nicht beschrieben. Aber so wie es aussieht ist das Datenblatt, das ich nutze nicht gut und nur eine gekürzte Version. Kein Wunder wenn ich damit nicht zurecht komme. Da sieht das von dir viel besser aus. Danke. Ich werde trotzdem erst einmal nur die Controller Pins nutzen. Wenn das alles funktioniert baue ich die Treiber ICs wieder ein und switche um. Dann suche ich nicht immer mehrere Fehler gleichzeitig. @Joachim: Da du auch so eine Kiste bauen willst. Ich hoffe du hast einen Logic Analyzer. Der hilft hier wirklich weiter. Ein Debuggen der Buskommunikation ist mit einem Oszi kaum möglich, da selbst große Geräte nur vier Eingänge haben. Und die sind schon mit den Handshake Leitungen belegt. (DAV, NRFD, NDAC, EOI). Gut EOI bräuchte man nicht unbedingt, aber es hilft, wenn man auf einen ganzen String Triggern will. Ich lade hier ein paar Screenshots hoch, wenn ich soweit bin. Gruß, Jens
Hallo an alle, also es war noch ein Verdrahtungsfehler am Stecker drin. Jetzt läuft alles so wie es soll. Zumindest das Empfangen. Die Zeichen werden richtig am Logic Analyzer angezeigt und auch richtig über die serielle Schnittstelle übertragen. Soweit zum Empfangen. Als nächstes kommt das Senden dran und die eigentliche Steuerung des Messgerätes. Damit euch nicht langweilig wird habe ich euch ein paar Bilder von der Kiste angehängt. Ich berichte weiter... Grüße, Jens
Jens schrieb: > @Joachim: > Da du auch so eine Kiste bauen willst. Ich hoffe du hast einen Logic > Analyzer. Der hilft hier wirklich weiter. leider nur zwei 4-Kanal TEK 3014 alt 3014 neu entweder kaufe ich mir noch einen billigen LA oder die Option für den MSO/DPO3000 TEKTRONIX MDO3MSO Oszilloskop-Modul, 16 Digital Channel Upgrading Module, Tektronix MDO3000 Series Oscilloscopes, 1.430,00 € puh billiger LA wäre wohl einfacher. Jens schrieb: > Ich berichte weiter... > > Grüße, Jens freut mich
Hallo Joachim, Ich habe den Zero Plus Lap-C 16032. Der kostet um die 170 Euro. Da ist der Codec für GPIB dabei. Wie die Software aussieht, siehst du ja oben in meinem Bild. Ich bin damit sehr zufrieden. https://www.zeitech.de/Zeroplus-LAP-C16032-16-Kanal-Logic-Analyzer Grüße, Jens
Hallo an alle, so die write-Funktion ist auch fertig und läuft soweit. Die Funktionen des Messgerätes lassen sich durchschalten. Auch die Anzeige auf der Front "REMOTE" wird angezeigt. Ist also eine echte Fernsteuerung. Ein Problem ist noch: Wenn ich in den Widerstandsmessbereich schalte und das Display "OL" anzeigt, dann scheint das Messgerät nicht mehr auf die Schnittstelle zu hören. Kann aber gut sein, dass man erst den Messwert richtig abholen muss. Keine Ahnung warum das so ist. Alle anderen Messbereiche funktionieren richtig. Das Handbuch des PM2528 schweigt sich hier leider aus. Aber das macht nichts. Da ich in Akkupacks die Spannung messen will, ist das keine Einschränkung für mich. Da werde ich nicht mehr so viel Zeit rein stecken. Ich werde nun Messbereichumschaltung, Trigger und Messwert abholen testen. Das hat aber mehr damit zu tun, wie ich die serielle Schnittstelle implementiere als GPIB-Funktionalität. @Joachim: Wie läuft es bei dir? Grüße, Jens
Jens schrieb: > @Joachim: > Wie läuft es bei dir? dat dauert noch ewig! (man muss ja Ziele für die Zukunft haben) bin grad beim Kochen 2,5kg Rosenkohl schnippeln dauert! Dann Netzwerkverkabelung erweitern. Irgendwann Gäste-, Kino-zimmer ausräumen, Tapete runter, Leitungen legen, tapezieren und einrichten.
Hallo an alle, so das letzte Problem ist auch noch gelöst. Wenn das Messgerät auf "OL" (Overload) schaltet, weil bei der Widerstandsmessung kein Widerstand an den Klemmen angeschlossen ist, dann erwartet das Messgerät einen Service Request. Ohne den reagiert die Schnittstelle nicht mehr auf Befehle wie Umschalten oder so was. Da bei der Spannungsmessung (auch mit offenen Klemmen) der Overload nicht auftritt, bereiten die Messbereiche keine Probleme. Den Service Request kann man auch über die Schnittstelle deaktivieren. Dann gibt es hier kein Problem. Oder man implementiert noch die Funktion für den Service Request. Für meine Zwecke funktioniert das soweit ist es brauche. Damit wäre ich dann auch durch. Danke an alle für die freundliche Hilfe! Viele Grüße, Jens
der Service Request kann aber wichtig sein, wenn man in einen Programm nicht dauernd und regelmäßig pollen will. Ralph Berres
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.