České vysoké učení technické v Praze Fakulta elektrotechnická ...

rtime.felk.cvut.cz
  • No tags were found...

České vysoké učení technické v Praze Fakulta elektrotechnická ...

ČeskévysokéučenítechnickévPraze

Fakultaelektrotechnická

katedrařídicítechniky

Kráčejícírobot

diplomovápráce

vytvořilMarekPeca

podvedenímIng.MichalaSojky

Praha2008


Anotace

Prácepředstavujestavbudvounohéhokráčejícíhorobota,jehoelektronikuazákladnísoftware.Robotdosáhlzákladníhovytčenéhocíle,statickéchůzesdlouhodobýmstojemnaobou

nohouapevnoutrajektoriívkloubovýchsouřadnicích.Robotsedvěmanohama,bezostatníchčástítěla,jeschopenchoditpodlepevné,ručněvytvořené,statickétrajektorie,řízen

jednoduchýmiproporcionálnímiSISOregulátory.Navrženjetak,abybylomožnépoužíti

MIMOregulátory,pružnoutrajektoriinebodynamickouchůzi.Servomotoryrobotatvoří

distribuovanýsystém,řízenýpřesprůmyslovousběrniciCAN.Vprácijsemzdůraznilpodstatnébodynávrhuzhlediskamechanickékonstrukceakinematiky,proudovéhokaskádního

řízenímotorůačasování.

Annotation

Constructionofabiped walkingrobot,its hardware,basicsoftwareandcontroldesign

arebeingpresentedinthisthesis.Primarygoalachievedisastaticwalkingwithnoninstantaneousdoublesupportphaseandfixedtrajectoryinjointcoordinates.Therobotwith

twolegsandnoupperbodyiscapabletowalkwithfixed,manuallycreated,statictrajectory

usingsimpleSISOproportionalcontroller,yetitisextendabletouseMIMOcontrollers,

flexibletrajectory,anddynamicgait.DistributedservomotorcontroloveraCANfieldbus

isused.Importantpointsinconstructionandkinematics,motorcurrentcascadedcontrol

andfieldbustimingareemphasized.


Poděkování

Poděkovánípatřízejménamýmblízkýmzajejich ∞trpělivost.Dálejsemvelmivděčen

profesorůmaučitelůmzapoučeníavedení,zejménaIng.MichaluSojkovi,Ing.PavluPíšovi

aDoc.ZdeňkuHanzálkovi.


věnovánonašísličnéasistentceprověduavýzkum


Obsah

1.Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.Dvounoháchůze . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.Definice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.Trajektoriechůze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.1.Definice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.2.Statickáadynamickáchůze . . . . . . . . . . . . . . . . . . . . . 5

2.2.3.Pevnáapružnátrajektorie . . . . . . . . . . . . . . . . . . . . . . 5

2.2.4.Tvorbatrajektorie . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.Mechanickákonstrukce . . . . . . . . . . . . . . . . . . . . . 7

3.1.Konstrukčnířešení . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.2.Popissestavení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.Elektronika . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.1.Počítačovásíť . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2.DeskaSPEJBL-ARM . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.3.Elektronikaservomotoru . . . . . . . . . . . . . . . . . . . . . . . 12

4.3.1.Původníelektronika . . . . . . . . . . . . . . . . . . . . . . . . 12

4.3.2.Vlastníelektronika . . . . . . . . . . . . . . . . . . . . . . . . 12

4.3.3.Přetrvávajícíchybyvnávrhu . . . . . . . . . . . . . . . . . . . . 13

5.Software . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.1.Provoznasítiačasování . . . . . . . . . . . . . . . . . . . . . . . 14

5.2.ProgramováníSPEJBL-ARM . . . . . . . . . . . . . . . . . . . . . 15

5.3.Ovládacíprogram . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.3.1.PopisprogramuCerveauX . . . . . . . . . . . . . . . . . . . . . 16

6.Zpětnovazebnířízení . . . . . . . . . . . . . . . . . . . . . . 19

6.1.RozdílySISOaMIMOřízení . . . . . . . . . . . . . . . . . . . . . . 19

6.2.Pregulátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6.2.1.Rozbor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6.2.2.Realizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6.2.3.Výsledky . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6.3.KaskádníPID-PIregulátor . . . . . . . . . . . . . . . . . . . . . . 23

6.3.1.ProudovýPIregulátor . . . . . . . . . . . . . . . . . . . . . . . 24

6.3.1.1.FiltracePWMapřevzorkování . . . . . . . . . . . . . . . . . 25

6.3.1.2.Přenosdecimovanéhosystému . . . . . . . . . . . . . . . . . 26

6.3.1.2.1.Algoritmusdecimacepřenosu . . . . . . . . . . . . . . . . 29

6.3.1.3.Rozborřízenéhosystému . . . . . . . . . . . . . . . . . . . . 30

6.3.1.4.Návrhregulátoru . . . . . . . . . . . . . . . . . . . . . . . 31

6.3.1.5.Realizace . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.3.2.PolohovýPIDregulátor . . . . . . . . . . . . . . . . . . . . . . 34

6.3.2.1.Rozbor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.3.2.2.Identifikaceřízenéhopodsystému . . . . . . . . . . . . . . . . 35

6.3.2.3.Návrhregulátoru . . . . . . . . . . . . . . . . . . . . . . . 39

6.3.2.4.Realizace . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6.3.3.Výsledky . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.3.3.1.Stabilitaregulátoruuvnitřrobota . . . . . . . . . . . . . . . . 43

1


6.3.3.2.Rušivékmitání . . . . . . . . . . . . . . . . . . . . . . . . 44

6.3.4.Zhodnocení . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7.Inverzníkinematickáúloha . . . . . . . . . . . . . . . . . . . 48

7.1.PopisnohyrobotadleDenavit-Hartenbergovykonvence . . . . . . . . . . 48

7.2.Odvozenířešeníinverzníkinematickéúlohy . . . . . . . . . . . . . . . 49

7.3.Poznámkakvýpočturůznýchřešení . . . . . . . . . . . . . . . . . . 51

7.4.Zhodnocení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8.Závěr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

8.1.Výsledky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

8.2.Námětynapokračování . . . . . . . . . . . . . . . . . . . . . . . . 53

9.Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

10.Příloha–schémataaosazení . . . . . . . . . . . . . . . . . . 55

11.Příloha–výkresymechanickýchdílů . . . . . . . . . . . . . . 60

2


1.Úvod

Hlavnímcílemprácebylovyrobitaříditskutečnéhorobota,nejenpouhýmatematickýmodel.Východiskembylnejjednoduššídruhdvounohéchůze–statickáchůzespevnoutrajektorií.CílebylodosaženojižsregulátoremtypuP,ručnětvořenoutrajektoriíanedokonalou

mechanickoukonstrukcíielektronikouservomotorů.Počátečníchůzeajejířízeníbylyna

úrovniběžnýchhračkářskýchhumanoidníchrobotů(Robonova,Graupneraj.).

Snažiljsemsejítvnávrhudáladátkdispozicidobrýhmatatelnýzákladprodalší

matematický(softwarový)vývoj.Robotjenavrženjakodistribuovaný,rozšiřitelnýsystém.

Nezbytnoupáteříceléhorobotajeprůmyslovásběrnice.Každémuservomotorupříslušíjedna

počítačovádeska,poskytujícípoměrněslušnývýpočetnívýkonproimplementacirychlého

místníhořízení.Celeksedorozumíváobousměrněshlavnímřídicímpočítačemsezpětnou

vazbouuzavřenoupřesprůmyslovousběrnici.

Mechanickýnávrhbylvedensnahamiominimálnípružnost,jednoduchostkinematickéhopopisuamalouhysterezikloubů,abybyloumožněnosmysluplnézpětnovazebnířízení.

Vnávrhuregulátorůbylponeblahýchzkušenostechpoloženzákladřízení,odolnému

vůčipřetížení.

1.fotografierobotaSpejbla

3


2.Dvounoháchůze

2.1.Definice

Dvounoháchůzejepohybem,přiněmžvždyalespoňjednozchodidelstojínapodlaze.

Rozlišujemefázi,kdyrobotstojípouzenajednénoze(single-supportphase)adruhoufázi,

kdyrobotstojínaobounohou(double-supportphase).Otázkouzůstává,copřesněznamená,

žechodidlostojínapodlaze.Stěžíasipřijmemeklouzání(šoupání)zaplatnousoučástchůze.

Chodidlobytudížmělodržetnajednommístěpodlahydíkytřecímsilám,kterévyrovnávají

reakčnísíly,vyvolanépohybemrobota.

Křešenídvounohéchůzeexistujídvaodlišnépřístupy:chůzeschvilkovým(instantaneous),nebodlouhodobým(non-instantaneous)stojemnaobounohou.Chůzeschvilkovým

stojemnaobounohoujemeznímpřípademchůze,blízkýmběhu(tj.pohybu,přiněmžvždy

nejvýšejednozchodidelstojínapodlaze).Tentopřístupvynucujepoužitídynamickéchůze

[↩→2.2.2.],neboťpřenesenítěžištěmezichodidlynemůžebýtprovedenovnekonečněkrátkém

čase.Chůzeschilkovýmstojemnaobounohoujezákladnímyšlenkoumnohateoretických

modelůdvounohýchrobotů[1].Vsoučasnostimiovšemneníznámžádnýskutečnýrobot,

kterýbybylschopenbezvnějšípomůcky 1 taktochodit.

2.2.Trajektoriechůze

2.2.1.Definice

Upřesněme,conazývámevřešenídvounohéhorobotatrajektorií.Běhempohyburobotaje

každájehosoučást(tuhétěleso)urychlovánasilamipodélnějakécestyvprostoru.

Robotajemožnochápatjakosériovýmanipulátors12otočnýmiklouby[↩→3.].Jako

manipulátormá12stupňůvolnostiajakocelekještědalších6stupňůvolnosti,může-lisepohybovatvolněvprostoru,tj.není-ližádnézjehotěles„uzemněno.Trajektorie(vsmyslusvětovýchsouřadnic)všechbodůrobotamohoubýttudížpopsányvektorovoufunkcírozměru

18.Přestovšakvolímejednoduššípopistrajektorie,popisujícípouzevzájemnoupolohutěles

robotamezisebou.Takovátrajektorieneobsahuježádnouinformaciocelkovépolozerobota

vůčiokolnímusvětu,mátedyjen12stupňůvolnosti.Nazývámejidálejentrajektoriíadefinujemepolohami(úhlynatočení)vn=12kloubech,

q(t):〈0, t F 〉 → Q,(q 1 , q 2 , . . . q n ) ∈ Q,

kde tječas, t F jedobachůzeaq k jeúhelnatočení k.kloubu, Qjeprostorvšechpřípustných

konfiguracíkloubů.Jednáseotrajektoriivprostorukloubovýchsouřadnic.

Jenutnémítnapaměti,žestručnějšítrajektorieo12stupníchvolnostinepopisujepohyb

robotaúplně,neboťvýslednápoloharobotazáležíkromětétoneúplnétrajektorieještěna

zvnějškupůsobícíchsilách.Např.robotjdoucípopodlazejeposouvándopředutřecíreakční

siloupodlahy,kdežtorobot,kterýpřikonánítéžetrajektorievkloubovýchsouřadnicíchvisí

vevzduchunadpodlahou,sevpřednijakneposune.

Tatotrajektoriemůžebýtdostatečnýmpopisemvpřípadě,ževšechnyvnějšísílybudouznámé(třenípodlahy,směrtíže)ahomogenní(podlahamusíbýtrovinná,alemůže

býtnakloněná).Ztěchtopředpokladůvycházíveškerédalšíúvahy,vevětšiněpřípadůještě

1 RobotRabbit jeschopen chůze, ovšemvyžaduje otočnou tyčnebo zábradlí,abyudržel rovnováhu

směremdostran(strannýpohybnebylzáměrnětvůrčískupinouřešen).

4


omezenénavodorovnoupodlahu.Vlivyveškerýchskutečnýchodlišnostíodtěchtopředpokladů,jakojsoukřivostčisklonpodlahy,jsouchápányjakovnějšírušivésíly,působícína

soustavu.

2.2.2.Statickáadynamickáchůze

Rozdělenítrajektoriínastatickéadynamickéjeobecnouotázkouzoborumobilnírobotiky

[2].Trajektoriemůžebýtrozloženanacestu q(s) : 〈0,1〉 → Q,spojitoufunkci,tvořící

parametrickoukřivkuvQparametrizovanou s,aprůběhčasu(time-scaling) s(t):〈0, t F 〉 →

〈0,1〉, ṡ ≥0,tak,žetrajektorie q(t)=q(s(t)).

Prodanoucestu q(s)můžeexistovatmnohopřípustnýchprůběhůčasu.Průběhčasu

nazývámepřípustnýmtehdy,kdyžexistujefunkcesilovýchmomentů u(t)=(u 1 , u 2 , . . . u n ),

splňujícíomezeníakčníchčlenů |u k (t)| ≤ u kmax taková,žepopůsobenítěchtomomentů

vkloubechvykonárobottrajektorii q(t).Předpokládáme-liurčitoucestu q(s),stavovýprostorsystémujezmenšennaskalárnípolohu

sarychlost ṡ.Omezeníakčníchčlenůspolu

sdynamikousystémukladouomezenínazrychlení, L(s, ṡ) ≤¨s ≤ U(s, ṡ).Křivkavprostoru

(s, ṡ)splňujícítatoomezeníurčujepotompřípustnýprůběhčasu s(t)prodanoucestu.

Cestajestatická,pokudkřivka ṡ = 0, s ∈ 〈0,1〉určujepřípustnýprůběhčasu.To

znamená,žerobotmůžestátvlibovolnézpoloh q(s),anižbyspadnul,anižbysepohyboval.

Robotsemůžepohybovatpostatickécestělibovolněpomalu.Vkaždémbodě q(s)splňuje

robotpodmínkustatickéstability.Trajektorie,probíhajícípodéltétocestyprůběhem s(t)

tak,že ṡseblížínule,jenazývánastatickoutrajektorií.Pokudprůběhčasusṡ=0není

přípustný,alejiný,kde ṡ >0,hovořímeodynamickétrajektorii.

Pokudstatickáčidynamickátrajektoriespolusvnějšímisilamitvoříchůzi [←↪2.1.],

jedná se potom o statickou, případně dynamickou chůzi. V této práci jsem se zaměřil

zejménanachůzistatickou,kterábudetéžpředpokládánavdalšímtextu,nebude-liřečeno

jinak.

2.2.3.Pevnáapružnátrajektorie

generátor trajektorie

chodidla

T ref. pánve

ref. těžiště

COG

+

IK

+

inverzní

kinematika

R 2 ∆x, ∆y

vyvažující regulátor

s pružnou trajektorií

polohový

regulátor

q(t)

R 1

S

úhly v kloubech

odhad těžiště

2.příkladregulátoruspružnoutrajektorií

Urobotarozlišujiřízeníspevnouapružnoutrajektorií.Přiřízeníspevnoutrajektoriíjedána

q(t)asystémjeřízentak,abytutotrajektoriiconejlépesledoval.Úlohajetakpřevedena

naúlohuřízenídynamickéhosystému.

Přiřízeníspružnoutrajektoriíje q(t)určenapouzečástečně,ponechávajícvolnostpro

průběžnouúpravutrajektoriepřichůzisamotné.Cílemjelépevyrovnávatrušivévnějšísíly.

Tatopružnostzavádívesvépodstatědosystémudalšízpětnouvazbu.Jsou-lijižmotory

uzavřenyvsmyčcepolohovézpětnévazby,tvoříkolemnípružnátrajektorievnějšízpětnovazebnísmyčku,dohromadykaskádníregulátor.

Spružnoutrajektoriíjemožnolépepotlačitsilnéporuchy,jakonapř.proměnnýsklonpodlahynebovlivnákladunapolohutěžiště.Příkladjednoduchéhoregulátorupropružnou

trajektoriijenaobr.2.Trajektoriejedánakartézskýmisouřadnicemichodidelapánve.

5


Skutečnápolohatěžištějeodhadovánazúdajůčidel(měřenýsklon,tlakvchodidlech,odběrmotorů)aporovnávánasreferenčnípolohoutěžiště.Rozdíljevedenpřesregulátorzpět,

abyvychýlilpánevo∆x,∆yoprotireferenčnípoloze.Pánevtakvyrovnávárušivévlivy,

abyudrželatěžištěvstabilnípoloze.Abymohlregulátorpracovatvjinýchnežkloubových

souřadnicích,jetřebavreálnémčasepočítatinverzníkinematickouúlohu[↩→7.].

Nejsložitějšímzpůsobemúpravytrajektoriejejejíúplnépozměnění,např.kladeníchodideldojinýchmísttak,abybylozabráněnopádu.Nejsoumiznámižádnískutečnídvounozí

robotipracujícínatomtoprincipu.Takovéchováníbyloovšemjižsúspěchempoužitoujinýchkráčejícíchrobotů,např.učtyřnohéhorobotafirmyBostonDynamics[3].

Vesvéprácijsempoužívalpouzechůzispevnoutrajektorií.

2.2.4.Tvorbatrajektorie

Trajektoriestatickéchůzesestávázedvoučástí:přeneseníprůmětutěžištězpůdorysujednohochodidlanaddruhéapřenesenívolnéhochodidlanajinémístopodlahy.Poténásleduje

zrcadlověshodnáposloupnost,vnížjsourolenohouvyměněny.

Trajektoriemůžebýtvytvořenaručně„animací.Několikbodů q(s k ), k=1 . . .mje

ručněsejmuto(navzorkováno)např.tak,žerobotje„zmrazenzpětnouvazbouvbodě

q(s k )=konst.apokudsetatopolohaukážebýtstatickystabilní[←↪2.2.2.],můžesetento

bodstátsoučástívznikajícítrajektorie.Posejmutívšechbodůnásledujeinterpolacevkloubovýchsouřadnicích.Taktovytvořenátrajektoriemůžeselhatzedvoudůvodů:

•přílišřídkévzorkování–bodyvznikléinterpolacímezibodysejmutýminemusejínutně

splňovatpodmínkystatickéstability;

•přílišvysokárychlost–přípustnoststatickétrajektoriejezaručenapouzepronekonečně

pomalouchůzi,přivyššírychlostijimůžezhatitsetrvačnostrobota.

Tvorbatrajektoriemůžebýtusnadněnařešeníminverzníkinematickéúlohy[↩→7.].Přiruční

animacijetakmožnonastavovatpolohuvjednotlivýchbodechtak,abybyladodrženaněkterádanáomezení,např.abyrovinychodidelbylyrovnoběžnésrovinoupánve,abybyla

chodidlanavzájemrovnoběžnáatd.Místonastavováníkloubůjepakpolohovánapánev,

případněpánevachodidlovkartézskýchsouřadnicích(apřípadněEulerovýchúhlechnatočení).

6


3.Mechanickákonstrukce

Mechanickákonstrukcerobotajeinspirovánasoučástmiapohybovýmimožnostmilidských

nohou.Robotjetvořendvěmanohama,znichžkaždámá6stupňůvolnosti.Žádnédalší

stupněvolnostivrobotuobsaženynejsou.Nahořekončítělorobotapánví.Inspiracípro

tentozpůsobřešenídvounohéhorobota,bezmožnostivyvažovatrovnováhunakláněním

vrchníčástitěla,námbylzejménarobotYABiRo[4].Trojrozměrnýmodelrobotajenaobr.

3(oprotikonečnéverzijsounaobrázkukratšíkostiascházejísněžnice).

Každánohajetvořenavelkýmstabilnímchodidlem,umožňujícímstatickouchůzi,při

nížjetěžištěudržovánonadplochouopěrnéhochodidla,případněmezichodidly.Odlišný

přístupnalézámeurobotůsbodovýmichodidly,zejménauvícenohých(čtyřnohýchjako

např.[5]nebovelmirozšířenýchšestinohých),případněuvýlučnědynamickykráčejících

dvounohýchrobotů[1].Přítomnostvelkéhochodidlaovšemnijaknevylučujedynamickou

chůzi.

Chodidlojepřipojenokholenidvouosýmkotníkovýmkloubem,holeňkstehnujednoosýmkolennímkloubemastehnokpánvi,spojujícíoběnohy,tříosýmkyčelnímkloubem.

Víceoséklouby(kotníkovýakyčelní)seskládajízněkolikajednoosýchkloubů,jejichžosy

otáčeníseprotínajívjedinémboděajsounavzájemkolmé.Cílempoužitívíceosýchkloubů

bylozjednodušitkinematickýpopisrobota,předevšímumožnitkvalitativnějednoduššířešeníinverzníkinematickéúlohy[↩→7.].Tatovýhodascházívmnohanávrzíchmodelářských

robotůiurobotaPino[6].

Každázos kloubů je poháněnashodným typem modelářskéhoservomotoru,HSR-

5995TGvýrobceHitec,uněhožbylapůvodníelektronikanahrazenanašímvlastnímnávrhem

[↩→4.3.2.].Servomotormábýtschopenvyvinoutmoment2,4Nm,cožbylovedlemalýchrozměrů(délkyvose)určujícímčinitelemjehovolby.Krytmodelářskéhoservomotoruajeho

rozměrybylyvýchodiskemceléhomechanickéhonávrhu.Všechnyosyjsoupoháněnypřímým

napojenímnahřídelmotoru,táhlabylavyloučenaproomezenípružnostivdynamicesoustavy.TentopřístupjeběžnýumodelářskýchrobotůaurobotaPino[6]ališíseodrobota

YABiRo[4],jenžpoužíváuvšechservomotorůtáhel.

3.1.Konstrukčnířešení

Všechnyosypohybuvyjmasvisléosykyčelníhokloubujsouuloženynajednéstraněvložiskuservomotoru,nadruhéstraněvsamostatnémkuličkovémložisku.Vevíceosýchkloubechotáčíjedenservomotorpouzdrem,vněmžjezabudovándruhýservomotor,otáčející

navazujícímramenemvdruhé,kolméose.Protilehléložiskoscházíusvisléosykyčelního

kloubu.Tajeuloženavdvoukuličkovýchložiscíchumístěnýchnapánvitěsněnadsebou,

sloužícíchzároveňjakoaxiálníuložení.

Návrhmechanickýchdílůbylvedensnahouconejvětšípodílsoučástínechatvypálit

dvourozměrnýmCNClaserem.Většinusoučástítvořívýpalkyz2mm,5mma10mmduralového(AlCu4Mg)plechu.DálejsoupoužitydistančnísloupkysvnitřnímzávitemM3,

ložiska625,hřídelkykoncemočtvercovémprůřezu,kvádříkykotníkovéosy,metrickéšrouby

M3,M2,5,M2aM1,6.

7


3.trojrozměrnýCADmodelrobota

3.2.Popissestavení

Výkresymechanickýchsoučástírobotajsouvpříloze[↩→11.].

Oběnohyjsounavzájemzrcadlověsymetrické.Kloubykyčleikotníkuobsahujípouzdro

naservomotor,tvořenédeskami(C8,C9vpřípaděkotníkuaK5,K6vpřípaděkyčle),dvěma

špalíčky(C6)astěnouC7.DoděrvešpalíčcíchjevyříznutzávitM3apřišroubovánaknim

plastovápřírubaservomotoru.Deskykryjívětšístěnyservomotoru,zjednéstranypřiléhá

deskatěsně,nadruhéjeponechánamezera7mmnadeskuelektroniky.Kdeskámjezjedné

stranypřišroubovánazákladnahřídelkyC5,zdruhérozhranípřipojujícípákunavazujícího

servomotoru(kvádříkC10ukotníku,K4ukyčle).Obojíjekdeskámpřišroubovánošrouby

M3sezápustnouhlavou(hlavyzvnitřnístranydesek).VestěněC7jevyfrézovánaslepádíra

průměru10mmahloubky2,5mm,vjejímžstředujevypilovánčtvercovýotvor3 ×3mm.

Dodíryjezapuštěnválcovývýběžekservomotoru,umístěnývýrobcemvoseotáčení.Do

závituM3výběžkujezašroubovánahřídelkaN6,procházející(aprotiprotáčenízajištěná)

čtvercovýmotvoremvstěněC7.DeskyjsoukešpalíčkůmC6astěněC7přišroubovány

šroubyM2,5(vC6,C7vyříznutyzávity).Hřídelka,spojenáspouzdryservomotoru,jeřešena

spojenímvýpalkuC5ahřídelekC11(chodidlo),K8(kyčel)závitemM5(snahavyloučit

soustruh).

ZákladnuchodidlatvořídeskaC1asděramiprůměru3mmpropřipevněnísněžnice

a2,5mmpropřišroubovánísvislýchdílůC2,C3,C4šroubyM2,5sezápustnouhlavou,

proněžjevdílechC2,C3,C4vyříznutvnitřnízávit.Servomotorčíslo1jepřišroubován

příruboukC3opatřenýmzávityM3avnitřnímzávitemválcovéhovýběžkukC2.Páka

servomotoru1jekpouzdruservomotoru2připojenakvádříkemC10.Původníjednostranná

pákavýrobceHiteczdebylanahrazenaneznačkovoupákouvetvarukotoučku,přichycenou

kC10čtyřmišrouby.DílC4jeložiskovýmpouzdremproložisko625.Servomotor2otáčí

navazujícíholení.

HoleňastehnojsoutvořenydílyN2a,N4aaN3a,N5a(bylavyrobenaiočtvrtinukratší

podobadílůN2,N4,N3,N5,kterénakonecnebylypoužity).N4a,N5anavnitřnístraněnohy

jsoupevněspojenyspákamiservomotorůšroubyM2dovnitřníhozávituvpáce(nutno

8


zvětšitjednuzděrvevýpalcích)aM1,6smatičkoudodírybezzávitu.KN2a,N3ajsou

připevněnašroubyM2sezápustnouhlavoupouzdraN1složiskem625(vnitřnízávitvN1).

N2aoprotiN4aaN3aopotiN5ajsourozepřenydistančnímisloupkydélky49mmsvnitřním

závitemM3.Podobnýmidistančnímisloupkydélky30,5mmadistančnímsloupkembez

závitudélky16mmjekstehnupřišroubovánkolenníservomotorčíslo3.Veválcovémvýběžku

servomotoru3jezašroubovánahřídelkaN7,procházejícíčtvercovýmotvoremvN3a.

Vkyčelnímpouzdrusenacházíservomotorčíslo4,otáčejícístehnem.Pouzdremotáčí

servomotorčíslo5.JehopůvodníjednostrannápákabylakdesceK5připevněnapřesrozhraníK4třemišroubyM3.PákaisK4bylanásledněnahrazenapákouvetvarukotoučkua

připevněnakeK5čtyřmišroubyM2,5sezápustnouhlavou,zašroubovanýmidozávituvkotoučkupáky.Servomotor5jepříruboupřišroubovánkrámuK3(vnitřnízávitM3),který

jespolusložiskovýmpouzdremK2naložisko625přišroubovánkhornídesceK1šrouby

M2,5(vnitřnízávityvK2,K3).VpůvodnímnávrhubylaK1připevněnapřesK7přímo

kpáceservomotoručíslo6(svisláosa).Totonapojeníbylovelminedokonaléatvořiloznačnouhysterezikyčelníhokloubu,kteráčinilachůzivelminespolehlivouaanimaciobtížnou

([↩→6.2.3.]).Protobylkyčelníkloubupraven.Svisláosabylauloženadodvoukuličkových

ložisek625těsněnadsebou.JejichpouzdremjedílK9,připevněnýčtyřmišroubyM2,5

kdesceK8.LožiskyprocházíhřídelK10,dolepřišroubovanákdesceK1anahořenapojenáprostřednictvímdíluK11khřídeliservomotoru.Naníjenasasenváleček,vytvořený

zbroušenímpákydokulata.

VpánviP1bylypřírubamipřišroubovány(vnitřnízávitM3vP1)servomotoryčíslo6

obounohouspřírubounahornístraněpánve,veverzisopravenoukyčlíjsoukP1přišrouboványdeskyK8aservomotoryjsouprotiprotáčenívsvisléosedrženykolíky,opětzašroubovanýmivP1(nezakresleno).Pánevumožňujevolitroztečoskyčelníchkloubůvrozsahu

100až140mm,přisestavovánírobotabylazvolenarozteč120mm.

SněžnicebylypřisestavovánípřipevněnyšroubyM3sezápustnouhlavouamatkami

kchodidlům,širšímokrajemblížekestředurobotaazadnístraně.

9


4.Elektronika

Každýz12servomotorůjevybavendestičkou„SPEJBL-ARM,vyrobenouvrámcitéto

práce,osazenou32-bitovýmjednočipovýmmikropočítačemsjádremARM avyvedenou

průmyslovousběrnicíCAN(ControllerAreaNetwork)[7].DeskaSPEJBL-ARMjevkaždémservomotorupropojenasvýkonovouaměřicíelektronikou.SběrniceCANjepřipojena

khlavnímuřídicímupočítači,zněhožjerobotovládán.

Schématazapojeníjsouvpříloze[↩→10.].

4.1.Počítačovásíť

DeskySPEJBL-ARMpříslušejícíkservomotorůmtvoří12uzlůsítěCAN(obr.4),představujícenasítijakuzlyakčníchčlenů,takčidelpolohyservomotorů.Dosystémumohou

býtpřidánydalšísenzory,např.zrychloměry(sklonoměry)nebočidlatlakuvchodidlech.

Dalšímuzlemsítějehlavnířídicípočítač,přijímajícíměřenéúdajeopolozezdesekservomotorů(případněijinéveličinyzostatníchsenzorů)arozesílajícířídicípovelyzpětdo

desekservomotorů.JakořídicípočítačbylpoužitpočítačtypuIBMPC,kterýjemožnénahraditlibovolnýmvestavěnýmsystémem(procesorRISC,FPGA),připojitelnýmkesběrnici

CAN.

SPEJBL

ARM

M

SPEJBL

ARM

M

SPEJBL

ARM

M

SPEJBL

ARM

M

SPEJBL

ARM

SPEJBL

ARM

SPEJBL

ARM

přídavné

senzory

zdroj hodin

servomotory

hlavní

řídicí

počítač

sběrnice CAN

4.uzlypočítačovésítě

Přínosprůmyslovésběrnicevnávrhurobota:

•měřenéanalogovéveličinynejsouvedenynavelkévzdálenostivblízkostisilnýchpulzních

pohonnýchproudů;

•jednoduchácelkovákabeláž,sestávajícízpouhých4vodičů(2napájecía2prosběrnici

CAN),nepřekážípřílišvpohybukloubů;

•snadnározšiřitelnostsystémuodalšíprvky;

•volnostvevolběřídicíhopočítače.

SběrniceCANbylazvolenaprodostupnostanízkoucenusoučástekazařízení,širokouhardwarovoupodporuvjednočipovýchpočítačíchavovladačiOCERALinCAN[8],použitém

vřídicímpočítači.DalšídeskaSPEJBL-ARMbylazapojenadosítějakogenerátorsynchronníhočasováníprovšechnyostatníuzly,time-trigger(hodiny).

Vzhledemkvysokémupříkonujerobotnapájenznepohyblivéhozdroje(7V,10A)kabelem.Teoretickybybylomožnérobotanapájetizbaterií,nejspíšezlithiovýchakumulátorů.

Vzhledemkpotížímsvýdržíazměnamiparametrůtěchtoakumulátorůstárnutímatéž

nízkénosnostijižnyníponěkudpřetíženéhorobotajsemsevřešenínesnažilosamostatně

sepohybujícíhorobota.TomuodpovídáipřímépřipojenísběrniceCANkřídicímupočítači

kabelem.

10


4.2.DeskaSPEJBL-ARM

DestičkaSPEJBL-ARM(obr.5)bylanavrženapřednostněprořízeníservomotorurobota

Spejbla.Jeovšemvhodnáinajinépoužití.Mezipožadavkynávrhubylapotřebamalých

rozměrů,určenýchvelikostímodelářskéhoservomotoru,sběrniceCANavolnostipřivýběru

jinýchtypůmotorkůčisnímačů(propřípadpoužitísynchronníchmotorůneboinkrementálníchčidelvbudoucnu).Vlastnostidestičky:

•rozměry37 ×28 ×6,5mm(bezkonektorů37 ×28 ×3,5mm);

•mikropočítačPhilipsLPC2119sjádremARM7TDMI;

•napájení5,5V...18V,


VdescejsouvyvrtánytřiotvoryprouchyceníšroubemM2,zároveňjejednastrana

ponechánahladká,bezsoučástek,abyjibylomožnépřilepit.Vrobotujsoudestičkypřišrouboványnastěnáchservomotorů,šroubysezdrsněnouválcovouhlavoujsoupřilepeny

kyanakrylátovýmlepidlem.

4.3.Elektronikaservomotoru

Vservomotorujepoužitkomutátorový(„stejnosměrný)motorekspřevodovkou,poloha

výstupníhřídelejesnímánapotenciometrem.Zdrojstejnosměrnéhonapájecíhonapětípro

motorkyjezdrojemnapájeníceléhorobota.Výšetohotonapětí,zvolená7V,jeurčenapodle

údajůvýrobceservomotoru(uvádírozsah4,8 . . .7,4V).MotorjeřízennapájenímpřesHmůstek,spínanýlogickýmisignálypulsně-šířkovémodulace(PWM).

4.3.1.Původníelektronika

Původní řídicí elektronika (jednočipový mikropočítač) modelářského servomotoru Hitec

HSR5995-TGnesplňovalanašepožadavky,zejménapro

•nedostatekvhodnéhorozhraní(CANčijinésběrnice,umožňujícípřipojenívíceuzlů);

•chybějícísnímánípolohy;

•nemožnostimplementacevlastníchrozmanitýchregulátorů.

VprvníverzijsemserozhodlnahraditpůvodnířídicímikropočítačdeskouSPEJBL-ARM

apůvodnívýkonovouelektronikuponechat.SchémazapojenípůvodníelektronikyservomotoruajejíhopřipojeníkdesceSPEJBL-ARMjevpříloze.

H-můstek,spínajícínapájenímotoru,jetvořendvěmaintegrovanýmidvojicemiMOS-

FETVishaySi9986DYčinovějšímtypemSi4532ADY.Každázdvojicjebuzenajedním

logickýmsignálem.VzhledemkvysokékapacitěhradelpoužitýchMOSFET(1nF)jeměkké

buzeníbipolárnímitranzistorysrezistoryvkolektorunedostačujícíavybitíhradlatrvápříliš

dlouhoudobu.Potudobupůsobíobatranzistoryvětveprotisobědozkratu.Vpůvodním

servomotorusfrekvencíPWM1kHzbylpatrněobčasnýzkratsnesitelný,přizvýšenína

20kHzjižpůsobilznačnýklidovýodběrazahřívánítranzistorů.

Celekjeponechánnapůvodnídesceplošnéhospojeuvnitřservomotoru,namístopůvodníhojednočipovéhomikropočítačeATMEGA8LjsoupřipájenyvodičesesignályPWM.

ElektronikaservomotorujepropojenasřídicídestičkouSPEJBL-ARMsedmikrátkýmivodiči.

Stoutoelektronikoubylaprovedenaprvníúspěšnáchůze,použitýregulátorbyltypuP,

[↩→6.2.].ProznačnépotížespřehřívánímtranzistorůMOSFETbylapaktatosebezničující

elektronikanahrazenanásledujícíverzí.

4.3.2.Vlastníelektronika

ZapojenídeskySPEJBL-ARMspůvodníelektronikouservomotorustálenevyhovovalopotřebám,protojsmejinahradilivlastnímnávrhem

3 .Důvodybyly:

•chybnýnávrh,nedbajícíproudovýchomezení(výkonovétranzistoryčastoshořelypři

většízátěžinahřídelimotoru);

•scházejícíměřeníproudu,užitečnéproodhadovánízátěžovéhomomentuapotažmo

vnějšíchsil(tíže);

•pomalébuzeníhradelMOSFET;

3 patrněisámvýrobceHiteczjistilvadyvýrobku,protojejpoměrněbrzypouvedenístáhlzprodejea

nahradiljejnovýmtypem

12


•nemožnostúplněodpojitmotor(přizkratuzůstáváelektromechanickyzabrzděnaztěžujeručníanimaci).

Zásadnízměnoubylodoplněníobvoduoměřeníproudu,kterézabezpečujesériovýodpor

0,11Ω,tvořenýdvěmarezistoryR10,R11arozdílovýzesilovačU5.MěřenýproudjepřeváděnnanapětíúměrněvelikostirezistoruR9.Tentosignálobsahujevelkémnožstvívyšších

harmonickýchPWM,protojefiltrovánRCčlánkemR9,C1[↩→6.3.1.1.].Zapojeníměříabsolutníhodnotuproudu,tekoucíhozezdrojedoH-můstku.Omezeníproudubylouskutečněno

softwarově,takževelektronickéčástijepouzejehoměření.

BudicítranzistoryU3,U4zůstalypodobné,bylazvolenanovějšíverzeSi4532ADY.BuzeníjejichhradelbyloposílenozvlášťprotentoúčelvyráběnýmibudičiU1,U2.Projistotu

bylještězavedennepatrnýochrannýinterval(1 µs)mezipřepnutímhorníhoadolníhotranzistoru,sloužícíkbezpečnémuvybitíhradla.ProtojebuzenkaždýMOSFETzvlášťlogickým

signálem,kbuzeníjsoutakcelkemzapotřebí4logickésignály.Tozároveňumožňujeúplné

odpojenímotoruodzdrojeajehoprotáčeníbezelektrickéhobrzděnízkratem.

Logickévstupybudičůjsouochráněnyhradlemvdiodovélogice(D1,D2,R5,R6,R7,

R8),kterézamezujesmrtícíkombinacioboutranzistorůdvojicesepnutýchaponechává

pouze3zbývající(hornísepnut,dolnísepnutaodpojeno).Přiodpojenýchvstupechje

implicitnědolnítranzistorsepnutvobouvětvích.

Poneblahýchzkušenostechshořenímelektronikybylrovněžnadeskuzahrnutteploměr

spolovodičovýmtermistoremU6.

Deskabylavytvořenavtloušťcelaminátuasobrysovýmfrézovánímtak,abypadla

dovnitřservomotorunamístodeskypůvodní.

4.3.3.Přetrvávajícíchybyvnávrhu

Popsanýnávrhjebohuželrovněžšpatnýzhlediskapřesnéhoměřeníproudu.Chybyvměření

proudujsou:

•Unipolárníměření–jeměřenapouzeabsolutníhodnotaproudu.Přiřízenínelzejednoznačněurčitznaménkoproudu.

•MěřeníprouduH-můstkem,nikolimotorem–jeměřenproud,kterýjdeznapájecího

zdrojedomotoru,nikoliproudvinutímmotoru.Zhlediskaproudovéochranysejedná

ořešenípoužívané,alezhlediskapřesnéhozpětnovazebníhořízení,případněodhadování

zátěžovéhomomentu,jetaktoměřenýúdajchybný.Vpřípadě,žejsoupólymotoru

spojenynakrátkotranzistoryH-můstku,můžemotoremprotékatbrzdnýproud,který

ovšemnebudezměřen.

Správnouopravouprvníchybyjeměřitproudoboupolaritshladkounávaznostívoblasti

kolemnulovéhoproudu.Řešenímdruhéchybyjeměřittentoproudnatakovýchmístech

H-můstku,abyodpovídalskutečnémuprouduvinutím.Tojevelicepodstatnézejménapro

případ,žebymělobýtměřenéhoprouduvyužitoproodhadzátěžovýchmomentů,následně

vnějšíchsil.

13


5.Software

5.1.Provoznasítiačasování

DeskySPEJBL-ARMběžíbezoperačníhosystému,využívajípřímopřerušení.Deskyřídícíservomotorypočítajířízenívrychlýchmístníchzpětnovazebníchsmyčkách,jmenovitě

vsmyčceproudovéhoregulátoru[↩→6.3.1.].DáleměřípolohuaproudavyměňujísiveličinyshlavnímřídicímpočítačempřessběrniciCAN.Měřeníprouduprobíhásvzorkovací

frekvencí120kHz,snímánípolohyaproudovázpětnávazbajsouvzorkoványsfrekvencí

20kHz.

Deskahodin(time-trigger)působínasběrnicijakomaster,poslouchánavšemiostatními

uzlysítěvčetněhlavníhořídicíhopočítače.Jejíúlohubymohlplnitkterýkolijinýuzel

sítěsdostatečněpřesnýmčasováním.Vzhledemktomu,ženenívyžadovánaodřídicího

počítače,nemusíjehohardwareaoperačnísystémsplňovattakpřísnépožadavkynaodezvu

vreálnémčase.Deskahodinvysílázprávy(„tiky)nafrekvenci250Hz,sloužícísystémujako

synchronnívzorkovacífrekvence,umožňujícívšemuzlůmměřitvstupníveličinyanastavovat

akčníveličinyvtémžeokamžiku.

VzorkovánívnitřníchsmyčekvdeskáchSPEJBL-ARMjeasynchronnívůčihodinámsítě

CAN.Vznikátakchybačasování(jitter).Vzhledemkznačnémupoměruvzorkovacífrekvencevnitřnísmyčkyoprotihodinovéfrekvencisítě([↩→6.3.2.1.])pokládámtaktovzniklou

chybuzazanedbatelnouzhlediskafunkceřídicíhosystému.Synchronizacibybylomožné

provéstpřizpůsobenímvnitřníchhodindeskySPEJBL-ARMhodinovýmzprávámnasběrniciCAN.ZároveňbybylomožnévzájemněposunoutnáběžnéhranyPWMrůznýchmotorů

dopřesněurčenýchrozestupů,cožbyomezilonárazovýpulzníodběrznapájecíhozdroje.

Řešeníotázkysynchronizacejsemsealevprácinevěnoval.

Vkaždémzimplementovanýchdiskrétníchregulátorůseodrážíkonečnádobavýpočtu,

případněještěpřenosuposběrniciCAN.Akčníveličinanemůžebýtuplatněnadříve,než

pouplynutítétodoby.Vnávrhučíslicovéhořízenísepoužívajídvapřístupykzapracování

tétodobydonávrhu–buďuplatnitakčnízásahconejdříveazavéstzpoždění,rovnénecelé

vzorkovacíperiodě,nebopočkatdookamžikudalšíhovzorkuauplatnitakčníveličinuse

zpožděnímpřesně1krok.Vevšechregulátorechrobotajsempoužildruhýpřístup,čímž

získávámzpoždění z −1 avýhodupřesnéhočasování,vněmž seneprojevípřerušeníani

provoznasíti.

HlavnířídicípočítačběžípodoperačnímsystémemLinux2.6,vprovedenýchpokusech

bezjakýchkolirozšířeníproprácivreálnémčase(RTLinuxnebofullypreemptivekernel).

Uprogramubylanastavenastatickáprioritareálnéhočasu(nejvyššímožná).Naodezvu

počítačevreálnémčasejsoukladenypoměrněmírnépoždavkyjednakdíkytomu,žehlavní

řídicípočítačnenízdrojemcelkovésynchronizace(time-triggerem),atakétomu,žebylo

zvolenopočkatmezivzorkovánímměřenýchveličinauplatněnímakčníchzásahůvřídicí

smyčceceloujednuperiodu provozunasíti CAN (4ms). Bezchybnáčinnostbez ztráty

vzorkůvyžaduje,abybylyvšechnyakčnízásahy,kteréjetřebavyslatpřessíť,spočtenya

odeslánymeziposlednímposítiposlanýmměřením k.vzorkuapříchodem(k+1).hodinové

zprávy,tedyvčasovémúsekudlouhém68%periodyprovozunasítiCAN,tj.přibližně

2,72ms.

14


x 3 x 12

t k měření čas výpočtu akční zprávy

t k+1

H x 1 x 2

H

xw1 . . . xw12

o

d.

o

d.

změřené hodnoty

tick msg.

4 ms

akce

6.provoznasběrniciCANběhemjednéperiody

ProvoznasítiCANjeznázorněnnaobr.6.Deskahodin(time-trigger)posíláperiodickyhodinovézprávy(„tiky).Tyobsahují8-bitovéčíslopořadí,abymohliostatníúčastníci(hlavní

řídicípočítač)zjistitpřípadnouztrátuvzorků.Vokamžikupříchoduhodinovézprávyjsou

vzorkovánasoučasněvšechnačidla(potenciometryservomotorů),případnějsouzaznamenányjejichvdanémokamžikunejčerstvějšíhodnoty.Sejmutéhodnotyjsouposlánypřes

síťCANhlavnímuřídicímupočítači.Každýuzel,jehožseměřenítýká,použijesvůjvlastní

CANID(identifikátor).Následněhlavnířídicípočítačurčíhodnotyakčníchveličinpropříští

vzorkovacíokamžik.Můžetakučinitnazákladěpřijatýchměření,nebobezohledunaně,

podletoho,zdajepoužitaregulacetypuMIMOvhlavnímpočítači,neboSISOvkaždédesce

servomotoruzvlášť[↩→6.1.].Akčníveličinyjsourozeslányposítideskámservomotorů.Pro

úsporupřenosovékapacitysítějeposílánoméněakčníchzprávnežjemotorůajednazpráva

obsahujehodnotyprovícemotorůnajednou(konkrétně416-bitovéhodnotyakčníveličiny

vjednézprávě).

SběrniceCANjenastavenananejvyššímožnoupřenosovourychlost,1Mb.s −1 .Perioda

provozu(1/f CAN =4ms)bylazvolenazdatovépropustnostipřirozumnécelkovézátěži

sítě.Horníodhadcelkovézátěžesítěpočításúplnýmstuffingem 4 (nataženímdélkyoblastí

rámce,jichžsestuffingtýká,na6/5délky,viz[7]).Vjednéperiodějetřebapřenést1

hodinovouzprávu(1byte),12zprávodservomotorů(po2bytech),3akčnízprávy(po8

bytech).Prodélkuperiody4msvycházízátěžsběrniceCANdo33,2%,pokudjsouzprávy

vysílanéservomotoryrozšířenyna6byte(spřídavkemhodnotnapětíaměřenéhoproudu),

zátěžsběrnicebudedo44,6%.

5.2.ProgramováníSPEJBL-ARM

MikropočítačLPC2119,osazenýnadesceSPEJBL-ARM,obsahuje16KBstaticképaměti

RAMa128KBpamětiFLASH.Pracujenataktovacífrekvencido60MHz.

VsoučasnostijepaměťRAMschopnasvelkourezervoupojmoutdataisamotnýkód

programu,protojsouvždypospuštěnínahráványprogramydoRAMdesekSPEJBL-ARM

zhlavníhořídicíhopočítače.Nahráváníprobíházavaděčemvlastnívýrobypřessběrnici

CAN.Vysílacístranazavaděčepoužíváknihovnulibbfdpročtení„binárních(zkompilovaných)souborůformátuELF,zněhožkroměumístěníaobsahupaměťovýchblokůprogramu

vyčteiadresu,znížmábýtprogramspuštěn.Tentozavaděčjeschopennahrávatpouzedo

RAM,vprincipualenicnebránírozšířeníozápisdopamětiFLASHčizačleněníladicího

kódu(např.tzv.„stubdebuggeruGDB)promožnostladěníposběrniciCAN.

KaždádeskaSPEJBL-ARMjepřiprvotnímzápisupřijímacístranyzavaděčedopamětiFLASHopatřenajedinečnýmčíslem(identifikátorem),kterýjezároveňidentifikátorem

nasběrniciCANvprůběhuzaváděníprogramuzavaděčem.Tentoidentifikátorjedostupný

uživatelskémuprogramu,takžeprogramjejmůžepoužívatjakovlastníCANidentifikátor

azároveňmůžezjistit,nakterékonkrétnídescesámběží.Řídicípočítačvokamžikuzaváděnízvolí,dokterýchdesekzavéstjakýprogram(napříkladdojednédestičkyzdrojhodin,

4 proměnnouvýplnífyzickévrstvy

15


dodesekumotorůshodnýregulačníalgoritmus)aprogramspuštěnývdescemůžeještě

přizpůsobitsvoučinnost(parametry)nazákladěidentifikátoru.

Software pro desky SPEJBL-ARM byl vyvíjen zcela v jazyce ANSI C, překládán

kompilátoremGCC3.4.3zapodporysestavovacíhoprostředíOMK(OCERAMakeSystem

5 ).

5.3.Ovládacíprogram

Ovládacíprogramhlavníhořídicíhopočítačesloužíkřízeníatvorbětrajektoriíchůzerobota.

Programumožňuje:

•přehráttrajektoriiztextovéhosouborusužitímlineárníinterpolacevkloubovýchsouřadnicích;

•zaznamenattrajektoriinebojejíčástvreálnémčase,dovolujeanimovatrobotajako

loutku,zatímcomotoryjsouodpojenyapouzepolohajesnímána;

•polohovatjednotlivékloubymyší,stiskemklávesnebočíselnýmzadánímpolohy;

•zmrazitlibovolnoupodmnožinukloubů,dovolujepolohovatručnězbyléklouby;

•změřitaktuálnípolohurobotaasejmouttakjedenbodvytvářenétrajektorie.

Jsou-liregulátoryuspořádányjakoSISO [↩→6.1.],ovládacíprogramplnípouhoufunkci

přehrávače(sekvenceru)trajektorií.Je-lipoužitoMIMOuspořádání,regulátorjesoučástí

ovládacíhoprogramu.

Základemprogramujestavovýautomat,čekajícínapříchozízprávysběrniceCAN.

Každánováperiodavzorkovánízačínápříchodemhodinovézprávy.Pojejímpříchodučeká

program,ažpřijdouzprávysměřenímodvšechservomotorů(obecněčidel).Popříjmuposlednízprávyjeměřeníúplnéaregulátormůževypočítathodnotyakčníchzásahůpropříští

periodu,kterépodokončenívýpočtuodešlenasběrniciCAN.Tímvnějšípůsobeníkončía

programčekánapříštíhodinovouzprávu.Pokudpřijdehodinovázprávadříve,nežzprávy

měření,nastalachybaservomotoru(čidla).Pokudsečíslopřijatéhodinovézprávyneshoduje

sčíslempředchozí,zvýšenýmo1modulo2 8 ,programohlásíztrátuvzorků(skluz).Tomůže

nastat,kdyžjevykonáníprogramuvhlavnímřídicímpočítačiněčímpřílišzbrzděno.

Ovládacíprogrambylvytvořenvzákladníchdvouverzích.Prvníbyldávkovýprogram

nazvanýCerveau,kterýbuďnastavovaldatapolohztextovéhosouborujakožádanoutrajektoriinebonaopaksnímalpolohuazaznamenávaljejíprůběh(animaci)dotextovéhosouboru.

InterpolacebylařešenapomocnýmprogramemmimoCerveau.Druhouverzíjeinteraktivní

programCerveauX,obsahujícígrafickéuživatelskérozhraní.OprotiprogramuCerveaumu

scházípouzemožnostpříméhozáznamuanimovanétrajektorievreálnémčase.

5.3.1.PopisprogramuCerveauX

Uživatelskérozhraníprogramujevidětnaobr.7.Vdolníčástije12ukazatelůaovladačůjednotlivýchservomotorů.Ryskyukazujížádanou(x

w )aměřenou xpolohu(natočení)

hřídelí.Otočnýmpáskemjemožnopolohuměnit,stejnětakjemožnozadathodnotudotextovéhopolíčka.Spínačeskontrolkouumožňujímotorodpojitodřízení,kontrolkaukazuje,

zdamotorodpovídázprávamiposíti.Kontrolkystavusítěvpravéčástiukazují,zdajsou

včasovémlimitupřijímányhodinovézprávy,zdafungujevlastnívysíláníapříjemazda

nedošlokeskluzu(ztrátěvzorků).Tlačítkaumožňujívšechnymotoryhromadněodpojit,

zapojit(řídit)anebozmrazit,cožznamená,žejenejprvejejichpožadovanápolohanahrazenahodnotouměřenou

x w = xapakjezapnutořízení.Zbývajícítlačítkozpůsobísejmutí

aktuálnípolohyajejívepsánídotextovéhooknanahoře.

5 http://rtime.felk.cvut.cz/omk/

16


7.uživatelskérozhraníovládacíhoprogramuCerveauX

Textovéoknoprogramuvsoběchovápolohy(body)tvořenéčipřehrávanétrajektorie.Každý

řádektextuodpovídájednomuvzorku(bodu),každýzprvních12sloupcůčíselodpovídá

polohámjednotlivéhomotoru.Číslov13.sloupciječas[s],pokterýtrváinterpolacezhodnotyvpříslušnémřádkudohodnotyvřádkunásledujícím.Čísla,popisujícípolohymotorů,

jsou x w ∈ ,0 ≤ x w


obstaráváknihovnaVCA(VirtualCANAPI 8 [8]),použitýmovladačemvjádřesystému

Linux2.6bylLinCANverze0.3.

8 http://www.ocera.org/download/distributions/partialrel/lincan-0.3-rc1.html

18


6.Zpětnovazebnířízení

Zhlediskařízenídynamickéhosystémujerobotmechanickýmsystémemsestávájícímztuhýchtěles,pružnosthřídelímotorůzanedbáváme.PodleLagrangeovskéhomodelováníobsahujestavovývektorsystémujakocelku12poloh(úhlů)a12(úhlových)rychlostí,systém

je24.řádu.Sílypůsobícínasoustavutělesjsoujednakvnitřní:12třecíchsilvkloubech,a

vnější:12momentů,působenýchmotory,reakčníatřecísílapodlahy,tížeadalšíporuchové

síly.Výstupemsystémuje12úhlůnatočeníkloubů x 1 . . .x 12 ,cílemjepřiblížittytoúhly

referenčnítrajektorii, x wk = q k .

6.1.RozdílySISOaMIMOřízení

Křízenídvounohýchrobotůexistujídvapřístupy.JednoduššíznichspočívávpoužitíněkolikaSISO

9 regulátorů,jedenregulátornakaždýmotor.Každýmotorjetakřízennezávisle

svýmvlastnímregulátorem(obr.8a).Nevýhodoutohotopřístupuje,ževzájemnédynamické

působenítělesrobotanenízohledněno,regulátorynemohou„spolupracovat.Výhodouje

jednoduchost.

Při SISO řízení může být každý regulátor nastaven odlišně, podle svého umístění

(kloubu,kdepůsobí).Rovněžmohoubýtvprůběhuchůzeměněnyjehoparametrypodle

toho,vkteréčástichůze(kroku)serobotprávěnalézá.Vnejjednoduššímpřípadějeale

možnonastavitvšechnyregulátoryzcelashodně,tak,abybylydostatečněrobustnípro

regulacidynamikyvlibovolnémkloubuavlibovolnémokamžikuchůze,ovšemzacenu

nižšíkvalityregulace.TypickouvolbouregulátoruproSISOřízeníjePIDregulátor,případě

kaskádaPIDregulátorů.

R 1 M

T 1

M

a) b) T R 1

c) T R R 1 M 1

R 2 M 2

M 2

R 2 M 2

Rn

Mn

Mn

Rn

Mn

T – generátor trajektorie (vysílá x wk = q k ), R, R 1 . . . R n – regulátory,

M 1 . . . M n – motory

8.a)SISO,b)MIMO,c)kaskádníMIMO-SISOregulátor

JinoumožnostíjepoužítmístoněkolikaregulátorůjedenMIMO 10 regulátor(obr.8b).Akční

veličinoujevektor,jehožsložkypůsobínajednotlivémotory.Měřenápolohanatočeníve

všechkloubechjevstupemregulátoruamůžebýtdoplněnaúdajizostatníchčidelprozpřesněníodhadupolohyuvnitřMIMOregulátoru(pokudjsoutakováčidla,např.sklonoměry

nebočidlatlakuvchodidlech,přítomna).AkčníveličinajakožtovýstupMIMOregulátoruby

teoretickymohlapřímonastavovatčinitelplněnínapěťovéPWMmotorů.Vpraxijeovšem

nutné,abymotorbyluzavřenalespoňvesmyčceregulátoruproudu,chránícíjejavýkonovou

elektronikupředzničenímnadproudem.VýsledkemjeMIMO-SISOkaskádníregulátor(obr.

8c).

9 single-input,single-output,tj.jedenvstup,jedenvýstup

10 multiple-input,multiple-output,tj.mnohovstupů,mnohovýstupů

19


VýhodouMIMOřízeníje,žemůžeodrážetvzájemnédynamicképůsobeníuvnitřřízenéhosystémuažeumožňujespojeníměřenýchdatzpotenciometrůvservomotorecha

zostatníchčidel(fúzidat).MIMOregulátoremmůžebýtnapř.spojenípozorovateleazpětné

vazbynavrženéjakoLQGneboručnímumístěnímpólů.Vteoriidobřerozpracovanýmregulátoremproúlohuřízenídvounohéhorobotajebytostněnelineárníregulátor,postavený

nazákladěpozorovatelesrychloudynamikou(high-gainobserver)astavovézpětnévazby

spřesnoulinearizací[9][10].

6.2.Pregulátor

Vprvníverzirobotabylpoužitprostýproporcionální(P)regulátorvmístníSISOsmyčce

polohovézpětnévazby.Měřenouareferenčníveličinoubylapoloha(úhel)vkloubu x,akční

veličinoubylpřímočinitelplněnínapěťovéPWM u,cožodpovídáprvníverzielektronického

zapojení [←↪4.3.1.].SoftwareregulátoruběželuvnitřdeskySPEJBL-ARM,smyčkabyla

uzavřenamístněasíťCANsloužilapouzepropřenosreferenčníveličiny(obr.9).

x w

z −1

ZOH + −

R

u

S

x

250 Hz

1 kHz

CAN

9.blokovýdiagramPregulátoru

6.2.1.Rozbor

SISOregulátorřídíservomotorbezohledunaostatníservomechanismyvsystému.Lineární

modelservomotoru,zekteréhojsemvycházel,počításezanedbatelnoupružnostíhřídele,

zanedbatelnouelektrickoučasovoukonstantoumotoru(cožjevpřípaděpoužitéhomotoru

opodstatněné,viz[↩→6.3.1.])asetrvačnouzátěžíhřídele.Výsledkemjemodel2.řádu,obsahujícíčasovoukonstantu

T m ,danousoučinitelemlineárnísložkytřenívkloubuamomentem

setrvačnostitělesspojenýchshřídelí,aastatismus,integrujícírychlostnapolohu:

S(s)=

K

s(1+T m s) .

Časovákonstanta T m ,úměrnásetrvačnéhmotěvdanémkloubu,seznačněměnípodletoho,

okterýkloubsejednáadálerovněžpodleaktuálnípolohyrobota–pracovníhobodu,vněmž

uvažujemelinearizovanýmodel.Velmizásadnízměnasetrvačnostivněkterýchkloubech

(zejm.kotníkových)nastává,kdyždocházíkezměnězestojenaobounohounastojna

jednénoze.Cílembylonastavitregulátortak,abyuspělvevšechkloubechavšechpolohách

přistejnémnastaveníproporcionálníkonstanty r.

Charakteristickýpolynomuzavřenésmyčkysproporcionálnímregulátorem R(s)=rje

Φ(s)=T m s 2 + s+rK.Nutnouapostačujícípodmínkoustabilitysystému2.řáduje,aby

bylyvšechnykoeficientycharakteristickéhopolynomutéhožznaménka,cožjesplněnopro

všechna r >0.Prorůznésetrvačnéhmotysebudetedy(vlineárnímpřiblížení)měnitdoba

ustálení,stabilitabudezachovánavevšechpřípadech.

20


w

+


e

R

u

+ − v

S

y

10.poruchavstupujícídouzavřenésmyčky

Zhlediskaregulačníodchylky evustálenémstavusledujmepřenos F w→e zreference x w

naodchylkuapřenos F v→e zporuchynavstupu v naodchylku(obr.10).Podosazení

dostáváme:

F w→e =

1

1+RS = s(1+T ms)

T m s 2 + s+rK ,

F v→e=

S

1+RS =

K

T m s 2 + s+rK .

Regulačníodchylkyproreferenčníaporuchovouveličinu n.řáduodpovídajípřenosůmstejnosměrnésložkylim

s→0 F(s)/s n−1 .Přenoszkonstantníreference(1.řádu)naodchylkuje

lim s→0 F w→e =0,zreferencetypurampa(2.řádu)jetolim s→0 F w→e /s=1/rK.Přenos

konstantníporuchynaodchylkujelim s→0 F v→e =1/r.Pregulátorzajistíregulacikonstantníreferencesnulovouregulačníodchylkou,cožpotřebámstatickéchůzevyhovuje.Při

konstantníporušenavstupu,kterouvpřípaděkráčejícíhorobotatvořízejménastatickézátěžovémomenty,působenétíží,ovšemvzniknenenulováregulačníodchylka,cožjeiustatické

chůzenežádoucí.Projejíodstraněníjetřebaregulátorrozšířitointegračnísložku.

Jakjižbylořečeno,velikostsetrvačnýchhmotnahřídeliservomotorusevelicelišípro

různékloubyaokamžikychůze.Parametryservomotorubylyidentifikoványpouzeprojedinou(atopoměrněmalou)setrvačnouzátěž,asiceprosamotnýservomotor(seznačnou

vlastnísetrvačností,tvořenouzejménapřevodovkou)spřipojenýmramenemN5a.Cílem

bylozejménazjistitdolníodhadčasovékonstantyprosprávnouvolbuvzorkovacífrekvence

[11].Časovákonstantabylaurčenazodezvynajednotkovýskok(obr.11)atonelineární

regresí1.diferencevýstupníhosignálufunkcí y(t)=b 1 (1 −e −b2t ).Úlohanelineárníregrese

skritériemnejmenšíchčtvercůbylavyřešenaMarquardt-Levenbergovoumetodou,implementovanouvprogramuGnuplot

11 .Důvodempoužitínelinárníregreseoprotilineárníregresi

ARXmodelubylfakt,želineárníregresedávalavinoukvantizačníhošumuzcelazcestnévýsledky.Vypočtenáčasovákonstantaje

T m =1/b 2 =14,3.10 −3 s.Elektromechanickéstatické

zesílenímotorubylourčenozesklonuněkolikaustálenýchodezevnajednotkovýskokpro

různévstupníčiniteleplnění.VýslednýstatickýpřenospročinitelplněnínapěťovéPWM

u ∈ 〈−1,1〉jakovstupníveličinuaúhel xjakovýstupvyšelroven K=2,30 πrad.

11 http://www.gnuplot.info/

21


0.14

0.12

Prechodova charakteristika samotneho motoru (PWM 44%)

motor

model

0.1

y [rad/pi]

0.08

0.06

0.04

0.02

0

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14

t [s]

11.přechodovácharakteristikamotoru

Zezměřenýchodezevnarůzněvelikévstupnískoky ubylozjištěno,žepásmonecitlivosti

motoru,danéCoulombovskýmtřením,jetéměřneznatelné.Zodezevbylorovněžpatrné,že

šumměřenípolohypotenciometremjezanedbatelnývzhledemknerovnoměrnostidráhypotenciometruanepřevyšuje

±1LSB.Kvantizaceměřenépolohyčiní832LSBna πrad.

6.2.2.Realizace

Proporčníkonstantaregulátorubylanastavenaempirickyna r=15 π −1 rad −1 .Regulátor

bylrealizovándiskrétně,vzorkovacífrekvencebylazvolena1kHz(4×vzorkovacífrekvence

nasítiCAN),tzn.ževzorkovacíperiodajecca.14×kratšínež T m .FrekvencePWMbyla

zvolenazakustickýchdůvodů20kHz,vzorkováníměřenépolohybyloprovedenokoherentně

sPWM.Vzorkovacífrekvenceregulátorunebylasynchronizovánasvzorkovacífrekvencísítě

CAN,neboťzměnyreferenčníchprůběhůjsoudostatečněpomaléačasováchybavrozmezí

1/4periodynenízávažná.

6.2.3.Výsledky

Pregulátorsplnilsvouúlohuvevšechkloubechapoceloudobuchůze,přiextrémněsetrvačnýchpolohách(nakročenánohavzhledemkprotějšímukotníku)apřirychléchůzidocházelo

kznatelnýmzákmitům.Ukázkareferenčníařízenétrajektorieprojedenkloubjenaobr.12.

Chůzesezdařila.

22


15

x wx

0

x L5 [deg]

-15

-30

-45

0

1 2 3 4 5 6 7 8

t [s]

12.řízenítrajektorievlaterálníoselevéhokyčelníhokloubu

9

10

11

Dleočekáváníbylapřigravitačnímzatíženíznatelnáregulačníodchylka,tabylaovšem

vprvníverzirobotazanedbatelnávůčijiné,přičítajícísechybě,způsobenémechanickou

hysterezívkotníkovémazejménakyčelnímkloubu.Vinoutohotojevusledovalrobotjinounežreferenčnítrajektoriiajižpřianimacibylonutnojinastavovatsohledemnatuto

chybu.Bohuželtatosystematickáchybapodléhalanavíczměnámběhemopotřebenízmíněnýchkloubůatočiniloúspěchchůzenejistým.Nazákladětétovadydošlokpřepracování

mechanikykloubů[←↪3.2.].

Nejzásadnějšívadoutohotoprvotníhořešeníbyločastéproudovépřetěžovánímotoru

asnímspojenévýkonovéelektroniky.Kněmudocházelozejménabrzdnýmiproudypři

velkýchmechanickýchzátěžíchakdyžbylmotornapájennapětímvokamžicíchblízkých

mechanickémuzkratu.Výsledkembylokroměpřehřívánívinutítéžhořenívýkonovýchtranzistorů,tánípřilehlýchplastů,samovolnéodpájenísoučástekzdeskyapod.Proodstraněnítétovadybylorozhodnutovytvořitvnitřnísmyčkuregulátorusproudovýmomezením

[↩→6.3.1.].

6.3.KaskádníPID-PIregulátor

Jakzneblahýchpokusůsprvníverzíregulacevyplynulo,jevčleněníproudovéhoomezenído

servomechanismunutnéprojehosebezáchovu.Zhlediskazpětnovazebníhořízenídynamickýchsystémůjeomezeníprouduvhodnérealizovatkaskádnímregulátoremsumělevloženým

omezením(„saturací)akčníveličiny–proudu[12],obr.13.Regulátor R 1 vnitřnísmyčky

jeregulátoremproudu,jehoakčníveličinoujenapětí(unásnapěťováPWM).Regulátor

R 2 vnějšísmyčkyjejižpolohovýmregulátoremajehoakčníveličinoujeproud,kterýje

uměle(softwarově)omezen–tímjedocíleno,žeproud,řízenývnitřnísmyčkou,nepřesáhne

danémeze,ažnapřípadnýpřekmit(jsou-lisplněnypředpoklady,kladenénařádreferencía

poruch).

23


x w i

R w u

2 R 1 S 1a S 2a S 2b



i

x

S 1b

13.blokovýdiagramkaskádníhoregulátoru

6.3.1.ProudovýPIregulátor

Úprava elektroniky pro kaskádní řízení spočívala v doplnění obvodu o měření proudu

[←↪4.3.2.], reguátor je jinak celý tvořen programem v desce SPEJBL-ARM. Regulátor

vnitřníproudovésmyčky R 2 přijímážádanouhodnotuproudu i w ,kterájeprojistotuoříznuta

(omezena), |i w | < i max . Velikost maximálního přípustného proudu i max je dána

softwaremvdesceSPEJBL-ARM.Akčníveličinouproudovéhoregulátorujenapětí(PWM)

u.Totonapětívstupujedovinutí,vněmžvytváříproud,kterýjefiltrovánRCčlánkem

(vizdále[↩→6.3.1.1.])aměřenjako i.Prouddálepůsobívmotoruotáčivýmoment,zrychlení,rychlostaměnípolohu

x.Otáčenínebobrzděnímotoru,aťužzpůsobenévzbuzeným

proudemnebovnějšímechanickouzátěží,způsobujezpětnouindukcinapětídovinutíato

sepřičítávpodobězpětnévazbykakčnímunapětí u.Prodůslednévyjádřenídynamiky

mezipůsobenýmnapětím uavybuzenýmproudem ibychomtutozpětnouvazbumělivzít

vúvahu.Alevzhledemktomu,žemechanickédějejsouřádověpomalejší(T m )nežodezva,

jižbudemevyžadovatodproudovésmyčky,můžemechápatoběčástisystémumotoruodděleněstím,žezpětněindukovanánapětíseprojevíjako(pomaluseměnící)poruchana

vstupuvinutí u.

Napětí unenímožnozpodstatyPWMměnitčastěji,nežskaždouperiodouPWM,

tj.navzorkovacífrekvencirovnéfrekvenciPWM;tuvzhledemkrežiipřepínánítranzistorůH-můstkunenírozumnépřílišzvyšovat,protojsemsepřidrželakustickydanéhodnoty

f PWM =20kHz.Natéževzorkovacífrekvencinechťtedypracujeproudovýregulátor.DynamikařízenésoustavyjetvořenadynamikouvinutíaměřicíhoRCfiltru.Změřenístřídavých

vlastnostímotoruvyplynulo,ženafrekvencíchdo10 5 Hzsevinutíchovájakočístěreálná

zátěž(indukčnostneželeznékotvyjeminimální,samorezonancemotorubylanaměřenaokolo

3.10 5 Hz).Zhlediskaregulátorujevinutípouzereálnouvodivostí K 1 .Vybuzenýproudje

pakfiltrovánRCčlenem,sloužícímkpotlačenívysokýchharmonickýchpulzníhoPWMbuzení,kterébyznatelnězkreslilyúdajeoměřenémproudu.Zjednodušenýpřenosřízeného

proudovéhosystémujetedy S 1 (s)=K 1 /(1+T RC s).

Řízenýsystém S 1 jestabilní,bezastatismu.Abychomdosáhlinulovéregulačníodchylky

vpřípaděkonstantníreferenceiporuchynavstupu,musíregulátorobsahovatalespoňjeden

astatismus.ZvoliljsemtedyregulátortypuPI,vspojitépodobě R 1 =(r 0 s+r −1 )/s.To

dávápřenosyzreferenčníveličinyazporuchynavstupu:

F w→e =

s(1+T RC )

T RC s 2 +(1+K 1 r 0 )s+K 1 r −1

, F v→e =

tedylim s→0 F w→e =0alim s→0 F v→e =0,jakbylopožadováno.

K 1 s

T RC s 2 +(1+K 1 r 0 )s+K 1 r −1

,

24


6.3.1.1.FiltracePWMapřevzorkování

Diskrétníregulátorjesespojitýmřízenýmsystémempropojenzádržínastraněakčníveličiny

avzorkovačemnastraněveličinyměřené.Rolizádrževtomtopřípaděhrajemodulátor

PWM.PWMjenedokonalounáhradouzádrže0.řádu(ZOH).SignálPWMskonstantním

činitelemplnění(drženouhodnotou)seskládázestejnosměrnésložky,rovnépožadované

drženéhodnotě,avyššíchharmonickýchofrekvencích kf PWM , k ∈ .Pokudsečinitel

plněnímění,můžesePWModZOHlišitnepatrněinafrekvencíchodlišných,nežjsou

kf PWM –docházíkintermodulaci[13].Pronášúčeljetotozkresleníovšemzanedbatelné,

většinarozdílovéhosignáluzůstávánavyššíchharmonickýchfrekvencích.

1

prenos filtru |H 3 |

horni odhad |A k |

odfiltrovane harmonicke

rusive harmonicke

0.1

|Ak|, |H 3 |

0.01

0.001

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

k = T PWM f

14.horníodhadamplitudyvyššíchharmonickýchPWMvměřenémsignálu

MěřenýproudobsahujevyššíharmonickéPWM.Přivzorkováníměřenéhoproududochází

kzrcadlenívespektru(aliasing).Vyššíharmonickésložkysezobrazujídodolníhopásma

ajejichamplitudysepřičítajíkhodnotěskutečnéstejnosměrnésložky,jižchcememěřit.

Zrcadlenímpůsobenouchybulzeomezitlepšífiltracípředvzorkováním(anti-aliasing)nebo

zvýšenímvzorkovacífrekvence.Zlepšitpotlačenívyššíchfrekvenčníchsložekpředvzorkovánímlzesníženímzlomovéfrekvencefiltrunebozvýšenímřádufiltru.Zvyšovatřádfiltru

jsemnechtěl,abyzůstalazachovánajednoduchostobyčejnéhoRCfiltru1.řádu.Přílišnízká

zlomováfrekvencefiltruovšemzbytečnězúžíšířkupásmaregulačnísmyčky.Řešenímjetedy

zvýšitvzorkovacífrekvenciazbytekfiltraceprovéstjiždigitálně.

Digitálnífiltrpracujícísnavzorkovanýmsignálemmůžezcelapotlačitněkterévyšší

harmonické,pokudnajejichfrekvencíchbudouležetnulyfiltru.Ipřipřevzorkování(zvýšenívzorkovacífrekvence

f s naněkolikanásobek f PWM )sealeněkteréharmonickéozrcadlí

nanulovoufrekvenciazpůsobítakchybustejnosměrnéhoměření.Naobr.14jezobrazen

vlivspektravyššíchharmonickýchvevýslednémsignálupropřevzorkování M =6, f s =

Mf PWM .NulyfiltruležínavšechharmonickýchPWM,kromě kMf PWM , k ∈ (tedy0.,

6.,12.,. . .harmonické),jejichžfázorysepřičítajíkstejnosměrnésložce.

25


Odhadněme,jakounejvětšíchybumohouzrcadlavyššíchharmonickýchzpůsobitpro

danépřevzorkování M= f s /f PWM azlomovoufrekvenciRCfiltru f RC =1/2πRC.PWM

souměrná jako sudá funkce má kosinový rozklad s koeficienty (amplitudami k. harmonické)

A k = 1

πk sin πku, |A k| ≤ 1

πk ,

kde u ∈ 〈0,1〉ječinitelplněníPWM.Zrcadlaseovšemsčítajífázorově,takžecelkováchyba

(vztaženákrozsahustejnosměrnésložky, |u max |=1)je

N∑ N∑

∆=2 A k ≤2 |A k |,

k=1

cožpřílišnepřekvapí,vzhledemktomu,žeřada ∑ ∞

k=1 1/kaninekonverguje(násobení2je

kvůlioboustrannémuspektru).Bohužel,analytickévyjádřenískutečnéchybysemivyjma

konkrétníchpřípadů(u=1/2)nepodařilo.Dálejsouamplitudyharmonickýchpotlačeny

RCfiltremspřenosem

H(jω)=

k=1

1

1+jωRC , |H k|=|H(j2πkf PWM )|=


1

)

,

2

1+(

kfP WM

f RC

kf PWM

f RC

≫1:|H k | ≈ f RC

kf PWM

≥ |H k |.

Připřevzorkování Mpočítámepouzeharmonické Mk.Horníodhadchybymůžemeučinit

zabsolutníchhodnotfázorů(amplitud),řadajejižpoRCfiltracikonvergentní:

∆=2

∞∑

k=1

H (Mk) A (Mk) ≤2 ∑ k

|H (Mk) ||A (Mk) | ≤2 ∑ k

f RC 1

f PWM Mk πMk =

=

2f RC

∑ 1 πf RC

πf PWM M 2 k 2= 3f PWM M 2 .

Spomocínumerickýchvýpočtůjsemzkusmonašelořádnižšíhorníodhadchyby

∆ ≤

k

f RC

8f PWM M 2,

pronějžbohuželneznámanalytickéodvození.Odhadsevelicetěsněblížískutečnostipro

f RC < f PWM a M >1.Vproudovémregulátorurobotabylopoužitopřevzorkování M=6,

danémeznírychlostívzorkovánívestavěnéhoA/Dpřevodníku,aRCfiltr R=15kΩ, C=

10nF, f RC

. =1061Hz.Todávástřízlivější(analytickypodložený)odhadchyby δ ≤0,15%

(∼ −56dB),realističtějšíempirickýodhad δ ≤0,018%(∼ −75dB).

6.3.1.2.Přenosdecimovanéhosystému

Nastranězádrže(PWM ∼ZOH)vstupujedořízenésoustavysignálnavzorkovacífrekvenci

f PWM ,nastraněvzorkovače(A/D)jevzorkovánnafrekvenci f s = Mf PWM .Jednáse

osystémsezměnouvzorkovacífrekvence,signálvzorkovaný f s jedecimovánnafrekvenci

zpětnovazebnísmyčky f PWM .Obdobnásituacenastávápotomivevnějšípolohovésmyčce,

kdejevzorkovacífrekvenceopětdecimovánazf PWM na f CAN =250Hz[↩→6.3.2.2.].Odvoďme,jakýjepřenossystémusnáslednoudecimací.

26


H(z) @ f s

↑ N H 2 (z) ↓ N

H 1 (z)

G(z) @ f s /N

H 3 (z)

15.blokovýdiagramsystémusezměnouvzorkovacífrekvence

Uvažujmediskrétnísystémspřenosem H 2 (z),pracujícínavyššívzorkovacífrekvenci f s (obr.

15).Jehovstupjebuzenvzorky,přicházejícíminanižšívzorkovacífrekvenci f s /Mpřesblok ↑

M,kdejsouprokládánynulamiainterpolátor(zádrž)spřenosem H 1 (z).Předpokládáme,že

zádržlzepopsatjakoLTI 12 systém,cožplatíprovřídicítechniceběžněpoužívanézádrže0.a

1.řáduaobecněprovětšinuinterpolačníchfiltrů.Navýstupumůžebýtsignálještěfiltrován

filtrem H 3 (z)předdecimací ↓ M,kdejevzorkovacífrekvenceopětsníženavynecháváním

vzorkůna f s /M.

Úkolemjeurčitpřenos G(z)celku,jakožtosystémupodvzorkovanéhona f s /M,tzn.

převéstpřenos H(z)=H 1 (z)H 2 (z)H 3 (z)nanižšívzorkovacífrekvenci.Jedobrésiuvědomit,

ženavyššívzorkovacífrekvenci f s nelzeopřenosucelkuuvažovat,neboťprokládání ↑ M

adecimace ↓ M jsousiceoperacelineární,alenikoličasověinvariantní,takžeceleknení

navzorkovacífrekvenci f s LTIsystémem.Zhlediskanižšívzorkovacífrekvence f s /M se

ovšempůsobeníoboubloků„vyrovnáaceleksejižzvnějškujakoLTIsystémchová,lzejej

popsatpřenosem G(z)ajakotakovýjetéžplněpopsánsvouimpulsovouodezvou.Stačítedy

dosystémuvpustitjednotkovýimpuls,kterýjezádrží H 1 (z)„vytvarován(zádrž0.řádu

znějnapříkladuděláposloupnost M impulsůshodnévýšky),výsledekprojdesystémem

H 2 (z)afiltrem H 3 (z)azvýstupu(impulsovéodezvy h[k])jepakvybránkaždý M.vzorek,

tedyhledanáimpulsováodezva g[k]=h[Mk](obr.16).Změnavzorkovacífrekvencejezcela

obdobnádiskretizacispojitéhosystému,kdyjejehopřenosnejprvevynásobenLTImodelem

zádrže(např.ZOH)apotépopsánaimpulsováodezvacelkujakopřenos.

12 lineární,časověinvariantní

27


50

FIR cast

h[k]

g[n]=h[Mk]

40

30

y

20

10

0

0 30 60 90

16.impulsováodezvasystémuajejídecimace

Jevidět,žeimpulsováodezvacelku g[k]vlastněvznikápouhoudecimacíimpulsovéodezvy

h[k].Jakýjevztahmezioběmapřenosy, H(z)aG(z)?Vlivvynechávánívzorků(decimace)

jedobřepatrný,rozložíme-li H(z)načástečnézlomkyadecimujemeodezvukaždéhopólu

zvlášť:

H(z)=H F (z)+H P (z)=

m∑

i=0

k

n−m

b i


z i+

i=1

k∑

j=1

r i,k

(z − q i ) j , q i≠0.

Vrozkladujsemzáměrněrozdělilpřenosnasoučetčástiskonečnouimpulsovouodezvou(FIR

část) H F (z)azbylou,přísněryzíčástsnekonečnouimpulsovouodezvou(ryzíčást) H P (z).

Oběčástitotiždecimacepozměníodlišně.Nekonečnéimpulsovéodezvy H P (z)majítvar

obecněkomplexníchexponenciál,vpřípaděnásobnýchpólůnásobenýchpolynomemvčase

(číslevzorku k),znichžsepodecimacistanouopětexponenciályspatřičněumocněným

základem(pólem):

h P [k]= ∑ ∑

p i,j k j qi k , g P[k]=h[Mk]= ∑ ∑

p i,j M j k j (qi M ) k .

i j

i j

Ryzíčástdecimovanéhopřenosu G P (z)tedyobsahujeumocněnépóly qi

M původníhopřenosu

H P (z)přizachováníjejichpočtuanásobnosti.Zajímaváskutečnostnastanepřidecimaci

FIRčásti H F (z).Tapopisujeděj skonečnouimpulsovouodezvou,trvajícívčase k =

0, . . .,m.Ztétokonečnéodezvyjsouponechánypouzevzorkynačasovýchnásobcích M,

zbytekjezcelaignorován:

h F [k]=b k , g F [k]=h F [Mk]=b Mk .

28


DocházíkvýraznémusníženířáduFIRčástipřenosu.Tentojevseuplatnívýznamně,neboť

používanézádrže H 1 (z)avnašempřípaděifiltr H 3 (z)bývajítypuFIRacelek H(z)má

poměrnědlouhouodezvuFIRčásti.

6.3.1.2.1.Algoritmusdecimacepřenosu

Provádětpřevodpřenosu H(z)nadecimovaný G(z)přímopodleuvedenéhorozkladuna

částečnézlomkyjemírněnešikovné.Přednějetřebaspočítatsamotnýrozkladnačástečné

zlomkyadálepoměrněobtížněpřepočítatkoeficientyuvícenásobnýchpólů.Jinoucestouje

provéstdecimacivestavovémpopisusystému:

x k+1 =Ax k +Bu k ,

x k+M =A M x k +A M−1 Bu k .

kdex k jevektorstavůsystémuau k vstupsystémuvčase k.Výstupsystémujedánlineární

kombinacístavu y k =Cx k .MaticesystémuAsedecimacízměnínaA M avstupnímatice

BsezměnínaA M−1 B.Tatometodasevyskytujevliteratuřepodnázvemlifting,případně

vobecnějšípodoběpřevodudecimovanéhosystémunasystémsvícevstupyavýstupyjako

blockingčiserialtoparallelconversion[14].Prodecimacipřenosovéfunkcejetřebapřevést

jinastavovýpopisazpět,napříkladtakto(somezenímnapřísněryzísystém):

H(z)= B(z)

n A(z) , B(z)= ∑

n∑

b k z −k , A(z)=1+ a k z −k ,



k=1

⎛ ⎞

−a

k=1

1 −a 2 . . . −a n 1

1 0 . . . 0

0

A=

0 1 . . . 0


⎝ . ⎟

. . .. .

⎠ ,B= ⎜ ⎟


0.

⎠ ,C=(b 1 b 2 . . . b n ),

0 . . . 1 0 0

H(z)=C(zI −A) −1 B, G(z)=C(zI −A M ) −1 A M−1 B.

Tímjevypočtenapřenosováfunkcepodecimaci,beznutnostirozkladunakořenovéčinitele.Místopoužitépřidruženématicejeovšemmožnopracovatsmaticívjinémtvaru,

např.kanonickémJordanově–umocňováníJordanovýchblokůjepotomobdobnévýpočtu

koeficientůučástečnýchzlomků.

Uvedenámetodaovšemcodorozměrůmaticastavovéhovektoruzachovávářádsystému,takžepokud

jepoužitana celýpřenosvčetněFIR části,vzniknouvevýsledném

přenosu G(z)krácenénulyapóly,tvořícetaksníženířádu.Tyjemožnozjistitaodstranit

numericky,např.funkcíminrealvMatlabu.Jinoumožnostíjealgebraickyrozdělitpřenos

naFIRčástaryzíčástadecimovatspoužitímstavovéhopopisupouzeryzíčást,přičemž

zbývajícídecimaceFIRčásti(včetněsníženířádu)jetriviální.Rozdělenípřenosujemožné

ibezrozkladunačástečnézlomky:

H(z)= B(z)

z m A(z) ,

H F(z)= F(z)

z m , H P(z)= C(z)

A(z) ,

B(z)=F(z)A(z)+z m C(z), deg B=deg A+m,deg F= m,deg C=deg A −1.

Polynomiálnírovnostdávásoustavu n=deg Blineárníchrovnic,jejížjednotlivérovnice

odpovídajípříslušnýmmocninám z.

29


Podobnou,aleméněobecnouúlohudecimacepřenosuřešífunkced2dvMatlabu.Ta

ovšemnatvrdopředpokládá,žesystémobsahuje H 1 (z)ažejdeozádrž0.řádu.Funkce

pracujesestavovýmpopisemaneprovádíredukciřádu.

6.3.1.3.Rozborřízenéhosystému

Proudovázpětnovazebnísmyčkazpohledudiskrétníhoregulátorujezobrazenanaobr.17.

PIregulátor R 1 pracuje,jakjižbylořečeno,navzorkovacífrekvenci f PWM .Přechodna

vyššívzorkovacífrekvenci f s = Nf PWM jepopsánjakozádrž0.řáduspřenosem H 1 (z).

Akčníveličina(u)dálevstupujedospojitéhosystému S 1 ,opětpřeszádrž0.řádu,tentokráte

jižspojitou(obězádržejsouveskutečnostitoužzádrží–výstupemPWM).Výstupsystému

(měřeníproudunaRCčlánku)jevzorkovánnafrekvenci f s avstupujedofiltruklouzavých

průměrů H 3 (z),jehožposlánímjeodstranitzrcadlavyššíchharmonickýchPWMpředdecimací.Následujedecimaceopětnafrekvenciregulátoru

f PWM asmyčkajeuzavřena.

H 2 (z)

i w


R 1 (z)

z −1

i

↑ N

↓ N

ZOH@fs

H 1 (z)

ZOH

S 1 (s)

K 1

1+T RC s

17.proudovázpětnovazebnísmyčkaPIregulátoru

A/D

MA (M = 2N)

H 3 (z)

Úlohoufiltru H 3 (z)jepotlačitvměřenémsignálunežádoucísložky,kterébysenepříznivě

zrcadlilydecimacínamístaužitečnéhosignáluapůsobilychybu.V[←↪6.3.1.1.]bylořečeno,

ženulyfiltrubysemělynalézatnaharmonickýchsignáluPWM,abyjepotlačily.Jakofiltr

bylzvolenfiltrklouzavýchneváženýchprůměrůdélkyprosvoujednoduchost,neboťvimplementacijetvořenpouhýmsoučtemnadkruhovýmzásobníkem.Přenosfiltruklouzavých

průměrůaumístěníjehonulje

H 3 (z)=

M−1


k=0

z −k = zM−1 −1

z M−1 (z −1) ,

f n= kf s

M , k≠ nM; k, n ∈ , H fn

j2π

3(e fs)=0.

Abyfiltrsplňovalpožadavekumístěnínul,musíbýtjehodélka Mrovnaceločíselnémunásobkupoměruvzorkovacíchfrekvencí

N.Nejjednodušším(nejkratším)vyhovujícímfiltremje

tedyfiltrdélky M= N.Vnávrhujsemovšemzvolilfiltrdvojnásobnédélky M=2N.Důvodembylodosáhnoutoněcovyššíhopotlačenísignálůvrozmezí

〈f PWM /2, f PWM 〉vzhledem

ktomu,žepodecimacibudouzrcadlenydohlavníhoužitečnéhopásma 〈0, f PWM /2〉(obr.

18).

30


1

M=6

M=12

0.1

|H 3 |

0.01

0.001

f PWM /2f PWM

18.frekvenčnícharakteristikafiltruklouzavýchprůměrů

f

f s

Diskrétnípřenos H 2 (z)řízenéhosystému S 1 získámediskretizacímetodouZOH:

{

H 2 (z)=Z L −1{ 1

} } {

s S z −1

1(s) = Z L −1{ 1 K

} }

1 z −1

,

z s1+T RC s z

H 2 (z)= K d

z − q , q=e− 1

fsT RC , K d = K 1 (1 − q).

Nynímůžemepřistoupitkdecimacicelkovéhopřenosu H(z)=H 1 (z)H 2 (z)H 3 (z).

N−1


H 1 (z)= z −k , H 2 (z)= K M−1

d

z − q , H ∑

3(z)= z −k ,

k=0

k=0

H(z)=H 1 (z)H 3 (z)H 2 (z)=

∑ M+N−2

k=0

b k z k

z M+N−2 K d

z − q .

Vnašemkonkrétnímpřípadě N =6, M =12, q . =0,946vycházíFIRčást H F (z)řádu

M+ N −2=16aryzíčást H P (z)řádu1.Povýpočtupolynomů F(z)aC(z)Gaussovou

eliminacíanáslednédecimacivyšlypřenosy

G F (z)= f 10z+ f 4

z 2 ; (f 16 =0),

G P (z)= c 0q N−1

z − q N ,

G(z)=G F (z)+G P (z) = . (z+1)(z+0.6386)

K G

z 2 (z − q N .

)

6.3.1.4.Návrhregulátoru

ÚkolemjenavrhnoutdiskrétníPIregulátorprosystémspřenosem G(z).Vzhledemkpřirozenémuzpožděnío1krok,způsobenémnenulovoudobouvýpočtu,jetřebanavrhnout

regulátorprořízenýsystémspřenosem

31


G S (z)= 1 z G(z)=K (z+1)(z+0.6386)

G

z 3 (z − q N , q N . =0,7165.

)

PřenosdiskrétníhoPIregulátorulzezapsat R 1 (z)=K(z − n)/(z −1),parametryjsou

nulapřenosu nacelkovézesílení K.Regulátorbylnastavenzkusmospoužitímnástroje

MatlabSISODesignTool(sisotool).Cílemnávrhubyloudržetpřekmitvrozumných

mezích(hlavnímúkolemregulátorujezabezpečitomezeníproudu).Výslednéparametry

regulátorujsou n=0,674, K=0,6/G S (1) 13 .Přechodovoucharakteristikuuzavřenésmyčky

ukazujeobr.19.Překmitodezvyčiní5,74%anastávávčase0,65ms=13T PWM .

1.2

1

0.8

I [A], u [-]

0.6

0.4

0.2

0

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

t [ms]

i RC = vystup RC

i s = i vzorkovano f s

i MA = i s filtrovano H 3

i = i MA decimovano

u

19.přechodovácharakteristikauzavřenéproudovésmyčky(i w =1A)

6.3.1.5.Realizace

RegulátorjeobsaženvsoftwarudeskySPEJBL-ARM.Výpočtybylynaprogramoványvceločíselné32-bitovéaritmeticetak,abybyldynamickýrozsahcelýchčíselvyužitconejvíce,

stím,žejedinépoužitédělení(měřítkoakčníveličinynavýstupu,kdejehodnotapřepočtenanarozsahperiodyčítačePWM)jemocninou2,konkrétně2

15 ,takžeceláimplementace

obsahujepouzedvě32-bitovánásobení,jedenbitovýposun(dělení)aněkoliksčítáníaodčítání.

13 GS (1)značístejnosměrnýpřenosřízenésoustavy,tj.fyzikálněvodivostvinutí

32


e

K

u

2 − n


1

z

20.realizacePIregulátoruproudu

Proudovéomezeníveličiny i w byloprojistotuvloženoinavstupregulátoru,abynemohlo

dojítomylemvnávrhuvnějšísmyčkyknastaveníprouduchybněmimopovolenýrozsah.

Maximálnípřípustnáhodnotaproudubylanastavenanahodnotu |i max |=1A.

Navrženáelektronika [←↪4.3.2.]měříproudpouzeunipolárně,vabsolutníhodnotě.

Informacejetedyneúplná.Vregulátorujsemtentonedostatekobešeltak,ženatvrdopředpokládám,žeznaménkoproudujeshodnéseznaménkemakčníhonapětí.Tosamozřejmě

nemusíbýtpravda,jednakvinoupřechodovéhodějeRCčlánku,zasahujícíhodopříštíperiodyPWM,kdyužmůžemítproudopačnéznaménko,dálepaktím,žeznaménkoproudua

budícíhonapětínemusíbýtshodné.

Prozamezeníwindupu(přeplněníintegrátoruvpřípaděnasyceníakčníveličiny u)jsem

použilošetřenítvrdýmanti-windupem,víceviz[↩→6.3.2.4.].Vimplementacijsemjerealizovalpomocídvousčítánískontroloupřetečeníajednépaměťovébuňky,jakjenaznačenona

obr.20.Stavintegrátorujedrženvmezíchomezeníakčníveličiny,upravenýchsoučasnou

hodnotouproporcionálnísložky.Nahradíme-liomezujícíblokyvdiagramukrátkýmspojením,budemítvýslednýobvodpožadovanýpřenos

R(z)=K(z − n)/(z −1).

1.4

1.2

1

I [A], u [-]

0.8

0.6

0.4

0.2

0

0 0.2 0.4 0.6 0.8 1

t [ms]

u (mer)

i (mer)

i RC (mer)

u (sim)

i (sim)

i RC (sim)

21.srovnáníměřenéasimulovanépřechodovécharakteristikyproudovéhoregulátoru(i w =1A)

33


Grafnaobr.21ukazujesrovnáníměřenéasimulovanéodezvyuzavřenésmyčkynajednotkovýskokreferenčníveličiny.Vměřeníisimulacibylřízensystémsparametryzměněnými

oprotinávrhu,časovákonstanta T RC bylavpokusnémsystémuasi3×menší,nežvnávrhu

akonečnémvýrobku.Rovněžstatickézesílení(vodivostvinutí)semírnělišilo.PrůběhpilovitéhonapětínaRCčlánkuměřeníproudubylzměřendigitálnímosciloskopemTektronix

TDS210vrežimuprůměrování16×,zbyléhodnotybylypřenesenyzdeskySPEJBL-ARM

posítiCAN.(Simulovanáodezvasystémusčasovoukonstantou T RC vsouladusnávrhem

regulátorubylanaobr.19.)

6.3.2.PolohovýPIDregulátor

Polohovýregulátor R 2 jeregulátoremvnějšísmyčkykaskády.Měřenouareferenčníveličinou

jepoloha(úhel) x,akčníveličinouproud i w .AbybylomožnévbudoucnuvnějšíSISO

regulátornahraditobecnýmMIMOregulátoremaověřituzavřenísmyčkypřessíťCAN,

byltentoregulátorrealizovánvsoftwaruhlavníhořídicíhopočítače.Vzorkovacífrekvence

sítě,tudížiměřenéaakčníveličinyregulátoru,je f CAN =250Hz.Vnitřnísmyčkaběžína

frekvenci f PWM =80f CAN ,výstup(potenciometr)jemožnorovněžvzorkovatnafrekvenci

f PWM –vevnějšísmyčcesetedyopětvyskytujezměnavzorkovacífrekvenceapřenosje

decimován,obdobnějakov[←↪6.3.1.3.].

Vnořenáregulačnísmyčkaneměnířádastatismuřízenésoustavyoprotipůvodnínapěťověřízené,popsanév

[←↪6.2.1.].DlezávěrůučiněnýchpřinávrhuPregulátorujepro

potlačeníkonstantníporuchynavstupumotoru(způsobenézátěžovýmmomentem)třeba,

abyregulátorobsahovalastatismusalespoň1.řádu(integračnísložku).Jaksevrozboruipři

pokusuukázalo,jerovněžpřítomnostdiferenčnísložkynezbytná,neboťzpožděnívřízeném

systému,způsobenáfiltracíapřenosemposíti,způsobujíznačnýfázovýposun.Zvoleným

regulátoremjetudížPID.

6.3.2.1.Rozbor

ZměnavzorkovacífrekvenceprobíháuvnitřsoftwarudeskySPEJBL-ARM.Nastraněpožadovanéhoproudu

i w jetvořenazádrží.Bylapoužitazádrž0.řádu,ovšemvýhledověby

mohlabýtpřínosemzádrž1.řádu,vzhledemktomu,ževzorkování f CAN jepoměrněpomalé.

Měřenápoloha xjepředdecimacífiltrovánaopětklouzavýmiprůměry,vtomtopřípaděbyl

zvolenfiltrdélky M = N =80jakokompromismezivyužitímvšechměřenýchdataco

nejmenšímzpožděnímFIRfiltru(vtomtozvláštnímpřípaděseklouzavýprůměrrovnáprůměrublokovému).Vzorkováníobousmyčekjeasynchronní,cožzpůsobujechybučasování

(jitter)nejvýše1/80periodyvnějšísmyčky.

Schémařízenéhosystémuzpohleduregulátoru R 2 jenaobr.22.Dynamikařízenéhosystémuobsahujezádrž,PIregulátorproudu,RCčlánek,mechanickousetrvačnost,astatismus

polohy,průměrovacífiltr.Tovšejedecimovánoapřidánojepřirozenézpožděníojedenkrok

periodynasběrniciCAN,vněmžproběhnevýpočetregulátoruvhlavnímřídicímpočítačia

přenoszprávsměřenýmiaakčnímiveličinami.Jednouzmožnostímodelovánířízenéhosystémubybylostanovitdílčípřenosy,tedyzejménaupřesnitmechanickoučasovoukonstantu

aprovéstdecimaci.Vyjdepřenoszbytečněvysokéhořádu,obsahujícípólysvelmirozdílnou

dynamikou–pomaloumechanickousetrvačnostíoprotirychlýmdějůmvproudovésmyčce.

Jevhodnémodelzjednodušitapopsatpřenosemnižšíhořádu.

34


xw + iw +

z −1

u +

+ i

R 2

↑N ZOH R 1 S 1a



S 2a

S 2b

MA

S 1b

x

↓N

250 Hz 20 kHz

CAN

22.polohovázpětnovazebnísmyčkaPIDregulátoru

Druhoumožnostíjeidentifikovatcelýřízenýsystémznaměřenýchdat.Vzhledemktomu,

ženavrhovanýpolohovýPIDregulátormělbýtopětnastavenseshodnýmiparametrypro

všechnykloubyaokamžikychůze,měnísedynamikamechanickéčástiřízenéhosystému

vevelikémrozpětí.Protonemávmodelovánísmyslpopisovatpodrobněprvkydynamiky,

jejichžvýznamjevůčitěmtozměnámzanedbatelný.

6.3.2.2.Identifikaceřízenéhopodsystému

Úkolemidentifikacejestanovitpřenosřízenéhosystému P(z)zevstupu i w navýstup x.

Zatímtoúčelemjesystémtřebavybuditvhodnýmsignálem i w [k]aprovéstměřenívýstupu

x[k].Přibuzenísystémupseudonáhodnoudvojkovouposloupnostíjsemnedosáhlpřílišdobré

shodymodelovanéhovýstupusměřeným.Naviněmohlybýt,kroměšpatnévolbyposloupností,téžnelinearityuvnitřsystému,napříkladomezeníproudu,kněmuždocházelo.Naproti

tomuseosvědčilobuzenísinusovýmisignály.Proidentifikacijsempoužilalgoritmyodhadu

parametrickýchmodelůnástrojeMatlabSystemIdentificationTool.

Při identifikačních pokusech byl motor připevněn za hřídel a setrvačnáhmota tak

odpovídalavlastnísetrvačnostitělamotoru.Opětsejednáosetrvačnostpoddolnímezí

skutečnýchsetrvačnostíuvnitřrobota.Identifikacijsemprovádělzdvojíchdat.Nejprve

jsem vybudil systém rozmítaným signálem (chirp). Použil jsem exponenciálně rozmítanoufrekvencivrozsahu

〈f 0 , f 1 〉Hzpodlefunkcechirp(t,f0,t(end),f1,’logarithmic’)

Matlabu:

A=0,2A, k=0 . . .N, N= f s 120s, f 0 =0,2Hz, f 1 =125Hz,

φ[k]= N ( (f1 ) k

)

N

f 0 −1 .

ln f1 f

f 0 0

i w [k]=Acos2πφ[k],

Měřenádatajsemposunulo1vzorek(vyrovnánípřirozenéhozpožděnívýpočtuasíťového

provozu)aodstranilstředníhodnotuatrend.Rušivýtrendseobjevilvoblastivyšších

frekvencítím,jaknahodilezabíralynelineárnísložkytřenímotoru.Trendjsemodhadljako

signál,filtrovanýdolnípropustíFIR4000.řádusezlomovoufrekvencí2.10 −4 f CAN anulovou

fází.

Zblokutěchtodatvčasovéoblastibylyidentifikoványmodelyvestavovémpopisu

metodouN4SID([15],10.6)apřenosovémodelytypuOE(outputerror)metodouPEM

([15],7.2).Zněkolikaidentifikovanýchmodelůřádu2 . . .5jsemponechalstavovýmodel

2.řádun4s2aOEmodel2.řádusezpožděnímo2krokyoe222.Přidalšímzvyšování

řádujižnedocházelokvýznamnémusníženíchybypredikce.Přenosyoboumodelůvyšly(po

obohacenízpožděnímo1krok)vetvaru

P(z)=K P

z − n

z(z −1)(z − q) ,

35


f ∈ {2,7,10,15,18,20,22,25,30,40}Hz.

vmodelun4s2snulou n = 1,783apólem q = 0,8114,vmodeluoe222 n = 3,584a

q=0,7958.

Proověřeníjsemserozhodlprovéstještěidentifikaciparametrickéhomodeluzdatve

frekvenčníoblasti.Protenúčeljsemsejmulustálenéodezvynasinusovébuzeníofrekvencích

Zkaždéhoustálenéhostavubylonaměřeno1250vzorků,tj.5súsek.Úsekbylještězkrácentak,abyobsahovalpokudmožnocelýpočetperiodbudicíhosignálu.Komplexnípřenos

vbodě fbylpotéstanovenaritmetickýmprůměrem

ϑ=2π

f

(

, i w [k]=Acosϑk, ˆP e

jϑ ) = 1 N∑

e jπϑ x[k].

f CAN N

Zezískanýchbodůfrekvenčnícharakteristikybylopětodhadnutparametrickýmodeltypu

OE.Vybraljsemmodel2.řádusezpožděnímo2krokyoe222f.Frekvenčnícharakteristika

jižvsobězahrnujefázovýposunzpůsobenýpřirozenýmzpožděnímvýpočtuasítě,takženení

kvýslednémumodelupřidáváno.Přenosmodeluoe222fvyšelopětvtéžepodobě,snulou

n=2,02apólem q=0,7592.Uvšechtřímodelůjsempoopravilpolohupóluintegrátoru,

abyleželapřesněvz=1.

Srovnejmezískanémodelyspřenosemvypočítanýmdecimacípodle[←↪6.3.1.2.1.].Dynamikuvnitřnísmyčkyjsemzanedbaljakopřilišrychlouanahradiljistatickýmzesílením.

Zjednodušenýpřenossystémunavzorkovacífrekvenci f PWM je

k=0

H(z)=H 1 (z)H 2 (z)H 3 (z),

H 1 (z)=H 3 (z)=

N−1


k=0

z −k , H 2 (z)=K s

z+ n s

(z −1)(z − q s ) ,

kde N=80apřenos H 2 (z)vznikldiskretizacípřenosu K/s(T m s+1).Výslednýpřenospo

decimacivycházívetvaru

P dec (z)=K G

(z+ n 1 )(z+ n 2 )

z 2 (z −1)(z − q) ,

snulaminazápornéreálnépoloose,minimálněfázovou n 1 =0,2481aneminimálněfázovou

n 2 =3,463.Pól qodpovídámechanickéčasovékonstantěmotoru.

36


1

y

0

P dec

n4s2

oe222

oe222f

0 5 10 15 20 25

23.impulsovácharakteristikamodelů P(z)

k

Včemsejednotlivémodelylišíacomajíspolečného?Uvažujmevevšechmodelechshodný

pól q=0,7958vzatýzmodeluoe222ashodnézesílení.Impulsovouodezvumodelůukazuje

grafnaobr.23,frekvenčnícharakteristikuobr.24.Impulsováodezvamodelůjetvořena

exponenciálnímnáběhem,tvořenýmodezvoupólu qintegrovanouastatismem.Lzeříci,že

čelotétoodezvyjezpožděnoo3kroky.Vtomsemodelyshodují,včetněmodelu P dec (z),

kterýmásicevjmenovatelijednozpožděnínavíc,aletojekompenzovánodominantním

koeficientemvčitateli.Modelyselišínejvícevobsahu3.vzorku h[2]impulsovéodezvy.Tři

identifikovanémodelyvněmmajízápornýimpuls,způsobenýneminimálněfázovounulou.

Model P dec vněmmánaopaknepatrnýimpulskladný.

37


|P|

arg P

1000

100

10

1

0.1

0.01

0

-180

-360

1 10 100

f [Hz]

zmereno

P dec

n4s2

oe222

oe222f

P *

zmereno

P dec

n4s2

oe222

oe222f

P *

-540

1 10 100

f [Hz]

24.frekvenčnícharakteristikamodelů P(z)

Zápornýimpulspředcházejícíčeluexponenciálynenístrukturouřízenéhosystémuopodstatněn.Přítomnostínuly

n >1jetedyzřejměvinanumerickáchybaidentifikačníchalgoritmů.

Nulabypatrněmělaležetažvnekonečnu,alevodhadutakdalekonedoputovala.Vzhledem

ktomu,ženulasenalézánanulovéfrekvenci,kdezároveňúčinkujeastatismussystému,a

navícpoměrnědalekoodjednotkovéhokruhu,nelzejejípřítomnostzměřenýchdatdobře

ověřit.Pravděpodobnějšíjevýskytnulnazápornépoloosevmodelu P dec ,kterýmírnětlumí

frekvenčnícharakteristikusystémuvblízkosti f CAN /2.Proúčelyřízeníservomotorunení

ovšemtentovlivpodstatný.Kromětohojetřebamítnapaměti,žetentomodelvzniklvýpočtemzazjednodušujícíhopředpokladustatickéhopřenosuuzavřenévnitřnísmyčky

R 1 , S 1 .

Protojsemserozhodlpřípadnénulysystémuzanedbatstím,žeimpulsovoucharakteristikoujeo3krokyzpožděnáexponenciála,tvořenápólemspřevládajícíčasovoukonstantou

aastatismemsystému.3krokyzpožděníobsahujízádržnultéhořádupřizměněvzorkovací

frekvence(∼1/2krokuzpoždění),průměrovacífiltr(rovněž ∼1/2krokuzpoždění),1krok

přirozenéhozpožděnínasítiCANazbývajícíkrokodpovídázpožděnípřísněryzíhosystému.

Výslednýmodelsystému,řízenéhovnějšísmyčkoupolohovézpětnévazby,je:

P(z)=

K P

z(z −1)(z − q) ,

q=0,7958.

Frekvenčnícharakteristika P(z)jevyznačenanaobr.24plnoučarou.Hlavnímechanická

časovákonstantavycházízevztahue −1/fCANTm =0,7958rovna T m =17,5.10 −3 s.Jetedy

oněcovětšíusetrvačnostitělamotorunežusetrvačnostirameneN5a.Bylobypřínosné

provéstidentifikacisalespoňdvěmarůznýmiznámýmisetrvačnýmihmotami,připojenými

nahřídelmotoru(např.poprvésžádnouapodruhéseznámousetrvačností).Znaměřených

38


časovýchkonstantbypakbylomožnévypočítatvlastnísetrvačnostuvnitřmotoruasoučinitellineárníhotření,anásledněčasovoukonstantumechanismuprolibovolnouznámou

setrvačnouzátěžpřipojenounahřídel.

6.3.2.3.Návrhregulátoru

PřenospoužitéhodiskrétníhoPIDregulátoruje

R 2 (z)= d 2z 2 + d 1 z+ d 0

z(z −1)

1

= r P + r I

z −1 + r z −1

D ,

z

kdeparametry r P , r I , r D odpovídajíkonstantámproporční,integračníaderivačnísložky

regulátorusaproximacíintegrátoruokrokzpožděnýmsumátoremaaproximacíderivátoru

zpětnou diferencí. Zesílení K a časovýmkonstantámderivačníaintegračnísložky

T D , T I [s.rad −1 ]spojitéhoPIDregulátoru

R(s)=K (T Ds+1)(T I s+1)

T I s

odpovídajívpřiblížení T I,D ≫1/f CAN , T I ≫ T D parametry

r P = K,

1

r I = K , r D = KT D f CAN .

T I f CAN

Kritickáfrekvencesystému P(z)je ω k =78,1rad.s −1 =12,4Hz.Derivačnífrekvenciregulátorujsemumístildojejíblízkosti,

ω D =63,5rad.s −1 .Integračnífrekvencijsemzvolil5×

nižší, ω I =12,6rad.s −1 .Zesíleníregulátorujsemladilručněsohledemnaomezeníakční

veličinyatypickémaximálnívelikostivyskytnuvšíchseskokůanavýslednýpřekmit.Zvolil

jsem K=41,1.10 −3 /K P .Výslednápřechodovácharakteristikajenaobr.,překmitčiní22%

(vlineárnípracovníoblasti–vlivemwindupumůžebýtpřinasyceníakčníveličinyvětší),

kustáleníschyboupod1%dojdeza0,2s.

1.4

1.2

1

0.8

x

0.6

0.4

0.2

0

0 0.05 0.1 0.15 0.2 0.25

t [s]

25.přechodovácharakteristikauzavřenépolohovésmyčky

39


6.3.2.4.Realizace

PolohovýPIDregulátorprovšechnyservomotoryrobotajeobsaženvsoftwaruhlavního

řídicíhopočítače.Kusnadněníúpravazměnvnávrhubylopoužitoaritmetikyvplovoucí

řádovéčárce.

PřivylepšováníPIDregulátoru,vedenéhozejménasnahouodstranitzávadnékmitání

regulátoru[↩→6.3.3.2.],jsemvyzkoušelněkolikvylepšeníPIDregulátoru:

•filtraciderivačnísložky–nahrazenízpětnédiference(z −1)/z filtrovanoudiferencí

(1 − f)(z −1)/(z − f), f →0nepřinesložádnouznatelnouzměnu;vzorkovacífrekvence

f CAN jepoměrněnízkánato,abyfiltracemělavýraznějšívliv;

•statickounelinearitunavstupu–snažiljsemsezlepšitchováníregulátoruvustáleném

stavuvkládánímstatickýchnelinearit,jakradínapř.[↩→9.1.16.];přítomnosthladkých

funkcíaniumělýchpásemnecitlivostinepřinesložádnézlepšení;

•vyloučeníreferenčníhosignáluzderivačnívětve;

•několikvariantomezeníwindupu.

Zdalekanejzávažnějšímseukázalobýtřešeníochranyprotiwindupu,tj.přeplněníintegrátorunadmezdanouomezenímakčníveličiny(víceviz[12]).Různétechnikyanti-windupu

sevelmilišilyvúčinnostipotlačeníwindupunajednéstraněanaprotitomuvcitlivostina

poruchy.Bylyprozkoumánynásledujícímetodypotlačeníwindupu:

•Měkkýanti-windup,obr.26a.Vtétometodějemeznaplněníintegrátorudánapevně,

zcelabezohledunavstupastavzbytkuregulátoru.Vyznačujesenejnižšíúčinnostípotlačeníwindupuavelkouodolnostívůčiporuchám,neboťvstupníporuchynijaktvrdě

nezasahujídomezíintegrátoruaúčinkujínaintegrátorjenspomaloudynamikouintegračnívětve.Tentozpůsobanti-windupubylponechánvkonečnéverziregulátoru.

Odpovídáanalogovémuřešení,kdedocházíknasyceníintegračníhooperačníhozesilovače.

•Tvrdýanti-windup,obr.26b.Tentozpůsobjeprotiklademměkkéhoanti-windupu–aktuálníomezeníhodnotyakumulovanévintegrátoruseřídísituacínavýstupu,tj.jedáno

kroměobsahuintegrátorutéžvstupníodchylkouastavemzbytkuregulátoru(dynamiky

diferenčníhočlenu).Jakmilecelkovývýstuppřesáhneomezeníakčníveličiny,jeobsah

integrátoruomezen.Tentoanti-windupjeveliceúčinný,alezároveňcitlivýnaporuchy

(šumnaměřenéodchylce).Bylpoužitvprvotnímnávrhuanáslednězavrhnut,protože

způsobovalnepochopitelnéadoznačnémírynáhodnéporyvynavýstupu,kdynapř.

rázem,bezzjevnévnějšípříčiny,hodnotavýstupu„ustřelilaaponěkudnepravidelně

sevraceladoustálenéhostavu.

•Dynamickýanti-windup,obr.26cjevlastnězobecněnímpředchozíhopřístupu.Hodnota

akumulovanávintegrátorujeovlivňovánavstupemastavemostatníchčlenůregulátoru,

ovšemnikolipřímýmdosazením,alepomocídynamickéhosystému–pozorovateleodchylky,způsobenénasycenímakčníveličiny.Dynamikapozorovatelejedánapolynomem

A aw (z −1 )([11]).Tvrdýanti-windupjezvláštnímpřípademdynamickéhoanti-windupu,

kdy A aw =1(pozorovateltypu„deadbeat).

•Podmínkovýanti-windup,obr.26djsempoužilvpočátcíchnávrhujakoheuristickéa

teoretickyneopodstatněnéřešení.Totořešenífungovalopoměrnědobře,netrpělotoliknaporuchyjakotvrdýanti-windupanezpůsobovaločástečnýwindup,jakoměkký

anti-windup.Projehoteoretickounepodloženostastímspojenounevyzpytatelnost

vneznámýchsituacíchjsemtutometoduopustilauvádímjijenproúplnost.

40


a)

e

r I

PD

1

z

u

b)

PD

e

r I


1

z

u


e

d 2 z 2 +d 1 z+d 0

z 2

u

c)

1

A aw(z −1 )

1

z

e

d 2 z 2 +d 1 z+d 0

z 2

A aw(z −1 )

u


1

z

d)

e

r I

PD

0

1

1

z

u

a ≠ b

26.různézpůsobyochranyprotiwindupu

VýslednéschémapoužitéhodiskrétníhoPIDregulátorujenaobr.27.

r P

e

r I

1

z

u

r D

1

z


27.realizacepolohovéhoPIDregulátoru

6.3.3.Výsledky

Naobr.28jezměřenápřechodovácharakteristikauzavřenésmyčkyPIDregulátoruvporovnánísesimulací.Velikostskokučiní320LSB

. =0,38πrad.Veskutečnostiivsimulacije

použitměkkýanti-windup,takžepřekmitjevětšínežvlineárnímrozboru.Měřenísledování

rampaskokůjenaobr.29.

41


400

350

mereni

mereni (prumer 14 skoku)

simulace

300

250

x [LSB]

200

150

100

50

0

0 0.2 0.4 0.6 0.8 1

t [s]

28.odezvauzavřenépolohovésmyčkynaskok

200

160

x (mereni)

x (mereni, prumer 10 prubehu)

x w

100

x [LSB]

0

-100

-160

-200

0 0.5 1 1.5 2 2.5

t [s]

29.měřenáodezvauzavřenépolohovésmyčkynaskokyarampy

42


6.3.3.1.Stabilitaregulátoruuvnitřrobota

PolohovýPIDregulátorbylnavržennazákladěmodelu,jehožpřevažujícíčasovákonstanta

T m =17,5.10 −3 sbyladánapouzevlastnísetrvačnostímotoru.Uvnitřrobotamusíservomechanismuspracovatsvelkýmrozpětímsetrvačnýchhmot,častomnohonásobněvětších.

Navrženýregulátor R 2 (z)ztrácelstabilitu,kdyžsetrvačnostvesmyčcepřílišvzrostla,jmenovitěkdyžrobotvykročilazvedlnohu.Protojsemregulátorpřeladil,abybylrobustnější,za

cenuprodlouženípřechodovéhoděje.Přeladěníjsemprovedlzkusmonapřipojenémrobotu

anáslednězkontrolovalvýsledekzpětnýmrozborem.Parametryregulátorupředpřeladěním

(R 2 )apopřeladění(R 2b )jsou:

R 2 : ω D =63,5rad.s −1 , ω I =12,6rad.s −1 , K=41,1.10 −3 /K P

R 2b : ω D =25,0rad.s −1 , ω I =3,12rad.s −1 , K=7,21.10 −3 /K P .

Srovnánípřechodovýchcharakteristikuzavřenésmyčkyspůvodnímregulátorem R 2 apřeladěným

R 2b vměřeníisimulacijenaobr.30,obojípropůvodnísystém P(z).

450

400

350

mereni (R 2 )

simulace (R 2 )

mereni (R 2b )

simulace (R 2b )

300

x [LSB]

250

200

150

100

50

0

0 0.5 1 1.5 2

t [s]

30.srovnáníodezvypolohovésmyčkynaskokproobaregulátory

Abychzískalpředstavuorobustnostiregulátoru,kterábylazískánapřeladěním,vyhodnotil

jsemnumerickyintervalstabilityvparametru T m .Tentointervaludává,projakéčasové

konstanty T mb = αT m ,tedyprojakénásobky αpůvodnísetrvačnéhmoty,budeuzavřená

smyčkasdanýmregulátoremstabilní.Podmínkoustabilitydiskrétníuzavřenésmyčkyje,

abynejvětšízabsolutníchhodnotpólůuzavřenésmyčkybylamenšínež1.Grafynaobr.

31ukazujípřevažujícíabsolutníhodnotypólůuzavřenésmyčkypro R 2 i R 2b .Regulátor

R 2 jestabilnípřisetrvačnostechvrozsahu α


1.02

1.01

R 2

R 2b

max eig R k P(T m )/(1+R k P(T m ))

1

0.99

0.98

0.97

0.96

0.95

0.94

0.93

0.92

T0

m

0.101

0.25

0.3939

0.5

T mb [s]

1

31.intervalstabilityregulátorů R 2 , R 2b podle T m

6.3.3.2.Rušivékmitání

NejzávažnějšívadounavrženéhokaskádníhoPID-PIregulátoruseukázalobýtrušivékmitání,kněmuždocházínejčastějivustálenémstavu,alebýváněkdyisuperponovánonajinak

očekávanýchprůbězíchvpolohovésmyčce.Stávásenapříklad,žesmyčkaPIDregulátoru,

držícíkonstantnípolohu,začnemírněkmitat.Amplitudakmitůvmístěměřenéveličiny,polohy

x,neníněkdynijakzvlášťvýrazná,častomívározkmitvrozmezí ±1LSB.Výraznějije

vidětnaakčníveličině i w (obr.32).Kmitymajípodobubuďfrekvenčněiamplitudověvelmi

pravidelnýchperiodickýchkmitůofrekvenciblízkékritickéfrekvencipřenosusystému,tj.

∼12,4Hz.Jindysemístopravidelnýchkmitůobjevízcelachaotickýšum,rovněžustáleného

rozptylu(obr.33).Jakjsemspřekvapenímpozoroval,systémpřecházímezitřemirůznými,

většinouzřetelněčasověidruhověoddělenýmistavy:

•nulováregulačníodchylka–žádoucístav,kdyžádnýzregulátorůnepůsobí;stačíovšem

nepatrnáporuchaasystémstavopustí,ovšemčastojeschopensedonějivrátit;

•pravidelné kmity – systém ustáleně, téměř harmonicky kmitá na své kritické frekvenci;

•chaos–systémgenerujetéměřdokonalebílýšum.

44


5

i wx

0.015

0.01

0.005

x [LSB]

0

0

-0.005

i w [mA]

-0.01

-5

0 0.5 1 1.5 2 -0.015

t [s]

32.časovýprůběhsmyčkoutvořenýchkmitů

x [LSB]

20

15

10

5

0

-5

-10

-15

-20

i wx

1

0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8

0 0.5 1 1.5 2 -1

t [s]

33.časovýprůběhsmyčkoutvořenéhochaosu

i w [mA]

Vznikkmitůsemipodařiloodůvodnit,principvznikuchaosuovšemnikoli.Překvapilmě

svojíopakovatelnostíasetrvalostí.Pravděpodobnostpřechodusystémumeziuvedenými

třemistavysehodnělišísrůznýmičiniteli,zejménaasiteplotoumotoru(ajehotřením),

způsobempřipevněníjehosetrvačnézátěžekhřídeliapod.Náchylnostkekmitáníisílakmitů

sevelmilišilamezi12vrobotupoužitýmiservomotory,některénekmitalyvůbec.Spektrum

servomotoremgenerovanéhochaosuoprotispektrupravidelnýchkmitůjeprozajímavost

vykreslenonaobr.34.

45


PSD[i w ] (N=6144 ~ 24.5s, NFFT=256, Welch)

1

0.1

0.01

0.001

1e-04

1e-05

1e-06

1e-07

0 10 20 30 40 50 60 70 80 90 100 110 120

f [Hz]

34.srovnánívýkonovéspektrálníhustotykmitůachaosu

chaos

kmity

Popodrobnémzkoumáníjsemdošelkzávěru,žekmitynejsouzpůsobenyanišumemelektroniky,měřenípolohy,anilineárnínestabilitoučilineárnímikmitavýmimódyvsystému.

Zjistiljsem,žekmityustanou,když:

•jepolohovýPIDregulátorochuzenointegračnísložku;

•jekaskádaPID-PInahrazenapouhýmPID(popř.P)regulátorem;

•nahřídelmotorupůsobízátěžovýmoment.

Naprvnípohledbysemohlozdát,žekmityvřádu1LSBA/Dpřevodníkujsoupřirozeným

důsledkemkvantizaceapoužitíintegračnísložkyvregulátoru,ostatněprvníbodbytomuto

vysvětlenínasvědčoval.Jepravda,žesnažitseoregulacispřesnostílepší,nežjerozlišení

A/Dpřevodníku,jepřinejmenšímodvážné.Nadruhoustranu,měřenápolohajeprůměrovánafiltremdélky80vzorkůatovněkterýchpřípadechzlepšujepřesnostměření.Měřené

napětízpotenciometrualenenítéměřvůbeczašuměno,cožbyparadoxněpřizpřesňování

měřeníprůměrovánímmohlopřinéstzlepšeníivustálenémstavu(noise-dithering).Proti

vysvětleníkmitůjakodůsledkukvantováníměřenépolohyaintegračníhoúčinkuovšemhovořískutečnost,žerůznémotorysevkmitavostilišilyarovněžposledníbodovymizení

kmitůpřizatížení.

Nesmírnědůležitéjeprávěto,žekmityzcelavymizejíapřesněnulovéregulačníodchylky

(tedyodchylky |x w −x|


zrovnavcitlivémboděpočátkumůžezpůsobitvsmyčcekmitání.Pomocíodpovídající

nelinearitysemipodařilopodobnékmitynasimulovat.Naprotitomupokusonarovnání

charakteristikyjejímstejnosměrnýmposunutímdoprostředrozsahuA/Dpřevodníkua

odečítánímklidovéhodnotyztroskotal,naopak,kmityponěkudvzrostly.

•Unipolárníměření,nahrazujícíbipolární–jakjižbylopodotknutov[←↪4.3.3.].Závažnosttétochybyjeovšemoslabenaskutečností,žepřizatíženíhřídelevnějšísilou(a

tedyvyvolánímnenulovéhoklidovéhoprouduvinutím)kmitymizejí.

•ProudH-můstkemselišíodproudumotorem–téžviz[←↪4.3.3.].

Jenutnésiuvědomitzávažnostkmitůzejménaproúlohukráčejícíhorobota.Izdánlivě

zanedbatelnýrozkmit ±1LSBtj.0,4 ◦ ,činípřidélcenataženénohy240mmnadruhéstraně

rozkmit ∼2mm.Stímjesamozřejměspojenokmitáníznačnýchsetrvačnýchhmotaztoho

plynoucíchporuch,přenášenýchdoostatníchservomotorů.Výsledkemje,žerobotsepři

chůziznačnětřese,ovšemkmityzůstávajívesvýchmezíchajsoutakkpožadovanétrajektorii

vlastněpřičítány.

6.3.4.Zhodnocení

Řízenírobotaproudověomezenýmkaskádnímregulátoremjižjebezpečné,elektronikai

vinutímotorůjsouchráněnyprotinadproudovémupoškození.Integračnísložkanapomáhá

držetsprávnoutrajektoriibezsystematickéchyby.Vsoučinnostisnívydatněprospělopřepracovánímechanickéhouloženísvisléosykyčelníhokloubu,kteréumožnilotvorbuopakovatelnétrajektorieamyslitelnéhoměřenískutečnépolohy(úhlů)robota.Stabilitarobota

sjedinýmregulátoremvevšechkloubechavšechokamžicíchpřipoužitíintegračnísložkya

sezpožděnímvevnořenéproudovésmyčcejižnenítaksamozřejmá,jakopřiřízeníprostým

Pregulátorem.NastaveníPIDregulátorujetřebaprovéstopatrněaipřitakovémsezdálo,

žerobotjevněkterýchpozicíchblízkýnestabilitě.

Jakbybylomožnézlepšitjakostregulace?VSISOpřístupubybylovhodnénastavit

každýregulátordlekonkrétnísetrvačnézátěže,cožbyovšemzejménavpřípaděněkterých

kloubů(kotník)bylovhodnéučinitspoluspřepínánímregulátoru(modelu)podlefázechůze

–stojenajedné,čiobounohou.Přínosembymohlobýtpoužitíprediktorudopravního

zpoždění(3kroky),obecněregulátoru,krátícímpóly z −1 .Nejsmělejšímcílembybylopoužití

MIMOregulátoru.Úlohaidentifikacerobotajakocelkujealeobtížná.Ipřiníbybylonutné

rozdělitdynamikurobotapodlefázíchůzeapřepínatmodel.

Vadouvýslednéhokaskádníhořízenísomezenímproudujekmitání,způsobenéchybně

navrženouelektronikou.Tytovadybymělybýtodstraněnypopřepracováníměřeníproudu

dle[←↪4.3.3.].

47


7.Inverzníkinematickáúloha

Zhlediskakinematickéhojekaždáznohourobotařetězcem,spojenýmotočnýmiklouby

ocelkem6osáchpohybu.Řešmeinverzníkinematickouúlohujednénohypropřípad,že

robotnenívpohybunijakomezen,tj.např.nestojíoběmanohamanazemi.Vtakovém

případějenoharegulárnímsériovýmmanipulátoremtypu6R[17].

Definujmevstupúlohyjakopolohuaorientacichodidlanohyvůčipočátkuspojenému

spánví.PolohajedánamaticíhomogennítransformaceT.

Vnásledujícíchmatematickýchvýrazechbylypoužityzkratky: c i procosϑ i , s i pro

sin ϑ i , c i+j , s i+j procos(ϑ i + ϑ j ),sin(ϑ i + ϑ j ).(M) s...u,r...t propodmaticiM tvořenou

sloupci s . . . uařádky r . . .t.Funkce ϕ=arctgxvracínejednoznačnouhodnotu ϕ:tgϕ=

tg(π+ ϕ) = x,zatímco ϕ = arctg(y, x)vracíjednoznačnouhodnotuúhlu ϕ : cosϕ =

x/ √ x 2 + y 2 ,sin ϕ=y/ √ x 2 + y 2 (odpovídáknihovnífunkciprogramovacíhojazykaCjménematan2).

7.1.PopisnohyrobotadleDenavit-Hartenbergovykonvence

Osy1,2,3tvoříkulovýkloubkyčle,doněhožrovněžumístímepočáteksouřadnéhosystému

pánve.Jednoosýkolenníkloubseotáčívose4.Osy5,6tvořídvouosýkotníkovýkloub,do

něhožsouřadnýsystémchodidla,danývůčipánvitransformacíT.Prodalšípoužitíjepak

možnopánevníichodidlovýsouřadnýsystémposunoutkonstantnítrasnformacítak,aby

lépeodpovídalpraktickýmpožadavkům–pánevnísystémumístitdoprostředpánve(pro

oběnohystejný)achodidlovýsystémnadolníplochuchodidla.

1

2

3

4

5 6

z 0

y 0

x 0

x 1

z 1

z 3

z 4

y 3

x 3

z 2

y 2

y 1 x 2

y 5 y 6

y 4 z 5 z 6

x 4 x 5 x 6

35.souřadnésystémyvzhledemkosámnožníchkloubů

Volbusouřandýchsystémůprojednotlivátělesaukazujeobr.35.Vzdálenostmezikyčlía

kolenem(délkastehna)akolenemakotníkem(délkalýtka)jeshodná,rovna L.Popisnohy

vD-H 14 notacijedántěmitoparametry:

14 Denavit-Hartenbergovanotacepropopisotáčeníaposouvánívprostoru,používajícíhomogennísouřadniceazobrazenímaticemi4×4;[17]

48


i a i d i α i ϑ i

1 0 0 − π 2

ϑ 1

π

2 0 0

2

ϑ 2

3 L 0 0 ϑ 3

4 L 0 0 ϑ 4

5 0 0 − π 2

ϑ 5

6 0 0 0 ϑ 6

Přímoutransformaciotáčenímvi-témkloubuznačmeA i i+1 ,zpětnoutransformaciAi+1

(A i i+1 )−1 .ProvícenásledujícíchtransformacípišmezkráceněA i j = Ai i+1 Ai+1 i+2 . . .Ai+n j ,

A j i =(Ai j )−1 .Všechnykloubyjsouotočné,A i i+1 =Ai i+1 (ϑ i).

i =

7.2.Odvozenířešeníinverzníkinematickéúlohy

Prosériovýmanipulátorsešestistupnivolnosti,obsahujícímtříosýkloub,jeinverzníkinematickáúlohařešitelnáanalyticky([17],2.3.3.).

RovnicisériovéhomanipulátoruT=A 0 1A 1 2A 2 3A 3 4A 4 5A 5 6upravímedopodobyT −1 A 0 1A 1 2=

A 6 5 A5 4 A4 3 A3 2 ,kdesouřadnicetransformacínaoboustranáchrovnicevyjadřujípolohukyčelníhokloubuvůčichodidlu(6.souřadnémusystému).TransformaceA

0 1 A1 2 polohunemění,

pouzeotáčejísouřadnýsystém(A 0 1 A1 2 ) 1...3,4=(0,0,0) T ,protosouřadnicekyčlevůčichodidlu(x,

y, z) T =(T −1 A 0 1A 1 2) 1...3,4 =(T −1 ) 1...3,4 .Vyjádřenímtěchtosouřadniczpravé

stranydostaneme: ⎛ ⎞


⎝ x y

z

⎠=(A 6 5A 5 4A 4 3A 3 2) 1...3,4 = L ⎝ −c ⎞

6(c 4+5 + c 5 )

−s 6 (c 4+5 + c 5 ) ⎠.

s 4+5 + s 5

Nynímůžemevypočístprvnízhledanýchúhlů, ϑ 6 =arctgy/x.Zdevznikánejednoznačnost

(1),neboťrovnicivyhovívrozsahu2πdvaúhlyoπposunuté.

Podosazení w=− √ x 2 + y 2 /L, v=z/Lzískámerovnici(w, v) T =(c 4+5 + c 5 , s 4+5 +

s 5 ) T .Rovnicepopisujeprůnikdvoujednotkovýchkružnic,lýtkovésestředemvkotníkua

stehennísestředemvkyčli,vroviněkolménaosy4,5(obr.36).

w

kyčel

L = 1

L = 1

s4+5

v

kotník

koleno

ϑ 5

ϑ 4

c 4+5 c 4+5

s5

36.řešeníúhlůvroviněkotník-koleno-kyčel

Rovniceprůnikukružnicvedenakvadratickourovnici,jejímžřešenímje

49


(

c 51,2 = 1 √ )

4

w ± v

2 w 2 + v 2 −1 ,

s 51,2 = 1 2

w 2 + v 2 −2wc 51,2

.

v

Rovnicemůžemítvreálnémpřípadědvěřešení,odpovídající“levé”a“pravé”konfiguracimanipulátoru,cožpřinášídalšínejednoznačnost(2).Vevýjimečnémpřípadějeřešení

jedno,odpovídajícírovněnataženénoze.Pokudrovnicenemářešení,znamenáto,žecílje

nedosažitelnýprodanoudélkustehnealýtka–jevzdálenodkyčlevícenež2L.

Diskriminantjenedefinovánvpřípadě,žecílovýbod(kotník)jetotožnýspočátečním

(kyčel), w 2 +v 2 =0.Vtomto(propraxinezajímavém)případěmáúlohanekonečněmnoho

řešeníac 5 můžemevolitlibovolně.Uvedenárovnicepro s 5 jeovšemnevýhodnávinoudělení

v.Pro v → 0ztrácívýpočetvplovoucířádovéčárcepřesnost.Protonahradímeřešení

kvadratickérovnicejinýmvýpočtem,založenýmnageometrickýchfaktech |ϑ 4 |=|ϑ 52 −ϑ 51 |

a2cosϑ 4 /2= √ w 2 + v 2 (vizobr.37).

(w,v)

ϑ 4

ϑ 4

ϑ5,1

ϑ 4

ϑ 5,2

(0,0)

37.dvěmožnářešeníúhlůrovinykotník-koleno-kyčel

Potomjsouhledanéúhly ϑ 5 , ϑ 4 :


w2 + v

ϑ 41,2 = ±2arccos

2

,

2

ϑ 51,2 =arctg(v, w) − ϑ 41,2 .

Funkcearctg(y, x)musíbýtdodefinovánapropřípad x=0 ∧y=0(obdobanedefinovaného

diskriminantu),případnedefinovanéhoarccos(.)znamenácílmimodosah.Vpřípaděcíle

mimodosahjemožnooříznoutargumentarccos(.)na ±1,abyserobotcílialespoňnanejvýš

přiblížil.

Zbýváurčitúhly ϑ 1...3 ,tvořícíprostorovéotočeníkyčelníhokulovéhokloubu.Známe

jižúhly ϑ 4...6 ajimidanoutransformaciA 3 6 =A3 4 A4 5 A5 6 .Zrovnicemanipulátorumůžeme

psát

zčehožprosamotnérotačníčástimaticplatí

TA 6 3 (ϑ 4, ϑ 5 , ϑ 6 )=A 0 1 (ϑ 1)A 1 2 (ϑ 2)A 2 3 (ϑ 3),

R 0 3 =T 1...3,1...3R 6 3 (ϑ 4, ϑ 5 , ϑ 6 )=R 0 1 (ϑ 1)R 1 2 (ϑ 2)R 2 3 (ϑ 3),

50


kdeRj i=(Ai j ) 1...3,1...3.Úlohanalezeníúhlů ϑ 1...3 přiznámématiciR3 0jeobdobouurčení

Eulerovýchúhlůdanérotace.MaticiR ⎛ 3 0vypočtemepřímýmnásobením:

R3 0 =T 1...3,1...3

⎝ c ⎞

6c 4+5 c 6 s 4+5 −s 6

−s 6 c 4+5 −s 6 s 4+5 −c 6

⎠=(r ij ).

−s 4+5 c 4+5 0

Úhlyurčímezupravenérovnice

R 0 3 =R0 1 R1 2 R2 3 ,

R3 0 R3 2 =R0 1 R1 2 ,


⎝ c ⎞ ⎛

3r 11 − s 3 r 12 , s 3 r 11 + c 3 r 12 , r 13

c 3 r 21 − s 3 r 22 , s 3 r 21 + c 3 r 22 , r 23

⎠= ⎝ c ⎞

1c 2 −s 1 c 1 s 2

s 1 c 2 c 1 −s 1 c 2

⎠.

c 3 r 31 − s 3 r 32 , s 3 r 31 + c 3 r 32 , r 33 −s 2 0 c 2

(

Nejprve ϑ 3 =arctg − r32

r 31

),cožpřinášídalšínejednoznačnost(3)oπposunutýchEulerových

úhlů.Nakonecvypočteme ϑ 2 =arctg(s 3 r 32 − c 3 r 31 , r 33 ), ϑ 1 =arctg(−s 3 r 11 − c 3 r 12 , s 3 r 21 +

c 3 r 22 ).

Nejednoznačnosti(1),(2),(3)tvoří8různýchřešeníprokaždouzadanoutransformaci,

vyjmavýjimečnéhopřípadupřímonataženénohy(2),kdyjsouřešeníjen4.

7.3.Poznámkakvýpočturůznýchřešení

Mezivypočtenýmiúhlyjednotlivých8řešeníjsoupoměrnějednoduchézávislosti,popsatelné

součtyarozdíly.Stačítedyvýšeuvedenýmzpůsobemvypočístpouzejednořešeníazbylých

7dopočítatkombinacemisoučtůarozdílů.

Následujícívztahyuvedubezdůkazu–došeljsemknimempiricky.Proúhly4,5je

závislostnanejednoznačnosti(1)zřejmáznáčrtkuzrcadleníizrovnic,proEulerovyúhly1,

2semialerozumnéodvozeníanipřehlednýnáčrteksestavitnepodařilo.

Tabulkaukazuje,jaksezjednohovypočtenéhořešení ϑ 1...6 určířešení ϑ ∗ 1...6 příslušné

nějakékombinacinejednoznačností(1),(2),(3):

(1) 0 0 0 0 1 1 1 1

(2) 0 0 1 1 0 0 1 1

(3) 0 1 0 1 0 1 0 1

ϑ ∗ 6 ϑ 6 π+ ϑ 6

ϑ ∗ 5 ϑ 51 ϑ 52 π − ϑ 51 π − ϑ 52

ϑ ∗ 4 ϑ 4 −ϑ 4 −ϑ 4 ϑ 4

ϑ ∗ 3 ϑ 3 π+ ϑ 3 ϑ 3 + ϑ 4 π+ ϑ 3 + ϑ 4 π − ϑ 3 −ϑ 3 π − ϑ 3 − ϑ 4 −ϑ 3 − ϑ 4

ϑ ∗ 2 ϑ 2 −ϑ 2 ϑ 2 −ϑ 2 ϑ 2 − π π − ϑ 2 ϑ 2 − π π − ϑ 2

ϑ ∗ 1 ϑ 1 π+ ϑ 1 ϑ 1 π+ ϑ 1 ϑ 1 π+ ϑ 1 ϑ 1 π+ ϑ 1

Jednotlivéosymají2,4nebo8různýchřešení.Tajemožnouložitdotabulekaodkázatse

naněindexemprodanoukombinacinejednoznačností,danýmnásledujícítabulkou:

ϑ početrůznýchhodnot index

6 2 i (1)

5 4 2i (1) + i (2)

4 2 i (1) ⊕ i (2)

3 8 4i (1) +2i (2) + i (3)

2 4 2i (1) + i (3)

1 2 i (3)

51


7.4.Zhodnocení

Inverzníkinematickáúlohajednénohykráčejícíhorobota,řešícínastaveníúhlů6oskloubů

nohyprodanoupolohuaorientacichodidlavůčipánvi,bylavyřešenaanalytickyspoužitímpěticyklometrickýchfunkcí,jednohomaticovéhonásobeníanásobenímaticeavektoru

dimenze3.Algoritmusjenumerickystabilníprolibovolnývstupadávávšechnařešenípro

neomezenéotáčenío360 ◦ všechosách.

52


8.Závěr

8.1.Výsledky

•Vrámciprácebylavyrobenamechanickákonstrukcerobota,řídicíivýkonnáelektronika,ovládacíaanimačnísoftware.

•Chůzev12stupníchvolnostibylodosaženojižsvelmijednoduchýmiprostředky:P

regulátor,pevná,ručněanimovanátrajektorie.

•Bylozjištěno,žeproúčelnézpětnovazebnířízeníjenezbytnákvalitnímechanickákonstrukcebezhysterezí–vzhledemktomu,žetysevkloubechvyskytovalyažzaměřenou

veličinou(polohou),tj.mimozpětnovazebnísmyčku.

•Spoužitýmiservomotoryacelkovouhmotnostírobotajenezbytnépoužívatomezení

proudu,jinakdocházeloneustálekpřehříváníaničenísoučástek.Protentoúčelbyl

navrženzhlediskalineárníhořízenívhodnýproudovýregulátorsomezením.

•Bylyodvozenyvztahy,užitečnépřinávrhuvnořenýchzpětnovazebníchsmyčeksezměnouvzorkovacífrekvence.

•Analytickéřešeníinverzníkinematickéúlohybyloumožněnokoncepcímechanickékonstrukce.Bylnalezenrychlýanumerickystabilníalgoritmusvýpočtuvšechjejíchřešení.

8.2.Námětynapokračování

•odstraněnívadyměřeníproudu,jejížvinouservomotorymírněkmitají;

•určení hmotností a setrvačností těles robota pro statickém i dynamickém modelování;

•samočinnátvorbastatickétrajektorienazákladěstatickéhomodelu;

•návrhMIMOreguátorunazákladědynamickéhomodelu;

•přídavnáčidla(tíže,tlak);

•řízeníspružnoutrajektorií.

53


9.Literatura

[1]C.Chevallereau,E.R.Westervelt,J.W.Grizzle:“Asymptoticstabilizationofafive-link,

four-actuator,planarbipedalrunner”43thIEEEConferenceonDecisionandControl,

2004.

[2]H.Choset,K.M.Lynch,S.Hutchinson,G.Kantor,W.Burgard,L.E.Kavraki,S.

Thrun:Principlesofrobotmotion:theory,algorithms,andimplementation,MITPress,

2005.

[3]BostonDynamics,Inc.:“The“BigDog”robot”.

http://www.bdi.com/content/sec.php?section=BigDog

[4]M.Albero,F.Blanes,G.Benet,P.Perez,J.E.Simo,J.Coronel:“Distributedrealtime

architectureforsmallbipedrobotYABiRo”IEEEIntl.SymposiumonComputational

IntelligenceinRoboticsandAutomation,DepartamentodeInformaticadeSistemasy

Computadores,Univ.PolitecnicadeValencia,Spain,2005.

[5]C.Ridderström,J.Ingvast,F.Hardarson,M.Gudmundsson,M.Hellgren,J.Wikander,

T.Wadden,H.Rehbinder:“ThebasicdesignonthequadrupedrobotWarp1”Intl.

ConferenceonClimbingandWalkingRobots,CenterofAutonomousSystems,KTH,

2000.

[6]F.Yamasaki,T.Miyashita,T.Matsui,H.Kitano:“PINOtheHumanoid:Abasicarchitecture”4thIntl.WorkshoponRoboCup,2000.

[7]CANSpecification2.0B,RobertBoschGmbH,1991.

http://www.semiconductors.bosch.de/pdf/can2spec.pdf

[8]P.Píša,F.Vacek:“OpensourcecomponentsfortheCANbus”Proceedingsofthe5th

Real-TimeLinuxWorkshop,2003.

[9]J.Zikmund,S.Čelikovský,C.H.Moog:“NonlinearControlDesignfortheAcrobot”3rd

IFACSymposiumonSystem,StructureandControl(SSSC’07),2007.

[10]L.B.Freidovich,H.K.Khalil:“RobustFeedbackLinearizationusingExtendedHigh-

GainObservers”45thIEEEConferenceonDecisionandControl,2006.

[11]K.J.Åström,B.Wittenmark:Computer-Controlled Systems–Theory and Design,

PrenticeHall,1997.

[12]J.John:Systémyařízení,VydavatelstvíČVUT,1996.

[13]Z. Song, D. Sarwate: “The frequency spectrum of pulsewidth modulated signals”,

2002.

[14]B.D.O.Anderson:“Controllerdesign:movingfromtheorytopractice”IEEEControl

SystemsMagazine,1993.

[15]L.Ljung:SystemIdentification–TheoryFortheUser,2ndedition,PTRPrenticeHall,

1999.

[16]K.J.Åström,H.Hagglund:PIDcontrollers:Theory,design,andtuning,2nded.,InstrumentSocietyofAmerica,1995.

[17]H.Asada,J.-J.E.Slotine:RobotAnalysisandControl,JohnWileyandSons,1992.

54


10.Příloha–schémataaosazení

B

C

E

B

C

E

M

Si9958DY

(Si4532ADY)

Si9958DY

(Si4532ADY)

4k7

4k7

1k

1k

1k

1k

+7V

+7V

oranzovy

zluty

zeleny

silny cerveny

silny cerny

hnedy

cerveny

SPEJBL-ARM

+7V

GND

PWM4

PWM6

AIN0

3V3/A

GND/A

7V

CAN

silny cerveny

silny cerny

oranzovy

zeleny

zluty

hnedy

cerveny

schémapůvodníelektronikyservomotoru

55


Si4532ADY

(Si9958DY)

1

2

4

3

6

7

8

5

U3

3

4

1

5

2

V+

GND

U5

INA138

Si4532ADY

(Si9958DY)

1

2

4

3

6

7

8

5

U4

R10

VDD

R5

3k3

D1

BAT48

R9

15k

C5

TANT_B

22u

VCC

C1

10n

C2

u1

VDD

R6

33k

4

2

5

7

GND

Vdd

3

6 TC4427

U1

4

2

5

7

GND

Vdd

3

6 TC4427

U2

VCC

R11

2512

R22

VDD

VDD

VCC

R7

3k3

D2

BAT48

R8

33k

VCC

8

4

5

+ -

ADJ

U6

LM335M

R12

3k3

VDD

R13

10k

R14

20k

D3

BAT48

C4

u1

C3

u1

I SENSE

PWM2

PWM5

PWM4

PWM6

TEMP

motor1

motor2

ruda

K9/2

zluta

K42/4

bila

K41/1

fialova

K42/3

seda

K41/2

modra

K41/3

hneda

K41/5

P1

oranzova

K41/4

zelena

K9/1

VDD

silna ruda

+7V

silna cerna

0V

schémanovéelektronikyservomotoru

56


57

schémadeskySPEJBL-ARM

K1

K8

K2

K3

1

2

2

1

1

2

K41

1

2

3

4

5

Upwr

1 ISPSEL#

2 RESET#

3

PWM2

PWM4

PWM6

C104

8

LE50CD U4

IN OUT

Inhibit GND

5

5V

PCA82C250 3 U2

Vcc

1

TXD

7 CANH

4

RXD

6 CANL

AIN0

AIN2

K9

2

1

K42

Vref

Rs GND

8 2

R2

1

2

3

4

5

2

R9

1

C103

5

TxD/PWM1

RxD/PWM3

PWM5

AIN1

C99

5V

TxCAN

RxCAN

3V3

AIN3

9 2 GND 2 Reset 22

U3

TPS73HD3001/318/325

4 1 EN 1 OUT 24

5 1 IN 1 OUT 23

6 1 IN 1 FB/SENSE 25

3 1 GND 1 Reset 28

10 2 EN 2 OUT 18

11 2 IN 2 OUT 17

12 2 IN 2 SENSE 19

D1

D2

D3

D4

R6

R4

R3

R5

R7

ISPSEL#

3V3

PD1

PD2

PD3

PD4

C102 C101

1V8

3V3

RESET#

TxD/PWM1

RxD/PWM3

P0.2

P0.4

P0.6

PWM2

PWM4

PWM6

P0.10

P0.11

U1

C1

C2

3V3

X1

C501

V3 (23,43,51) V3a (7) V18 (17,49)

1V8

C502

C503

C504

1V8

3V3

C505

C506

R1 3V3

V18a (63)

C507

RESET#

PWM5

RxCAN

TxCAN

AIN0

AIN1

AIN2

AIN3

62

XTAL1

20

21 P0.1/RxD0/PWM3/EINT0

22 P0.2/SCL/CAP0.0

26 P0.3/SDA/MAT0.0/EINT1

27 P0.4/SCK0/CAP0.1 P1.16/TRACEPKT0 16

29 P0.5/MISO0/MAT0.1

P1.17/TRACEPKT1 12

30 P0.6/MOSI0/CAP0.2

P1.18/TRACEPKT2 8

31 P0.7/SSEL0/PWM2/EINT2 P1.19/TRACEPKT3 4

33 P0.8/TxD1/PMW4

P1.20/TRACESYNC 48

47 P0.17/CAP1.2/SCK1/MAT1.2 P1.29/TCK io

56

34 P0.9/RxD1/PWM6/EINT3

P1.21/PIPESTAT0 io

44

41 P0.14/DCD1/EINT1 P1.26/RTCK 24

io

40

35 P0.10/RTS1/CAP1.0 P1.22/PIPESTAT1 io

39 P0.13/DTR1/MAT1.1 P1.25/EXTIN0 28

io

37 P0.11/CTS1/CAP1.1

LPC2119

P1.23/PIPESTAT2

LPC2129

io

36

38 P0.12/DSR1/MAT1.0

P1.24/TRACECLK io

32

45 P0.15/RI1/EINT2

P1.27/TDO io

64

46 P0.16/EINT0/MAT0.2/CAP0.2

P1.28/TDI

io

60

53 P0.18/CAP1.3/MISO1/MAT1.3

P1.30/TMS io

52

54 P0.19/MAT1.2/MOSI1/CAP1.2

P1.31/ TRST io

19 P0.0/TxD0/PWM1

55 P0.20/MAT1.3/SSEL1/EINT3

61

XTAL2

1 P0.21/PWM5/CAP1.3

2 P0.22/CAP0.0/MAT0.0

PD1

59

Vssa

58

Vssa_pll

3 P0.23/RD2

PD2

6

17

63

23

5 9 P0.24/TD2 P0.25/RD1

Vss

V18

10 TD1

V18a

V3

11 P0.27/AIN0/CAP0.1/MAT0.1

V3a 7

PD3

13 P0.28/AIN1/CAP0.2/MAT0.2

14 P0.29/AIN2/CAP0.3/MAT0.3

57

RESET

15 P0.30/AIN3/EINT3/CAP0.0

PD4

R8 3V3


osazovacíplándeskyelektronikyservomotoru

osazovacíplándeskySPEJBL-ARM

58


SeznamsoučástekdeskySPEJBL-ARM

označení typ/hodnota pouzdro poznámka

C1,C2 56p 0805 keramické

C99 neosazen(dlepotřeby)

C101,C102,C103 4u7 velikostA tantalové

C104 2u2(1u) 1206 keramický

C501, . . .,C507 u1 0805 keramické

D1,D2,D3,D4 LED(R,Y,G,B) 0805

K1,K2 PS25/2G (GES)

K3,K41,K42,K8,K9

pájecíplošky

R1,R7,R8 10k 0805

R2 0j 0805

R3,R4,R5,R6 k47 0805

R9 neosazen(dlepotřeby)

U1 LPC2119FBD64 LQFP64 Philips(Spoerle)

U2 PCA82C250T SO8

U3 TPS73HD318 TSSOP28 TI(Spoerle)

U4 LE50CD SO8

X1 10MHz HCX-6FA Hosonic(Spezial)

59


11.Příloha–výkresymechanickýchdílů

chodidlo

60


noha

61


kyčel,spodníčást

62


kyčel,horníčást,novéuložení

63


neoriginálnípákavetvarukotoučkuajejímístovkyčli

64


pánev

65


sněžnice

66

More magazines by this user
Similar magazines