• No results found

Blokov´e sch´ema ˇr´ıdic´ı jednotky

In document TECHNICK ´A UNIVERZITA V LIBERCI (Page 34-40)

Blokov´e sch´ema ˇr´ıdic´ı jednotky je na obr´azku 3.1. Kaˇzd´y z dvojice motor˚u (MOTOR A, MOTOR B) je nap´ajen vlastn´ım budiˇcem (Budiˇc A, Budiˇc B), kter´y je ˇr´ızen pˇr´ısluˇsn´ym MCU (SLAVE MCU A, SLAVE MCU B). ´Ukolem tˇechto MCU je generov´an´ı sekvenc´ı ˇr´ıdic´ıch pulz˚u pro vykon´an´ı poˇzadovan´ych zdvihov´ych funkc´ı obou pohon˚u. V pamˇeti MCU je uloˇzen program pro generov´an´ı pulz˚u i potˇrebn´a data. Program je u obou MCU stejn´y, data se liˇs´ı podle naprogramovan´ych pr˚ubˇeh˚u.

Cinnost SLAVE MCU je synchronizov´ana nadˇrazen´ˇ ym MASTER MCU, kter´y zajiˇst’uje ovl´ad´an´ı ˇr´ıdic´ı jednotky jako celku. ˇR´ıdic´ı jednotka se tedy skl´ad´a celkem ze tˇr´ı MCU a dalˇs´ıch podp˚urn´ych obvod˚u, z nichˇz nejv´yznamnˇejˇs´ı jsou dekod´ery polohy (DECODER A, DECODER B), kter´e zpracov´avaj´ı sign´aly z dvojice sn´ımaˇc˚u (IRC A, IRC B) a poskytuj´ı informaci o ´uhlu natoˇcen´ı motoru.

3.1.3 Odmˇeˇrov´an´ı polohy

Pˇrestoˇze navrˇzen´e ˇr´ızen´ı pohon˚u pracuje v otevˇren´e smyˇcce, je pro zaruˇcen´ı spolehliv´e funkce stroje nutn´e ovˇeˇrit skuteˇcnou polohu JT ve stanoven´em m´ıstˇe kaˇzd´e periody pra-covn´ıho cyklu. Pokud by byla poloha JT mimo vymezen´e p´asmo, znamen´a to chybu (napˇr.

zaseknut´ı) a nesm´ı b´yt spuˇstˇen dalˇs´ı pracovn´ı cyklus.

Jelikoˇz se z d˚uvodu nedostatku ˇcasu nepodaˇrilo uspokojivˇe vyˇreˇsit odmˇeˇrov´an´ı s vyuˇzit´ım informace o poloze ze sn´ımaˇce integrovan´eho v krokov´em motoru, je poloha kaˇzd´e JT mˇeˇrena pomoc´ı nez´avisl´eho sn´ımaˇce. Pro ´uˇcely v´yzkumu to nen´ı na z´avadu, pro nasazen´ı v s´eriov´e v´yrobˇe by se ovˇsem tento probl´em musel odstranit. Pˇredevˇs´ım kv˚uli cenˇe sn´ımaˇce, ale i z d˚uvodu problematick´eho um´ıstˇen´ı na stroji. I proto nen´ı sn´ım´an pˇr´ımo zdvih jeheln´ı tyˇce pomoc´ı line´arn´ıho sn´ımaˇce polohy, ale pouze natoˇcen´ı hˇr´ıdele motoru prostˇrednictv´ım IRC sn´ımaˇce.

Sn´ımaˇc polohy

Pouˇzit´ym typem sn´ımaˇce je LARM IRC305/5000KBD. Jedn´a se o sn´ımaˇc v pr˚umyslov´em proveden´ı, urˇcen´y prim´arnˇe pro pˇresn´e odmˇeˇrov´an´ı na CNC stroj´ıch. ´Upln´y popis je uveden v [5], z´akladn´ı vlastnosti sn´ımaˇce jsou:

• Rozliˇsen´ı 5000 pls/ot (0,072)

• Maxim´aln´ı ot´aˇcky 10 000 n/min, ´uhlov´e zrychlen´ı 40 000 rad/s2

• Moment setrvaˇcnosti rotuj´ıc´ıch ˇc´ast´ı 20 g·cm2

• Nap´ajen´ı 5V/100mA, diferenci´aln´ı logick´e v´ystupy – RS422/485

Sn´ımaˇc je k hˇr´ıdeli motoru pˇripojen pˇres vlnovcovou homokinetickou spojku, kter´a vy-rovn´av´a nesouosost hˇr´ıdel˚u.

Zpracov´an´ı sign´alu

Sign´aly z kaˇzd´eho IRC sn´ımaˇce jsou zpracov´av´any speci´aln´ım ˇc´ıslicov´ym obvodem HCTL2032 fy. Avago Technologies (dˇr´ıve Agilent), jehoˇz popis je uveden v [6]. Obvod integruje n´asleduj´ıc´ı funkce:

• Filtr logick´ych sign´al˚u - kombinace Schmittov´ych KO a ˇc´ıslicov´eho filtru

• Dekod´er smˇeru – na principu stavov´eho automatu, lze volit rozliˇsen´ı 1×, 2×, 4×

• Obousmˇern´y 32 bitov´y ˇc´ıtaˇc pulz˚u

• V´ystupn´ı 32 bitov´y latch a multiplexer pro ˇcten´ı dat po 8 bitov´e paraleln´ı sbˇernici Obvod prov´ad´ı synchronn´ı vzorkov´an´ı vstupn´ıch sign´al˚u frekvenc´ı 20 MHz, kter´a je odvozena od z´akladn´ı frekvence oscil´atoru ˇr´ıdic´ı jednotky 40 MHz. Vzorkovan´e hodnoty vstupuj´ı do ˇc´ıslicov´eho filtru, kter´y mˇen´ı v´ystupn´ı ´uroveˇn aˇz po tˇrech po sobˇe jdouc´ıch shodn´ych vstupn´ıch hodnot´ach. T´ım se odstran´ı pˇr´ıpadn´y ˇsum, zp˚usoben´y napˇr. zasta-ven´ım IRC sn´ımaˇce na rozmez´ı pulzu.

Filtrovan´e sign´aly jsou dek´odov´any pomoc´ı synchronn´ıho stavov´eho automatu s nasta-viteln´ym rozliˇsen´ım. Jelikoˇz je rozliˇsen´ı budiˇce motoru nastaveno na 10 000 krok˚u/ot a fyzick´e rozliˇsen´ı pouˇzit´eho IRC sn´ımaˇce je pouze 5 000 pls/ot, je rozliˇsen´ı dekod´er˚u DE-CODER A, DEDE-CODER B nastaveno na dvojn´asobn´e, tzn. ˇze je generov´an puls pro ˇc´ıtaˇc polohy pˇri n´abˇeˇzn´e i sestupn´e hranˇe sign´alu A. Tak se z´ısk´a jednotn´e rozliˇsen´ı 10 000 pls/ot, coˇz zjednoduˇs´ı vyhodnocov´an´ı polohov´e odchylky v MCU.

I kdyˇz je obvod HCTL2032 navrˇzen pro odmˇeˇrov´an´ı polohy ve dvou os´ach a tud´ıˇz by mohl jedin´y kus zpracov´avat sign´aly obou IRC sn´ımaˇc˚u, je pouˇzita dvojice tˇechto obvod˚u pro kaˇzd´y pohon zvl´aˇst’. D˚uvodem je v´ystupn´ı sbˇernice, kter´a je spoleˇcn´a obˇema os´am.

Pokud by nastal poˇzadavek na ˇcten´ı dat od obou SLAVE MCU souˇcasnˇe, musela by b´yt stanovena priorita a oba pohony by tak pˇrestaly b´yt zcela nez´avisl´e. S dvojic´ı obvod˚u toto nem˚uˇze nastat, naopak existuje moˇznost vyuˇz´ıt u kaˇzd´eho obvodu druhou osu pro nez´avisl´e sledov´an´ı polohy druh´eho pohonu, pˇr´ıpadnˇe polohy jin´eho mechanismu stroje, ˇc´ımˇz by se v jin´ych aplikac´ıch daly rozˇs´ıˇrit zp˚usoby vz´ajemn´e synchronizace pohon˚u.

Mˇeˇric´ı ´ustˇredna

Z´aznam skuteˇcn´ych pr˚ubˇeh˚u natoˇcen´ı motor˚u je proveden mˇeˇric´ı ´ustˇrednou HBM MGCPlus, vybavenou kartami ML60B, kter´e jsou urˇcen´e pro zpracov´an´ı sign´al˚u ze sn´ımaˇc˚u rotaˇcn´ıch veliˇcin, tj. ot´aˇcek a krout´ıc´ıho momentu. Podporovan´ym typem je mimo jin´e i IRC sn´ımaˇc.

Pˇri mˇeˇren´ı je pouˇzita maxim´aln´ı moˇzn´a vzorkovac´ı frekvence fs=19 200 Hz, rozliˇsen´ı

´

uhlu natoˇcen´ı je zv´yˇseno ze z´akladn´ıho rozliˇsen´ı sn´ımaˇce (5 000 pls/ot) na 20 000 pls/ot

nastaven´ım mˇeˇric´ı karty do reˇzimu dek´odov´an´ı smˇeru pˇri obou hran´ach sign´al˚u IRC ˇcidla.

Natoˇcen´ı je tedy mˇeˇreno s rozliˇsen´ım 0,018, coˇz je polovina velikosti kroku motoru.

Ustˇredna se k poˇc´ıtaˇci pˇripojuje pˇres standardn´ı rozhran´ı USB. Obsluˇzn´´ y software HBM Setup Assistent slouˇz´ı k nastaven´ı kan´al˚u, rozsah˚u mˇeˇric´ıch karet a z´aznamu dat.

V reˇzimu osciloskopu lze v t´emˇeˇr re´aln´em ˇcase sledovat pr˚ubˇehy mˇeˇren´ych veliˇcin. Zazna-men´avan´a data lze pro dalˇs´ı zpracov´an´ı exportovat do ASCII souboru.

3.1.4 Popis zapojen´ı

Sch´ema zapojen´ı elektroniky ˇr´ıdic´ı jednotky je uvedeno v pˇr´ıloze D1 Zapojen´ı odpov´ıd´a blokov´emu sch´ematu na obr´azku 3.1. Funkce nejd˚uleˇzitˇejˇs´ıch blok˚u byly pops´any v´yˇse, zde bude uveden popis dalˇs´ıch pomocn´ych obvod˚u a sign´al˚u pouˇzit´ych ke komunikaci blok˚u.

Rozhran´ı SLAVE MCU – budiˇc

Pro ovl´ad´an´ı budiˇce krokov´eho motoru se pouˇz´ıvaj´ı tˇri logick´e sign´aly:

• PLS – n´abˇeˇzn´a hrana znamen´a poˇzadavek na vykon´an´ı kroku, ˇs´ıˇrka pulzu mus´ı b´yt vˇetˇs´ı neˇz 1 µs. Pulzy generovan´e MCU maj´ı konstantn´ı ˇs´ıˇrku 1,4 µs, mˇen´ı se pouze jejich rozestupy.

• DIR – urˇcuje smˇer vykonan´eho kroku, log. 1 = CW, log. 0 = CCW. Tento sign´al mus´ı b´yt stabiln´ı v dobˇe n´abˇeˇzn´e hrany sign´alu PLS.

• C.OFF – vypnut´ı nap´ajen´ı vinut´ı motoru, umoˇzˇnuje ruˇcnˇe otoˇcit motorem bez nut-nosti celkov´eho vypnut´ı. Tento sign´al slouˇz´ı pouze pro seˇrizov´an´ı a je vyveden na tlaˇc´ıtko.

Rozhran´ı IRC sn´ımaˇc – dekod´er

V´ystupy IRC sn´ımaˇce jsou v proveden´ı diferenci´aln´ıho budiˇce linky, napˇet’ov´e ´urovnˇe od-pov´ıdaj´ı fyzick´e vrstvˇe rozhran´ı RS422/485. Pro pˇrevod do ´urovn´ı TTL/CMOS slouˇz´ı obvod IC10. V´ystupy sn´ımaˇce jsou standardn´ı pravo´uhl´e sign´aly f´azovˇe posunut´e o 90. Smˇer ot´aˇcen´ı je k´odov´an n´asledovnˇe:

• CW – sign´al A pˇredb´ıh´a pˇred B

• CCW – sign´al A je zpoˇzdˇen v˚uˇci B

1Sch´ema je rozdˇeleno na dva listy. Prvn´ı zobrazuje obvody MASTER MCU, druh´y SLAVE MCU.

Protoˇze jsou ˇc´asti A i B SLAVE MCU elektricky shodn´e, je uvedeno pouze sch´ema ˇc´asti A. Sch´ema v elektronick´e podobˇe je na pˇriloˇzen´em CD.

Rozhran´ı dekod´er – MCU

Mezi dekod´erem (IC11) a SLAVE MCU (IC12) prob´ıh´a komunikace v obou smˇerech. De-kod´ery bohuˇzel nemaj´ı implementov´ano ˇz´adn´e ze standardn´ıch s´eriov´ych rozhran´ı (I2C, SPI), tud´ıˇz komunikace prob´ıh´a celkem po dvan´acti sign´alech, osmi datov´ych a ˇctyˇr ˇr´ıdic´ıch:

• D0–D7 – 8 bitov´a datov´a sbˇernice, pˇr´ıstup k dat˚um je asynchronn´ı

• SEL1, SEL2 – sign´aly pro v´ybˇer byte, kter´y se bude ˇc´ıst

• OE – aktivace tˇr´ıstavov´eho v´ystupu datov´e sbˇernice

• RST – nulov´an´ı ˇc´ıtaˇce polohy

Poloha je mˇeˇrena absolutnˇe od doby proveden´ı resetu ˇc´ıtaˇce. ˇC´ıtaˇc m´a ˇs´ıˇrku 32 bit˚u, tj.

pˇres 4·109 pulz˚u. Poˇzadovan´e natoˇcen´ı motoru se pohybuje v r´amci ˇctvrtiny jedn´e ot´aˇcky pˇri rozliˇsen´ı 10 000 pls/ot, tud´ıˇz vyuˇzit´y rozsah ˇc´ıtaˇce je cca 2500 (pˇribliˇznˇe 12 bit˚u).

Pohyb je nav´ıc vratn´y, takˇze nen´ı tˇreba ˇreˇsit pˇreteˇcen´ı ˇc´ıtaˇce.

Rozhran´ı MASTER MCU – SLAVE MCU

Pro komunikaci mezi procesory jsou definov´any tyto sign´aly:

• RUN/HALT – sign´al generovan´y MASTER MCU, je spoleˇcn´ym vstupem obou SLAVE MCU. N´abˇeˇzn´a hrana spust´ı vykon´av´an´ı sekvence, sestupn´a zp˚usob´ı okamˇzit´e pozastaven´ı i bˇehem chodu pohonu. Tato vlastnost nen´ı v bˇeˇzn´em pro-vozu vyuˇz´ıv´ana, slouˇz´ı pro budouc´ı implementaci okamˇzit´eho TOTAL STOPu cel´eho stroje.

• SPEED 0–2 – 3-bitov´a informace v prost´em bin´arn´ım v´ahov´em k´odu o poˇzadovan´e rychlosti. Umoˇzˇnuje uloˇzit do pamˇeti kaˇzd´eho SLAVE MCU aˇz na 8 nez´avisl´ych pr˚ubˇeh˚u, mezi nimiˇz lze za chodu pˇrep´ınat. V uvaˇzovan´e aplikaci slouˇz´ı pro zmˇenu rychlosti v osmi kroc´ıch.

• READY A, READY B – v´ystupn´ı sign´aly SLAVE MCU oznamuj´ı stav, kdy SLAVE MCU ˇcek´a na nov´e spuˇstˇen´ı. To je po proveden´ı inicializace po zapnut´ı, nebo po

´

uspˇeˇsn´em dokonˇcen´ı pˇredchoz´ı spuˇstˇen´e sekvence pulz˚u.

Oscil´ator

Kromˇe popsan´ych blok˚u obsahuje zapojen´ı jeˇstˇe centr´aln´ı krystalov´y oscil´ator, kter´y ge-neruje jednotn´y hodinov´y sign´al pro vˇsechny tˇri procesory. D˚uvodem je nutnost pˇresnˇe dodrˇzet shodn´e ˇcasov´an´ı u obou SLAVE MCU. Ty sice maj´ı integrov´any vlastn´ı ob-vody krystalov´eho oscil´atoru, nelze je vˇsak nakonfigurovat tak, aby jeden z MCU pracoval

souˇcasnˇe jako zdroj hodinov´eho sign´alu pro zbyl´e dva. Maxim´aln´ı frekvence obvodu krys-talov´eho oscil´atoru MCU je omezena na 10 MHz, pˇriˇcemˇz pro dosaˇzen´ı pln´eho v´ykonu MCU ji lze vnitˇrnˇe vyn´asobit obvodem f´azov´eho z´avˇesu s pevnˇe dan´ym pomˇerem 4× na 40 MHz. Tato frekvence vˇsak jiˇz nen´ı pˇr´ıstupn´a na ˇz´adn´em v´yvodu a nelze ji tedy zav´est jako extern´ı hodinov´y sign´al do zbyl´ych MCU. Dekod´ery HCTL2032 pracuj´ı s maxim´aln´ı frekvenc´ı hodinov´eho sign´alu 33 MHz, tud´ıˇz je pro nˇe odvozeno niˇzˇs´ı taktov´an´ı 20 MHz vydˇelen´ım z´akladn´ı frekvence oscil´atoru obvodem IC2.

Ovl´ad´an´ı

Ovl´ad´an´ı cel´e ˇr´ıdic´ı jednotky je pro jednoduchost ˇreˇseno pouze nˇekolika tlaˇc´ıtky, in-dikaˇcn´ımi LED a sedmisegmentov´ym displejem pro zobrazen´ı nastaven´e rychlosti. Funkce tlaˇc´ıtek jsou:

• START/STOP – spust´ı nebo zastav´ı pohony

• RESET – provede RESET vˇsech MCU, po kter´em pohony provedou odmˇeˇren´ı sv´ych referenˇcn´ıch poloh a najet´ı do startovn´ıch poloh pracovn´ıho cyklu.

• SPEED UP, SPEED DOWN – volba rychlosti pohon˚u, kterou lze mˇenit v osmi kroc´ıch. ˇC´ıslo rychlosti je zobrazeno na displeji.

Programovac´ı rozhran´ı

K programov´an´ı obsahu pamˇet´ı vˇsech MCU je pouˇzit tzv.

”in circuit debugger“ ICD 3 fy. Microchip, viz [8]. Toto zaˇr´ızen´ı zprostˇredkov´av´a spojen´ı programovan´eho MCU s v´yvojov´ym prostˇred´ım v PC pˇres rozhran´ı USB. Slouˇz´ı jednak k programov´an´ı MCU, pˇredevˇs´ım vˇsak k odlad’ov´an´ı programu pˇr´ımo v c´ılov´e aplikaci bez nutnosti simulace.

V tomto m´odu je ˇcten obsah vnitˇrn´ıch registr˚u a odes´ıl´an do v´yvojov´eho prostˇred´ı Micro-chip MPLAB v PC, kde lze pˇri krokov´an´ı programu sledovat ˇcinnost MCU. Komunikace prob´ıh´a s´eriovˇe po dvou vyhrazen´ych v´yvodech (PGD – data, PGM – hodiny).

Konstrukce

Jelikoˇz bˇehem v´yvoje bylo nutn´e prov´adˇet v zapojen´ı pomˇernˇe ˇcast´e zmˇeny, byla ˇr´ıdic´ı jednotka realizov´ana na nep´ajiv´em kontaktn´ım poli. Vzhledem k tomu, ˇze se jedn´a pouze o ˇc´ıslicov´e obvody, to pˇri dodrˇzen´ı spr´avn´eho blokov´an´ı nap´ajec´ıch v´yvod˚u integrovan´ych obvod˚u nen´ı na z´avadu. Nap´ajen´ı zajiˇst’uje laboratorn´ı zdroj, potˇrebn´e vstupn´ı a v´ystupn´ı sign´aly jsou vydeny na konektory pˇriˇsroubovan´e k nep´ajiv´emu poli, viz obr´azek 3.2.

In document TECHNICK ´A UNIVERZITA V LIBERCI (Page 34-40)