Nieke Roos
19 September 2005

NASA wil goedkoper het heelal in en speurt daarom naar manieren om ruimteveren te lanceren zonder boosterraketten en externe tank. Een van de alternatieven is de magnetische katapult. Probleem is dat deze bij hoge snelheden instabiel wordt, waardoor hij nog niet geschikt is voor het afschieten van spaceshuttles. Werktuigbouwkundige Jeroen de Boeij bracht praktische toepassing van de techniek een stapje dichterbij. Hieronder doet hij verslag van zijn stage- en afstudeerproject bij de Amerikaanse ruimtevaartorganisatie.

In Sjanghai bouwen Siemens en ThyssenKrupp op dit moment de eerste commerciële trein die rijdt op magneten. Daarbij maken de Duitse ondernemingen gebruik van kennis uit het Transrapid-project, waarbinnen onze oosterburen al jaren onderzoek doen naar magnetische levitatie (Maglev) voor openbaar vervoer. Ook in het land van de rijzende zon is de ontwikkeling van een commerciële zweeftrein in een vergevorderd stadium. Met 581 km per uur zijn de Japanners op dit moment houder van het wereldsnelheidsrecord.

De Maglev-treinen bewegen zich voort door het ’spoor‘ waarop ze rijden af te stoten. De onderliggende baan is uitgerust met spoelen die een magnetisch veld genereren wanneer er stroom doorheen loopt, terwijl in de bodem van de rijtuigen magneten zitten met tegengestelde velden. Het resulterende krachtenspel zorgt voor levitatie en, door de stroomsterkte in de spoelen te variëren, ook voor aandrijving. De treinen zweven over de baan met als enige weerstand de luchtwrijving. Dat maakt Maglev zeer geschikt voor toepassingen die hoge snelheden vereisen, zoals lanceringen.

Magnetische katapult

Het Amerikaanse spaceshuttleproject is al jaren controversieel vanwege de hoge kosten en de veiligheidsproblemen. NASA is daarom op zoek naar goedkopere en veiligere technieken voor zijn volgende generatie ruimteveren. Op dit moment ontwikkelt de organisatie een nieuwe motor, de scramjet. Een paar maanden geleden heeft een experimenteel vliegtuig hiermee een succesvolle testvlucht gemaakt. De resultaten zijn veelbelovend, maar er is één probleem: om de motor te kunnen ontsteken is een beginsnelheid nodig die voor voldoende luchttoevoer zorgt.

NASA onderzoekt nu of een nieuwe spaceshuttle met scramjetmotor op snelheid is te brengen met een magnetische katapult, vergelijkbaar met de manier waarop nu straaljagers van een vliegdekschip worden gelanceerd. Het ruimteveer komt op een slede te staan, die vervolgens horizontaal wordt afgeschoten. Wanneer de gewenste beginsnelheid is bereikt, wordt de scramjet ontstoken en gaat de shuttle op eigen kracht verder. De slede wordt afgeremd, waarna de baan binnen korte tijd opnieuw bruikbaar is. Een halve kilo lanceren moet dan nog maar 100 dollar kosten, in plaats van 10 duizend dollar nu.

 advertorial 

Sigasi Extension for Visual Studio Code

Sigasi announces the release of their VS Code Extension with rich support for SystemVerilog, Verilog, and VHDL. Our extension provides features and language support such as code navigation, project management, linting, code formatting, tooltips, outline, autocomplete, hover, and much more!

Op de campus van het Florida Institute of Technology nabij het Kennedy Space Center heeft NASA een tien meter lange testbaan laten bouwen om het principe te testen. In de eerste vijf meter geeft een lineaire elektromotor de slede een versnelling van 10g, tot een maximale snelheid van 85 km per uur. De tweede helft van het parcours dient als rem die het karretje weer tot stilstand brengt.

De testbaan is gebaseerd op dezelfde techniek als de Japanse Maglev-trein. Bij hele lage snelheden rijdt die nog op wielen, maar hoe hoger de snelheid, hoe groter de (passieve) stromen door de spoelen in de baan en hoe groter de levitatie. Op een gegeven moment is deze groot genoeg om de trein te laten zweven.

Als de trein eenmaal zweeft, dan absorbeert de opwaartse kracht als een schokbreker de ontstane trillingen. Probleem is alleen dat de vibraties bij hoge snelheden zo hevig worden dat deze niet meer te dempen zijn, waardoor de trein de baan raakt.

Met diverse slimme technieken zijn de Japanners erin geslaagd om de snelheidsgrens waarbij de trein de baan raakt steeds verder omhoog te schuiven. Het probleem is echter niet opgelost en voorlopig is 600 km per uur het maximum haalbare. Lanceringen vereisen echter minstens mach 1 (de geluidssnelheid, ongeveer 1200 km per uur). Vandaar dat NASA een researchproject is gestart om de trillingen niet passief maar actief te onderdrukken, zodat de opwaartse kracht de slede ook bij hoge snelheden netjes op de baan houdt.

Uitgangspunt van het onderzoek is het gebruik van actieve spoelen. Waar bij de Japanse Maglev-trein de stromen passief zijn, en dus niet aan te sturen, hebben de spoelen in de NASA-testbaan allemaal een eigen voeding. Daardoor is voor elke spoel afzonderlijk (actief) te regelen hoeveel stroom erdoorheen loopt en hoe groot de resulterende levitatie is. De uitdaging is nu om de krachten die op de slede werken realtime uit te rekenen, zodat de stromen elke fractie van een seconde zijn bij te sturen. Ter afronding van mijn studie werktuigbouwkunde aan de Technische Universiteit Eindhoven heb ik anderhalf jaar in Florida gezeten, waar ik in het kader van mijn stage en afstuderen een bijdrage heb geleverd aan het NASA-onderzoek.

Simulatie

Om de krachten op de slede uit te rekenen moet een stelsel van differentiaalvergelijkingen worden uitgerekend dat het elektromagnetisch gedrag beschrijft. Bestaande software heeft hier in het gunstigste geval enkele minuten voor nodig. Daarom hebben we een nieuw wiskundig model ontwikkeld dat het klusje in microseconden klaart. Op basis van dit model hebben we een regelalgoritme geschreven waarmee we kunnen bepalen welke stromen er door de spoelen moeten lopen om de slede aan het zweven te houden.

In hoofdlijnen ziet het regelalgoritme er als volgt uit:

1.         Lees de uitgangssignalen in van de sensoren langs de baan en bereken op basis daarvan de positie van de slede.

2.         Gebruik die positie om met het wiskundige model te bepalen hoeveel kracht elke spoel kan leveren per ampère stroom.

3.         Reken uit hoeveel kracht er vereist is om de slede netjes te laten zweven (kracht = massa x gewenste versnelling).

4.         Bepaal met het model welke stromen er nodig zijn om die kracht te krijgen.

5.         Stuur die waardes uit naar de versterkers.

Dit algoritme hebben we allereerst gesimuleerd in Matlab en Simulink. Het dynamische gedrag van de slede en de regelaar hebben we beschreven in C-code, waarbij we ook andere systeemcomponenten zoals sensoren en actuatoren, meetruis en modelfouten hebben meegenomen. Dit alles stelde ons in staat om het gedrag op voorhand te bekijken en inzicht te krijgen in eventuele problemen. Daarnaast hebben we de informatie uit de simulatie gebruikt om de hardwarespecificaties op te stellen.

0591916274600
NASA’s Maglev-testbaan met slede. Foto Jeroen de Boeij

Elektronicaontwerp

Een extern bedrijf (DMF Consulting) heeft de benodigde signaalverwerking en vermogenselektronica gerealiseerd. Het hart van de regelaar is een TMS320C6701-DSP van Texas Instruments, waaraan verschillende I/O-modules van Innovative DSP zijn gekoppeld voor de communicatie met de buitenwereld. Het besturingssysteem dat erop draait is niet veel meer dan een scheduler die instructies uitvoert afhankelijk van interrupts. We hebben hier gekozen voor een digitale signaalprocessor, omdat DSP‘s flexibeler zijn dan FPGA‘s en PIC-microcontrollers.

De regelaar stuurt ongeveer tweehonderd spoelen aan, waardoor het ontwerp van de elektronica en de bijbehorende interface om de signalen op het juiste tijdstip op de juiste plaats te krijgen tot in de puntjes moet kloppen. Daar komt nog bij dat het systeem bestand dient te zijn tegen de magnetische velden op en rond de baan. Zo lopen er langs het parcours talloze lange draden die kunnen gaan werken als antenne of spoel, wat het sturen van signalen aanzienlijk bemoeilijkt. Dit probleem hebben we opgelost door de communicatie met behulp van pulse width modulation minder gevoelig te maken.

Ondanks alle voorzorgsmaatregelen die we hadden getroffen bij het elektronicaontwerp deden zich bij de implementatie verschillende problemen voor die ons de nodige hoofdbrekens hebben gekost. Vooral de pulsen uit de optische encoder, die de positie van de slede op de baan meet, gaven veel moeilijkheden. Zo registreerden we meer pulsen dan zou moeten en telkens als we dachten de oplossing te hebben gevonden, doken er weer nieuwe spookpulsen op. Het signaal bleek door de lange kabel te langzaam van 0 naar 1 te gaan, waardoor we sommige pulsen dubbel telden. Dit hebben we verholpen door het signaal van de encoder twee keer door een snelle inverter te halen.

Problemen zoals deze zorgen voor veel frustraties en lange dagen in het lab. Positief is wel dat je leert waarmee je in de praktijk te maken kunt krijgen, iets wat je niet vaak ervaart als je in de collegebanken zit. Uiteindelijk hebben we alle plooien gladgestreken en verbindt de interface de signalen zonder problemen met de computer waarop het regelalgoritme draait.

Implementatie

Bij het programmeren van de regelsoftware hadden we het voordeel dat we het algoritme al hadden getest in een simulatie. Doordat de DSP ook met C-code werkt, konden we de gesimuleerde programmatuur bovendien bijna een op een overnemen. Omdat digitale signaalprocessoren op een laag niveau worden geprogrammeerd, waren er nog wel wat aanpassingen nodig. Zo moesten we alle hardware direct vanuit de software aansturen, geheugenregisters inlezen of wijzigen en de timing van de analoge in- en uitgangen en de interrupts definiëren.

Met name het afstemmen van de timing was essentieel. Voor de volgende interrupt binnenkomt, moet de regelaar alle sensoren hebben uitgelezen, alle berekeningen hebben gedaan en de nieuwe signalen naar de spoelen hebben gestuurd. Als de interrupt bijvoorbeeld arriveert wanneer de calculaties nog niet zijn afgerond, dan stopt het systeem de werkzaamheden direct om ze na het uitlezen van de sensoren opnieuw te starten zonder dat het iets heeft uitgestuurd. Als de signalen echter worden verzonden voordat de berekeningen klaar zijn, dan ontvangen de versterkers de verkeerde waardes.

Ondanks dat onze software veel sneller was dan bestaande programmatuur, waren de berekeningen nog steeds erg complex voor de simpele DSP die we gebruikten. Voor de best mogelijke prestatie moesten we het complete regelprogramma vanuit de snelle on-chip cache draaien, wat een flinke optimalisatie van de code vereiste. Het model hadden we zo geprogrammeerd dat we snel verschillende instellingen en omstandigheden konden evalueren. De resulterende code bood weliswaar een overzichtelijke representatie van de fysische vergelijkingen, maar was verre van optimaal.

In de uiteindelijke regelsoftware hebben we alle calculaties die het systeem meer dan een keer doet, vervangen door extra variabelen. Verder hebben we alle initialisatiecode in het relatief langzame SDRAM geplaatst, zodat alleen de functionaliteit voor het berekenen van de stromen in het on-chip geheugen staat. Deze en andere optimalisatieslagen hebben ervoor gezorgd dat het complete programma elke 1,1 ms (= 911 Hz) is uit te voeren.

0591916321800
Een visualisatie van een slede die een spaceshuttle afschiet. Foto: NASA

Stapvoets

Met 911 Hz is het regelprogramma echter nog niet snel genoeg om de slede bij te houden tijdens een lancering. Daarvoor is minstens een frequentie nodig van 2 tot 4 kHz. Het is dus zaak om te zoeken naar snellere alternatieven voor de TMS320C6701. Het nieuwste op dit gebied is een als DSP gebruikte 2,2 GHz AMD Opteron-processor van dSpace. Door daarop het simulatiemodel, dat ook geheel in C is geschreven, te laten draaien met hardware-I/O hebben we een prestatie-indicatie gekregen. Uit deze benchmark blijkt dat zelfs zonder verregaande codeoptimalisatie snelheden van 10 tot 15 kHz mogelijk zijn. Daarmee zouden we de dynamica van de slede tijdens een echte lancering moeten kunnen regelen.

Met de huidige DSP kunnen we de slede slechts stapvoets over de baan laten glijden. Desalniettemin hebben we laten zien dat we het karretje door middel van nieuwe wiskundige modellen en geavanceerde regeltechniek netjes kunnen laten zweven zonder last te hebben van instabiliteit en trillingen. Ook hebben we theoretisch aangetoond dat het gebruikte regelalgoritme altijd stabiel is, zelfs bij hoge snelheden.

Op dit moment doe ik op de TUE promotieonderzoek naar een soortgelijk onderwerp. De focus ligt daarbij niet zozeer op hoge snelheid maar vooral op hoge nauwkeurigheid. Het doel is om een platform met permanente magneten te laten zweven over een vlak van spoelen (vliegend tapijt), een project waar al twee promovendi aan werken. Daarnaast is het de bedoeling om ook draadloos energie en data over te brengen naar het platform, zodat er een robot op kan worden geplaatst. Toepassingen hiervoor zijn vooral te vinden in de elektronica-, halfgeleider- en optica-industrie.

Jeroen de Boeij is werkzaam als promovendus bij de faculteit Elektrotechniek aan de Technische Universiteit Eindhoven.