Laite- Ja Järjestelmäsuunnittelu kevät 2009

Omia projekteja, ideoita, kysymyksiä, rakentelua.

Laite- Ja Järjestelmäsuunnittelu kevät 2009

Postby masa~ » Wed 08 Apr 2009, 01:58

Keräilen tähän threadiin otsikon mukaisen kurssin harjoitustyön värkkäyksen vaiheita omalta osaltani.

Kurssin harjoitustyönä on tehdä taajuusmuuttaja, jonka pitää pystyä ajamaan maksimissaan 10 kW:n kolmivaihemoottoria.
Itse olen osana säätötiimiä, jonka tehtävänä on toteuttaa laitteen äly eli ohjelmisto. Laite rakentuu TI:n TMS320F28335 DSP:n ympärille, mutta alkuvaiheen softakehityksen hoidan omalla kohdallani AVR:llä, koska ne ovat entuudestaan tuttuja ja niille minulla on kaikki tarvittava ohjelmointilaitteista ja kääntäjistä lähtien valmiina.
Sähkö on sinistä ja sattuu.
Aika ei haise.
User avatar
masa~
Site Admin
 
Posts: 33
Joined: Mon 13 Dec 2004, 00:14
Location: Lappeenranta, välillä Aura

Softan protoilua 2009-04-07

Postby masa~ » Wed 08 Apr 2009, 01:59

Seuraavassa jutustelua/avautumista softan kehityksestä, joka tapahtuu AVR:illä:

Ensin höpöttelyä testivirityksestä
Käytössä olevassa protoiluvirityksessä on ATmega32 (jollainen löytyi hyllystä lojumassa DIP koteloisena), jossa pyörii valikot, LCD-printtailut, USART PC:lle, sekä ainakin toistaiseksi myös PWM:n arvojen osittainen laskenta, eli siinä lasketaan mm. taajuusrampin mukaan 1) lähtöjännitetaso täydestä jännitteestä (taso/255) ja 2) lähtötaajuus ja sitä vastaava sinitaulukon indeksin inkrementti sekä 3) PWM-taajuus mikäli sitä halutaan muuttaa. Nämä arvot sitten lähetellään ATtiny861:lle joka lykkää PWM:ää ulos.

Protoviritys:
Image
Image

ATtiny on vermeessä siksi, koska mistään megoista ei löydy invertoituja PWM-lähtöjä, puhumattakaan dead-timesta. Ainoastaan AT90PWM* sarjassa on oikein PSC:t eli Power Stage Controllerit (ja tais olla jossain ATmega32M1:ssäkin), mutta moisia lastuja ei mulla ole tällä hetkellä. Jostain ihmeen syystä tiny261/461/861 mallissa on kolmekin PWM-kanavaa joissa on ei-invertoidut ja invertoidut lähdöt sekä dead-time :?:

Tuon tinyn kanssa on ollut tuskailua ja hajoilua enemmältikin, kun siinä ei ole oikeaa SPI:tä vain ainoastaan USI (Universal Serial Interface), joka on ihan *rseesta. Meni hitosti aikaa ja hermoja että sain datan ehjänä läpi megalta tinylle. Vertailukohtana ATmega8 jolla luin samaa SPI-linjaa mega32:lta, se on toiminut koko ajan täysin ongelmitta ja helposti ja nopeasti ja data on ollut aina ehjää...

Tuosta kahden kontrollerin yhteiskäytöstä kuvatulla tavalla on se kiva sivuvaikutus, että kun mega32 juttelee uusia arvoja tinylle, alkaa tinyn PWM-lähtö oksennella, kun USI:n keskeytys syö suoritusaikaa PWM timerin overflow keskeytykseltä ja sen jälkeiseltä pääluupissa uusien arvojen laskennalta, jossa PWM:lle pitäisi saada uudet vertailuarvot seuraavaa PWM-jaksoa varten. Olisi tarkoitus koittaa siirtää nuo laskennat megalta tinylle, mutta siinä on se kiva juttu että 1) asitten ei mega tiedä nykytilanteesta mitään ellei tiny juttele sille takaisin ja 2) tiny sarjassa ei tietystikään ole hw multiplieria, joten tuo laskenta voi olla sille liian raskasta suoritettavaksi PWM-jaksojen tahdissa... (hw divideria ei ole megassakaan.. :<)

Melkein asiaan
Tänään kävin toisen kerran kokeilemassa tämänhetkistä hyvin keskeneräistä softaa, joka kuitenkin lykkää PWM:ää ulos abaut niin kuin pitääkin.

Kaksi yläpuolen (eli ei-invertoitua) PWM-lähtöä/-kanavaa suodatettuna 4k7 vastuksella ja 1µF elkolla maata vasten:
Image

Ensin oli softassa eräs laskenta reisillään, mutta sen kun korjasin niin sain duty cyclet kohdilleen.
Sitten päästäänkin seuraavaan suureen ongelmaan, joka on protovermeeni fettisillan yläpuolen hilaohjaimet. Ne ovat kiltisti sanottuna perseestä. Käyttämäni optoerottimet ovat julmetun hitaita ja huonoja. Jos pienennän syöttöpuolen etuvastusta niin lähdön taso alkaa hiukan nousta paremmalle tasolle, mutta sitten sammutuksessa tulee takkiin ja sammuminen kestää luvattoman kauan ja tinyn dead-time maksimissaan ei enää riitä. (se on 8 MHz CPU kellolla n. 15µs luokkaa maksimissaan). Alapuolen fettejä ohjaan suoraan tinyn lähdöillä, ja niissä signaali on oikein kivan näköistä.

Hilaohjaussignaaleita hilaohjaimia säätäessä:
Image
Image

Fettisilta on kiireessä protoilukäyttöön tekemäni, jossa on 6 kpl 60V 20A speksattuja fettejä joita on elkolla hyllyssä iso kela (onneksi!), koska niitä tuppaa hiukan kärähtelemään :p

Fettisilta:
Image
Image

Huonosta hilajännitteestä, pitkästä sammumisajasta, kuun asennosta yms. johtuen yläpuolen fetit kuumenevat oikein iloisesti. Olen ajellut fettisiltaa n. 25-30V jännitteellä ja käyttämästäni powerista irtoaa tarran mukaan 2A virtaa. Virtarajoitin/jännite tapissa ajoyritykset ovat luokkaa max. 10 sekuntia per kerta, sen jälkeen on heitettävä virtarajoitin nollaan ja jäähdyteltävä fettejä :D
Alimmaiset eivät lämpene merkittävästi, niitä kestää kosketella eivätkä yleensä ole edes kuumia, mutta ylimmäiset alkavat polttaa jo piirilevyn läpikin :)

Fettisillan jäähdytys on hoidettu kohtuu manuaalisesti:
Hyllystä löytyi sopiva alumiinikiekko, sen päälle märkä paperi, sen päälle fettisilta ylösalaisin ja ronskisti brute forcea meisselin kahvalla painamalla :)

Jäähdytysratkaisu:
Image

Lämpöä syntyy, kun muutaman sekunnin jälkeen yläpuolen fetit alkavat hohkata lämpöä piirilevyn läpikin meisseliä painavaan käteen, ja käytössä on kuitenkin "vesijäähdytys" :p
Kerran kuului *prits* *präts* ja yksi fetti sylki sisuksensa ulos. No se vaihdettiin. Jonkin kertaa ajeltuani kuului pieni ritinä ja pyöriminen lakkasi. ERäs toinen fetti oli "hivenen" lämmennyt, kun oli tinatkin sulanut. No sekin vaihtoon.

Lopulta sain ajeltua rinkulaa sen verran että sain siitä videopätkän:
Rinkula pyörii!

Siinä on vaan huono framerate (kännykkäkamera) ja rinkula näyttää lähinnä olevan paikallaan...

Päivän saldo: Lopulta sain alumiinirinkulan pyörimään varsin kivasti. Kaksi yläpuolen feteistä joutui uhrautumaan tämän saavutuksen nimissä. Levätköön rauhassa.
Softassa oli/on "pieni" bugi, joka ylivuotaa jänniteohjeen 25Hz:n jälkeen, ja kun "korjasin" tuon bugin typecastaamalla, hajosi taajuusinkrementti. En tiedä oliko netbookilla asennettuna oleva kääntäjä syypää vai missä meni metsään, kun mokoma ei enää toiminut vaikka poistin korjaukset. Pitää nyt testailla pääkoneella käännetyllä softalla joka ainakin vielä eilen toimi...


Tämän päivän kuvasaldoa ja video löytyvät täältä:
http://jumi.lut.fi/~maruohon/lisatila/lutdrive/2009-04-07_toinen_testailu/

-masa
Sähkö on sinistä ja sattuu.
Aika ei haise.
User avatar
masa~
Site Admin
 
Posts: 33
Joined: Mon 13 Dec 2004, 00:14
Location: Lappeenranta, välillä Aura


Return to Elektroniikka

Who is online

Users browsing this forum: No registered users and 1 guest

cron