- Home
- Over ons
- Projecten
- Technieken
- Contact
Hieronder vindt u enkele door ons gerealiseerde projecten.
Het doel van dit project was het ontwikkelen van een compleet en universeel besturingssyteem voor Sterilisatie & Desinfectie apparatuur. Het moest een modulair ontwerp worden, met een mogelijkheid tot het koppelen van meerdere apparaten, hun onderlinge modules, printers en het bedrijfsnetwerk. Verder moest er zoveel mogelijk gebruik gemaakt worden van standaard componenten, zonder daarbij van een bepaald merk of type afhankelijk te worden.
Omdat de apparatuur bij de aanvang van dit project nog niet beschikbaar was, is er een simulator voor het nog te bouwen apparaat ontwikkeld. Deze simulator kon het apparaat en de sterilisatieprocessen zodanig simuleren dat de besturing niets merkte van de afwezigheid van het fysieke apparaat. Door deze aanpak was de software eerder beschikbaar dan het apparaat. Bovendien konden veel fout situaties gesimuleerd worden, die in de praktijk tot gevaarlijke situaties zouden kunnen leiden.
Prototype eerste sterilisator
Gedurende het ontwikkeltraject is de gewenste hardware onafhankelijkheid enkele malen getest door de HMI op verschillende systemen te installeren. Dit overstappen op andere hardware nam steeds niet meer dan een dag in beslag.
Bij het ontwikkelen is veel aandacht besteed aan de processnelheid, de betrouwbaarheid in bijzondere situaties en het bedieningsgemak voor zowel de gebruiker als de service technicus. Voor de laatste is de besturing uitgerust met een rode led voor outputs en een groene voor inputs. Hierdoor is de toestand van het apparaat in een oogopslag te zien.
Voor de aansturing van de machine is gebruik gemaakt van het modulaire embedded systeem SmartStar SR9000 van Rabbit Semiconductor (Z-world). Om de vele interne processen soepel te laten verlopen is het real-time operating systeem Micro C/OS-II gebruikt. De applicatie is ontwikkeld met Dynamic C van Rabbit Semiconductor (Z-World).
Schakelkast sterilisator besturing
Voor het bedieningspaneel (HMI) is een Embedded Box PC met een touchscreen gebruikt. Hierop is het operating systeem LINUX met de grafische omgeving X gebruikt. De applicatie is met JAVA ontwikkeld. De communicatie tussen de SR9000, de HMI, de printer en het bedrijfsnetwerk is met behulp van een standaard ethernet router (TCP/IP) uitgevoerd.
De motivatie voor deze keuzes is als volgt. Het operating system LINUX voor de hoge betrouwbaarheid. De JAVA omgeving om de HMI applicatie onafhankelijk te maken van het hardware platform. ETHERNET voor het gemak waarmee standaard apparatuur kan worden gekoppeld.
Sterilisator in bedrijf
Voor dit project werd de software voor de besturing van twee bijzondere electronische voedingen gemaakt. Deze zijn ontworpen voor het voeden van twee typen Xenon lampen van respectievelijk 2200 en 1200 Watt. Het samengaan van hoogspannings- en laagspanning-techniek stelde bijzondere eisen aan deze voedingen.
De gebruikte Xenon lampen ontsteken op 35 Kilovolt om vervolgens onmiddelijk over te gaan op een werkspanning van 24 Volt. De stroom door een 2200 Watt lamp kan hierdoor de 90 Ampere overschrijden.
Xenon Lamp
De lampen worden extreem heet en een betrouwbare koeling is van vitaal belang. Deze wordt verzorgd door temperatuur afhankelijk geregelde ventilatoren.
Xenon Lamp in houder met ventilatoren
Doordat de klant zich met deze ontwikkeling op onbekend terrein begaf, was een nauwe samenwerking noodzakelijk. De resultaten uit het testlab van de klant werden enkele malen per dag doorgegeven en onmiddelijk omgezet in de gewenste software updates.
Nadat deze aanpassingen door ons grondig waren getest met behulp van een I/O box, werden deze per email verzonden.
I/O box met microcontroller board
Dat niet alle bijzonderheden te testen zijn op een simulatie was te verwachten.
Een van de bijzonderheden was dat de microcontroller direct na het afgeven van het ontsteeksignaal te maken kreeg met een zware inductieve verstoring. Deze werd veroorzaakt door de 35 Kilovolt ontlading. De microcontroller werd hierdoor zodanig verstoord dat deze niet langer meer goed functioneerde.
De manier om dit te voorkomen bleek het in slaapstand zetten van de microcontroller. Onmiddelijk na het ontsteken dient de voeding weer adequaat geregeld te worden omdat anders de ontstane vlamboog zal doven. Omdat de microcontroller ook hierin een belangrijke rol speelt, dient deze zo snel mogelijk weer te ontwaken. Dit wordt bereikt door na een succesvolle ontlading een interrupt aan de microcontroller te geven.
Voor dit project zijn de microcontrollers PIC16C73 en PIC16F877 van Microchip gebruikt. Om de gewenste reactie snelheid en timing te verkrijgen zijn deze geklokt op 20 MHz en is de software in assembly geschreven.
Microcontroller board
Behalve het geven van een ontsteek impuls en het meten van de stroom door de lamp, neemt de microcontroller de volgende taken voor zijn rekening.
Het meten en regelen van werkspanningen voor diverse voedingscircuits; het meten van de temperatuur van het koelelement; het traploos regelen van de ventilatoren door middel van pulsbreedtemodulatie; de RS232 communicatie en de verwerking van de opdrachten en verzoeken hiervan.
Ook het vermogen waarop de lamp brandt, wordt met behulp van snelle regelcircuits in de voeding door de microcontroller bepaald.
Het geheel is aangesloten op een PC die de supervisie heeft over aan/uit en vermogen. Ook kan de PC de status en de waarde van parameters opvragen. Hiervoor is door de klant een protocol over RS232 vastgesteld.
Voor dit project werd de software voor de besturing van een hybride voeding gemaakt. Deze verenigde de eigenschappen van een UPS, een acculader/conditioner en een temperatuur-regeling in zich. De eisen die aan het apparaat van deze voeding gesteld werden zijn extreem te noemen.
Deze voeding is voor gebruik in militaire mobiele communicatie apparatuur die zowel op de noordpool als in de sahara inzetbaar moet zijn. De specificaties van het apparaat eisen dan ook dat deze bij extreem lage- en hoge- temperaturen correct blijft werken.
De elektronica en de accu's zijn ingebouwd in een koffer die uit massief aluminium is vervaardigd. Een speciale folie draagt zorg voor het verwarmen van het interieur.
Tijdens opslag is het apparaat aangesloten op de netspanning. Om verzekerd te zijn van een optimale lading en een continue bedrijfsgereedheid, worden beide accu's constant geconditioneerd.
Prototype microcontroller board
Voor de levenduur en de capaciteit van de accu's is een juiste temperatuur van groot belang. Deze wordt dan ook doorlopend gecontroleerd en te koude accu's worden eerst op temperatuur gebracht, voordat deze geladen of ontladen worden.
Tijdens het ontwikkelen van de software werd het hieronder afgebeelde instelboard gebruikt om de waarden voor de diverse inputs te simuleren. Overige signalen, zoals pulsbreedtemodulatie en fase aansnijding, werden met een oscilloscoop gemeten.
Instelboard voor prototype
Om nauwkeurig de kleine veranderingen in de accuspanningen te kunnen meten is een A/D converter met een hoge resolutie en een lage temperatuur-drift noodzakelijk.
Samen met de behoefte om ook digitale signalen te kunnen meten en regelen, heeft dit geleid tot selectie van een mixed signal controller.
De geselecteerde microcontroller mist alleen de benodigde hardware support voor fase aansnijding. Deze is daardoor volledig in software uitgevoerd.
De software is zodanig geschreven dat de microcontroller zoveel mogelijk in low-power modus draait of zelfs geheel stilstaat.
Voor dit project is de microcontroller PIC14000 van Microchip gebruikt. Om het stroomverbruik uit de batterij laag te houden en tegelijkertijd toch aan de gewenste reactie snelheid en timing te voldoen, is de chip geklokt op 4 MHz en is de software in assembly geschreven.
Close-up PIC14000 microcontroller
In dit ontwerp neemt de microcontroller de volgende taken voor zijn rekening.
Het meten van de spanning van de accu's, de temperatuur van de behuizing en de accu's, aanwezigheid en conditie van AC power, nuldoorgang detectie voor fase aansnijding en een signaal om aan te geven dat de accu's verwisseld worden.
Het regelen van het laadproces, traploos regelen van de verwarmingsfolie door middel van fase aansnijding, aansturen van de AC/DC convertor en het bewaken en afkoppelen van de accu's indien gevaar voor totale ontlading dreigt.
Voor dit project werd de software voor een Seriele Debugging Interface (SDI) gemaakt. De SDI werkt als software en hardware protocol interface tussen de MCUeZ debugger en de 68HC12 target microcontroller.
Het prototype van de SDI is gemaakt van een Microchip PICDEM-2 demonstratieboard. Op de SDI is een klein LCD scherm voor het tonen van de status aangesloten.
PICDEM-2 omgebouwd tot SDI interface
Tijdens het opstarten worden identificatie en versie op het LCD scherm weergegeven. Daarna meldt het systeem zich in idle mode.
LCD van SDI interface in IDLE mode
Wanneer een nog niet geimplementeerd commando aan de SDI wordt gegeven, dan wordt dit op het LCD scherm aangegeven.
Tijdens het ontwikkelen van dit commando wordt het LCD scherm gebruikt voor het weergeven van debugging informatie.
De PC waar de MCUeZ debugger op draait wordt via een serie poort aangesloten op de SDI. De SDI wordt op de BDM connector (J5) van een HC12A4EVB evaluatieboard aangesloten.
HC12A4EVB evaluatieboard met MC68HC812A4
De MC68HC812A4 controller op dit board is voorzien van een Background Debugging Modus (BDM) en interface. Hierdoor is het mogelijk om, terwijl de controller op volle snelheid draait, breakpoints te plaatsen of te verwijderen en het geheugen of periferie uit te lezen of te beschrijven.
MCUeZ debugger
Voor dit project is een Microchip PIC16F874 microcontroller op 16 MHz gebruikt. De software is in assembly geschreven.
In dit ontwerp neemt de microcontroller de volgende taken voor zijn rekening.
De ontvangst werkt op basis van interrupts en een ontvangstbuffer. Met de handshake lijnen geeft de SDI naar de PC aan of deze data mag verzenden. Het voorgrondproces verwerkt de ontvangen datapakketten.
Doordat een datapakket groter kan zijn dan de capaciteit van de buffers en de afmeting bij aanvang van de transmissie niet bekend is, moeten voor- en achtergrond processen goed op elkaar aansluiten.
Dit komt voor als er een groot deel van het geheugen van de MC68HC812A4 gelezen of geschreven moet worden. De afmetingen overtreffen dan vele malen de hoeveelheid beschikbare RAM in de PIC16F874.
Omdat de communicatie een hoge snelheid en nauwkeurigheid vereist, worden alle interrupts uitgeschakeld tijdens transmissie van en naar de microcontroller. Dit kan maar voor korte duur omdat de communicatie via RS232 al snel zal worden verstoord.
Hier komt nog bij dat de microcontroller ook zogenaamde asynchrone messages kan aanbieden. Dit zijn de datapakketten die niet als gevolg van een zojuist verzonden commando worden ontvangen.
Dit komt o.a. voor als de MC68HC812A4 op een breakpoint stopt, over een functie call heen stapt, een halt instructie uitvoert of ge-reset wordt.
Het LCD scherm is met een 4 bit interface en enkele handshake lijnen op een enkele poort aangesloten. Er kunnen een aantal meldingen in de queue staan. Door op een knop te drukken, wordt steeds de volgende getoond. Het updaten van het LCD display heeft de laagste prioriteit in het systeem en kan eventueel uitgeschakeld worden.