Arduino steuert paralleles FT Computing Interface 80er Jahre

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
lemkajen
Beiträge: 123
Registriert: 05 Sep 2011, 12:58
Wohnort: Rhede (NRW)

Re: Arduino steuert paralleles FT Computing Interface 80er J

Beitrag von lemkajen » 16 Mai 2015, 09:20

Moin zusammen,

also mein code hat nichts mit "fishduino" zu tun.
Ich werde bei Gelegenheit meine Schnipsel nochmal hochladen und dann hier posten, wo sie liegen. bitte Geduld..

Notfalls, auch wenns an die 80iger C64-Zeit erinnert, könntet Ihr auch diese paar Zeilen aus der ftpedia "per Hand" in den Rechner übetragen ;-)

beste Grüße

Jens

Nachtrag: ich könnte Euch gern auch per PM meinen Mailkontakt zukommen lassen bzw ihr mir, und ich sende Euch die Files per Mail!
LG
Jens
----
Jens Lemkamp

Benutzeravatar
Andre
Beiträge: 58
Registriert: 07 Mai 2015, 16:20
Wohnort: Schotten

Re: Arduino steuert paralleles FT Computing Interface 80er J

Beitrag von Andre » 16 Mai 2015, 12:45

lemkajen hat geschrieben: also mein code hat nichts mit "fishduino" zu tun.
Stimmt nicht ganz, fishduino baut auf Deinem Artikel auf:
fishduino.h hat geschrieben:...Code based on articles in the following two German PDF magazines:
http://www.ftcommunity.de/ftpedia_ausga ... 2014-1.pdf
...
Bei Fishduino ist es halt nur in eine Library verlegt, in cpp umgesetzt und um eine Mainloop, welche die serielle Schnittstelle abfragt, ergänzt worden. Die Pins hat der Autor auch noch geändert.
Fishduino ist also ein "Ableger" von Deinem Code.

Das mit dem Abtippen ginge zwar (und wäre wirklich echt retro), ob der Fehler, wenns nicht klappt, dann bei mir oder doch in zwei defekten Interfaces (kann ich ja nicht ausschließen) liegt, weis ich dann aber noch nicht. In der ft:pedia ist der Code ja als Bild eingebettet. Ein sehr schöner Artikel übrigens.

Besten Dank für das Angebot, den Code per Mail zu versenden, ich habe Dir eine PN gesendet.


Edit:
Nach einigen Stunden des Rumprobierens - auch dank des von Jens gemailten Codes - bin ich zu dem Schluss gekommen, dass es bei mir ein Hardwareproblem gibt:
- Das Setzen der Ausgänge klappt, mit Jens Code wie mit Fishduino
- das Lesen der Eingänge gibt nur Chaos, ständig zwischen 1 und 0 wechselnd
- Es sei denn, ein Taster ist angeschlossen und gedrückt. Dann ist der Eingang konstant auf 1, alle anderen wechseln ständig weiter.
Daraus schließe ich, das meine Arduinos kein saubres LOW auf der Datenleitung bekommen. Dadurch wird bei Low mal Low, mal High erkannt und immer Unsinn zurück gemeldet. Habt ihr vielleicht irgendwelche Puffer in der Leitung? Möglich natürlich auch, dass meine Interfaces ne Macke haben; ich könnte natürlich auch versuchen, ob es was bringt, den internen Pull-Up im Universal-Interface von 3k3 auf 47k zu vergrößern. Eventuell ist auch die Spannung in den Interfaces etwas rippelig (Kondensatoralterung).

Daraufhin habe ich den FishduinoSer-Code modifiziert, so dass die vom Interface geholten Daten ignoriert werden, statt dessen wird ein Byte aus D9-D13 und A0-A2 gebastelt und an RoboPro zurückgegeben. Gleiches Chaos auf den Eingängen. Bis ich die internen Pullups aktiviert habe - dann waren alle Eingänge auf 1. Da noch einen Puffer-Inverter vor und ich könnte zumindest so 8 digitale Eingänge bereit stellen. A6+A7 kann ich dann für AX/AY nehmen.

Insgesamt kann ich damit leben, auch wenn es mich etwas wurmt, nicht zu wissen, was genau die Ursache beim Ausleseproblem ist. Die beiden Universals können nun - wenn die beiden Nanos aus China da sind - als Intelligent Interfaces verwendet werden.

Frei sind noch A4+A5, auf denen man i2c laufen lassen kann. An sich ja nichts viel anders, als die serielle Übertragung, nur einerseits einfacher, weil man über Kommandos über Sub-Adressen bzw. Datenbytes ein praktikables Protokoll ausarbeiten kann, bei denen man gezielt einzelne Eingänge auslesen bzw. Ausgänge/Motoren/Stepper schalten kann. Andererseits kniffeliger, weil man i2c-Anfragen ja nur bei Bedarf anfordert, während beim IF-Mode ja regelmäßig automatisch abgefragt/geschrieben wird. Um die 0,3s Notausschaltung zu vermeiden, muss man auch bei i2c-Modus ohne eingehende Kommandos aufs Interface zugreifen.

Weil ich keine Lust mehr habe, auf i2c für den TXT zu warten, habe ich mir doch erstmal einen gebrauchten TX ersteigert. Mal gespannt, wies funktioniert.

lemkajen
Beiträge: 123
Registriert: 05 Sep 2011, 12:58
Wohnort: Rhede (NRW)

Re: Arduino steuert paralleles FT Computing Interface 80er J

Beitrag von lemkajen » 17 Mai 2015, 09:39

Moin, hier der (hoffentlich) öffentlich funktionierende drop-Box-Link:

https://www.dropbox.com/sh/j7dtgxa3oz8s ... 7YdEa?dl=0

Ansonsten war mir nicht bekannt, daß fishduino auf meinen Artikel aufsetzt - Danke! :-)


viele Grüße & schönen Sonntag an Alle . .

Gruß

Jens
----
Jens Lemkamp

Benutzeravatar
Andre
Beiträge: 58
Registriert: 07 Mai 2015, 16:20
Wohnort: Schotten

Re: Arduino steuert paralleles FT Computing Interface 80er J

Beitrag von Andre » 17 Mai 2015, 13:40

Moin,

Noch mal vielen Dank für den Code.
Kleiner Tipp, damit Du nicht häufiger die Dropbox-Links erneuern musst:
Editiere doch den ersten Beitrag des Threads und setze ans Ende drei Code-Tags, in die Du den Programmcode der drei Beispiele mit Copy/Paste einfügst. Sind doch nur relativ kurze Listings, die dann jeder einfach mit Copy/Paste in die Arduino-IDE einfügen kann. So werde ich, wenn es soweit ist, auch meine Anpassungen hier veröffentlichen.

Schade, dass ich die elektrischen Probleme bei mir nicht gelöst bekommen habe und der DataIN nicht geht, aber wie in meinem Beitrag heute Nacht noch als Edit ergänzt, kann ich ja die Arduino-Pins als Input nehmen. Ich werde es, wenn die Arduinos aus China da sind, aber auch noch mit einem CMOS-Puffer in der Datenleitung probieren. Aber selbst so habe ich noch einen Pin frei (A3), den ich im setup()-Teil dazu nutzen werde, mit einem Jumper zwischen Seriell/Intelligent-Interface und i2c/Slave zu wählen.

Noch einen schönen Sonntag,
Andre

Benutzeravatar
schnaggels
Beiträge: 389
Registriert: 31 Okt 2010, 23:14
Wohnort: Kelkheim
Kontaktdaten:

Re: Arduino steuert paralleles FT Computing Interface 80er J

Beitrag von schnaggels » 18 Mai 2015, 10:25

Hi,

werden die Eingänge nicht gegen Masse geschaltet? War verwirrt weil du geschrieben hast der Arduino erkennt kein sauberes Low vom Eingang, offen hätte ich erwartet ein High zu finden?

Noch eine Idee, aber war bei den alten Universal-Interfaces nicht etwas mit den Analogen Eingängen die unbeschaltet Probleme machen?

Konnte leider noch keine Zeit finden das selbst zu testen :cry: Hardwareseitig ist alles vorhanden...

Thomas

Benutzeravatar
Andre
Beiträge: 58
Registriert: 07 Mai 2015, 16:20
Wohnort: Schotten

Re: Arduino steuert paralleles FT Computing Interface 80er J

Beitrag von Andre » 18 Mai 2015, 11:45

Im FT-Interface ist als gemeinsamer Anschluss +5V vorgesehen. Offen sind sie mit 1k gegen Masse downgepullt.

Das Problem ist scheinbar nach dem Schieberegister.

Der Arduino erkennt, wenn die Eingänge Low sind, rein zufällig High und Low (Interface Test in Robo Pro, die Häkchen flackern alle). Wenn ich aber einen Eingang des Interfaces auf +5V lege, ist der Harken sauber gesetzt. Da ich nicht glaube, dass der Teil bis zum Schieberegister in beiden Interfaces den Ärger macht (wäre seltsamer Zufall, außerdem zeigt das Schulinterface den Zustand der Eingänge per LED korrekt an), vermute ich, dass das Problem auf der Datenleitung zum Arduino liegt. Also schlicht, dass der Low eine Spannung in einer Größenordnung von 0,8V...1,5V aufweist. Das wäre "undefiniert". Ich werde wohl mal die Kabel kürzen müssen, können ja auch einfach kapazitive Probleme sein.

Verwendet ihr das Kabel in Originallänge?

Die analogen Eingänge machen unbeschaltet keine Probleme, sondern liefern schlicht unvorhersehbare Werte. Das steht auch schon im Handbuch
Anders als die digitalen Eingänge sind sie ja auch nicht vorgespannt.

Antworten