Myös korttimaksu toimii

DIY AC-Servo ajuri...

Aloittaja jyrki.j.koivisto, 23.10.10 - klo:17:53

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

Peruna

Lainaus käyttäjältä: jyrki.j.koivisto - 13.11.10 - klo:17:37
Tuota, tuota... nimenomaan ylivirtasuojana tuo tuleekin toimimaan, en ehkä ole oikein kunnolla onnistunut suunnitelmiani kuvailemaan. Varsinainen virranmittaus tehdään tietenkin pic:in analogiamuuntimella, mutta jos halutaan tarpeeksi nopeaa ylivirtasuojaa tulee se toteuttaa hardistasolla kuten tuossa tynkäisessä schemassani.
Jaa, no se kuulostaa paljon järkevämmältä. Suunnitelman kuvaamista helpottaa kun piirtää ne puuttuvat vedot siihen :) Vaan miksi semmoisen rajan tarvitsee olla ohjelmallisesti muutettava? Pistää vaan kiinteän tarpeeksi suuren rajan niin säästää pari i/o-pinniä.
Lainaa

Virtaa ei tarvitse mitata jokaisesta jalasta, hommaan riittää 2 sensoria (yhdelläkin pärjää, mutta silloin pitää mitata välivirtapiirissä kiertävä virta tiettynä ajanhetkenä joka on rippuvainen sillan tiloista) Kolmivaihevirtojen summa kun on tasan nolla, niin kolmas vaihe voidaan laskea yhteen ja vähennyslaskulla näistä kahdesta muusta, näin säästetään yksi analogiatulo ja yhden vaiheen virranmittauksessa käytetyt komponentit.

Juu, mutta jos ei ajattele hienompaa matematiikkaa, niin tuosta kun pistää ensimmäisestä haarasta ylemmän transistorin päälle ja toisesta alemman ja siihen väliin oikosulun (esim. kaapelivaurio), niin kumpikaan noista FAULT-lähdöistä ei ilmoita mitään.

awallin


löytyi tällainen blogi: http://scolton.blogspot.com/

siellä on oma sivu moottoriohjaimille:
http://scolton.blogspot.com/p/motor-controllers.html

ja tarkemmin katsottuna sieltä tällainen paperi:
http://web.mit.edu/scolton/www/3phduo.pdf

tuskin mitään maailmaa mullistavaa tietoa, mutta ainakin kaveri näyttää rakentaneensa useamman prototyypin joten luultavasti hieman tietää mistä kirjoittelee... :)

jyrki.j.koivisto

#32
Hyviä vinkkejä ja linkkejä awallinilta, kiitoksia!

Kuriiri toi vihdoin 10 kappaletta noita virtasensoreja (ACS710KLATR-12CB-T) lukeepi Digi-Key:n tarrassa. Muuntajia laskeskelin PI Expert ohjelmalla ja mitä nyt tuloksista ymmärsin niin muuntajaydin on riittävän kokoinen, kelarungossakin riittää pinnit (3xupper, 1xlower ja käyttöjännitteet + syöttö). Enää puuttuu polyeteeniteippi ja sopivat langat... Lakatut käämilangat saa Vaasan elektroniikkakeskuksesta, mutta teippi on vielä hakusessa. 3M teippi #56 on tähän tarkotukseen tehty, mutta ei ole vielä kotimaassa tullut vastaan. Riittäisköhän tuohon tavallinen polyeteeniteippi? Höyrynsulkumuovit teipataan polyeteenillä...  ::)

Tuossa awallinin linkkivinkissä käytettiin 2W dc/dc muuntajaa (dcp02), olisipa tuon tiennyt aiemmin...  ;D Eipä kannatapäätä vaivata omalla muuntimella kun tuosta saisi sopivat... Digi-keyltä 10 taalaa kappale, elikkästä 30 taalaa per ajuri. plus miinus nolla, mutta helpommalla pääsisi.

Pitänee nyt alkaa lyödä lukkoon komponentteja jotta voi palikat mitoittaa keskenään, lähinnä käytettävä IGBT silta jotta muuntajan tarkka tehontarve saadaan selvitettyä ettei nyt alimitota hilajen virtoja, samalla pitää päättää millä niitä ajaa.

Picissä on pahasti pinnit lopussa, ainakin tuolta AD puolelta, mutta jos koittaa tuolla,  Picin vaihto kun on triviaalia verrattuna muihin komponentteihin.

viilari

Muuntajien teippauksina olen joskus nähnyt käytetyn putkiteippiä,sitä valkoista,ohutta ja liimatonta teflonnauhaa.

jyrki.j.koivisto

 :D Tuo kävi itelläkin mielessä, mutta kun en pahemmin ole muuntajien kanssa touhunnut muutakuin teoriatasolla en tuota kehdannut ääneen sanoa! Jos välikerrokset tekisi tuolla ja päälle paksumpi polyeteeniteippi.

Kremmen

Lainaus käyttäjältä: jyrki.j.koivisto - 22.11.10 - klo:19:39
:D Tuo kävi itelläkin mielessä, mutta kun en pahemmin ole muuntajien kanssa touhunnut muutakuin teoriatasolla en tuota kehdannut ääneen sanoa! Jos välikerrokset tekisi tuolla ja päälle paksumpi polyeteeniteippi.
Hätä tietysti keinot keksii, mutta olisko kunnon muuntajateippi kumminkin jotain. Saattaa tuo putkiteippi toimia hyvin, mutta pikkasen arveluttaisi sen mekaaninen kestävyys.
Tuolla: http://www.spulen.com/shop/index.php?language=en on Mentingin verkkokauppa. Siellä myydään kaikennäköistä muuntajarompetta, teippejä löytyy tuolta: http://www.spulen.com/shop/index.php?cPath=73_66.
Nothing sings like a kilovolt
Dr W. Bishop

jyrki.j.koivisto

Juu, pitänee koittaa tehdä tämä oikein tai ainakin oikeista tarvikkeista, kun ei into tai taito nyt vaan loppuisi kesken  ::)

jyrki.j.koivisto

No nyt kuriiri toi 3 kappaletta Fairchildin FSBF15CH60BTL fiksua IGBT tehoastetta ja projektiinkin on käytetty jo ihan kivasti rahnaa...  :)

Projekti näyttää nyt sitten melko lailla kopiolta Tero Kontkasen (Granite Device) aikanaan lanseeraamastaan omasta DIY servo ajurista... pitänee koittaa tehdä omasta hiukan erilainen, koska eipä tuo toisen työn suora kopiointi olisi reilua.

- Oma vermes tulisi ottamaan nyt tällä hetkellä suoraan verkkovirtaa (1 vaihe, 100-265 volttia)
- tasasuuntaus ja kondensaattorit ajurissa itsessään
- hakkurivirtalähde TinySwitch piirillä toteutettuna (+15-20v käyttöjännite IGBT sillalle josta tehdään +5v prossulle ja lisäksi erillinen käyttöjännite ehkäpä enkooderille)
- virranmittaus kolmella hall-virtasensorilla ja sopivasti mitotetulla anturin omalla alipäästösuotimella toteutettuna + ehkäpä ohjelmallinen keskiarvoistus jollain aikavälillä. (Teron projektissa nämä oli muistaakseni hylätty koska saatu signaali oli turhan roskaista sen aikaisilla piireillä)  3 anturia pitäisi antaa tarkemmat mittaustulokset jos nyt moottorin vaiheiden käämityksissä olisi jotain ongelmia/epäsuhtaa/vuotovirtoja
- ylivirtasuoja hall-anturilla ja erikseenohjelmoitavalla virtarajalla. Toteutus digitaalisella potikalla SPI-väylässä
-erillinen monikanavainen >= 12bitin AD muunnin SPI väylällä joka mittaa virtoja ja jännitteitä (joku Maximin piiri?)
-Differentiaali linjaisten enkooderien tuki
-prossuna joku Microchipin dspic

tero

Lainaus käyttäjältä: jyrki.j.koivisto - 31.12.10 - klo:20:39
No nyt kuriiri toi 3 kappaletta Fairchildin FSBF15CH60BTL fiksua IGBT tehoastetta ja projektiinkin on käytetty jo ihan kivasti rahnaa...  :)

Projekti näyttää nyt sitten melko lailla kopiolta Tero Kontkasen (Granite Device) aikanaan lanseeraamastaan omasta DIY servo ajurista... pitänee koittaa tehdä omasta hiukan erilainen, koska eipä tuo toisen työn suora kopiointi olisi reilua.

- Oma vermes tulisi ottamaan nyt tällä hetkellä suoraan verkkovirtaa (1 vaihe, 100-265 volttia)
- tasasuuntaus ja kondensaattorit ajurissa itsessään
- hakkurivirtalähde TinySwitch piirillä toteutettuna (+15-20v käyttöjännite IGBT sillalle josta tehdään +5v prossulle ja lisäksi erillinen käyttöjännite ehkäpä enkooderille)
- virranmittaus kolmella hall-virtasensorilla ja sopivasti mitotetulla anturin omalla alipäästösuotimella toteutettuna + ehkäpä ohjelmallinen keskiarvoistus jollain aikavälillä. (Teron projektissa nämä oli muistaakseni hylätty koska saatu signaali oli turhan roskaista sen aikaisilla piireillä)  3 anturia pitäisi antaa tarkemmat mittaustulokset jos nyt moottorin vaiheiden käämityksissä olisi jotain ongelmia/epäsuhtaa/vuotovirtoja
- ylivirtasuoja hall-anturilla ja erikseenohjelmoitavalla virtarajalla. Toteutus digitaalisella potikalla SPI-väylässä
-erillinen monikanavainen >= 12bitin AD muunnin SPI väylällä joka mittaa virtoja ja jännitteitä (joku Maximin piiri?)
-Differentiaali linjaisten enkooderien tuki
-prossuna joku Microchipin dspic

Kiintoisa projekti! Itsellänikin on projektina suunnitella uusi ohjain, joka syö 230VAC ja käyttää tuota FSBB:tä tehoasteena.

Juu hall-anturien ulostulo on speksienkin mukaan melko kohinaista, mutta riittää jos ei halua lähteä hifistelemään. Prossun sisäinen 10 bit AD-muunnin riittää hyvin myöskin ja tarkemmasta ei ole paljoa iloa ainakaan hall-antuteiden kanssa.

Muistaakseni ihan ekan dsPIC+hall proton virranmittauskohina oli n 50-100 kertaa suurempi kuin nykyisessä VSD-E:ssä, eli kehitystä on tapahtunut :)
Granite Devices servo-ohjaimet ja moottorit - www.granitedevices.fi

jyrki.j.koivisto

Lainaus käyttäjältä: tero - 01.01.11 - klo:15:18
Kiintoisa projekti! Itsellänikin on projektina suunnitella uusi ohjain, joka syö 230VAC ja käyttää tuota FSBB:tä tehoasteena.

Juu hall-anturien ulostulo on speksienkin mukaan melko kohinaista, mutta riittää jos ei halua lähteä hifistelemään. Prossun sisäinen 10 bit AD-muunnin riittää hyvin myöskin ja tarkemmasta ei ole paljoa iloa ainakaan hall-antuteiden kanssa.

Muistaakseni ihan ekan dsPIC+hall proton virranmittauskohina oli n 50-100 kertaa suurempi kuin nykyisessä VSD-E:ssä, eli kehitystä on tapahtunut :)
Tässä kun olen tätä projektia koittanut pitää elossa niin en enää ihmettele miksei näitä DIY servo ajureita ole enempää, saattaa pian olla että olen ensimmäisiä tuon uuden hahmotteilla olevan Granite Devicen ajurin ostajia... Eikä tässä vaiheessa ole vielä edes koskettu ohjauksen koodiin.

koep

Kiva että joku muukin pohtii tätä ongelmaa.
Erityisesti lohduttaa että opin käynyt mies toteaa haasteen aikaavieväksi, itse kun olen pohtinut tätä jo pari vuotta kirjanpitäjä-pohjalta ja meidän matematiikassa kun ei ole kaikkia näitä vääntämisiä...

Liene oma vika kun olen vielä uskotellut itselleni että tahdon tehdä integroidun eli ajuri
pitäisi tulla suoraan moottorin perään?

Pari kolme kappaletta vielä ostaisi mutta entäs kun tarvii parikymmentä :P?

Olkoon voima kanssasi, seuraan mielenkiinnolla...

terv
Tapio

PekkaNF

En hirveesti ymmärrä näistä moottorinohjaimista, mutta toki tarinoita on viihdyttävää lukea.

Asiantuntemattomasta näyttää siltä, että suuri osa suunnittelu/kehitys energiasta menee siihen, että yritetään tehdä monimutkainen säädin näennäisesti yksinkertaiselle moottorille.

Eli koska monia suureita ei mitata, niin ne mitataan epäsuorasti tai arvataan matemaattisen mallin perusteella? Johtuuko tämä siitä, että halutaan käyttää yksinkertaista (halpaa?) moottoria vai siitä, että se nyt vaan on haastavaa?

Eikö vaihtovirtaservon (tai oikosulkumoottorin) roottorin asentoa todellakaan saa/voi/haluta mitata?
Pitääkö moottorin olla vakio? Voiko siinä olla muita mittauksia, joilla voidaan arvioida vuon kehittymistä?

PekkaNF

Kremmen

Lainaus käyttäjältä: PekkaNF - 09.02.11 - klo:12:39
En hirveesti ymmärrä näistä moottorinohjaimista, mutta toki tarinoita on viihdyttävää lukea.

Asiantuntemattomasta näyttää siltä, että suuri osa suunnittelu/kehitys energiasta menee siihen, että yritetään tehdä monimutkainen säädin näennäisesti yksinkertaiselle moottorille.

Eli koska monia suureita ei mitata, niin ne mitataan epäsuorasti tai arvataan matemaattisen mallin perusteella? Johtuuko tämä siitä, että halutaan käyttää yksinkertaista (halpaa?) moottoria vai siitä, että se nyt vaan on haastavaa?

Eikö vaihtovirtaservon (tai oikosulkumoottorin) roottorin asentoa todellakaan saa/voi/haluta mitata?
Pitääkö moottorin olla vakio? Voiko siinä olla muita mittauksia, joilla voidaan arvioida vuon kehittymistä?

PekkaNF
;D
Kyllä ainakin kaupalliset valmistajat varmaan haluaisivat tehdä juuri niin yksinkertaisen säätimen kuin ikinä pystyisivät. Se ei tietysti vaikuttaisi säätimen myyntihintaan, mutta jäisipä enemmän katetta tekijälle  :P
Jos ihan tosissaan puhutaan niin kaikki mittamuuntimet mitä moottoriin joudutaan asentamaan sen ohjaamiseksi tekevät sovellettavuudesta haastavamman. Sen takia edes karkeaa asennontunnistusta hall-antureilla ei aina käytetä kun on mahdollista tulla toimeen ilmankin. Täytyy muistaa, että mutkikkainkaan algoritmi ei maksa mitään toimittaa osana jotain ohjainta. Vain sen kehittäminen maksaa, joskus tietysti ihan huomattavia summia.
Harjattoman moottorin kauneus on juuri sen (siis moottorin) yksinkertaisuudessa. Kun se moottori joutuu olemaan keskellä äksöniä niin simppeliys, ronski toteutus ja paskankestokyky ovat kaikki arvokkaita ominaisuuksia. Servo-ohjain asustelee kuitenkin jossain siistissä laitekaapissa jossa ei ole tuollaisia tarpeita.
Onhan se totta, että moderni d-q vektoriohjaus siihen vaadittavine Park- ja inverse Park- muunnoksineen ei ole mitään lasten leikkiä ohjelmoida. Sitten kun se kerran on tehty, niin kopiointi käy helposti ilman lisäkustannuksia.
Minkä tahansa koneen roottorin asennon tietenkin saa/voi mitata ihan suoraviivaisesti. Yleensä ei vaan haluta koska riittävän hyvään lopputulokseen päästään muutenkin.
Vastaus lienee siis, että kaikki johtuu halusta käyttää yksinkertaista ja halpaa moottoria, koska ne on kaikki rakennettava yksitellen (mikä siis näkyy suoraan hinnassa).
Nothing sings like a kilovolt
Dr W. Bishop

PekkaNF

Ohoh...mulla on kauhee flunssa ja rään seasta sain kaivettua tollaisen ajatuksen joka ei tainnut ollakkaan kauhee iso valhe?

Siis päästäkseni asiaan: Ymmärrän teollisuudessa ja massamarkkinoille suunnattujen härpättimien logiikan tossa moottorin yksinkertaistamisessa (sellainen komponentti mitö ei ole ei voi mennä rikki eikä maksaa paljon), eikä heitä haittaa yhtään palkata koelaitokselle yhtä kaveria tuomaan kottikärryllä sulakkeita sekä kiviä, eikä intialaiset ohjelmoijatkaan hirveesti maksa (vaikka ensitöikseen lataavat läppärille ekan serverin sisältöö....) MUTTA: eikös harrastajalla ole hieman eri lähtökohta?

Yleensä se on suunnaton ilon aihe jos edes ekan proton saa toimimaan. Harvoin näitä sarjatuotantoon tehdään. Joskus helpompi ohjelmointi (tai sen välttäminen kokonaan) voi määrätä sen, että tuleeko siitä koskaan edes niin valmista että akseli pyörii.

Välillä tuntuu siltä että harrastuksissa simuloidaan teollisuutta (ja välillä päinvastoin).

Vaikeuksia pitää silmiä pallossa?

PekkaNF

Kremmen

Lainaus käyttäjältä: PekkaNF - 09.02.11 - klo:15:01
[...] MUTTA: eikös harrastajalla ole hieman eri lähtökohta?

Yleensä se on suunnaton ilon aihe jos edes ekan proton saa toimimaan. Harvoin näitä sarjatuotantoon tehdään. Joskus helpompi ohjelmointi (tai sen välttäminen kokonaan) voi määrätä sen, että tuleeko siitä koskaan edes niin valmista että akseli pyörii.

Välillä tuntuu siltä että harrastuksissa simuloidaan teollisuutta (ja välillä päinvastoin).

Vaikeuksia pitää silmiä pallossa?

PekkaNF
Purkaisko tätä vaikka tälleen:
Moottorissa voi säätää vain kahta asiaa: kierrosnopeutta ja momenttia, joskaan ei ihan toisistaan riippumatta.

Kaikki servot ja niihin verrattavat säätävät noita osana paikoitus- tai muuta säätölooppia. Yleisesti ketju menee asemansäätö -> nopeudensäätö -> momentinsäätö. Jokainen säätö voi olla oma PI(D)-looppinsa tai sitten jokin muu, kaikenlaista näkee sumeasta logiikasta tilasäätimeen. Nämä haasteet joudutaan kumminkin ratkaisemaan ihan riippumatta siitä, mikä sitä akselia pyörittää.

Perinteinen harjallinen tasavirtamoottori (siis se ainoa oikeasti tasavirtamoottori) on tosi harrastajaystävällinen. Nopeus on (melkein) suoraan verrannollinen napajännitteeseen ja momentti on (melkein) suoraan verrannollinen ankkurivirtaan. Molemmat suureet on hyvin helppo mitata suoraan moottorille menevästä piuhasta. Sitten jos tarvitaan parempaa tarkkuutta niin kehiin astuu takometrit ja pulssianturit joiden niidenkin soveltaminen on vielä helppoa. Eli nuo nopeuden- ja momentinsäätimet muodostavat tarvittavat ohjaussignaalit lähes suoraan säätimestä.

Jos sitten mietitään harjatonta "tasavirta"moottoria, niin eka tärkeä huomio on, ettei mikään noista ole oikeasti tasavirtamoottori. Olennainen pointti on, etteivät harjattomat koneet ole itsekommutoivia vaan kommutointi hoidetaan ulkoisella ohjauksella. Kommutointi siis meinaa sitä toimenpidettä jolla virta kulloinkin ohjataan "vuorossa olevalle" käämille ja jonka aidossa tasavirtakoneessa hoitaa mekaaninen harjasysteemi ilman mitään ulkoista apua. Kommutoinnin puuttuessa syöttölähde joutuu vaiheistamaan ja napaistamaan syötön käämitykselle jollain perusteella. Kristallipallon puuttuessa tuo peruste on jotenkin haettava sieltä koneelta itseltään. BLDC-koneissa joissa yleensä käytetään ns. trapetsijännitettä, eli kunkin vaiheen syöttöjännite on kanttiaaltoa, riittää kun tiedetään mikä/mitkä käämit ovat "hollilla" ja annetaan sinne potkua. Tuo hollilla olon selvitys on usein hoidettu niillä hall-antureilla joista saadaan tyypillisesti 60 asteen sektoritieto roottorin asemasta. Tämä riittää, että kommutointisekvenssi menee "oikein". Jos mitään antureita ei ole, pitää käynnistys suorittaa sokkona potkaisemalla vaan jotain johonkinpäin ja katsomalla mitä tapahtuu. Tällöin roottorin asemaa mitataan analysoimalla jännitettä siinä vaiheessa johon ei syötetty mitään. Kun koneen akseli pyörii riittävällä kulmanopeudella edes hetken, muodosttu sen verran vasta-EMV:tä, että jänniteestä voidaan päätellä roottorin asento riittävällä tarkkuudella. Sen jälkeen sanotaan koneen siirtyneen autokommutaatioon kun pyörimisnopeutta voidaan seurata vaihejännitteen mittauksella ilman muita apuja.
Eli tämä on se ehdoton minimi jota vähemmällä harjatonta konetta ei voi saada pyörimään oikein. Tietenkin on sallittua laittaa akselille vaikka kuinka tarkka pulssianturi, mutta se ei juuri paranna tätä lopputulosta.
Tuo ylläoleva siis riittää nopeuden mittaamiseen ja sillä saadaan nopeuden säätösilmukka suljettua. Valitettavasti tuo ei kuitenkaan auta yhtään momentin säätämisessä. Jotta sekin saadaan kuntoon, menee homma oikeasti vähän haasteellisemmaksi.
Nykyisin puhutaan paljon ns. vektorisäädöstä, jolla saadaan harjattomalle koneelle tai invertterille paras momenttiohjeen seuranta. Vektorit tässä ovat nuo aiemmin mainitsemani d- ja q- vektorit ja ne muodostetaan ns. Clarke- ja Park-muunnoksilla koneen vaihejännitteistä. Lyhyesti kysymys on siitä, että kolmesta ajan funktiona elävästä vaihejännitteestä muodostetaan aikainvariantti (ajan funktiona pyörimätön) referenssivektori d joka on sidottu roottorin todelliseen pyörimistahtiin, osoittaen aina roottorin magneettivuon hetkelliseen suuntaan. Tälle kaveriksi muodostetaan vektori q joka on d:hen nähden kvadratuurissa 90 astetta edellä. Momentin säätö kohdistuu näiden vektorien magnitudin säätöön, eli säädetään näitä koneen roottorin tilaa kuvaavia vektoreita. D ohjaa magneettivuota ja q momenttia. Takaisin näkyvään todellisuuteen ne saadaan käänteis-Park-muunnoksen avulla, joka tuottaa 3-vaihejännitteiden hetkelliset kuvaajat, jotka voidaan heittää 3-vaihesillan ajettaviksi koneelle.
Näin menetellen säätimen momenttilooppi ohjaa d- ja q-signaaleja ja servo-ohjaimen DSP hoitaa nuo muunnokset edes ja takaisin.
Ei se yksinkertaista ole, mutta toimii :) Harrastaja joka tuon meinaa tehdä paljon yksinkertaisemmin ei kyllä valitettavasti saa samantasoista lopputulosta.

Mitä tästä nyt sitten pitää päätellä? Jos haluaa päästä yksinkertaisilla vehkeillä niin pitäiskö vaan tehdä tasavirtakoneilla. Tai sitten tyytyä vähän vaatimattomampaan tasoon harjattomien ohjauksessa. Ei tuo vektorisäätö ainoa vaihtoehto ole, mutta muilla ei saa parempaa tulosta eikä niinkään hyvää.
P.S. Aihe kiinnostaa sen verran, että olen alkanut tekemään siihen liittyviä ohjelmoinnin sormiharjoituksia Atmelin uudella 32-bittisellä UC3-arkkitehtuurilla. Siihen on tulossa mukavan tehokkaan oloisia piirejä joissa on mm. liukulukuyksikkö, ja todella hyvä I/O näihin hommiin. Jahka saan pari muuta projektia pois alta niin tulee harjattoman ohjauksen vuoro. Perästä ehkä kuuluu.
Nothing sings like a kilovolt
Dr W. Bishop

Powered by EzPortal
SMF spam blocked by CleanTalk