Simulaattorien ohjaimet, force feedback ja ohjainvoimat

<< < (17/27) > >>

cos:
Quote

Käyttääkö plugin XPUIPC:tä, vai käsitteletkö XPlanen muuttujien arvoja suoraan?

Se on suora X-Plane plugin ilman XPUIPC:tä. Koodi on kuitenkin hyvin yksinkertainen joten muulle en koe olevan tarvetta.

Quote

Vastaako tämä sitä heittämääni ajatusta siitä, että Jarin kytkennän DACit korvattaisiin servo-ohjatuilla nopareilla? Vai onko tämä hieman erilainen ratkaisu?


Softamiehenä mulla menee suuri osa elektroniikka-asiasta yli hilseen, mutta kuulostaa siltä. Nopareiden ohjaus tapahtuisi tosin tylysti PC:llä jolloin vaarana on viiveen syntyminen.

Transisto:
Kaupallisella puolella force-moottoreita valmistaa alla oleva firma:
http://www.kollmorgen.com/en-us/home/home/
http://www.kollmorgen.com/uploadedfiles/Files/Document/200603280857270.ServoDisc_Catalog.pdf

tigert:
Eikös sen noparin jarrun voi vaan ottaa huomioon ohjatessa ettei aja just sillä kohtaa "liikerataa"? Eli ei aja sitä servo-ohjausta koskaan sen jarrun alueella? Onhan niissä kuitenkin ihan normi säädettävä nopeus pakillekin kun vaan skippaa sen jarrun kohdan, eli ei se välttämättä ole käyttökelvoton idea. Pitäisi nähdä moisten härveleiden vastekäyrät tms moottorin tehona ja tutkia.

Siivekkeissä tuo tietty on symmetriasta tarkempi, kun korkeusperäsimessä mikä on kuitenkin jäykempi vetää kuin työntää, siinä ei vällttämättä ole hirveän iso ongelma jos toiseen suuntaan force on eri vahvuinen. Ja voihan sitä koodilla kompensoidakin tarvittaessa..

Toisessa ajatuskulussa tässä keskustelussa mietin sitä servolla ohjausta siksi että osaan SIOC-koodia tehdä ja sillä pääsee simun muuttujiin kiinni. SIOCilla taas voi helposti ohjata servoa, kuten myös tuota (liian heikoksi todettua) dc-moottoriakin. Steppereitä myös, mutta en tiedä olisiko niistä ollenkaan tämmöiseen hommaan. Itse USB-mokkulan force-feedback-ajurin koodaus taasen jäisi multa tekemättä

Tosin veikkaan että oma ajuri olisi loppujen lopuksi paras, sioc ja fsuipc saattaa olla vain liian hidasta, se kun ajetaan fsuipc-pollauksen tahdissa jos oikein olen ymmärtänyt. Voisikohan tuota tehdä jotenkin niin, että sen perusajurin koodaisi c:llä tms ja tekisi sen forcen mallinnuksen jollain, mitä olisi "maallikonkin" helpompi tunkata? Olisikohan tuollaiseen mallinnuksen tekoon peräti olemassa jotain hyvin soveltuvaa skriptikieltä millä sen voisi toteuttaa sen ajurin kylkeen? Vai onko idea ihan järjetön?

//T

Esko:
Tässä vähän lisää aiheesta...



http://dl.dropbox.com/u/38815422/1.jpg

http://dl.dropbox.com/u/38815422/2.jpg

http://dl.dropbox.com/u/38815422/3.jpg

http://dl.dropbox.com/u/38815422/4.jpg

http://dl.dropbox.com/u/38815422/5.jpg

smä:
Quote

Nopareiden ohjaus tapahtuisi tosin tylysti PC:llä jolloin vaarana on viiveen syntyminen.


Jos oikein ymmärrän, niin Jarin kytkennässä myös DACit ohjattaisiin PC:llä. Ilmanopeuden mukaan muutettaisiin ulostulevaa jännitettä symmetrisesti, niin että toinen antaa positiviista ja toinen negatiivista. Trimmi toteutettaisiin tekemällä jännitteestä epäsymmetrinen. Trimmi ja ilmanopeus muuttuvat varmaan sen verran hitaasti, että viiveestä ei ehkä olisi vaaraa? Käsittääkseni kytkennässä varsinainen progressiivinen keskitysvoima tulisi suoraan siitä, että sauva kääntää potikkaa joka lisää DACeilta tulevien jännitteiden eroa ja siten syntyvää H-sillan ohjausjännitettä. PC:n ei tarvitsisi siis pysyä mukana sauvan liikkeissä ollenkaan, vaan tarkkailla pelkästään ilmanopeutta ja trimmiä.

Yritän tähän keräillä tiivistelmää  ratkaisumahdollisuuksista ja mahdollisista ongelmista, joita Jarin esittämän kytkennän ympärillä on tässä noussut esiin.  Siitä sitten vaan korjaamaan ja täydentämään. Muistutan, että ymmärrykseni elektroniikasta on hyvin pintapuolista, joten tässä voi esiintyä karkeita väärinymmärryksiä. Tarkoitus on tässä herätellä osaavampia ottamaan kantaa, niin että saataisiin aikaiseksi tällaiselle aloittelijallekin sopivat ohjeet, joiden perusteella uskaltautuisi jotain yrittämään.

Jotta voitaisiin käyttää varmasti tarpeeksi tehokasta moottoria, olisi kai järkevä käyttää vaikkapa Tuomaksen linkkaamaa moottorinohjauskorttia: http://www.robotshop.com/eu/devantech-md03-50v-20a-h-bridge-driver-6.html
Jos osaan tulkita ohjeita http://www.robot-electronics.co.uk/htm/md03tech.htm oikein, niin tätä korttia ohjattaisiin jännitealueella 0V...5V, jossa 2.5V olisi pysähtynyt moottori, 0V täysi voima "taakse" ja 5V täysi voima "eteen".
Moottorille annettava virta tulee sitten omasta lähteestään, kortin maksimi on 24V 20A. Tässä suhteessa kortista taisi olla muitakin versioita tarjolla.

Moottoriin liittyviä kysymyksiä

- Kuinka tehokas moottori olisi riittävä? Pitäisi saada selville todellisten ohjainvoimien suuruusluokka.
- Onko moottereissa rakenteellisia ratkaisuja, joita pitäisi suosia tai välttää?
- Pyrittäisiinkö ohjain kiinnittämään aina suoraan moottorin akselille, vai käytettäisiinkö aina vipuja, ketjuja, hihnoja tms. Onko näistä joku ratkaisu käytännön kannalta toista helpompi?
- Linkkejä sopiviin tuotteisiin?
- Mikä moottorille virtalähteeksi? PC:n 1000W poweri vai jotain järeämpää?
- Epäiltiin, että moottori joka ei pääse liikkumaan voisi poksahtaa?

Ohjainkortille tuleva ohjausvirta synnytettäisiin kahden PC -ohjatun jännitelähteen kombinaationa, jota säätelee sauvan liikettä seuraava potikka. Jos oikein olen ymmärtänyt, niin Jarin ehdottamalla tavalla kytketty potikka antaisi ohjausjännitteeksi kahden jännitelähteen painotetun keskiarvon, jossa potikan asento määrää painokertoimet. Jos toinen jännite olisi 0V ja toinen 5V, ja sauva eli potikka keskellä, olisi ohjausvirta 0.5*0V+0.5*5V=2.5V eli moottori ei yrittäisi liikuttaa sauvaa. Jos sauvaa olisi liikutettu 20% potikan arvoon, niin ohjausvirta olisi 0.2*0V+0.8*5V=4.5V eli moottori käyttäisi jonkun verran voimaa. Jos jännitelähteistä potikkaan johdettujen jännitteiden keskiarvo on jotain muuta kuin 2.5V niin sauva keskittyy vastaavasti potikan johonkin muuhun kuin 50% kohtaan, eli tällä epäsymmetrialla voitaisiin mallintaa trimmi. Maksimivoima sauvan ääripäissä tulisi säädettyä sillä, kuinka kaukana keskiarvosta lähteiden jännitteet ovat: jännitteillä 2V ja 3V syntyisi pienempi voima kuin jänniteparilla 1V ja 4V.

Kysymyksiä potikasta:
-Millainen tämä voisi olla. Linkkejä sopiviin tuotteisiin?

Jarin ehdotuksen mukaan käytettäisiin ohjausjännitteen luomiseen kahta DACia, esim tässä kortissa http://www.electronic-software-shop.com/lng/en/usb-dac-two-outputs-12-bit-4095-v.html olisi kaksi sellaista mukana. Hyvä puoli olisi varmasti lähes rajaton ohjelmoitavuus, voisi varmaan suht helposti tehdä graafisen käyttöliittymän parametrien säätöön. Tämä on ehkä samalla myös miinuspuoli, eli ohjelmointi teettäisi jonkun verran töitä (riippuu tietty keltä kysyy...). Ilmeisesti tämä vaatisi mahdollisesti lisäksi vahvistimen, jotta täyden säätöjänniteskaalan voisi kattaa. Voisitko Jari kertoa tästä vähän lisää, miten tämä pitäisi käytännössä tehdä?

On pähkäilty myös Opencockpits korttien mahdollista käyttöä tässä yhteydessä. DC motors-kortissa http://www.opencockpits.com/catalog/motors-card-p-50.html?cPath=21_34 on 6 DACia ja suurin jännite on 36V. Kortti maksaa 41 euroa eli vähän enemmän kuin tuo edellinen vaihtoehto jossa DACeja on kaksi kappaletta. Suoraviivaisesti ajattelisin, että jos tähän korttiin kytkee 5V virtalähteen, niin tässä saisi edullisesti DACit kolmelle ohjainakselille. Mutta onko asia todella näin yksinkertainen? Lisäksi Tuomas epäili, että Jarin kytkentää ei voisi näillä ohjata, mutta tähän ei tainnut oikein vielä tulla selvyyttä? Jos ohjaaminen muuten onnistuu, ohjelmointi on SIOCilla helppoa, joskaan ihan kaikkea sellaista ei voine tehdä kuin mihin vaikka C++:lla päästäisiin käsiksi.

Sitten mietittiin RC -vehkeiden moottoreille tehtyjä nopeussäätimiä käyttää tässä yhteydessä hyväksi. Heitin ajatuksen ilmaan kun mietin riittävän tehon aikaansaamista ja siinä jännitteen ohjaamista. Kun löytyi tuo edellämainittu moottorinohjain, niin ilmeisesti nopareiden tutkiminen osoittautuu aika tarpeettomaksi?

Ilmeisesti DACien tilalla olisi mahdollista käyttää myös potikoita, joita sitten servoilla käänneltäisiin? Siinä tapauksessa voisi käyttää Opencockpits servokorttia http://www.opencockpits.com/catalog/servo-motors-card-p-42.html?cPath=21_32 jolla sitten servoja ohjattaisiin SIOCin kautta. Intuitio sanoisi, että tämän systeemin kalibrointi oikeisiin jännitteisiin voisi olla vaivalloista? Toisaalta jos sopivia potikoita ja servoja olisi jo laatikonpohjalla olemassa, niin tämä voisi olla kustannustehokas vaihtoehto, kun kortti maksaa vain 25 euroa ja sillä ohjaisi kuutta servoa.

Olisiko jännitteen ohjaamiseen vielä muita vaihtoehtoja?   





Navigation

Up one level

Next page

Previous page