Modelmatige ontwikkeling van embedded software in het engineeringsproces voor mechatronische systemen
Jan Leideman
Inhoudsopgave • • • • •
DEMCON introductie Mechtronica ontwikkelingsproces Beschikbare hardwareoplossingen Voor- en nadelen Voorbeeldprojecten
5 november 2008 Evoluon - Eindhoven
5 november 2008 Evoluon - Eindhoven
Brede expertise… • • • •
advanced mechatronics opgericht in 1993 spin off Universiteit Twente 65 medewerkers
5 november 2008 Evoluon - Eindhoven
5 november 2008 Evoluon - Eindhoven
Sterk in concepten
Van concept naar productie…
P [W/m2] venster v [m/s]
T 1 [K]
vloeistof
T 2 [K]
T2 T1 lengte
development
meting Tin
realisation
test
meting flow toevoer infuusvloeistof
Voorwaartskoppeling
flow Tgewenst
Terugkoppeling
+
production
Tin
certifying
Tuit Lampen
vermogen
process development
Disposable
meting Tuit
5 november 2008 Evoluon - Eindhoven
5 november 2008 Evoluon - Eindhoven
1
Sterk in verschillende markten
Mechatronica ontwikkelingsproces •V-model •Kenmerken: •Parallel ontwikkelen •Meerdere disciplines zijn gelijktijdig werkzaam in verschillende stadia
Halfgeleider
Medische
Industrieel 5 november 2008 Evoluon - Eindhoven
Complete productontwikkeling
5 november 2008 Evoluon - Eindhoven
Probleembeschrijving • Bij mechatronische product / systeem ontwikkeling is parallel ontwikkelen in verschillende disciplines noodzakelijk – Vanwege gewenste doorlooptijd – Om juiste conceptkeuzes te maken
5 november 2008 Evoluon - Eindhoven
DEMCON aanpak • Het in beginstadium van het project simuleren van de hardware zodat problemen vroegtijdig kunnen worden gevonden eventuele ontbrekende specificaties voor het ontwerp kunnen worden afgeleid. • Met deze informatie kunnen gefundeerde conceptbeslissingen worden genomen.
5 november 2008 Evoluon - Eindhoven
Voorbeeld Simulink model (1/2) • Voertuigmodel met gesimuleerde hardware
• Als hardware beschikbaar is kan software voor besturing al gereed zijn.
5 november 2008 Evoluon - Eindhoven
5 november 2008 Evoluon - Eindhoven
2
Voorbeeld Simulink model (2/2) • Als hardware beschikbaar komt wordt gesimuleerde hardware vervangen door echte hardware.
Beschikbare hardware oplossingen • DM3 bord voor “eenvoudige” toepassingen – Standaard versterkers en i/o op Dm3 bord beschikbaar
• Industriële pc met i/o kaarten voor applicaties waarvoor veel rekenkracht noodzakelijk is. – Afhankelijk van applicatie kan insteekkaart gekozen worden
5 november 2008 Evoluon - Eindhoven
DM3 oplossing • Voor toepassingen waarbij universele oplossing toepasbaar is • Fixed Point Processor Arm7 van NXP • Demcon library beschikbaar voor drivers • Beschikbaar in zowel Simulink versie als in Command base versie
5 november 2008 Evoluon - Eindhoven
DEMCON library voor Arm7 • Voor standaardfunctionaliteit zijn standaard blokken beschikbaar • Dit maakt systeem ook geschikt voor systeemontwerpers die geen specifieke embedded kennis hebben.
5 november 2008 Evoluon - Eindhoven
DM3 •Demcon Motion Control board •3 versterkers (5A continu, 10A piek) • 16 Digitale ingangen (24 VDC of 5V DC) • 16 Digitale uitgangen (24VDC-200mA) • 12 Analoge ingangen (16 bits) • 4 Analoge uitgangen (12 bits) 5 november 2008 Evoluon - Eindhoven
xPC oplossing • Maakt gebruik van industriële (host) pc met i/o kaarten • Op host pc draait klein real- time operating system. • Systeem kan standalone werken, maar kan ook bediend worden vanuit host pc. • Maakt gebruik van krachtige floating point processor van pc
• Voorbeeld motordriverblock
5 november 2008 Evoluon - Eindhoven
5 november 2008 Evoluon - Eindhoven
3
xPC oplossing • Veel keuze in beschikbare I/O • Drivers voor niet ondersteunde hardware zelf te ontwikkelen • Ook eenvoudige stand-alone toepassingen te ontwikkelen
Voordelen van deze methode • De code van de controller kan al in Matlab gekoppeld worden aan een simulatiemodel van de mechanica, en het geheel in ‘closed loop’ getest. • Ontwikkelplatform is tevens toepassingsplatform • Ontwikkelde software beter te analyseren door grafische opbouw. Dit stimuleert hergebruik en teamwork. • Applicatie is licentievrij.
5 november 2008 Evoluon - Eindhoven
5 november 2008 Evoluon - Eindhoven
Er zijn natuurlijk ook nadelen: • Complete ontwikkelomgeving is prijzig. • Bij hoge samplerates altijd latencymetingen doen. • Latency afhankelijk van • Gebruikte hardware • GUI acties • Gebruik van netwerk • Gebruik van toetsenbord, muis etc.
Voorbeeldprojecten • Raketlanceerinrichting (xPC) • Humanoid (Dm3) • Productiemachines (xPC)
5 november 2008 Evoluon - Eindhoven
Raketlanceerinrichting
5 november 2008 Evoluon - Eindhoven
Blokschema xPC opstelling VML turret block diagram
IGH 1x motor IGH Azimuth housing 4x motor Azimuth Elevation housing
• Acht servomotoren • Hoge eisen aan: – Nauwkeurigheid – Padplanning – Spelingscompensatie – timing • Ontwikkeltijd 40 weken
2x motor Elevation position/rate commands pannier load status system state commands double system enable lines
1x motor Gravity Compensation TPU amplifiers
1x encoder Gravity Compensation 2x encoder Elevation
TPU PC running XPC target Fire Control Computer
IO cards: DO DI D/A T/C
2 (!)x encoder Azimuth 2x end sensor Elevation 1x up/down absolute encoder Elevation locking status Elevation
azimuth/elevation positions locking status Azimuth, Elevation system state limited BIT
lock/unlock Elevation (option)
•8 Motoren •6 encoders •4 Endswitches •5 Status uitlezen
2x end sensor Azimuth 1x left/right absolute encoder Azimuth locking status Azimuth lock/unlock Azimuth (option) IGH position up/down
5 november 2008 Evoluon - Eindhoven
5 november 2008 Evoluon - Eindhoven
4
Hoogste niveau van het Simulink model
Processing unit
•
• Kast met 2 niveaus
Alle functies zitten in meerdere sub-niveaus Turret Software [Ca lHig h2 ]
[Ca lLo w2 ] func tion()
[Ca lLo w4 ] f unct () s UDP In S etion point
P acket out
P ac ketIn
fun ction() S e tpoint s UDP S et points logdat a
S e tpoint s R aw
RES ER VED
[RE SE RVE D]
[fb P ositio n s]
[Lo g d a ta Se tp o in ts]
f bpos
[S ta tu sS e tp oin tFilte r]
S tat us R es et
C om man ds
S e tpoint Co ntrol
1 /z
S e tpoint s C ontroller Tu rret_m ax_a ccelerat ion Tim in gIn
Tim ing
rm
[Ca lLo w1 ] S e tp o in tFilte r
R es et
Re c eive from FCC
fu nction() S e tpoint s
In p u tFro mFCC
S tat us
[S ta tu sCo n tro lle r]
E n co d e rs [Ca lLo w3 ] fu nction() f unct ion ()
Enco pu ls e
En co fb pos
[Ca lHig h 1 ]
S etpo int C ontrol
S erv oErro r C ontrollerC ontrol
TPU software v ersion 1.0 Written by Thales Netherlands and Demcon Twente B.V. Softw are to control demonstrator VML launcher turret P u rp o se o f th e ma in b lo cks a re : Re ce iv e fro m FCC: p o lls a t 1 0 kHz fo r n e w me ssa g e s fro m th e FCC Inp u tFro m FCC: u n p a ck th e p o ssib le re c e ive d me ssa g e S e tp o in tFilte rs: S witch in g b e twe e n se t p o in t a n d ra te co n tro l, re co n stru ct tim e lin e se tp o in ts in te rp o la te if a n y me ssa g e s a re missin g a n d g e n e ra tio n o f a th ird o rd e r p a th fo r th e co n tro ller. Co n tro lle r: re a din g th e e n co d e rs (h o min g a n d CBIT in clu d e d ) a n d c o ntro lle r o f th e tu rre t E n co d e rs: Re a d th e e n co d e rs a t 1 0 kHz . IO_ m a n ag e r: a ll d ig ita l IO a re m a n ag e d b y th is b lo ck. It m a n a g e th e o th e r b lo ck b y a mo d e m a ch ine . (d e scrib e d in th e IDD) O u tp u t toFCC: G e n e ra te s th e p a cke t se n d to th e FCC
t urret _max _acc
[S ervo E rro r]
C on trollerCo ntrol Logdat aC ontrolle r
Abs olute Encoder
[Lo g d a ta Co n tro lle r]
Ab os luteEnc
IBIT_s elect
[fb P o sitio n s]
[fb P o sitio n s]
p uls e
C om ma nds
IBIT_ s tat us
IBIT_s elect
[IBIT _ sta tu s]
P os it ion s Turret
Co n tro lle r UDP S end Enable
[S ta tu sS e tp o in tFilte r]
UDP S en dEnable
S t atu s S etpo int F ilt er S t atus Rep ort
[S ta tu sCon tro lle r]
S tat us R eport
Temp erat ure s
S t atu s Co ntroller
Int ernalModeNum ber
[IBIT_ sta tu s]
[Te m p e ra tu re s]
[fb P o sitio n s]
[In te rn a lMo d e ]
[S ta tu sS e tp o in tFilte r]
[Am p sAn d Bra ke s]
[S e rv o Erro r]
P os itions Tu rret
R ateTu rret
IBIT_ s tat us Amps An dBrake s
turre t_s erv o_error
IO _ m an a g e r [RE S E RVE D]
Data lo g g in g
EnableMonitor
O u tp u tT o FCC De te rmin a tio n o f e xe cu tio n o rd e r [Ca lLo w5 ]
[Ca lHig h 1 ] f() Fu n ctio n -Ca ll h ig h frq u e n cy
[Ca lHig h 2 ]
A h ig h e r sa m p le fre q u e nc y in Ma tla b h a s a h ig h e r prio rity. It is n o t p o ssib le to ch a n g e th is. It wa s a g re e d to p o ll th e UDP co m mu n ica tio n a t 1 0 Kh z. He n ce , th e fo llo win g ca lcu la tio n o rd e r is u se d .
E n a b le Lo g g in g funct ion() lo gtrigg er_t o_works pace
[Ca lLo w1 ]
[Lo g d a ta Co n tro lle r]
t rigger_m ode_out Lo gdata Co ntroller
Ru n n in g th is m o d e l o n xP C re su lts in a lo g o f the two sig n a ls a t th e sa mp le ra te o f th e m o d e l. T h e b lo ck e n a b lin g lo g g in g is u se d to co n tro l lo g g in g fro m th e FCC sim u la to r
At 1 0 kHz first th e E n co d e rs a re re a d a n d th e n th e UDP co mm u n ica tio n p o lle d . [Ca lLo w2 ] f()
[Ca lLo w3 ]
Fu n ctio n -Ca ll Lo w frq u e n cy
[Ca lLo w4 ]
At 1 kHz th e co n tro lle r (a n d DA) a re firstly ca lc u la te d to min im ize th e time b e twe e n rea d in g th e e n co d e rs a n d writin g the DA. (n o w a b o u t 4 0 µ s). T h e re st o f th e b lo ck a re ca lcu la te d a fter. T h e la st b lo ck ('lo g trig g e r_ to _ wo rksp a ce ') is ca lle d la st so a ll lo g d ata is fro m th e sa me in te rru pt lo o p .
[Se rvo E rro r] [Lo gd a ta S e tp o in ts]
S erv oError Lo gdata S etpoint sLo gDataTP U
1 Lo g Da ta T PU
[T e mp e ra tu re s]
Te mperat ures
[In te rn a lMo d e ]
Inte rnalMode
[Ca lLo w5 ]
[Amp sAn d Bra ke s]
Am ps AndBrakes
[RE S ERVE D]
5 november 2008 Evoluon - Eindhoven
5 november 2008 Evoluon - Eindhoven
Humanoid
Humanoid • • • • •
5 november 2008 Evoluon - Eindhoven
Andere xPC / DM3 projecten • Active Piston Prover (APP) , Instrument voor kalibratie van massaflow meters. • Proof of Principle gebouwd m.b.v xPC. • Definitieve product is uitgevoerd met embedded controller. • xPC software kon voor grootste deel opnieuw worden gebruikt.
5 november 2008 Evoluon - Eindhoven
2 DM3 borden 4 aangedreven assen Gekoppeld via I2C Uitbreidbaar Ontwikkelt door studenten in 7 maanden
5 november 2008 Evoluon - Eindhoven
Andere xPC/Dm3 projecten • Productiemachine in de papierverwerkende industrie • 19 servoassen die zijn aangestuurd met bij Demcon ontwikkeld universeel servoblock. • Machine in halfgeleiderindustrie • 27 servoassen, alle sensoren worden uitgelezen met frequentie van 5 kHz • Dus ook 27 padplanners, PID controllers en erg veel signalen • Alle signalen kunnen worden getraced
5 november 2008 Evoluon - Eindhoven
5
Bedankt voor uw aandacht!
Voor meer info www.demcon.nl
5 november 2008 Evoluon - Eindhoven
6