Strobeduino - stroboscope Atari 1050 + PC drive, 278.5RPM, 288RPM, 300RPM, 360RPM

By Administrator at apríla 06, 2022 18:30
Filed Under: SBC8085-NCB85

Shield pre Strobeduino, zopnutý výstup D1.

 

Jedná sa o špecializovaný stroboskop pre správne nastavenie a kontrolu otáčok u disketovej jednotky Atari 1050, je tu možnosť nastaviť kontrolu pre 287.5 RPM/min alebo pre 288 RPM/min, pre Atari XF551 a PC mechaniky slúži pre kontrolu rýchlosti otáčania na 300 RPM/min, dtto pre PC HD mechaniky na 360  RPM/min. Celé to používa ako základ dosku Arduino Uno - tak som to pomenoval Strobeduino.


Prehľadná tabuľka rýchlosti otáčok rôznych druhov PC diskiet:

 

Upozornenie:

Zásahy do zariadenia sú na vlastné riziko majiteľa zariadenia. Autor týchto stránok nenesie žiadnu

zodpovednosť za škody  spôsobené používaním zariadení postavených podľa tu uverejnených

schém alebo zobrazených úprav.

 

Pre meranie a nastavovanie otáčok netreba žiadne galvanické prepojenie s kontrolovanou disketovou jednotkou, Strobeduino používa vlastné napájanie.

 

Pre použitie s Atari 1050 ktoré používa mechaniku TANDON netreba nič ďalšieho, stačí otvoriť a iba zložiť vrchný kryt na disketovej jednotke a potom sa priloží strobe_LED priamo nad stredový tŕň a pomocou trimru VR2 ktorý je na doske A1050 sa nastavia správne otáčky, t.j. otáča sa trimrom dovtedy až príde k úplnému zastaveniu výsečí, ak výseče zdanlivo stoja tak rýchlosť otáčania priamo zodpovedá požadovaným otáčkam. Najjednoduchšie je založiť prázdnu disketu (alebo iba naformátovanú, teda bez inštalovaného DOS-u) a zapnúť počítač, ten sa potom snaží načítať obsah diskety, ale keďže tam nič nie je vypíše na obrazovku "Boot error" a nanovo sa pokúša načítať obsah, tento stav potom zbieha stále dokola - v tomto režime sa dajú nastaviť požadované otáčky najlepšie. Stredový tŕň má 16 výsečí (sektorov pri mechanike TANDON) kde sa strieda plast a medzera. Pre mechaniku WST neviem posúdiť či to platí tiež, pretože neviem koľko sektorov u nej má stredový tŕň. A zatiaľ som nevidel ani jeden obrázok WST mechaniky kde by sa tie výseče dali spoľahlivo spočítať.

(Ak WST mechaniku niekto má, za kvalitný obrázok stredového tŕňa alebo poskytnutú informáciu o počte výsečí budem povďačný. - poznámka - nakoniec som si poradil sám, foto je na konci článku.)

 

Základná doska Atari 1050 s označením trimru VR2 pre nastavenie otáčok.

 

Na rozdiel od môjho staršieho projektu kde sa dali sledovať a nastavovať otáčky len pre jednu hodnotu 288RPM/min (na konci článku je odkaz), tak teraz máme možnosť pracovať celkom zo 4 možnosťami, pričom platí nasledovné:

D1=sw1, D2=sw2, D3=sw3 a D4=sw4

 

Pri Atari 1050 máme dve možnosti voľby:

sw1 - nastavujeme 287.5 RPM/min (táto voľba je najžiadanejšia)

sw2 - nastavujeme na 288 RPM/min

pre PC mechaniky sú k dispozícii ďalšie dve možnosti:

sw3 - 300 RPM/min - pre DS/DD (360kB mechaniky 5.25"), HD mechaniky 3.5"

sw4 - 360 RPM/min - pre HD mechaniky (5.25")

 

Pre použitie pre sw3 a sw4 je potrebné na zadnú stranu disketovej jednotky (na zotrvačník) nalepiť obrázok zo stroboskopickým kotúčom - ten prikladám na konci článku.

 

V prípadoch použitia sw3 a sw4 len kontrolujeme správnu rýchlosť otáčok, nemáme žiadnu možnosť tieto hodnoty regulovať. Ak je všetko OK a výseče buď úplne stoja, alebo sa výseče iba mierne pohybujú buď jedným, alebo druhým smerom. (Podľa toho či sú otáčky mierne nad, alebo pod potrebnou hodnotou.)

Ak sa točia rýchlo na jednu alebo na druhú stranu tak sú otáčky rozhasené tak tu potom pomôže iba výmena disketovej mechaniky za nejakú inú. Je to naozaj jednoduchý test, ale rozhodne nám dáva správne výsledky.


Použitá základná doska.


Pre toto konkrétne zapojenie som ako základ zvolil Arduino UNO (clock = 16MHz), teda jeho 100%-ný klon, dosku som mal založenú doma, bola za pár šupov a ani si už nepamätám kde som ju splašil (bola to nejaká burza, ešte v origo sáčku), akurát viem ža ma stála "celé" 3.-€, tak teraz prišiel čas dosku nasadiť do prevádzky. Sériová komunikácia smerom na vývojové prostredie ide cez čip CH340, teda najprv som musel nahrať jeho driver. Pohoda, potom sa už doska a vývojové prostredie poznali.

Zdôrazňujem, program stroboskopu nemá aktívny sériový výstup, myslím že tu ho k jeho činnosti naozaj netreba (kto by ešte chcel sledovať niečo na displeji ak potrebuje sledovať stroboskopický kotúč ...) a aj tak predpokladám že Strobeduino bude zásadne fungovať v tzv. ostrovnom režime, t.j. dostane externé napájanie 9V (alebo 5V z USB portu) a to bude všetko čo potrebuje na svoju prevádzku.

Čo mi celkom nevyhovuje je použitý microUSB konektor na tejto doske, priznám sa že nemám k nemu príliš veľkú dôveru, teda k jeho výdrži a odolnosti proti ulomeniu. Snáď to ale chvíľu vydrží ...

 

Pre stavbu Strobeduina som použil už hotový univerzálny shield (sú bez problémov k dostaniu), je za babku, je tam už kopa vecí predpripravených takže stavba veselo pokračovala.

 

 

 

Úpravy na doske sú len minimálne - obidve 3mm LED na doštičke boli červené, čo mi nevyhovovalo, tak som tú napravo zamenil za zelenú LED. Tá vľavo je tzv. err_LED kde červená farba vyhovuje. Obidve LED majú v sérii iba 220Ω odpor, takže obidve do série s tým pôvodným odporom dostali ďalší 330Ω odpor, t.j. teraz sú LED s odpormi cca 560Ω, pre err_LED ešte pribudol do série ďalší odpor 470Ω aj tak svieti viac ako dostatočne. V schéme som nakoniec zakreslil iba výslednú hodnotu takto zapojených odporov v sérii - toľko na vysvetlenie prečo na shielde vidíte viac odporov ako je v zakreslenej schéme. Čo je na tejto doštičke naozaj príjemné - obidve LED sa nachádzajú v jednej rovine. Tlačítko reset je na shielde priamo funkčné (preto jeho zapojenie v schéme je len čiarkovane naznačené) a teda som s ním nemusel nič robiť, druhé tlačítko sa nevyužíva. Na výstup som použil 3-kolík - ten sa na to priamo ponúkal, aktívny je stred (2-ka) a 1-ka a 3-ka je Gnd. Odpor 680Ω v zapojení slúži len ako ochrana pred priamym pripojením vstupov Arduina voči +5V (zase raz moje vlastné riešenie, nie je to síce nutné, ale takto zapojené sa mi to viacej pozdáva).

Čo mi na doštičke vyslovene nesedí - tak to sú stojace odpory 220Ω, každú chvíľu sa o ne prstom zavadí, odporúčam ich vypájkovať a dať tam priamo potrebný výsledný odpor - vidím to tak že tie odpory nakoniec fakt vyhodím a výsledné nové odpory dám na dosku už ležato.
Základné potrebné frekvencie ktoré sa generujú pre jednotlivé nastavenia switchov boli skontrolované čítačom, sedia presne.

 

Pre strobe_LED je použitá červená 5mm supersvietivá LED (2mA typ).

(V danom zapojení pre Strobeduino svieti viac ako dostatočne,

bez problémov ju priamo vybudí výstup z Arduina.)

 

Nasleduje vlastná schéma shieldu:

V zapojení je nastavený switch 1 ako zopnutý,

t.j. do D7 ide log.1., teda pre 287.5RPM/min.

 

Po zapnutí Strobeduina sa na shielde rozsvieti trvale zelená LED (= prítomné napájanie), na 2 sekundy sa rozsvieti červená err_LED (naľavo), dtto sa rozsvieti na rovnakú dobu aj strobe_LED ktorá je tak isto červená, potom príde k ich zhasnutiu, je to kontrola že sú obidve LED v poriadku.

Ak nie je zapnutý ani jeden switch (t.j. sw1, alebo až sw4), tak err_LED sa trvale rozsvieti a strobe_LED zostane iba slabulinko "žhnúť" (treba sa pozrieť priamo na čip LED-ky aby ste to "žhnutie" uvideli, t.j. stroboskopický efekt je vypnutý. Zároveň týmto slabým "žhnutím" nám dáva najavo že samotná strobe_LED je funkčná a v poriadku.

Po správnej voľbe a nastavení jedného zo switchov a opätovnom resete po 2 sekundách zhasne err_LED a rozsvieti sa strobe_LED a už "beží" na nej potrebný pracovný kmitočet. Táto 2 sekundová kontrolná doba sa dá skrátiť, ale zatiaľ mi to skrátenie času nedáva zmysel, nezdržuje to a pritom máme funkčnú kontrolu toho čo sa deje.


Zmena nastavenia switchov sa môže previesť počas chodu zariadenia, ale aby sa zmena zaregistrovala priamo v programe - je potrebné následne ešte stlačiť reset.


Ak náhodou zapojíte naraz viacero spínačov tak sa zopakuje stav ako keď nie je zapojený žiaden spínač - natrvalo sa po začiatočnom teste rozsvieti err_LED a jemne začne "žhnúť" strobe_LED, alebo inak - proste aj tieto stavy sú v programe ošetrené.

 

Čiže celkový záver - ak trvale zostane svietiť err_LED - tak ste nenastavili správne polohy pre jednotlivé switche.

 

Skompletovaný Stroboshield.

 

Čo sa deje v rámci 1 pulzu na výstupe (strobe_LED) ?

Vo všetkých 4 režimoch je dodržovaný tento režim:

80% dĺžky pulzu je tma, 20% dĺžky pulzu svieti strobe_LED.

Tieto hodnoty sa ukázali ako najlepšie aby bol stroboskopický efekt pri jeho sledovaní dostatočne výrazný.

 

Verzia programu 1.2 pre Arduino UNO:

Arduino_stroboscope1_02_full.ino (2,21 kb)

 

No a teraz poďme na vlastný stroboskopický kotúč pre použitie zo Strobeduino-om je potrebný pri kontrole rýchlosti teda nastavení switchov D3 a D4, ako som už spomínal treba ho uchytiť priamo na zotrvačník disketovej jednotky (na jeho stred) buď nejakou neinvazívnou kvapkou lepidla, alebo kúskom obojstrannej samolepiacej pásky.


Takto vyzerá vlastný stroboboskopický kotúč, pracuje sa iba s okrajovou

vrstvou, t.j. s tou kde sa nachádza 16 samostatných výsečí

(z toho je 1/2 výseče čierna a a 1/2 výseče je biela).

 

Prikladám aj obrázok z ktorého si môžete stroboskopické kotúče pre svoje vlastné merania vytlačiť doma na svojej tlačiarni:

8x 16_sec_stroboscope_disc.PNG (42,92 kb)


Pozrime sa na krátke video ako to funguje v praxi, máme disketovú jednotku Atari 1050 a zopnutý je switch D2, t.j. nastavujeme otáčky na 288RPM/min pomocou trimru VR2, nerobil som teraz extra video, prevzal som ho z môjho prvého stroboskopu, princíp nastavovania je naprosto rovnaký:

video

RPM_setting.mp4 (10,17 mb)

 

Slovo na konci:
To že som sa do toho zavřtal - tak za to je "zodpovedná" /v dobrom/ svojím spôsobom jedna osoba - a to Radim Polášek. S niektorými vecami som sa pred časom na neho ohľadne Arduina otočil a a on mi v mojich začiatkoch poradil kam sa vrtnúť, za čo som mu neskonale vďačný. Síce to vtedy vôbec nesúviselo s týmto konkrétnym projektom, ale donútilo ma to začať študovať nejaké tie záležitosti okolo Arduina - a potom raz večer, ako vždy tesne pred spaním ma napadlo - a prečo si nepostaviť stroboskop priamo na Arduine ? Je to naozaj len pár týždňov keď som si akurát tak vedel nahrať do Arduina už hotový program, Radime, vyhecoval si ma !

(A zase som sa niečo pri tom naučil.)

____________________________________________________________

Ešte jedna poznámka - pre mechaniku WST:

Tu popisované riešenie je vhodné aj pre WST mechaniku (ako vidieť nemá zvrchu dostupný stredový tŕň), riešenie je jednoduché - stačí nalepiť na spodnú stranu (v článku priložený) stroboskopický kotúč.


Jednotka Atari 1050 s WST FD mechanikou.

____________________________________________________________

 

Ešte odbočím trošku do vlastnej histórie"

Koho daná problematika zaujíma hlbšie si môže pozrieť môj starší projekt stroboskopu pre Atari 1050 ktorého riešenie je založené čiste na starších TTL obvodoch, nepotrebuje žiaden mikroprocesor a dokáže nastaviť rýchlosť otáčania (iba) na jednu rýchlosť a to na 288RPM/min:

http://blog.3b2.sk/igi/post/Meranie-otacok-Atari-1050-Atari-1050-RPM-stroboscope.aspx

 

TTL stroboskop pre 288RPM/min.

____________________________________________________________


Strobeduino vychádza z jedného môjho pred časom rozbehnutého a nakoniec nedokončeného projektu:


Už dlhšie som "nosil" v hlave projekt stroboskopu s rovnakými parametrami, vymyslel som to celé na 3 integrovaných obvodoch TTL (2x 74LS393 + EPROM pamäť 27256, TTL oscilátor bežal na 1.8432MHz, malo sa to volať CEDU (Central Eprom Digital Unit). Určite to funguje a celý "rozum" je ukrytý práve v Eprom pamäti, pozdávalo sa mi že to celé nepotrebuje na svoju činnosť mikroprocesor. Už podľa nakreslenej blokovej schémy je jasné že to bolo vo vysokom štádiu rozpracovanosti. Vyriešený (a už bol aj napísaný) obsah Eprom, lenže - napadlo ma celkom iné riešenie. Zase jeden projekt ktorý nakoniec išiel priamo do šuplíku a do zabudnutia ... - ale fakt mi to netrhá žily. Tak ho tu len zo zotrvačnosti krátko popisujem.

 

Nasleduje obrázok blokovej schémy "CEDU":

 


Ako to už býva - prednedávnom som sa začal venovať Arduinu a tak ma napadlo uvedenú záležitosť "pretaviť" práve na dosku Arduina Uno, bác ! - a už v tom mám aj mikroprocesor ! (Musím priznať že tu mi prišiel vývoj predsa len o niečo pružnejší.) No, síce som v Arduino problematike začiatočník ale aj tak si myslím že sa mi podarilo uviesť do prevádzky stroboskop na tomto zariadení ktorý robí to čo má, takže plná spokojnosť. Akurát som si to ale celé v hlave musel nanovo naprogramovať, doma ležal človek s covidom a tak som mal čas premýšľať ako na to a tak som urobil zásadné rozhodnutie a prešiel som na spomenuté Arduino.

____________________________________________________________

CEDU by bol vo výsledku určite rozmermi menší ako teraz zvolené riešenie, tu to ale nehrá rolu. Pri výslednom riešení by sa dala v zapojení použiť doska Arduino Nano a na univerzálku osadiť zbytok zariadenia a bolo by to potom celé tak isto podstatne menšie, ale tu celkový rozmer zariadenia nie je veľmi dôležitý, takže som to ďalej neriešil. Úpravy sú možné a kto má chuť sa do toho pustiť ... tak si to urobí k obrazu svojmu.

____________________________________________________________

Vaše hodnotenie, rate post:

Comments

6. 4. 2022 18:38:06 #

trackback

Directory SBC.

Directory SBC.

Igi blog |

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: