Microstepping für Diskettenlaufwerke

  • Im Zuge des Threads "8 Zoll Disketten auslesen - Hilfe benötigt" sind wir Dank klaly auf die Möglichkeit des "Microsteppings" gekommen.

    Microstepping


    Die Idee ist gut, aber damit wir den ursprünglichen Thread nicht "zerreissen", eröffne ich hier ein neues Thema und kopiere den letzten Absatz hierher.





    Vielleicht findet sich jemand, der bereit ist ein altes (geeignetes) 96tpi-Laufwerk auf Microstepping umzubauen.



    Würde mich freuen, wenn damit die 96tpi/100tpi-Problematik endgültig gelöst werden kann.


    Grüße, PAW

  • Die Idee entstand etwa hier: 8 Zoll Disketten auslesen - Hilfe benötigt, #55


    wo der kkaempf meinte er wolle sein 8" Laufwerk neu justieren.
    Was evtl. keine gute Idee ist ein Laufwerk zu "verstellen".
    Weil justieren dürfte eigentlich nur gut funktionieren wenn man eine "Kalibrier Diskette" hat.

    Da kam ich mit meiner verrückten Idee:
    Man müsste mal schaun, ob man den Stepper des Floppy Laufwerks mit Microstep beteiben kann.

    Das müsste prinzipiell machbar sein, allerdings wäre das ein Gebastel und der Kryoflux könnte damit nicht umgehen.


    Microstep ist das wie moderne Stepper Treiber z.B. bei 3D-Druckern arbeiten.

    Also am Laufwerk herum justieren ist keine gute Idee, außer du hättest eine "Justier Diskette".

  • Wie schnell ist eigentlich die Steprate von z.B. Kryoflux, wenn von einer Spur zur nächsten gesteppt wird.
    Z.B. von Spur 0 nach Spur 10 ?
    Das müsste man mal raus messen.

    Wenn da z.B. 1ms raus käme, könnte man überlegen ob man zwischen Kryoflux (oder ander FDC) einen Arduino dazwischen klemmt, der den Step Impuls 1ms auf z.B. 16 * 62,5µs Pulse aufteilt. Dies würde für 16x Microstepping den Motor um einen "Vollschritt" weiter schalten. Dann würde es reichen am Anfang den Stepper mit Microsteps einen Offset von z.B. 2 zu geben und dann würde immer mit 16 µSteps vor und zurück gefahren. So bekäme der FDC das gar nicht mit.

    Wie gesagt nur eine Idee, ich hab aktuell keine Zeit/Lust wieder was neues anzufangen.

    mfG. Klaus Loy

  • Wenn da z.B. 1ms raus käme, könnte man überlegen ob man zwischen Kryoflux (oder ander FDC) einen Arduino dazwischen klemmt, der den Step Impuls 1ms auf z.B. 16 * 62,5µs Pulse aufteilt. Dies würde für 16x Microstepping den Motor um einen "Vollschritt" weiter schalten. Dann würde es reichen am Anfang den Stepper mit Microsteps einen Offset von z.B. 2 zu geben und dann würde immer mit 16 µSteps vor und zurück gefahren. So bekäme der FDC das gar nicht mit.


    Für die Spurjustierung ist es nicht nötig einen Arduino zwischen dem Floppy Controller und dem Laufwerk zwischenzuschalten. Die Microstepping-Steuerung sollte zwei Betriebsmodi haben, einen um einen bestimmten Offset einzustellen, der dann die ganze Zeit beibehalten wird und bei einem Stepimpuls jeweils um einen ganzen Track weiterstellt. Damit bleibt die Ansteuerung der Floppy unverändert, aber der Schreib-/Lesekopf ist um den Offset versetzt.


    Der zweite Betriebsmodus legt die Microsteps auf die Laufwerksschnittstelle. Hier muss dann der Floppy Controller darauf rücksicht nehmen. Um auf den nächsten Track zu stellen, muss dann der FDC entsprechend viele Stepimpulse ans Laufwerk senden. Diese Variante ermöglicht dann, auf einem 96tpi-Laufwerk auch 100tpi-Disketten zu Lesen/Schreiben, soferne die Köpfe den gesamten Spurbereich anfahren können.


    Grüße, PAW

  • Zur 100 TPI Anwendung noch ein Hinweis:

    Das käme ja hauptsächlich für CBM 8050 / 8250 Disketten zum Einsatz.

    Für die müssten allerdings meist weitere Anpassungen am Laufwerk vorgenommen werden, da die Fluxwechsel bei der CBM GCR-Kodierung schneller erfolgen, als bei der üblichen MFM-Kodierung.

    Ohne diese Modifikation werden die Daten bei den meisten Laufwerken weggefiltert.