vinyylisoittimen "virittely"/rakentaminen

Askelmoottorilla on pitomomentti ja se voi teettää miettimistä, kun värinöitä minimoi. Pelkällä siniaallolla ohjaaminen ei sitä kompensoi, vaan pitää keksiä joku tapa tunnistaa värinä vapaasti pyörivälle moottorille. Löysin useampia kirjoituksia ilman kuormaa pyörivästä askelmoottorista ja resonanssitaajuudesta. Johtuuko se kanttiaallolla ohjaamisesta, vai millaisena se resonanssi tulee pelkästään pitomomentista.

Jos askelmoottorin saa pyörimään värinättömästi tyhjänä, niin ilmeisesti lähes aina pyörii värinättömästi myös kuorman kanssa. Kokeilua varten tilasin yhden ohjaimen jossa saa mikroaskeleet 1/8, mutta sieltä tulee edelleen korkeita taajuuksia ohjaukseen. Jos passiivisen alipäästön kanssa saa täydestä kanttiaallosta suodatettua "ylimääräiset" taajuudet pois, niin ehkä toimii kohtalaisen hyvin myös mikroaskelilla. Speksin mukaan (sivu 7) se ohjain tuottaa 45 asteen kulmassa 70,7 % täydesta kummallekin vaiheelle. Varmaan tuon ja suodatuksen kanssa jo pääsee nykyistä moottoria parempaan tulokseen, mutta tuolla ei kompensoida pitomomenttia, ainakaan helposti passiivisella suodattimella.

Olettaisin pitomomentin aiheuttavan pienet kuopat ja nököset puhtaaseen siniaaltoon?

Sinänsä askelmoottorin ohjaimeksi riittää tavallinen kaksikanavainen audiovahvistin. Demoiltavan moottorin resistanssi on 22 ohmia ja ei liian kaukana kaiuttimen resistanssista. Moottorin induktiivisen kuorman ei pitäisi olla este :) Arduinoa mulla ei ole ennestään, mutta vajaakäytöllä oleva Raspberry pi on. Siinä on audiolähtö. Lisäksi tarvii sen päätevahvistimen. Demoilua voi tehdä PC:n kanssa, jos saisi moottorin pyörittään levylautasta 0 .. 33 1/3 rpm ilman värinää. 45 toteutus ainakaan ei onnistu samalla passiivisella suotimella yhtä hyvin (paitsi jos käyttää releitä suotimen vaihtoon).

Edit: Näkyy Arduinolle myös löytyvän RTC- ja audio-kortti helposti. CPU:n kiteen taajuutta kai saa enemmän ja vähemmän jatkuvasti kalibroida kellon kiteeseen. Jos sitten käyttää "ulkoista" äänikorttia, niin joutuu seuraamaan sen vauhtia kellon tahtiin. Omaan käyttöön ulkoisen äänikortin kellopulssi varmaan on riittävän tarkka. Jos ja kun systeemi on hihnavetoinen, niin nopeusvaihteluita tulee muualtakin kuin vain puuttuvasta kiteestä. Paras kai olisi laittaa levylautasen alle pieni magneetti ja hall-anturi käyttöön. Kierrosnopeutta sitten vertaa RTC:n kelloon... Käytännössä taidan tyytyä kumminkin tulostettuun stobo-levyyn ja kännykästä strobovalo & tarkistan nopeuden silloin tällöin manuaalisesti.
 
Viimeksi muokattu:
Jos haluaa päästä helpolla, "pehmeimpiä" kuluttajahintaisia moottoriohjaimia taitaa nykyään valmistaa Trinamic. TMC2130 ja TMC2208 tuntuvat olevan ainakin 3D-tulostimien kanssa suosittuja, en ole näihin sen ihmeemmin perehtynyt. Kannattaa kurkkia youtubesta hiukan esimerkkivideoita siitä, mitä Trinamicin ohjaimet tekevät vaikkapa juuri 3D-tulostimen äänelle; eli kuinka paljon pehmeämmin ne askelmottoria ajavat. https://www.trinamic.com/products/integrated-circuits/details/tmc2130/

Tämä siis vinkkinä, jos haluaa kokeilla jotain helppoa ja nopeaa. Arduinolle on helppo kirjoittaa koodi, jolla tuollaista askelmoottoriajuria ajetaan halutulla nopeudella, sisältäen hitaan liikeen aloituksen ja lopetuksen. Rautakytkennätkin ovat simppeleitä ja valmiita ohjeita niiden tekoon löytää paljon netistä.
 
Jos haluaa päästä helpolla, "pehmeimpiä" kuluttajahintaisia moottoriohjaimia taitaa nykyään valmistaa Trinamic. TMC2130 ja TMC2208 tuntuvat olevan ainakin 3D-tulostimien kanssa suosittuja, en ole näihin sen ihmeemmin perehtynyt. Kannattaa kurkkia youtubesta hiukan esimerkkivideoita siitä, mitä Trinamicin ohjaimet tekevät vaikkapa juuri 3D-tulostimen äänelle; eli kuinka paljon pehmeämmin ne askelmottoria ajavat. https://www.trinamic.com/products/integrated-circuits/details/tmc2130/

Tämä siis vinkkinä, jos haluaa kokeilla jotain helppoa ja nopeaa. Arduinolle on helppo kirjoittaa koodi, jolla tuollaista askelmoottoriajuria ajetaan halutulla nopeudella, sisältäen hitaan liikeen aloituksen ja lopetuksen. Rautakytkennätkin ovat simppeleitä ja valmiita ohjeita niiden tekoon löytää paljon netistä.

Pikaisesti katsottuna nuo ovat halvempia ja tarkempia kuin Partcosta tilaamani palikka (ehkä sen takia oli viimeinen ja ei tule lisää). Käyttö näyttää samantapaiselle. Voi myöhemmin vaihtaa, jos sille näyttää tai tekisi vastaavaa johonkin muualle. PWM:n generoinnissa Arduino on ehkä parempi, kuin Raspberry, kun sieltä puuttuu "raskas" käyttöjärjestelmä. Vielä en ole tutkinut kuinka tarkasti Raspin HW PWM:n taajuus on säädettävissä. Raspissa on Linux, joka ei ole RTOS, niin softalla tehty PWM jää oletuksena epätarkaksi ja pois laskuista.LAN-liitäntä olisi Raspin etu ja ei tarvitsisi muuta käyttöliittymää (jos nyt pari painonappia luettavaksi, mutta ei muuta). Raspissa kanttiaallon voi tehdä yhdellä audiokanavalla, jos ei parempaa keksi :) Pitää tutkia fiksumpia tapoja. Arduinoa en ole ennestään hankkinut, mutta olisi kai aika helppo ottaa käyttöön.
 
raspi ui:ksi ja liitettävyydeksi, ja arduino kylkeen tekeen pwm ?
 
Mihin vinyylisorvissa tarvitaan Linuxia?

Kaikissa moottoreissa paitti ehkä oikosulkumoottori, on magneeteistä johtuva portaisuus. Sen voi eliminoida ohjaamalla virtaa sopivasti. Portaittainen tapa mikä on kaikissa askelmoottoriohjiamissa ei sovi alkuunkaan vaikka kyse olisi mikroaskelista. Lisäksi stepperiohjaimet käyttää hakkuritekniikkaa virran rajoitukseen mistä syntyy korekataajuista häiriötä mikä helposti siirtyy signaalitielle, varsinkin jos käytössä hiilikuituäänivarsi mikä ei suojaa vaipattomia signaalijohtimia. Suuritaajuinen kohina on myrkkyä levysoitinetuaseelle ja voi johtaa selvään TIM-säröön. Tämä on syy miksi edellä ehdotin nimenomaan analogista ohjausta ja puhdasta siniä. Toinen syy sinille on tietysti se että sen periaatteessa pitäisi tuottaa tasainen pyöriminen tai ainakin taisin mahdollinen.

Levylautasen pyörimisnopeuden takaisinkytkentä lukuhaarukalla tai magneettisesti ei auta kuin oikean nopeuden saamiseen. Siitä ei ole apua huojunnan elminoimisessa. Sitä varten tarvitaan koko lautasen kehään integroitu jonkinlainen pulssin tuottava kuviointi tms. nii että kierrokselta saisi useita satoja pulsseja. Niinpä huojunnan eliminoimiseen helpoin tapa on massa ja riittävän pieni momenttinen moottori.


Jos itse tekisin ohjaimen Arduinolla niin pistäisin perään tavalla tai toisella parin 4-8 bittisiä DA-muuntimia (vaikkapa ihan erillisvastuksilla) ja niiden perään 24db/okt alipäästösuotimen. Tuottaisin siniä muuntimen läpi neljällä jaollisen määrän per sini jakso koska stepperin vaiheet on 90 asteen vaihesiirrossa. 12 kertainen näytemäärä olisi hyvä lähtökohta eli 12 näytettä per sinijakso. Käyttäisin kellokeskeytystä ja keskyetysrutiinissa ajaisin ulos siniä näytepuskurista (vakiotaulu) muuntimille. keskeytystaajuus menisi johonkin kilon tuntumaan mikä pitäisi vielä toimia koska tuo keskeytysrutiini olisi hyvin simppeli.
Toki sinin voisi tuottaa sinioskillaattorilla ja tehdä 90 asteen vaihesiirron all-pass suotimella mutta suodin pitäisi olla eri aikavakiolla 33 ja 45 ja 78 nopeuksille ja analogisesti tehden tuossa olisi aina jonkin verran heittoa mikä toisi huojuntaa. Olisko se sitten merkittävää on eri asia.
Tehon tuotosta voisi vastata vaikka pari TDA2040 audio oparia.

On myös olemassa paljon hyvinkin pieniä 3-vaihemoottoreita joita voisi harkita. Yhtälailla 3-vaiheisen syötön saisi aikaa Arduinolla tai täysin analogisesti.
Tuollainen 3-vaihemoottori periaatteesa pyörii tasaisemmin kuin stepperi.
 
Kehitysvaiheessa oskiloskooppi on parempi työkalu kuin koittaa linuxin kautta konsoliin saada tietoa toiminnasta tai mahdollisesta huojumisesta. Raspin isompi kellotaajuus ja isompi virrankulutus ehkä tuntuu Arduinoa enemmän -> parempi laittaa sellainen tilaukseen & etsiä kääntäjä ja muut hommat.

Oletuksena Arduinon CPU kide jonkun verran huojuu lämpötilan ja syöttöjännitteen mukaan (+ muut mahdolliset tekijät). Kellon lisääminen systeemiin auttaa sen huojunnan tunnistamisessa. Kelloa voinee lukea vaikka 100x sekunnissa, mutta vähempikin varmaan käytännössä riittää, jotta saa kellon nopeuteen sidotun pulssin. Tämä taitaa olla helpoimpia korjattavia?

Noita häiriöitä pitää pohtia vielä. Jos ja kun käytän vetopyöränä askelmoottorin 5 mm halkaisijalta olevaa akselia, niin 140 mm olevan levylautasen vetopuolen pyörittämiseen tarvii 2828 askelmoottorin askelta/s. (Hihnan kanssa vetopyörän halkaisijaksi laskin 5,5 mm, mutta ehkä on enemmän -- laskut ei siitä hirveästi enää muutu.) Tuo 2828 askelta/s tarkoittaa kahta 707 Hz siniaalto taajuutta 90 asteen vaiheerolla. Se on melko hyvin kuuluvalla alueella ja ryömii muuallekin?

Ensimmäisessä vaiheessa kumminkin teen sen 8 mikroaskelta tekevän ohjaimen kanssa (vaihtaa myöhemmin jos tarvii). Nykyisellä ohjaimella mikroaskelia tulee yli 22 k/s. Alipäästösuodattimen rajataajuus saanee olla 750 Hz (kun alkuun en sovita moottoria 45 rpm:lle vaan pelkästään 33 1/3:lle). Jos sitten tekee nelinapaisen LC suotimen mikroaskelten kanssa, niin luulisi mikroaskelten pörinän vaimenevan riittävästi? Tuossa aikaisemmin ehdotetut Tiramicin TMC2130 ja TMC2208 piirit saattaisivat hoitaa mikroaskelluksen riittävän hyvin ilman alipäästösuodatusta. Vähemmän työtä tehdä passiivinen suodin askelmoottoreiden ohjaukseen kuin AD-muunninten kautta generoida itse signaali? Jos siniaalto ei kelpaa, niin sitten jää jäljelle AD-muuntimilla tehty aaltomuoto.

Mitä sitten merkitsee moottorin liikkeelle lähtemiseen vaadittavan momentin vaikutus tasaisessa liikkeessä. Tuossa se on 0,014 Nm (150 gf*cm) ja vaikutus luonnollisesti pienenee kierrosten kasvaessa. Tekeekö pientä nykimistä käyntiin??

Paljonkohan levylautasen pyörittäminen vaatii tehoa? Mun laskelman mukaan hankitusta askelmoottorista saa tehoa ulos max 4,3W kun sisään menee 2828 askelta/s (mikroaskelia menee 8x, mutta ne vähentää vain säröä). (Vääntö on luokkaa 0.5 kgf*cm tuolla vauhdilla, kun hitaassa 2.0 kgf*cm.) Aika pienillä tehoilla ne lautaset kai pyörii. Tehoreserviä on syytä olla, jotta pääsee kohtuullisessa ajassa liikkeelle. Toisaalta kaikki ylimääräinen teho kai muuttuu systeemissä ylimääräiseksi häiriöksi? Levylautasen pyörimistä voisi seurata sen takia, että tietää hukkaako askelmoottori askeleita. Kiihdytyksessä hihna ehkä luistaa ja sen voisi periaatteessa tunnistaa.
 
Mihin vinyylisorvissa tarvitaan Linuxia?

Kaikissa moottoreissa paitti ehkä oikosulkumoottori, on magneeteistä johtuva portaisuus. Sen voi eliminoida ohjaamalla virtaa sopivasti. Portaittainen tapa mikä on kaikissa askelmoottoriohjiamissa ei sovi alkuunkaan vaikka kyse olisi mikroaskelista. Lisäksi stepperiohjaimet käyttää hakkuritekniikkaa virran rajoitukseen mistä syntyy korekataajuista häiriötä mikä helposti siirtyy signaalitielle, varsinkin jos käytössä hiilikuituäänivarsi mikä ei suojaa vaipattomia signaalijohtimia. Suuritaajuinen kohina on myrkkyä levysoitinetuaseelle ja voi johtaa selvään TIM-säröön. Tämä on syy miksi edellä ehdotin nimenomaan analogista ohjausta ja puhdasta siniä. Toinen syy sinille on tietysti se että sen periaatteessa pitäisi tuottaa tasainen pyöriminen tai ainakin taisin mahdollinen.

Kuinka paljon sitä merkityksellistä säröä syntyy moottorin ohjauksesta, jos ohjausignaalin alipäästön raja on 750 Hz? 20 kHz kohdalla vaimennus on yli 50 dB vaikka olisi 12db/oktaavi vaimentava suodatin eli niiden korkeiden taajuuksien pitäisi mennä riittävän alas 24dB/oktaavi vaimennuksella. Periaatteessa saisi tehdä sellaisen suodatuksen, että suodattaa moottorille menevästä kanttiaallosta melkein siniä. Kun suodatin on kunnossa, niin vaihtaa mikroaskeliin. Luulisi ettei mikroaskelista tulisi enää häiriötä (ja selvä paeannus nykyiseen tilanteeseen). Sitten kun vaihtaa mikroaskeliin, niin ero ei voi olla enää tunnistettavissa? Katsoo sitten onnistuuko suodattimien teko...

Sinänsä moottorin ohjauksen sähköt on syytä pitää kaukana audiosignaalien johtimista, paitsi että levylautanen on metallia ja sekin levittää osan EMC:stä. Kaikki hakkuriosat pitää saada metallikotelon sisään ja maadoittaa kunnolla. Näin teoriassa näyttäisi korkeiden taajuuksien pysyvän kurissa, mutta laskelmissa voi olla virhe.
 
Jos mikroaskeleet alipäästösuodattaa niin voi toimiakin. Ne kyllä taitaa olla tasaportaita ja se voi johtaa epätasaiseen käyntiin. Se kyllä vaimenee jos hihna on hyvin ohkaista ja venyvää tavaraa ja/tai lautanen painava.
Levylautasen pyörittäminen ei vaadi tehoa juuri enempää kuin vetohihna kitka. Kiihdytys tietysti pitää hoitaa rampilla jottei hihna luista alussa. Hihna luistaminen pienen hetken voi vaurioitttaa hihnaa pieneltä matkalt amikä taas johtaisi huojuntaan.

Mikroaskelia pitäisi olla ainakin se 10 jaksolla jotta niiden kvantisointinykimisestä pääsee eroon alipäästöllä.

Häiriöongelmille voi riittä sekin että soittimen lankun allapinnalla on alumiinilevy jottei häiriöt pääse nin helposti varteen ja rasiaan. Jos soittimen pistää vahvistimen päälle tai vahvistin on varren puolella vieressä ja jos tuolloin vahvistimen muuntaja on vasemmassa reunassa kuten monasti on, on peli menetetty joka tapauksessa.

Itse pistäisin soittimen sisään välittömästi varren alle RIAA etuasteen. Ei ole itään syyytä siirrellä hyvin matalatasoista signaalia kaapeleissa.

Eikös kovalevyjen tai DVD asemine moottorit ole kolmivaiheisia? Jos on niin sellaisesta voisi saada vielä paremman vetomoottorin.
Lisäys : ja näinhän se onkin https://www.youtube.com/watch?v=F4YaOGdSNcw
Tuollainen pyörii luontaisesti jo hyvin tasaisesti. Sitä en osaa sanoa kuinka pitkään tuollaisen laakeri kestää sivuvetoa.


Lisäys 2: Piti oikein printiltä katsoa ja kyllä Arduino Megassa ainakin on ihan oikea kide tuottamassa 16MHz kelloa. Vakaus varmasti riittää viinyylisorville vasinkin kun menoa tasoittaa vetohihna ma lautasen massa. Se että onko taajuus tarkasti oikea, ei ole kovin tärkeä kunhan se pysyy tasaisena.

Lisäys 3 : Ja tässä esimerkissä on kaikki mitä tarvitaan, eli 16bitin timer käyttö keskeytyksen aikaan saamiseen jotta voidaan ajaa 8bit DAC:lla siniä ulos. Siitä sitten vaan muokkaamaan.
https://www.instructables.com/id/Arduino-Timer-Interrupts/
 
Viimeksi muokattu:
Varmaan kovalevyn moottori riittäisi voiman puolesta. Jos ehtii ja löytyy romuttamatta jäänyt 5400 rpm levyn moottori, niin voisihan sitä katsoa. RC-autojen moottoreissa sitten olisi enemmän kuin tarpeeksi vääntöä (pitää vain olla harjaton moottori, jolle menee kolme piuhaa). Luulisi laakereiden kestävän hihnan kuormituksen. RC-auton nopeuden säätimen toimintaa en tunne, mutta varmaan pätkii isoa virtaa halvimmalla tavalla -> valmis ohjain ei käy. Arduinossa en tunne I2C:n toteutusta ja saako sen menemään keskeytyksillä (+ DMA:lla). Jos ohjaa kolmea vaihetta ja tavoittelee esimerkiksi 16 mikroaskelta, niin tiedä riittyykö Arduinon raudassa tehoa sille (datan siirto tarve riippuu moottorin kierrosnopeudesta), mutta 5 mm akselilla se tarkoittaa 3x45 000/näytettä sekunnissa. Jos I2C menee "vain" 400 kHz, niin ei ehdi 8 bit DACia syöttämään. 1MHz I2C:n kellona ja 3x 4 bit DAC nyt ainakin pitäisi olla toteutettavissa. Jos on 16 mikroaskelta, niin ei kai DACissa enempää tarvitse olla bittejä kuin 4 :)

Arduinon RTC kortin suurin hyöty taitaa jäädä 56 tavun patterivarmistettuun RAMiin. Kide kai on pidemmällä ajalla tarkempi, mutta sillä sitten vähäinen merkitys. Laitoin myös RTC:n mukaan tilaukseen ja ehkä ottaa viikon tulla??

Raspberry Pi taitaa olla tarpeen mikäli menee vähintään 12 bit DAC, 3 kanavaa ja noin 50 k näytettä/s vauhtiin?

Yhdellä kellolla askelmoottorin ohjaaminen näyttää melko simppeliltä verrattuna kolmivaiheiseen moottoriin ja sen mikroaskellukseen DMA:n kanssa. Kun tekee suotimet askelmoottorin ohjaimen ja moottorin välille, niin taitaa olla syytä varmistaa että ne on riittävän samanlaisia ja myös suotimen vaiheviiveet tulee samalla tavalla. Askelmoottorin ohjauksessa todennäköisesti kannattaa säätää moottorille menevää jännitettä (-> virtaa). Pienellä virralla tulee pienemmät häiriöt/nykimiset ja ylimääräisestä väännöstä ei ole juurikaan hyötyä? Ehkä siihen akselin päähän pitäisi saada pieni magneetti kiinni ja seurata moottorin käyntiä. Jos ei pyöriväämagneettia, niin ainakin joku optinen pyörimisen tunnistus.

Edit: Arduino Uno:n kohdalla löytyy niukasti viitteitä että onnistuu high-speed I2C (eli se max 1.7 MHz). Ehkä käytettävissä tai sitten rauta ei tue nopean kellon protokollaa -- saattaisi päästä 700 kHz asti. Jos käyttää vastaavan kokoista "vetopyörää/-akselia" kuin nyt niin myös tarvii korkeata kierrosnopeutta.
Laskuihin jäi vain se virhe, että askelmoottorissa on 200/4 täyttä jaksoa per kierros, kun taas kolmivaihemoottorissa on 1. Askelmoottorilla siis on pieniä nykäyksiä 200x enemmän kuin kolmivaiheisella moottorilla. Jos 3 vaihemoottorille menee "vain" 16 mikroaskelta, niin on tilanne voi olla huonompi kuin askelmoottorin kanssa on. Molemmissa voi olla ohjaukselle lisäsuodatus ja se ei tee juurikaan eroa niiden välille.
 
Viimeksi muokattu:
Miksi kummassa sotkea I2C kuvioon?

Arduino Megassa on kolme täyttä 8bitin porttia ja muutama muu portti joista osa pinneistä on käytettävissä. Noita portteja voi ladata suoraan tavudatalla. vastuksilla saa aivan riittävän tarkan DA-muuntimen tällaiseen käyttöön.
Periaatteessa nelibittinenkin riittää jo pitkälle mutta 7 tai 8 bittisellä voi varmistella. Meillähän on alipäästösuodatus perässä ja jos se on riittävän jyrkkä, signaali muuttuu puhtaaksi siniksi, ajaa sisään sitten mitä tahansa.
Nelibittinen voisi tietysti olla kompromissi. Silloin riittäisi Arduino Nanokin.

Kyllä osassa kolmivaihemoottoreissakin on useita jaksoja per kierros.

Tuossa yllä linkissä missä on timerien käyttöön, löytyy vastuksien käyttäminen DA-muuntimena ja muistaaksnei suoralla porttiosoituksella. Yksi porttiosoitus muistaakseni 1us lokkaa.
 
Jos haluaa päästä helpolla, "pehmeimpiä" kuluttajahintaisia moottoriohjaimia taitaa nykyään valmistaa Trinamic. TMC2130 ja TMC2208 tuntuvat olevan ainakin 3D-tulostimien kanssa suosittuja, en ole näihin sen ihmeemmin perehtynyt. Kannattaa kurkkia youtubesta hiukan esimerkkivideoita siitä, mitä Trinamicin ohjaimet tekevät vaikkapa juuri 3D-tulostimen äänelle; eli kuinka paljon pehmeämmin ne askelmottoria ajavat. https://www.trinamic.com/products/integrated-circuits/details/tmc2130/

Tämä siis vinkkinä, jos haluaa kokeilla jotain helppoa ja nopeaa. Arduinolle on helppo kirjoittaa koodi, jolla tuollaista askelmoottoriajuria ajetaan halutulla nopeudella, sisältäen hitaan liikeen aloituksen ja lopetuksen. Rautakytkennätkin ovat simppeleitä ja valmiita ohjeita niiden tekoon löytää paljon netistä.

Tai siis pehmeästi jos stepperiä haluaa ajaa, kannattaa tutustua Granite Devicen moottoriohjaimiin. Esim 1 tuollainen powerein ja sopivalla ohjauksella liittimen kautta: https://granitedevices.com/store/mo...ioni-servo-stepper-drive-42.html?options=cart Tamperelaista suunnittelua ja moottoriohjainpiireissä kehuttu teholuokassaan parhaaksi.


Eikö tuo Trinamic tee ohjainpiirejä, ei moottoriohjaimia?
 
Miksi kummassa sotkea I2C kuvioon?

Väylään kytkiessä pääsee niin paljon vähemmällä mikrokontrollerin, AT328 speksien lukemisessa. Suurin piirtein riittää tietää lähtevä I2C jännite ja mihin vauhtiin ajureiden kanssa pääsee. Seuraavaksi etsii sopivan DACin tai useamman sellaisen jos useamman tarvitsee rinnakkain toimimaan. Valmiina on jotain 24bit/192 kHz, mutta ei ihan sellaista tähän. Omalla tavalla kumminkin yksinkertaista.

Ilmeisesti Unon AT328:ssa saa kolmesta portista vähintään 6 bittiä lähdöiksi eli sekin saattaisi kelvata. Käytännössä IO:t loppuu kesken turhan herkästi. ATmega2560 näyttää paremmalta suoraan kontrolleriin kytkiessä. Kuuluu sitten version 2 suunnitelmiin. Jos ensimmäisen version laatu ei ole riittävää.

Edit: Arduino Teensy näyttää sille I2C kytkentäiselle alustalle ja saa enemmän kuin riittävän nopean ja tarkan DACin. Tässä niitä audio palikoita tarvitaan kaksi, jotta saa kolme kanavaa ulos. Ohjaimeksi Teensy 3.5 tai 3.6 (joku 3.6 ei kelpaa?). Sinänsä 3,3 V I/O:lla voi myös tehdä DACin itse (ainakin 3.6 palikassa on IO:ta riittävästi). En sitten tiedä paljonko ne lähdöt kohisee, jos sillä on merkitystä moottorin ohjauksessa. Periaatteessa 3,3 V IO voi tehdä pienempää häiriötä ulkomaailmaan kuin 5V IO. Sinänsä 3.6:ssa on 10x CPU taajuus (180 MHz) ja se voi jo näkyä jossain tai sitten riippuu ihan CPUn ulkopuolisista laitteista.

Toinen sitten on PWM:n korkeampi taajuus ja sen suodattaminen. Jos taajuus on yli 300 kHz ja tarkkuus myös vähintään 8 bit, niin moottorin ohjaukseen ei tarvitse erillistä DACia ja pelkkä LC-suodatus taitaa riittää (tilaamani ferriittirenkaat toimii 500 kHz "asti"). Jos PWM taajuus on 10x kuin ylimmät RIAA:n näkemät taajuudet, niin häiriöt suodatettavissa kohtuudella pois? Siis paljonko 3,3 V pörinästä jää mikrovolttitasolla jäljelle toisaalla.

Lisä:
Mittasin kiintolevyn 3-vaihemoottorin käämin resistanssin ja oli 2,7 ohm ja sille melkein riittäisi 0..5V jännite, kunhan virtaa tulee riittävästi. Se kiintolevy otti 12V syötöstä 5W ja jos kierrokset osuu yhtään 5400 rpm suuntaan, niin tehoa löytyy tarpeeksi.
 
Viimeksi muokattu:
Kuinka paljon tuhoon tuomittu ajatus on ajaa 3-vaihemoottoria melkein suoraan kuudella PWM:llä? Jokaiselle vaiheelle menee kaksi PWM-signaalia ja konkka, jotta jatkuvasti ei tarvitse olla fetti kytkettynä +suodattaa osan isoista jännitteen heilumisista.
MoottoriPWM.jpg

Melkoista häiriötä tuollainen ohjaus taitaa tuottaa, mutta voisiko periaatteessa vielä olla suodatettavissa siistiksi levysoittimessakin?

Alkuperäinen juttu tässä, jossa ei ole vaiheille meneviä konkkia. Arduino Teensy 3.6 on tilauksessa ja siinä 8-bit PWM:n max taajuus on 375 kHz (jos oikein speksi tulkittu). Sinänsä tavalliset audiovahvistimet on varmempi vaihtoehto siniaallon vahvistukseen, mutta yksinkertaisuus ja parempi hyötysuhde houkuttelee. Käytännössä jos tuo toimii, niin voisi kokeilla jonkun muun moottorin ohjausta pienellä jännitteellä.
 
Et voi ajaa kuudella pwm:llä mutta kolmella kyllä. tarvitse kolmivaihselillanohjauksen.
Jos ajat kuudella, on riskinä että plus ja miinuspuolen fetit on yhtäaikaa johtavana ja siitä seuraa savua.

Hyötysuhteella ei ole merkitystä kun tarvitava teho on alle watin.
 
Kuinka paljon tuhoon tuomittu ajatus on ajaa 3-vaihemoottoria melkein suoraan kuudella PWM:llä? Jokaiselle vaiheelle menee kaksi PWM-signaalia ja konkka, jotta jatkuvasti ei tarvitse olla fetti kytkettynä +suodattaa osan isoista jännitteen heilumisista.
MoottoriPWM.jpg

Melkoista häiriötä tuollainen ohjaus taitaa tuottaa, mutta voisiko periaatteessa vielä olla suodatettavissa siistiksi levysoittimessakin?

Alkuperäinen juttu tässä, jossa ei ole vaiheille meneviä konkkia. Arduino Teensy 3.6 on tilauksessa ja siinä 8-bit PWM:n max taajuus on 375 kHz (jos oikein speksi tulkittu). Sinänsä tavalliset audiovahvistimet on varmempi vaihtoehto siniaallon vahvistukseen, mutta yksinkertaisuus ja parempi hyötysuhde houkuttelee. Käytännössä jos tuo toimii, niin voisi kokeilla jonkun muun moottorin ohjausta pienellä jännitteellä.

Siis mitä nuo konkat on? Fetit paukkuu, kun konkkien kautta menee virtaa julmasti kytkentähetkellä. Jos jotain ajattelit suodatella siistimmäksi, niin kelaa väliin, jotta saat LC:n aikaiseksi. Ja kuten edellä todettu, aja ihan tavis 3-vaiheisena, en usko että suurta hyötyä saat kikkailemalla. Luulen, että jos näin olisi, olisi se jo keksitty :)
 
Viimeksi muokattu:
Joo, sitä en ole selvittänyt saako Teensy 3.6:ssa PWM:n jatkuvasti alas tai ylös. Jos saa, niin kytkentä on yksinkertainen, kun ei tarvitse siirtää PWM:ää vuorotellen puolelta toiselle toisella IO-pinnillä. Kuusi pinniä kumminkin on käytössä. Virtalähteen mitoituksesta ja FETtien kestosta kiinni se savun määrä väärällä ohjauksella. Mun halpis skooppi sentään ylettää 10 MHz kaistanleveyteen, että tuossa voisi nähdä onko ohjaukset yhtäaikaa päällä.

Pohdittu kysymys oli paljonko piikkivirtaa tulee menemään transistorin läpi ja voiko se säteillä audiopuolelle & RIAA vahvistimeen. Käytännössä saattaa olla, että epähuomiossa kumminkin valitsen niin hitaat FETit ettei ne ehdi kunnolla aukeamaan nopealla PWM:llä. Onneksi tässä tehot jää niin pieniksi ettei FETtien kuumeneminen tule kumminkaan vastaan :) Ainoastaan plus ja miinuspuolen oikosulku tuottaa lämpöä reilummin.

Tuon FETien PWM ohjauksen vaihtoehtona on "tavallinen" 30W/kanava vahvistava audiovahvistin. Se tulee syömään lepotilassa enemmän virtaa kuin moottorille tarvii hyötykäyttöön.
 
Siis mitä nuo konkat on? Fetit paukkuu, kun konkkien kautta menee virtaa julmasti kytkentähetkellä. Jos jotain ajattelit suodatella siistimmäksi, niin kelaa väliin, jotta saat LC:n aikaiseksi. Ja kuten edellä todettu, aja ihan tavis 3-vaiheisena, en usko että suurta hyötyä saat kikkailemalla. Luulen, että jos näin olisi, olisi se jo keksitty :)

Se kuusi PWM:ää oli epäselvä ajatus, kun ei ole tarkoitus vetää vuorotellen maatason yli ja ali. Toinen puoli on kerrallaan aktiivinen. Kolmella pärjää, mutta puolikkaan valinnan tekee softalla ja bugeja ei ole aikomus jättää softaan :) tai komponentit pitää valita bugin sietäviksi.

LC-suodatus tulee FETtien ja moottorin väliin. FETeissä itsessään on diodi ettei sen puolesta haittaa vaikka pois kytkiessä tulee omat piikkinsä. Toisaalta jos on konkka kytkennän kanssa rinnan, niin se pitää olla pieni (-> kytkentä virta pysyy kurissa). Riippuu taas FETin kytkentänopeudesta ja myös ohjausvirran nopeudesta.
 
Se kuusi PWM:ää oli epäselvä ajatus, kun ei ole tarkoitus vetää vuorotellen maatason yli ja ali. Toinen puoli on kerrallaan aktiivinen. Kolmella pärjää, mutta puolikkaan valinnan tekee softalla ja bugeja ei ole aikomus jättää softaan :) tai komponentit pitää valita bugin sietäviksi.

LC-suodatus tulee FETtien ja moottorin väliin. FETeissä itsessään on diodi ettei sen puolesta haittaa vaikka pois kytkiessä tulee omat piikkinsä. Toisaalta jos on konkka kytkennän kanssa rinnan, niin se pitää olla pieni (-> kytkentä virta pysyy kurissa). Riippuu taas FETin kytkentänopeudesta ja myös ohjausvirran nopeudesta.

Tässäpä se yleinen harha ja vikojen syy. Kuvitellaan että softa on luotettavaa tai sen puoleen prosessorit.
3-vaihesiltaohjain estää oikosulut.

B-luokassa toimiva analogiapääte ei oikeastaan lämpiä. Toki on olemassa pieniä D-luokan vaffimoduleitakin mitä voisi käyttää. Aliexpressiä vain kahlaamaan :)
Itse pistäisin TDA2040 piirit koska niitä on kaapissa. Ei ne yksinään lämpiä.
 
3-vaihesiltaohjainta etsiessä huomasin yhden toteutuksen kuudella PWM:llä ohjauksesta. Tuo ei ollut ihan oma ajatus ja käytännössä parempi tehdä jonkun ajurin kanssa kuin itse pohtia omaa viritystä enempää. DRV8318 speksien puolesta sopisi myös 12 V jännitteellä käytettäväksi & kiintolevyn moottorin ohjaimeksi. Sen perään jos laittaa LC alipäästön, niin saisi mahdollisesti tulevat kanttiaallot suodatettua pois!

Myös Partco:ssa näkyi olevan TDA2030 tai TDA2050 + monta muuta saman sarjan vahvistinta. Pienemmästäkin saa max 3,5 A ulos eli reserviä on tehon suhteen. Kun on signaalin voi invertoida inputissa, niin 8 Ohmin kuormaan saa kahdella päätevahvistimella saman kuin yhdellä 4 ohm kuormaan. Jos tarvii pientä vahvistinta, niin noissa olisi valinnan varaa :)
 
Joo, kyllähän noita itsekin on suunnitellut ja joitain on tehty 6:lla PWM-ohjauksellakin, mutta sanotaa, että muutamia satoja tunteja saat varata säätöön :) Ja suodattelusta, jos aiot suodatella LC:llä reilusti, voi tulla ongelmia. Kun noita moottoreita on helpompi virralla ohjata, ei jännitteellä. Tosin, tuollaisessa kevyessä ja hitaassa harrastelija tussaroinnissa sekin voi onnistua, ei todellisessa käytössä. Käämin induktanssi hoitaa sen virran suodatuksen. Virran rippeli on aivan muuta kuin jännite siellä käämin päässä. Ja toisaalta, jännitettä pitää olla, että virta saadaan kulkemaan nopeasti ja virran suunta muuttumaan.
 
Back
Ylös