Projektvorstellung: SDrive-MAX

  • Ich hab einfach nur das Kabel lang abisoliert, verzinnt und in ein vorhandenes SIO-Kabel gesteckt, wie man am letzten Bild von Post #1 erkennen kann. Die Variante mit den Lötösen hab ich auch schon durch, überall muß man halt immer genau aufpassen, daß man die richtigen Pins erwischt. Aber von einer günstigen Quelle für SIO-Stecker wäre ich jetzt auch nicht abgeneigt.

    @oobdoo: Wie teuer kommt so ein 3D-Druck?

    Und gibt es inzwischen schon erfolgreiche Nachbauten vom SDrive-MAX?
    Wer die Ironie findet, darf sie behalten ^^
  • Das Originalprojekt von Raster habe ich bereits vor einigen Jahren auf einer Lochrasterkarte funktionsfähig aufgebaut, dein Projekt ist ein muss für mich! :applaus:
    Der SIO-Stecker ist gedruckt, alle Teile sind vorhanden. Ich habe noch Probleme mit der avrdude Software und bekomme keine Verbindung zum COM Port hin ?( , mit dem arduino Flasher geht es :whistling: .
    Werde mal den Galep mit einem ISP Stecker verwenden, so sollte es klappen.
    Welcher Quartz hat dein Board? Die Arduino Mega 2560 werden mit 12 und 16 MHz Versionen angeboten =O .
    Im Quelltext wird der Quartz mit 14,31818 vorgeben, nur mit der Frequenz liegt der serielle Takt synchron zum Atari.
  • Korrekt, ich hab alles auf 16MHz angepasst.

    Der MEGA funktioniert nicht, weil dort die Pins komplett anders belegt sind, und die SPI-Pins gehen gar nicht zum Display, d. h. die SD-Karte würde nie funktionieren.

    EDIT: Ist mir ehrlichgesagt auch unverständlich, warum Arduino bei jedem Modell die Pins wieder komplett durcheinandergewürfelt hat...
    Wer die Ironie findet, darf sie behalten ^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kbr ()

  • Danke für den Hinweis, da habe die verkehrte Platine genommen. Das Display läuft aber auch auf dem Mega 2560, der hat einige Ports mehr als der Uno und ist der größere Bruder.
    Bilder
    • UNO.jpeg

      85,6 kB, 732×750, 20 mal angesehen
  • Nachgebaut, läuft :thumbup: aber nur mit ATR-Files. Das Sdrive.atr wird in der Root der SD-Karte nicht gefunden und der Fileloader für com/xex ist fehlerhaft, die Daten stimmen nicht.
    Disketten können mit der eingebauten File-Funktion als neue Datei kopiert werden, dies geht. Als Flashsoftware benutze ich den Programmer von Atmel (Atmel Studio) mit mkII Interface.
    Bilder
    • sdrive-max.jpeg

      54,91 kB, 562×750, 18 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Flash ()

  • Hi,
    Hardware läuft. Meine Probleme bis jetzt, SD Karte wird nach einschalten nicht gefunden. Nach Reset funktioniert es. SDRIVE.ATR wird im Root nicht gefunden. SD Karte läuft aber an meiner alten SDrive Hardware. Lösung ?
    ------------------------------------------------------------------------------------------------------------------------------------
    Viele Grüße
    Thomas
  • Blubber schrieb:

    Wo wird der SIO-Stecker angeschlossen?
    Das Verbindungsschema zum Atari ist wie folgt:


    Arduino Pin/Atari-SIO Port(Pin)
    TxDData-In(3)
    GndGround(4)
    RxDData-Out(5)
    A5Command(7)
    +5V+5V/Ready(10)*



    *optional, dann kann man nur Disketten "einlegen", wenn der Rechner an ist, ansonsten USB-Netzteil benutzen.

    Welchen USB-AVR-Adapter hast Du denn Oberhaupt? Nur die Software (WinAVR) nützt dir ja nicht viel.

    DoReCo #56 24.03.2018
  • Warum so kompliziert, hab ich irgendwas von WinAVR und Programmer geschrieben? Ich hab doch extra auf die Arduino Hardware zurückgegriffen, damit das Handling damit möglichst einfach ist, und weil es dazu tonnenweise Infos im Netz gibt. Deshalb hab ich mich in der Doku auf das Wichtigste beschränkt, den Rest kann man googeln...

    Zum Flashen nimmt man daher das Programm "avrdude", welches auch von der Arduino-IDE benutzt wird, und das geht dann ganz normal über den Arduino-Bootloader und den vorhandenen USB-Anschluß, welcher ja im PC einen COM-Port emuliert.

    Beispielsyntax für meine Umgebung unter Linux:

    Quellcode

    1. # avrdude -carduino -pm328p -P /dev/ttyACM0 -U flash:w:SDrive.hex

    Unter Windows hab ich leider keine Erfahrung, sollte aber recht ähnlich sein, als com-Port(-P) muß vermutlich die virtuelle Schnittstelle(com3:etc.) angegeben werden.

    Freut mich, daß es inzwischen Nachbauten gibt, dazu werd ich mich später näher äußern, bin derzeit noch etwas gesundheitlich angeschlagen...
    Wer die Ironie findet, darf sie behalten ^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kbr ()

  • Noch ein kleiner Hinweis, da scheinbar bei allen die SDRIVE.ATR nicht gefunden wird: eeprom-writer.hex vorher einmalig draufgeflasht?

    EDIT: Ohne das dürfte auch Highspeed-SIO nicht funktionieren, weil die Werte dazu im EEPROM fehlen...

    EDIT2: Und der XEX-Loader befindet sich auch im EEPROM. Das Problem mit der SD-Karte erst nach Reset hatte ich auch, ist das zufällig eine Kingston?
    Wer die Ironie findet, darf sie behalten ^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kbr ()

  • Da ich bisher Hex-Files immer per ISP, mit einem separaten Programm geflasht habe, war ich in diesem Fall auch davon ausgegangen. Dann muss ich mich halt noch reinlesen, wie man diese unter Arduino flasht (Windows).

    Wäre aber für Nachbauer besser, die halt nicht so viel Erfahrung haben, wenn Sie alle Informationen auf deiner Seite finden würden.

    Noch vergessen:

    Gute Besserung!

    DoReCo #56 24.03.2018
  • Blubber schrieb:

    1. Wo wird der SIO-Stecker angeschlossen?
    2. Wie lädt man das HEX-File auf den UNO?

    Habe hier WinAVR....
    zu1. nun ist es klar, habe mich von einem Bild vorne täuschen lassen
    zu2. auch hier wird es heller ... zu WinAVR kam ich nach googeln zu 'avrdude', ist da ja drinn enthalten

    kbr schrieb:

    # avrdude -carduino -pm328p -P /dev/ttyACM0 -U flash:w:SDrive.hex
    muss das nun nur auf WIN com3 ändern, mal schauen ;)

    Ist meine erste Adruino-Arbeit ... :D

    LG Blubber

    PS. Bin so frei im Zweifel weiter nachzufragen :thumbsup:
    PPS. Auch von mir 'Alles Gute' kbr
  • Hallo @all,

    Wie müsste sich ein TFT-Diplay, auf den Ardruino aufgesteckt, nach dem Start zeigen?
    Gibts da so was wie eine Startanimation?



    Ich sehe, egal was ich mache, nur diesen weißen Bildschirm. Schrott ;( ?

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Zum schreiben der HEX-Dateien habe ich XLoader (über USB Schnittstelle) )benutzt ....
    ... leider sehe ich nur einen weßen Bildschirm

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Blubber ()

  • Also der eeprom-writer.hex zeigt bislang nichts an, das werd ich vielleicht noch verbessern, damit man auch sieht, ob etwas passiert.

    Aber bei SDrive.hex müsste sofort der Startbildschirm erscheinen.

    Was hast du denn jetzt genau für ein Display?
    Wer die Ironie findet, darf sie behalten ^^
  • Also ich nutzte dieses Angbot 2,8 TFT bei EBay.
    Hier ein Bild der Anschlüsse:



    Ich habe es mit deinen Angaben abgeglichen und war mir sicher, dass das so iO. ist.
    Deine beiden HEX-Files habe ich mit dem Programm oben aufgespielt...es wurde jeweils der Upload bestätigt.

    Nun ja, wie gesagt, meine erste Arbeit mit dem Arduino, mittels USB habe ich schon ein wenig gearbeitet
    und ich nahm die ganze Zeit an, dass Deine HEX-Files über USB und ARVDUDE aufgespielt werden.

    Dem ist aber doch nicht so, die HEX-Files werden über die ISP Schnittstelle eingespielt, richtig?
    Über einen Programmer ... ich habe sogar einen hier, leider mit 2x5-er Anschluss.

    Nun egal, mit XLoad funktioniert es über USB vielleicht .....
    Ach so: Kann man das irgendwie kontrollieren was aktuell im Flash des Arduino UNO ist.

    ABER: Ich würde am liebsten das Display alleine erstmal auf Funktion testen und deshalb meine Frage, ob
    im Auslieferungszustand+Aufstecken+Strom schon irgendeine Reaktion zu erwarten wäre.?

    UND sehe ich das richtig, dass Deine Arbeit hier auch auf einem Arduino Leonardo laufen würde?

    Gute Besserung Blubber
  • spfd5408 controller
    oh oh, das sieht nicht gut aus, ist zwar auf den ersten Blick gleich beschaltet, hat aber einen anderen Controller, und der Seite nach ist auch das Touchscreen anders beschaltet.
    Ich könnte das sicher gangbar machen, dazu müsste ich aber ein identisches hier haben, sonst macht das glaub wenig Sinn.


    Blubber schrieb:

    Nun ja, wie gesagt, meine erste Arbeit mit dem Arduino, mittels USB habe ich schon ein wenig gearbeitet
    und ich nahm die ganze Zeit an, dass Deine HEX-Files über USB und ARVDUDE aufgespielt werden.
    Das ist auch so, warum das bei dir nicht klappt, keine Ahnung...

    ISP ist nicht notwendig, würd ich sogar davon abraten, denn damit kann man sich den Arduino Bootloader und die Fuse-Bits zerschießen! Das ist eigentlich nur für Bootloader-Update oder Recovery-Zwecke gedacht.

    Mit AVRDUDE kann man das Flash auch wieder auslesen, und eine Verify-Funktion gibts auch. Was leider nicht geht, Zugriffe auf das EEPROM, daher auch der umständliche Weg über eine extra Firmware.

    Das Display bleibt weiß, sobald es Strom hat, mehr passiert da nicht, ohne es richtig initialisiert zu haben.

    Nein, ein Leonardo geht nicht!
    (weil da die Pins wieder komplett anders beschalten sind)

    Danke!
    Wer die Ironie findet, darf sie behalten ^^
  • Geflasht bekommen habe ich es jetzt, dazu habe ich alle relevanten Dateien in einen Ordner kopiert:

    avrdude.exe
    avrdude.conf
    libusb0.dll
    eeprom_writer.hex
    SDrive.hex

    Zum Flashen des Eeprom-Writers habe ich folgendes eingegeben (zuvor CMD starten und in das Verzeichnis navigieren, wo alle SDrive-Dateien sind):

    Quellcode

    1. avrdude -c arduino -p m328p -P \\.\COM7 -C avrdude.conf -U flash:w:eeprom_writer.hex

    Dann habe ich den Arduino resettet und das Hauptprogramm mit diesen Zeilen geflasht:

    Quellcode

    1. avrdude -c arduino -p m328p -P \\.\COM7 -C avrdude.conf -U flash:w:eeprom_writer.hex
    Und es erschien was auf dem Display (Ich habe genau das selbe billig Ding wie Blubber), allerdings nicht so, wie ich es erwartet hätte: Hat mal jemand einen Spiegel?



    TOUCHSCREEN geht natürlich auch nicht, da anscheinend anders belegt.

    Ein anderes Display ist auch noch in Zulauf, vielleicht geht das besser. Ansonsten bestelle ich mir noch das von Elegoo.

    EDIT:

    AVRDUDE.EXE findet man auch bei Windows im Arduino-Verzeichnis und zwar genau hier:

    /programme/arduino/hardware/tools/avr/bin

    dort findet man auch die libusb0.dll Datei


    Die AVRDUDE.CONF befindet sich hier: /programme/arduino/hardware/tools/avr/etc

    DoReCo #56 24.03.2018

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von CapFuture1975 ()