XIOS HOGESCHOOL LIMBURG DEPARTEMENT INDUSTRIËLE WETENSCHAPPEN EN TECHNOLOGIE
EEN REMOTE STUURBARE PROJECTOR
Gerrit DE RORE
Afstudeerwerk ingediend tot het behalen van het diploma van industrieel ingenieur in elektronica-ICT master in de industriële wetenschappen: elektronica-ICT
Promotoren: prof. dr. K. Luyten (U-Hasselt) drs. ing. K. Petermans (XIOS Hogeschool Limburg)
Academiejaar 2006 - 2007 Een remote stuurbare projector
Gerrit De Rore
Inhoudsregister Dankbetuiging........................................................................................................................i Abstract..................................................................................................................................ii Verklarende woordenlijst van de gebruikte afkortingen.......................................................iii Hoofdstuk 1: Het Expertisecentrum voor Digitale Media ( EDM)........................................1 1.1. Inleiding...............................................................................................................4 Hoofdstuk 2: De aansturing van de ruitenwissermotor voor de horizontale positionering van de projector......................................................................................................................7 2.1. Inleiding...........................................................................................................................7 2.2. Theoretische achtergrond..............................................................................................11 2.2.1. De werking van een gelijkstroommotor.........................................................11 2.2.2. Aanstuurmethodes voorcontinue gelijkstroommotoren.................................13 2.3. Praktische realisatie.......................................................................................................25 2.3.1 De printlay-out DC- motordriver....................................................................29 2.4. De stappenmotor als alternatief voor de ruitenwissermotor.........................................31 2.4.1.Controle- en aandrijfcircuits voor stappenmotors..........................................34 Hoofdstuk 3: De software voor positiesturing.....................................................................43 3.1. Inleiding.........................................................................................................................43 3.2. De grafische gebruikersinterface ontwikkelen .............................................................43 3.2.1. Visual Basic Express Edition 2005 openen....................................................44 3.2.2. De GUI lay- out……………………………………………………………..45 3.3. De programmasoftware schrijven………………………………………………….....46 3.3.1. De Form lay- out laden..................................................................................50 3.3.2. De verbinding met de Phidget………………………………………………53 3.3.3. Het virtueel touchpad.....................................................................................57 Hoofdstuk 4: Literatuurstudie Locatie Sensor Technieken..................................................60 4.1.Triangulation..................................................................................................................60 4.1.1.Lateration........................................................................................................60 4.1.2. Angulation......................................................................................................64 4.2. Scene Analysis..............................................................................................................65 4.3. Proximity Detection ( PD)……………………………………………………………65 4.3.1. Fysiek contact detecteren…………………………………………………...65
Een remote stuurbare projector
Gerrit De Rore
4.4. De draadloze technologieën..........................................................................................66 4.4.1. Passieve RFID................................................................................................66 4.4.2. Actieve RFID ................................................................................................67 4.4.3. Infrarood........................................................................................................67 4.4.4. Ultra High Frequency ( UFH) .......................................................................67 4.4.5. Ultra Wide Band ( UWH) ………………………………………………….67 4.4.6. WLAN( IEEE802.11b) …………………………………………………….68 4.4.7. Bluetooth ( IEEE802. 15) .............................................................................68 Hoofdstuk 5. Conclusie........................................................................................................70 Literatuuropgaven en referenties..........................................................................................71
Een remote stuurbare projector
Gerrit De Rore
Dankbetuiging
Bij deze zou ik de gelegenheid te baat willen nemen alle personen te danken die meegeholpen hebben aan de voltooiing van dit eindwerk. In het bijzonder denk ik daarbij aan mijn externe promotor prof. dr. Kris Luyten die mij de kans heeft gegeven om aan dit project te werken. Hij stond me steeds persoonlijk bij in raad en daad. Het was een voorrecht hem als externe promotor te hebben. Mijn dankbaarheid gaat tevens naar mijn interne promotor drs. ing. Karoline Petermans. Voor extra uitleg, richtlijnen en feedback kon ik steeds bij haar terecht. Mijn docenten elektronica dr. ing. Jan Boutsen en ing. Frank Appaerts verdienen ook een dankbetuiging voor het doorgeven van hun kennis, waardoor de opleiding industrieel ingenieur elektronica aan de XIOS Hogeschool Limburg een leerrijke en onvergetelijke ervaring werd. Tevens richt ik mij tot mijn ouders die steeds in mij hebben blijven geloven en me de kans gaven om verder te studeren waarvoor ik hun eeuwig dankbaar ben. Oprechte erkentelijkheid gaat uit naar mijn vriendin Sarah. Zij was er steeds voor mij, ook in tijden van psychische spanning en druk. Zonder hun zou ik dit nooit bereikt hebben en zou ik niet zijn wie ik nu ben.
Gerrit De Rore.
Een remote stuurbare projector
Gerrit De Rore
Abstract Titel:
Een remote stuurbare projector.
Auteur:
Gerrit De Rore
Interne promotor:
drs. ing. Karoline Petermans
Externe promotor:
prof. dr. Kris Luyten
Voor mijn eindwerk, dat aansluit bij mijn stage, heb ik in het Expertisecentrum voor Digitale Media meegewerkt aan een project binnen het Human-Computer Interaction domein (HCI). Het eindwerk had tot doel een remote stuurbare projector controle te ontwikkelen die de gebruiker in staat stelt om een projector m.b.v. een computerprogramma naar een gewenste plaats te richten. Voor het realiseren van de aansturing van de pan/tilt constructie waarop de projector bevestigd is, werd gekozen om d.m.v. een servo-controller, de verticale- en horizontale positionering te voorzien van respectievelijk een servo- en een ruitenwissermotor. De ruitenwissermotor kon echter niet rechtstreeks aangesloten worden aan de servo-controller module. Hiervoor heb ik een DC-motordriver module ontwikkeld dat als interface functioneert tussen de servo-controller module en de ruitenwissermotor. Deze DCmotordriver module levert de nodige stromen voor de ruitenwissermotor. Nadien heb ik naar ontwerpalternatieven gezocht voor de DC- motordriver module, inclusief de ruitenwissermotor. Tevens heb ik het systeem van software voorzien. Hiervoor heb ik een programma in Microsoft Visual Basic.NET ontworpen. Met dit programma kan de gebruiker de projector positioneren door het pijltje van de computermuis over een virtueel touchpad op het beeldscherm te slepen. Wanneer dit gebeurt, wordt er een vector berekend in het programma zodoende dat de projector naar de correcte plaats gericht wordt. Een gedetailleerde omschrijving over deze deelopdracht wordt beschreven in deze thesis. Tijdens de stage heb ik ook een literatuurstudie gemaakt over indoor locatie sensor systemen. In deze thesis beschrijf ik enkele algemene locatietechnieken en maak ik tevens ook een analyse over verschillende draadloze technologieën die hieromtrent toegepast worden.
Een remote stuurbare projector
Gerrit De Rore
Verklarende woordenlijst van de gebruikte afkortingen AOA: Locatietechniek waarbij hoeken worden gemeten voor het berekenen van de positie van een object. CEMF: Counter Electromotive Force of tegen-elektromagnetische kracht, dit is een stroom die gegenereerd wordt in een spoel, wanneer de eigenlijke aangelegde stroom weg genomen wordt van de spoel . CMOS:Complemetary Metal Oxide. Deze methode reduceert de stroom door de drain van het digital circuit door gebruik te maken van N-kanaal- en P-kanaal MOSFET`s. Dit is een veel gebruikte halfgeleider technologie. IC: Integrated Circuit, Een soort chip dat bestaat uit transistoren, weerstanden en diodes. MOSFET: Metal-Oxide Semiconductor FET. Deze types transistor dissiperen zeer weinig Vermogen. PD: Proximity Detection, Een proximity locatie sensor techniek vertrouwt op een netwerk van antennes die elk een gekende positie hebben. Dit leidt tot het bepalen van een positie doordat het mobiele object in de buurt komt (enkele centimeters) van een bepaalde antenne PWM: Puls Width Modulation of pulsbreedte modulatie. Techniek waarbij de breedte van een Rechthoekig signaal gewijzigd kan worden. Hiermee kan de gemiddelde DC- spanningswaarde geregeld worden. TOA: Time Of Arrival. Deze locatietechniek meet de afstand van een object tot een bepaald referentiepunt P, gebaseerd op het meten van de tijd dat een signaal aflegt tussen het object en het referentiepunt P met gekende positie.
Een remote stuurbare projector
Gerrit De Rore
TTL: Transistor-Transistor Logic. RSSI: Received Signal Strength Intensity. Locatietechniek die de de positie van een object berekend door de signaalsterkte van het origineel verzonden sigaan te meen UWB: Ultra Wide Band. UWB is gebaseerd op het verzenden van zeer korte pulsjes te versturen (<1ns), met een lage duty-cycle (1:1000) in het spectrum, gebruikt het systeem een ultra wide band WLAN: Dit is een draadloos locaal netwerk standaard, dat werkt in de 2.4GHz ISM band. Deze standaard is sinds een paar jaar zeer populair in publieke hotspots en firma’s. door de bitsnelheid van 11Mbps en een bereik van 50-100m
Een remote stuurbare projector
Gerrit De Rore
Hoofdstuk 1: Het Expertisecentrum voor Digitale Media (EDM) Het Expertisecentrum voor Digitale Media (EDM) is een financieel autonoom onderzoekscentrum van de Universiteit Hasselt (UHasselt) en is gevestigd te Diepenbeek. Sinds 1987 wordt er gewerkt rond allerlei thema’s uit de informatie- en communicatietechnologie (ICT). EDM is ondertussen uitgegroeid tot een onderzoekscentrum met 75 medewerkers, waaronder meer dan 25 doctoraatsstudenten. In de onderstaande figuur wordt er een foto van het EDM weergegeven.
Figuur 1.1: Expertisecentrum voor Digitale Media (EDM).
Binnen het EDM wordt aan zowel fundamenteel -, basis - als toepassingsgericht onderzoek gedaan in drie specialisatiedomeinen. Het fundamenteel onderzoek wordt hoofdzakelijk verricht onder de vorm van Europese, nationale, regionale en interne onderzoeksprojecten.
Een remote stuurbare projector
Gerrit De Rore
De in het fundamenteel onderzoek verworven kennis vormt een belangrijke bron van knowhow voor het toegepast onderzoek. De drie specialisatiedomeinen waar onderzoek wordt gedaan zijn: •
Computer Graphics
•
Human-Computer Interaction (HCI)
•
Multimedia- en Communicatie Technologie
De onderzoeksgroep Computer Graphics richt zich in het modelleren van geometrische objecten, animatie (het plaatsen en bewegen van objecten in een tijdssequentie) en ‘rendering’ (het weergeven van die objecten). De resultaten van het wereldwijde onderzoek in computer graphics, zijn in de loop der jaren uitgegroeid tot een belangrijke basis voor heel wat toepassingsdomeinen zoals visualisatie voor medische, wetenschappelijke en technische doeleinden, CAD/CAM, virtuele prototypering, architectuur en edu/entertainment. De onderzoeksgroep Multimedia- en Communicatietechnologie van EDM richt zijn onderzoek voornamelijk op genetwerkte virtuele omgevingen en virtuele interactieve gemeenschappen. Het doel van dit onderzoek is dat verscheidene personen via het Internet en breedbandnetwerken in een grafische omgeving (2D, 2.5D, 3D, of een hybride combinatie hiervan) met elkaar en met de virtuele omgeving kunnen interageren. Daarnaast verricht het EDM ook onderzoek naar interactieve multimediale systemen zoals onder andere interactieve televisie, mobiele services, multimediale leeromgevingen alsook content management. Het onderzoek in het domein Human-Computer Interaction (HCI) situeert zich in drie grote gebieden, namelijk contextgevoelige user interfaces, multimodale interactie in 3D en virtuele omgevingen en tenslotte interactieve collaboratieve werkruimten. In deze gebieden werken we zowel rond interactietechnieken als rond ontwikkelingstechnologie voor de realisatie van user interfaces. We benaderen het human-computer interaction domein telkens vanuit een informatica achtergrond, en spelen in op de noden van zowel de eindgebruiker als de ontwikkelaar. De resultaten van dit onderzoek worden o.a. toegepast in de ontwikkeling van interactieve multimediale systemen en applicaties. Verder is EDM gerelateerd aan 5 spin-off bedrijven:
Een remote stuurbare projector
Gerrit De Rore
•
Androme (1990)
•
Zeus Software Engineering (1991)
•
Animante Baleares (1998)
•
QuESD (1999)
•
Opikanoba (2001)
•
ARISTOCO (2006)
Een remote stuurbare projector
Gerrit De Rore
1.1. Inleiding Als opdracht voor mijn eindwerk kreeg ik de gelegenheid om aan een project mee te werken binnen het Human-Computer Interaction domein. HCI is zoals eerder vermeldt het onderzoeksdomein waar alle aspecten van de interactie tussen een menselijke gebruiker en een computergebaseerd systeem onderzocht worden. De gedachte achter deze opdracht is een remote stuurbare controle te ontwikkelen, die de gebruiker in staat stelt om een projector m.b.v. een computerprogramma naar een gewenste plaats te richten. De horizontale en verticale opstelling van de projector kan veranderd worden d.m.v. een aluminium “pan/tilt” constructie. In figuur 1.2 wordt een foto weergegeven van het pan/tilt systeem.
Figuur 1.2: De pan/tilt constructie met de projector
Ongeveer in het midden van het lokaal is de aluminium pan/tilt constructie met de projector aan het plafond bevestigd. Om een overzicht te verwerven over de opbouw van het pan/tilt systeem kunt u refereren naar de blokschematische voorstelling in figuur 1.3 op pagina 6. De pan/tilt constructie wordt aangedreven door twee elektrische motoren. De horizontale en verticale beweging worden respectievelijk geleverd van een ruitenwisser- en een servomotor. Deze twee motoren worden gecontroleerd door een servo-controller schakeling. De servo-controller module werd aangekocht bij Phidgets Inc. Deze servocontroller schakeling kan rechtstreeks vanuit de computer de meeste servomotoren aansturen.
Een remote stuurbare projector
Gerrit De Rore
De servomotor dat de verticale beweging van de projector voorziet, kan rechtstreeks aangesloten worden op de uitgang van de servo-controller. De ruitenwissermotor werd gekozen voor de horizontale beweging van de projector omdat deze motor over voldoende kracht en koppel beschikt. Deze ruitenwissermotor ontwikkeld grotere stromen dan een servomotor en kan hierdoor niet rechtstreeks gekoppeld worden aan de servo-controller schakeling. Als eerste deelopdracht van het eindwerk werd mij gevraagd dit probleem op te lossen. Hiervoor heb ik een DC-motordriver ontwikkeld die fungeert als interface tussen de servo-controller schakeling en de ruitenwissermotor. Met deze interface is de servocontroller schakeling in staat de stuursignalen te verzenden naar de DC-motordriver module. Deze DC-motordriver levert op zijn beurt de juiste stromen aan de ruitenwissermotor. Met de toevoeging van deze elektronische schakeling aan de uitgang van de servo-controller schakeling is het mogelijk om de ruitenwissermotor aan te sturen zodoende dat de projector zich horizontaal (“pan”) kan bewegen. Bijkomend heeft de ruitenwisser een feedback nodig om de positie van de as van de motor te registreren. Hiervoor wordt er gebruik gemaakt van een feedbackschakeling met potentiometer. Dit feedbackprintje hebben we ontkoppeld uit een servomotor. Een gedetailleerde omschrijving over deze deelopdracht wordt in hoofdstuk 2 weergegeven. Daaropvolgend heb ik een literatuurstudie gemaakt over indoor sensor locatie systemen. In hoofdstuk 4 beschrijf ik enkele algemene locatietechnieken en maak ik tevens een analyse over de verschillende draadloze technologieën die hieromtrent toegepast worden. Als laatste deelopdracht heb ik het systeem van software voorzien. Hiervoor heb ik een programma in Microsoft Visual Basic.NET ontworpen. Met dit programma kan de gebruiker de projector positioneren door het pijltje van de computermuis over een virtueel touchpad op het beeldscherm te slepen. Wanneer dit gebeurt, wordt er een vector berekend in het programma zodoende dat de projector naar de correcte plaats gericht wordt. In hoofdstuk 3 van deze thesis wordt hieromtrent dieper in detail getreden.
Een remote stuurbare projector
Gerrit De Rore
Figuur 1.3: Blokschematische voorstelling van het pan/tilt systeem
Een remote stuurbare projector
Gerrit De Rore
Hoofdstuk 2: De aansturing van de ruitenwissermotor voor de horizontale positionering van de projector 2.1. Inleiding Met de remote stuurbare projector controle willen we een gebruiker in staat stellen om de projector m.b.v. een computer naar een gewenste plaats te richten. De computer wordt via een USB connectie verbonden met de servo-controller. Uit de eigenschappen van de USB gebaseerde servo-controller blijkt, dat de controller enkel in staat om servo-motoren aan te sturen. Dit zijn maximaal vier servomotoren. Nu wordt er in dit project geen gewone servo-motor, maar een ruitenwissermotor toegepast voor de horizontale beweging van de projector. Dit probleem kan opgelost worden door een DC-motordriver te ontwikkelen en toe te voegen tussen ruitenwissermotor en de servo-controller. Het ontwerpen en uitwerken van de DC-motordriver was een deelopdracht van mijn eindwerk.
Figuur 2.1: De PhidgetServo-controller module.
Een remote stuurbare projector
Gerrit De Rore
In tabel 2.1 worden de eigenschappen van de servo-controller weergegeven.
Positie update snelheid
50 updates / sec.
USB stroom verbruik
max. 500 mA
Externe power supply spanning
6V tot 12V
Externe power supply stroom
max. 1500 mA
Tabel 2.1: De specificaties van de PhidgetServo controller
Deze ontworpen DC-motordriver regelt de juiste stromen tussen de servo-controller schakeling en de ruitenwissermotor. Tevens moet deze DC-motordriver module in staat zijn om de as van de ruitenwissermotor links en rechts te laten draaien. De bedoeling is om zo de projector die op de aluminium pan/tilt constructie bevestigd staat, horizontaal te positioneren d.m.v. een computerprogramma. Als componenten voor de drivertrap volstaat eender welke elektronische schakelaar, zolang deze maar snel genoeg zijn en de stromen aankunnen. Relais, vermogenmosfets en BJT transistoren kunnen allemaal gebruikt worden. Dit deel van het project moet resulteren in een werkend prototype en een volledige documentatie ervan. Deze documentatie legt uit hoe de DC-motordriver is gebouwd. Het was van belang duidelijk vast te leggen wat de algemene ontwerp- specificaties zijn. Dit betreft: •
De beschikbare voedingspanning
•
De bouwwijze en de gebruikte technieken
Figuur 2.2: De DC-motordriver module voor de ruitenwissermotor
Een remote stuurbare projector
Gerrit De Rore
Voor de DC-motordriver module gelden de volgende stappen: 1. Analyse van de functie 2. Specificeren van de DC-motordriver in overeenstemming met de afgesproken ontwerpwaarden 3. Ontwerpen van de DC-motordriver 4. Bouwen en testen van de schakeling 5. Afronden van het deelontwerp Nu is er nog één probleem, dit betreft de positionering van de ruitenwissermotor. Een ruitenwissermotor is namelijk een “continue DC-motor”. Zonder een terugkoppelingmechanisme toe te voegen is het zeer moeilijk, of onmogelijk om de ruitenwissermotor correct te positioneren. Hiervoor wordt een analoog feedbackcircuit met potentiometer toegepast. De potentiometer wordt op de as van de motor geplaatst en de elektronicaprint wordt tussen de servo-controller en DC-motordriver gekoppeld. Dit analoog feedbackcircuit hebben we gerecupereerd uit een servo-motor. De voeding die we gebruiken om de DC-motordriver module aan sturen is een schakelende computervoeding die 8A bij 12V kan leveren. We treffen hier dus een DCbron aan dat een DC- belasting aanstuurt.
Figuur 2.3.: De voeding voor de DC-motordriver (H- brug)
Gelijkstroom motoren worden veel toegepast in pan/tilt - en robotsystemen. DC (Direct Current) wordt gebruikt als vermogenbron voor de DC-motordriver module. In het pan/tilt systeem van mijn eindwerk worden twee gelijkstroom motoren aangedreven voor de horizontale- en verticale positionering. Er zijn echter nog verschillen tussen DC-
Een remote stuurbare projector
Gerrit De Rore
motoren onderling. Zo bestaan er bijvoorbeeld DC-motoren die continu of in stappen roteren. Voor de horizontale positionering van het pan/tilt systeem met de projector, is de keuze gemaakt om een continue DC-motor aan te sturen. Dit is namelijk de ruitenwissermotor. In de volgende figuur wordt een foto van de ruitenwissermotor weergegeven. Deze soort motor levert genoeg kracht en koppel via een intern wormwiel om de projector horizontaal te bewegen.
Figuur 2.4: De ruitenwissermotor
In dit hoofdstuk wordt de uitvoering en de werking van de DC-motordriver uitgelegd. Tevens bespreek ik ontwerpalternatieven voor de DC-motordriver inclusief de ruitenwissermotor.
Een remote stuurbare projector
Gerrit De Rore
2.2. Theoretische achtergrond 2.2.1 De werking van een gelijkstroommotor De beweging van de as bij elektrische motoren wordt gecreëerd door de zogenaamde Lorentz-kracht. De wet van de Lorentz-kracht zegt wanneer een stroomdraad in een magnetisch veld geplaatst wordt, dan zal deze draad een kracht ondervinden. Deze kracht wordt de Lorentz-kracht genoemd. De Lorentz-kracht wordt gecreëerd op de stroomzin en de magnetische veldflux. Afbeelding 2.5 demonstreert dit fenomeen.
Figuur 2.5: De Lorentz-kracht werkende op een geleider. [1]
Wanneer er stroom vloeit door een geleider die geplaatst is in een magnetisch veld, wordt er een neerwaartse beweging gecreëerd op de geleider. Wanneer er een simpele spoel van 1 winding in een magnetisch veld geplaatst wordt zoals weergegeven in figuur 2.6. Er zal dan bijvoorbeeld segment B naar beneden, en segment A van de spoel naar boven geduwd worden. De stromen in beide segmenten vloeien in omgekeerde zin t.o.v. elkaar. Dit resulteert in een rotatiebeweging van de spoel.
Figuur 2.6.: Een spoel in een magnetisch veld. [1]
Een remote stuurbare projector
Gerrit De Rore
Om een DC-motor te bekrachtigen wordt een spanning op het anker van de DC-motor geplaatst. Deze spanning stuurt een stroom door het anker van de motor en dit heeft als gevolg dat in de stroomdraden van de DC-motor een magnetische flux opgewekt wordt. Door deze aanwezige flux in de stroomdraden zal er een koppel ontstaan op elke geleider en zal de as van de motor beginnen te draaien. De wikkelingen van het anker beginnen ook rond te draaien in een magnetisch veld. Hierdoor ontstaat een inductiespanning die evenredig is met de snelheid en dus stijgt bij het aanlopen van de motor. Nu is echter deze tegenspanning gelijk aan nul bij het starten, en daardoor zal de aanloopstroom I groot zijn. Het aandrijvend koppel is rechtevenredig met de aanloopstroom en is dus eveneens groot. De as van de ruitenwissermotor zal beginnen te roteren wanneer het elektrisch aandrijvend koppel groter is dan het tegenwerkend mechanisch koppel van de as. De snelheid van de draaiende as zal beginnen toe te nemen. Zoals eerder vermeldt is de tegenspanning recht evenredig met de snelheid van het anker. Tijdens het aanlopen van de motor zal de snelheid toenemen van het anker en de tegenspanning neemt dan ook toe. Door de toenemende tegenspanning zal de aanloopstroom op zijn beurt dalen en het aandrijvend koppel neemt daardoor ook af. Door dit zal er op een bepaald moment het elektrisch aandrijvend koppel van de motor gelijk zijn aan het tegenwerkend mechanisch koppel. Op dat moment is de snelheid van de motor constant en zal de stroom zich ingesteld hebben op een waarde nodig om het elektrisch aandrijvend koppel gelijk te houden aan het mechanisch tegenwerkend koppel op de as van de DC-motor. De DC-motor toegepast voor de horizontale positionering is een ruitenwissermotor met permanente magneten. Voor deze motoren geldt de volgende formule: Uklem = Ut x Ia x Ra Uklem = klemspanning (Volt)
Ia = ankerstroom (Ampère)
Ut = tegenspanning (Volt)
Ra = ankerweerstand (Ohm)
Een remote stuurbare projector
Gerrit De Rore
2.2.2. Aanstuurmethodes voor continue gelijkstroommotoren Ik heb een “high-current” DC-motordriver gemaakt met discrete componenten om de ruitenwissermotor aan te sturen. De ontworpen DC-motordriver maakt gebruik van bipolaire vermogentransistoren. In de paragraaf 2.4. bespreek ik de werking en het ontwerp van de DC-motordriver module in detail. Maar in deze paragraaf licht ik eerst de werking van verschillende aanstuurcircuits voor continue DC-motoren toe. Tevens worden er enkele alternatieven doorgenomen m.b.t. de technologieën die gebruikt kunnen worden voor de elektronische componenten, evenals de one-chip oplossingen voor de DC-motordriver. Deze one-chip oplossingen worden toegepast in de huidige engineering voor aanstuurcircuits van DC-motoren. Er kan gebruik gemaakt worden van de volgende discrete componenten: 1. Relais 2. Bipolaire transistoren
Å Technologie dat ik toepas voor de DC-motordriver
3. Vermogen MOSFETS Al deze methodes hebben elk hun voor- en nadelen.
A) De relais controle aansturing Een optie om DC-motoren te sturen is door gebruik te maken van relais. Het is daarentegen een ouderwetse en nogal wat bombastische methode. Om de aanvullend de draaizin van een DC-motor te regelen moet er gebruik gemaakt worden van een dubbelpolige relais die in serie geschakeld is met een gewone aan/uit relais. Het schema van de relaisschakeling wordt weergegeven in figuur 2.7. Met de contacten van het relais in één positie draait de as van de motor met de klok mee. Door het activeren van het relais gaat de draaizin van de as omkeren. Het is mogelijk om de draaizin te controleren met digitale signalen van een PC, microcontroller of microprocessor. De relais variëren van laagvermogen relais die stromen aankunnen van 0.5A, tot hoogvermogen relais die tot 10A aan 125V kunnen schakelen. Hoogvermogen relais zijn hierdoor groter. Deze relais hebben grotere transistoren nodig om getriggerd te worden.
Een remote stuurbare projector
Gerrit De Rore
Figuur 2.7: schakeling met aan/uit relais en draaizin relais voor de motor. Het ingangssignaal is TTL/microprocessor compatibel.[2]
Een remote stuurbare projector
Gerrit De Rore
B) De bipolaire transistor controle aansturing Er zijn twee algemene manieren om transistoren te implementeren in een aanstuurcircuit voor motoren. De eerste wordt aangetoond in de volgende figuur. Hier wordt enkel gebruik gemaakt van twee transistoren. De motor is zo verbonden zodoende dat wanneer een transistor geleidt, de as van de motor rechts zal draaien. Wanneer de andere transistor geleidt draait de as van de motor links. De motor staat stil als beide transistoren niet geleiden. Deze transistor configuratie heeft een voeding nodig met een positieve- en negatieve spanning. (+V, -V). de configuratie wordt weergegeven in figuur 2.8.
Figuur 2.8: Toepassing van twee complementaire transistoren om de draaizin van een DC-motor te controleren. [2]
De methode waar ik gebruik van maak, is het H- brug netwerk. Met deze H-brug schakeling is het mogelijk om met één voeding (positieve klem en massa) de as van de motor in twee richtingen te laten roteren. Voordat ik mijn schakeling dat ik ontworpen heb, ga bespreken geef ik eerst wat algemene uitleg over het principe van een H-brug schakeling. De volgende figuur toont een H-brug basisschakeling. In de schakeling vinden we vier transistoren A, B, C en D die functioneren als schakelaars. Deze schakelaars bepalen de stroomzin door de motor. De schakeling is zo geconfigureerd dat enkel twee schakelaars gelijktijdig geleiden.
Een remote stuurbare projector
Gerrit De Rore
Om de as van de motor met de klok mee te laten draaien, moeten de transistoren A en D gesloten zijn. De spanning is dan negatief aan de rechterzijde en positief aan de linkerzijde van de motor. De figuur 2.9 geeft weer hoe de stroom vloeit door de schakeling voor deze toestand. Opgelet de stroomzin aangeduid in het schema is de elektronenstroom, dus de elektronenstroom die vleit van negatief naar positief.
Figuur 2.9: Rechtsdraaiende motorstroom [1]
Figuur 2.10: Linksdraaiende motorstroom [1]
Wanneer we de as van de motor tegen de klokrichting in willen laten draaien, moeten de transistoren B en C gesloten worden. In deze toestand is de spanning positief aan de rechter zijde en negatief aan de linker zijde van de motor. De pijltjes in figuur 2.10 tonen aan hoe de stroom vloeit door de schakeling. De keuze van de schakeltransistor is afhankelijk van de stroom die de elektrische motor nodig heeft. De stroom door een ruitenwissermotor kan ruimschoots 3A en meer zijn. Dit elimineert al meteen de keuze naar gewone “small signal” transistoren, dewelke maar enkele honderden miliampères aankunnen.
Een remote stuurbare projector
Gerrit De Rore
C) De vermogen MOSFET controle aansturing. Power MOSFET’s kunnen evenzeer gebruikt worden als vermogenschakelaar in een Hbrug. Het voordeel bij MOSFET’s is dat er geen gebruik moet worden gemaakt van stroombeperkende weerstanden. Met als resultaat dat de schakeling eenvoudiger in opzet wordt. Wanneer een MOSFET geleidt, wordt de weerstand tussen drain en source (Rds) zeer klein. De Rds is een belangrijke parameter bij MOSFET’s, want deze weerstand verstrekt vermogenverliezen. Dus hoe lager deze weerstand des te kleiner de vermogenverliezen in de MOSFET en des te kleiner de koelvinnen op de MOSFET’s. Een algemene beschikbare MOSFET is de IRF-55xx serie van International Rectifier, zoals de IRF-520, IRF-530, etc. International Rectifier is één van de wereldleiders in vermogen MOSFET componenten. De N- kanaal MOSFET’s komen voor in een T-220 behuizing en kunnen verschillende ampères aan. In figuur 2.11 wordt een H- brug schakeling weergegeven met N kanaal MOSFET’s. Deze schakeling heeft dezelfde configuratie als een H-brug met bipolaire transistoren.
Figuur 2.11: H-brug met N- kanaal vermogen MOSFET’s gebruikt om de draaizin van de motor as te controleren. [2]
Een remote stuurbare projector
Gerrit De Rore
D) Single-chip H-brug oplossingen. Indien ik wederom een aansturing voor DC-motoren maak, zou ik opteren om gebruik te maken van “all-in-one solutions”. Vele fabrikanten bieden tegenwoordig chips aan voor motoraansturingen. Deze producten kunnen variëren van goedkope chips tot duurdere en gesofisticeerde chips. Schakelingen met discrete componenten voor DC-motoren met een hoog vermogen neigen nogal groot te zijn in opzet. Door het toepassen van een single-chip voor de aansturing kan dit verlies verbeterd worden. De aanstuurchips bieden tevens betere eigenschappen t.o.v. de discrete componenten. Een voorbeeld van een single-chip H-brug is de Allegro Microsystems 3952. Single-chips beschikken over twee of meer pinnen voor de connectie van de controleelektronica. In figuur 2.12. wordt een afbeelding weergegeven van deze chip.
Figuur 2.12: de Allegro 3932 pinconfiguratie en een typische DC-motor aansturing uit de datasheets.
•
Motor enable pin: Dit is een actief lage pin. Dit wil zeggen dat wanneer de pin laag is, dan zal de motor draaien. Wanneer de pin hoog wordt gezet sopt de motor met draaien.
•
Direction pin: Met deze pin kan de draaizin van de as van de motor geregeld worden
•
Brake pin: Deze ingang wordt gebruikt om de motor af te remmen.
•
PWM pin: Met deze pin is het mogelijk om de snelheid van de motor met pulsbreedte modulatie te controleren.
Een remote stuurbare projector
Gerrit De Rore
De betere motorcontrole- chips bezitten een stroomprotectie circuit, wat de schakeling en de chip beschermt tegen het oververhitten indien er teveel stroom geleverd wordt door de motor. Er bestaan chips met een stroomsensor uitgang. Deze uitgang kan teruggekoppeld worden naar de controle-elektronica zodoende dat de hoeveelheid stroom dat vloeit door de motor gemonitord kan worden. De LMD18200 Single DC Motor Driver is een zeer populaire chip voor de aansturing van DC-motoren. Deze chip kan DC-motoren aansturen van 12V tot 60V met continue- en piekstromen respectievelijk van 3A en 6A. De chip beschikt over inwendige clamp diodes en een stroomsensor uitgang. De chip zal automatisch uitschakelen indien er oververhitting optreedt. De LMD18200 chip heeft een pin om de draaizin van de motor te regelen, een pin voor PWM aansturing en een pin dat “regenerative breaking” voorziet.
Figuur 2.13: De LMD18200 pinconfiguratie en functioneel blokschema
Enkele andere interessante chips voor motoraansturingen zijn ondermeer L293D en L298N van SGSThomson; de 754410 van Texas Instruments en de LM18293 van National Semiconductor.
Een remote stuurbare projector
Gerrit De Rore
E) Vergelijking tussen de verschillende ontwerpmethodes voor een aanstuurcircuit De relais motor control is de minst efficiënte methode. Relais zijn redelijk prijzig en groot in vergelijking met vermogen bipolaire- en MOSFET transistoren. De relais bestaat uit mechanische contacten en deze zullen na een bepaalde periode versleten zijn wat leidt tot een slecht werkende schakeling. De lage vermogenverliezen en lage spanningsval van relais is een voordeel t.o.v. transistor motor controllers/drivers. Bipolaire transistoren zijn de goedkoopste oplossing, maar het nadeel van deze transistoren is dat ze zeer onefficiënt kunnen zijn aangaande vermogen. Bipolaire transistoren hebben een bepaalde spanningsval over de collector en de emitter, wat resulteert in vermogenverliezen. ( = product van de spanningsval over transistor met de stroom door de motor). Voor low-voltage toepassingen is dit een zeer belangrijke factor. MOSFET transistoren in aanstuurcircuits zijn de meest efficiënte methode betreffende vermogenverliezen. MOSFET’s kunnen daarentegen duur zijn, hetgeen afhankelijk is van de toepassing. MOSFET’s moeten met zorg behandeld worden omdat ze extreem gevoelig zijn aan elektrostatische ontladingen. In mijn DC-motordriver module had ik naderhand gezien beter gekozen voor de MOSFET technologie, door het feit dat MOSFET’s een hoge efficiëntie bieden betreffende vermogenverliezen.
Een remote stuurbare projector
Gerrit De Rore
F) Commerciële High-Current H-bruggen Naderhand gezien kan de prijs van de elektronische componenten redelijk hoog oplopen bij zelfontworpen high-current aanstuurschakelingen. Aanvullend moet de ontworpen printplaat geëtst worden, waardoor de totale kosten hoog oplopen. Bijgevolg is het interessant om de commerciële High-Current H-bruggen te ontleden. Deze kant en klare Hbridge-controllers komen ook in aanmerking als eventueel alternatief voor de DCmotordriver module. Er zijn enkele opties beschikbaar: •
Solutions Motor Mind C:
Is een controller dat ontworpen is om te functioneren als veelzijdige DC-motor controlesysteem. Deze controller kan tot twee DC-motoren aan sturen. Het stroombereik van de Motor Mind C is 2.5A zonder koeling en 4 A met koeling bij spanningen van 1024V. Er zijn drie operatiemodes beschikbaar in de Motor Mind C . In de zogenaamde “serial mode” heeft de gebruiker rechtstreeks controle over de motorsnelheid en de draaizin van de motor. Wanneer de configuratie opgaat voor twee motoren, kunnen de snelheid en draaizin afzonderlijk geregeld worden.
figuur 2.14: De Motor Mind C controller
Wanneer de “analog control mode” actief is, heeft de gebruiker rechtstreekse controle over de snelheid en draaizin van de motor. Wanneer de configuratie opgaat voor twee motoren, kunnen de snelheid en draaizin individueel geregeld worden met afzonderlijk controle spanningen. Ingangsspanningen van 0V tot 5V worden geaccepteerd. Bij 0V draait de as van de motor achterwaarts en bij 5V draait de as van de motor voorwaarts.
Een remote stuurbare projector
Gerrit De Rore
Tijdens de “R/C control mode” heeft de gebruiker ook rechtstreekse controle over de snelheid en draaizin van de motor. Wanneer de configuratie opgaat voor twee motoren, kunnen de snelheid en draaizin individueel geregeld worden met afzonderlijk R/C pulssignalen. Pulssignalen van 0.5 tot 2.5ms worden geaccepteerd. Pulsen beneden de 1ms voorzien proportionele omgekeerde snelheidregeling en pulsen boven de 2ms voorzien proportionele voorwaartse snelheidsregeling. Pulsen groter dan 2ms en minder dan 2.5ms voorzien maximale voorwaartse snelheid. Pulsen kleiner dan 1ms en groter dan 0.5ms voorzien maximale achterwaartse snelheid. De pulsen buiten dit bereik doen de motor stoppen. Dus alles samengevat zijn de kenmerken van deze motorcontroller:
¾ Aansturing van DC-motoren (10V-24V) ¾ Maximum continue stroom is 4.0A ¾ 40 Pin DIP socket package ¾
Enkele of dubbele onafhankelijke motorcontrole opties
¾ Stroom en temperatuur protectie ¾
Seriële control mode van een 10-bit PWM signaal
¾
Analoge control mode (0-5VDC) PWM signal
¾
R/C control mode (1-2ms) pulscontrole van PWM signaal
Een remote stuurbare projector
Gerrit De Rore
•
Motion Mind
De Motion Mind DC motor Controller is in staat om één DC-motor (6V-36V) aan te sturen en kan continue stromen aan van 9A. Een verscheidenheid van controlemethodes worden gesteund, inclusief “open loop” en “closed loop” controle. De Open loop controle methode heeft geen feedback nodig van een encoder en kunnen werken met seriële gegevensinput, analoge controlesignalen (0-5V) en hobby R/C controlesignalen (1-2ms impulsen, ongeveer elke 20ms). De closed loop controle vereist een kwadratuurencoder of een feedbacksignaal (0-5V). Met de closed loop controle is positionering en snelheidscontrole mogelijk. In figuur 2.16 wordt een afbeelding weergegeven van de Motion Mind.
Figuur 2.15: de Motion Mind Motion controller
Een remote stuurbare projector
Gerrit De Rore
•
ICON H-bridge Controllers
De ICON H- brug is een MOSFET motorcontroller systeem dat een DC-motor tot 40V en 12A kan aan sturen. Indien er gebruik gemaakt wordt van deze hoge stroomwaarde moet een actieve koeling (fan) toegevoegd worden. Een “on-board” microcontroller kan verbonden worden met een standaard seriële datalink. Deze microcontroller kan de stroom en temperatuur in de gaten houden en tevens kan softwarematig een stroomprotectie systeem geprogrammeerd worden.
Figuur 2.16: ICON H-bridge Controller
De eigenschappen van de controller: ¾ Controleert DC motors tot 40V ¾ Maximum continue stroom van 12.0A ¾ 2.5" x 1.9" PCB met 0.156" female sockets ¾ logic level control met 4 N-channel MOSFET’s ¾ Serial interface tot een on board H-bridge monitor ¾ Stroommetingen en regelbare stroombeveiliging setting ¾
Temperatuursmetingen en regelbare temperatuurbeveiliging setting
Een remote stuurbare projector
Gerrit De Rore
2.3. Praktische realisatie Zoals eerder vermeld in de inleiding van dit hoofdstuk, wordt de ruitenwissermotor aangestuurd door een zelf ontworpen DC-motordriver module. Deze module zorgt ervoor dat de as van de ruitenwissermotor in twee richtingen kan draaien met een willekeurige koppelrichting. De DC-motordriver krijgt signalen van de phidgetServo- controller module die we aangekocht hebben bij Phidgets Inc. In figuur 2.17 op de volgende bladzijde is het schema van de DC-motordriver module weergegeven. De werkspanning van de schakeling is 12 volt die aangesloten wordt op jumper 1. Als veiligheid wordt er een zekering geplaatst van vier ampère tussen de positieve klem van jumper 1 en de emitters van de darlington transistoren Q5 en Q6. De kern van de DC-motordriver module bestaat uit de vier darlington vermogentransistoren, in het schema zijn deze transistoren: Q3, Q4, Q5 en Q6. Darlington transistoren hebben de eigenschap een grote stroomversterking te hebben. De collectors van de darlington transistoren staan in rechtstreekse verbinding met de ruitenwissermotor die verbonden is met jumper 2. De basis van deze vier darlington transistoren worden aangestuurd door twee BJT- transistoren Q1 en Q2, zij bepalen wanneer en welke darlingtontransistoren mogen geleiden. Aan jumper 3 wordt de PhidgetServo-controller module aangesloten, deze module bepaalt welke van de twee BJT- transistoren (Q1 of Q2) van het type 2N2222A aan geschakeld mogen worden. De basis van Q1 is verbonden met de opto- coupler U1 en de basis van Q2 is verbonden met de opto- coupler U2. De twee opto- couplers die gebruikt worden in de schakeling zijn van het type CNY 17-2. Wanneer de servo- module de linker pin van jumper 3 hoog stuurt, dan gaat opto- coupler U1 geleiden. Dit signaal wordt dan doorgestuurd naar de basis van transistor Q1 en deze zal beginnen te geleiden. Wanneer Q1 geleidt, worden de darlington transistoren Q5 en Q4 aan geschakeld. De stroom gaat nu van links naar rechts door de motor. De as van de motor zal rechtsom draaien. Bij het hoog sturen van de rechter pin van jumper 3 gaat optocoupler U2 de transistor Q2 doen geleiden. Wanneer Q2 geleidt zullen de darlington transistoren Q3 en Q6 aangaan. Nu zal er een stroom van rechts naar links door de motor vloeien, waardoor de motor linksom gaat draaien.
Een remote stuurbare projector
Gerrit De Rore
HDR1X2
J1
1.0kΩ
R1
10kΩ
R3
2N2222A
Q1
10KΩ_LIN Key = A
R8
470Ω
R6
50% 100Ω
R7
HDR1X2
J3
J2
4_AMP
F1
HDR1X2
CNY17-2
U1
MJE15032
Q3
MJE15033
Q5
4 5 6 3 2 1
6 5 4 1 2 3
Een remote stuurbare projector
+
Figuur 2.17: Schema van de DC-motordriver module (H- brug)
Gerrit De Rore
CNY17-2
U2
MJE15032
Q4
MJE15033
Q6
R9 10KΩ_LIN Key = A
470Ω
R5
50%
10kΩ
R4
2N2222A
Q2
1.0kΩ
R2
De twee darlington transistoren waarvan de emitters aan de positieve klem van de voeding liggen zijn van het type PNP en zijn de MJ11015 van ON Semiconductor. De twee darlington transistoren waarvan de emitters aan negatieve klem van de voeding liggen zijn van het type NPN en zijn de MJ11016 van ON Semiconductor. Binnenin deze darlington transistoren zijn diodes geschakeld tussen de collector en emitter. Deze diodes hebben als functie de schakeling tegen overspanning te beveiligen. Dit is noodzakelijk omdat DC-motoren in feite grote inductieve spoelen zijn. Een eigenschap van spoelen is dat ze zich verzetten tegen elke verandering van stroom. Wanneer de spanning over de spoel wordt weg genomen en bijgevolg de stroom door de spoel verdwijnt, tracht de spoel deze stroom te houden. Hierdoor ontstaat er een zeer grote spanningpiek over de spoel en dus de ruitenwissermotor. De spanning is omgekeerd in polariteit t.o.v. de originele spanning. Deze spanning wordt in het engels als “Counter Electro Motive Current” (CEMF) aangeduid. De motor gaat dan eventjes een grote stroom induceren. Deze stroom loopt door de schakeling en kan deze doen doorbranden. De diodes zorgen ervoor dat de stroom wordt omgeleidt en niet door de schakeling gaat.
Figuur 2.18: Behuizing van de MJ11015 en MJ11016
Figuur 2.19: Inwendig schema van de MJ11015 en MJ11016
Een remote stuurbare projector
Gerrit De Rore
Teneinde een hoge stroomversterkingsfactor te bekomen maken we gebruik van deze darlington transistoren. Een darlington transistor is een verbinding van twee transistoren zodoende dat de emitter van de eerste transistor de basis stuurt van de tweede transistor, terwijl beide collectoren een gemeenschappelijke aansluiting bezitten. Zie figuur 6 op de vorige pagina. De gehele schakeling kan beschouwd worden als het equivalent van een enkele transistor met een totale stroomversterkingsfactor die het product is van de stroomversterkingsfactor van iedere transistor afzonderlijk. Een darlington verbinding kan een hoge ingangsimpedantie hebben en kan grote uitgangsstromen produceren. De darlington transistoren toegepast in de schakeling hebben een high DC current gain hFE van 1000 bij een collectorstroom van 20A. De maximale junction temperatuur (TJ) is 200°C. De darlingtontransistoren kunnen een vermogenbereik ontwikkelen van 200 watt bij een omhulseltemperatuur TC gelijk aan 25°C. Bij het ontwerpen van de schakeling is het belangrijk rekening te houden met de temperatuur die ontwikkeld wordt rond het omhulsel van de transistor. Bij een omgevingstemperatuur (TA) boven 25°C zal het vermogen van de darlingtons reduceren met een factor van 1.15 watt per graden Celsius bij een omhulseltemperatuur (TC) gelijk aan 100°C. Om de reductie van het vermogenbereik te berekenen, kan men gebruik maken van de volgende vergelijking. ΔP = D(TC – 25°C) Met: •
ΔP = daling vermogenbereik
•
D = reductiefactor (1.15 W)
•
TC = omhulseltemperatuur.
Om het vermogenbereik van de darlingtons te bevorderen, worden er koelvinnen aan de behuizing van de transistoren geplaats. Deze zorgen ervoor dat de warmte ontwikkeld door de transistoren gemakkelijker overgebracht wordt naar de omgeving.
Een remote stuurbare projector
Gerrit De Rore
2.3.1. De printlay-out DC-motordriver Als praktische uitvoering van de DC-motordrive module, heb ik met het tekenprogramma Ultiboard 7.0 een print ontworpen. De print hebben we laten etsen door de firma “EuroCircuits”.
Figuur 2.20: Ontwerp van de printplaat met Ultiboard 7.0
Een remote stuurbare projector
Gerrit De Rore
Figuur 2.21: Bovenaanzicht printlay-out met componenten
Figuur 2.22: Onderaanzicht Printlay-out componenten
Een remote stuurbare projector
Gerrit De Rore
2.4. De stappenmotor als alternatief voor de ruitenwissermotor In deze paragraaf bespreek ik de stappenmotor omdat het gebruik van een stappenmotor mij een goed alternatief lijkt te zijn voor de ruitenwissermotor. Stappenmotoren behoren tot de motoren die ideaal toepasbaar zijn voor positiesturingen. Tevens geef ik een aantal mogelijke controle- en aanstuurschakelingen die toegepast kunnen worden op stappenmotoren. Continue DC-motoren, zoals de ruitenwissermotor zijn relatief goedkoop en leveren relatief veel vermogen en koppel vergeleken met de grote van de motor. Tevens zijn deze motoren gemakkelijk aanpasbaar aan de diversiteit van pan/tilt en robot systemen. Maar door hun aard zijn DC-motoren eerder onnauwkeurig. Zonder een terugkoppelings mechanisme of tachometer toe te voegen is het zeer moeilijk om de motor te bevelen een specifiek aantal omwentelingen te draaien, laat staan een fractie van een omwenteling. Een goede keuzemogelijkheid voor de horizontale positiesturing, zou een stappenmotor zijn. De stappenmotor is een volkomen verschillende motor van de continue DC-motor. Zoals het woord zelf aanhaalt, is het mogelijk om de as van deze motor in kleine stapjes te roteren. Desondanks zijn stappenmotoren veel nauwkeuriger om een bepaalde positie in te nemen. Stappenmotoren worden niet bekrachtigd door een continue stroom zoals bij continue DC-motoren, maar worden gestuurd door elektrische pulsen. Elke puls doet de as van de motor een beetje draaien. Hoe meer pulsen er aan de motor aangelegd worden, des te meer de as draait. Zodanig zijn stappenmotoren digitale apparaten, een feit wat stappenmotoren ideaal maakt om te sturen vanuit een computer. Stappenmotoren zijn betrekkelijk trage motoren. Deze zijn speciaal ontwikkeld om accuratesse rotaties uit te voeren en achteraf de juiste positie aan te houden. Het nadeel van stappenmotoren is dat ze groter en zwaarder zijn dan een continue DC-motor dat hetzelfde vermogen ontwikkeld. In het algemeen zijn stappenmotoren geen krachtige motoren. Tabel 2.1. classificeert de verschillende types robot DC-motoren van meest krachtigste tot minst krachtigste.
Een remote stuurbare projector
Gerrit De Rore
Relatief vermogen Meeste vermogen
Minst vermogen
Soort motor DC gearhead motor
Gewichts klasse Voor alle soorten robotsturingen en Pan/Tilt systemen
Hobby Servomotor
Voor robots en Pan/Tilt systemen met max. gewicht van 2.5kg
Stappenmotor
Voor lichte robots en Pan/Tilt systemen met weinig gewicht1
Tabel 2.2: Relatief vermogen van elektrische gelijkstroommotoren
Stappenmotoren zijn tevens niet zo eenvoudig in gebruik als standaard DC-motoren. Bijkomend zijn ze duurder. De stappenmotor roteert door beurtelings zich van één afzonderlijke positie naar een andere positie te bewegen. Het aantal stappen nodig om een volledige rotatie van de as te maken is één van de eigenschappen van de stappenmotor. Dit wordt beschreven als het aantal stappen of het aantal graden per stap van de motor. De windingen die zich situeren in de stator van de stappenmotor zijn op een dusdanige manier gericht zodoende dat de rotor zeer nauwkeurig kan draaien van de ene positie naar de volgende positie. Wanneer de spoelen bekrachtigd worden, zal de rotor aangetrokken worden naar de tegenovergestelde magnetische polen in de stator. Dit heeft het gevolg dat de motor begint te draaien. De rotor bestaat uit een aantal permanente magneten die zich richten met de spoelen op de stator wanneer deze bekrachtigd worden. Het aantal magneten op de rotor bepaald de nauwkeurigheid van de stappen van de motor. Er bestaan twee basistypes van stappenmotoren: unipolaire en bipolaire stappenmotoren. Een unipolaire stappenmotor bevat vier spoelen, de bipolaire stappenmotoren bestaan uit twee spoelen. Bipolaire stappenmotoren zijn in het algemeen goedkoper dan de unipolaire stappenmotoren, omdat ze eenvoudiger te fabriceren zijn. Bipolaire stappenmotoren zijn doorgaans ook krachtiger dan de unipolaire stappenmotoren met dezelfde grootte. Stappenmotoren verschillen in ontwerpeigenschappen vergeleken met de continue DC motoren. Zo zijn er enkele belangrijke ontwerpspecificaties voor stappenmotoren waarmee rekening moet gehouden worden.
Een remote stuurbare projector
Gerrit De Rore
Stappenmotoren zijn minstens twee-fasig, vele zijn vier-fasig en sommigen zijn zes-fasig. Over het algemeen maar niet altijd geldt, hoe meer fasen in de motor, des te nauwkeuriger de motor is. Stappenmotoren verschillen met elkaar in de hoeveelheid rotatie dat de as van de motor kan maken elke keer wanneer een winding bekrachtigd wordt. De hoeveelheid rotatie wordt de stapgrootte genoemd en deze kan variëren van 1.8° tot 90°. De stapgrootte bepaald het aantal stappen per revolutie of omwenteling van de as. Bijvoorbeeld een motor met een stapgrootte van 1.8°, moet 200 pulsen krijgen om de as van de motor met 1 omwenteling te laten draaien. Een stappenmotor met een stapgrootte van 7.5° moet 48 pulsen krijgen om de as met één omwenteling te laten draaien.
Het is duidelijk dat hoe kleiner de stapgrootte is, hoe nauwkeuriger de motor. Een stappenmotor heeft een limiet betreffende de hoeveelheid pulsen dat het kan toelaten. Bijvoorbeeld, zware (Heavy-duty) stappenmotoren, wat als alternatief gekozen kan worden voor de ruitenwissermotor, hebben een maximale pulssnelheid van 200 of 300 stappen per seconde. Hieruit volgt dat deze motoren een effectieve snelheid van 1 tot 3 rotaties per seconde, dus 60 tot 180 r/min. Kleinere stappenmotoren aanvaarden duizend of meer pulsen per seconde, maar met als nadeel dat ze niet veel koppel kunnen leveren en daarom niet echt geschikt zijn als aandrijfmotoren. Stappenmotoren kunnen niet zo veel dynamisch koppel ontwikkelen zoals een continue DC-motor. Het dynamische koppel is afhankelijk van de pulssnelheid van de motor. Hoe trager dat de stappenmotor draait, des te groter is het dynamische koppel van de motor. Het omgekeerde geldt voor continue DC-motoren.
Een remote stuurbare projector
Gerrit De Rore
2.4.1. Contole- en aandrijfcircuits voor stappenmotoren Aangezien dat de stappenpatronen voor bipolaire en unipolaire stappenmotoren vrijwel identiek zijn, verschillen de controlecircuits niet al te veel met elkaar. Het verschil tussen deze twee motoren ligt aan het stuurcircuit dat de windingen bekrachtigt. Bij de unipolaire stappenmotor kan gebruik gemaakt worden van een eenvoudige schakeling met transistoren toegevoegd aan iedere spoel van de motor. Terwijl dat een bipolaire stappenmotor een H- brug nodig heeft voor iedere spoel. Verder in deze paragraaf beschrijf ik de moderne engineering methodes om controle- en aanstuurcircuits te maken voor stappenmotoren. Dit wordt tegenwoordig ontworpen met de “motor controller/driver chips”.
• Discrete Unipolaire stappenmotor controle- en aandrijfcircuits Dit is een mogelijk circuit met discrete componenten voor een unipolaire stappenmotor. Een computer kan onmogelijk de stappenmotor rechtstreeks aansturen. Voor het aansturen van een vermogen- stappenmotor moet men transistoren toevoegen aan de spoelen van de motor. Er kan bijvoorbeeld gebruik gemaakt worden van TIP120 transistoren. Met deze transistoren is het mogelijk om stappenmotoren aan te sturen die tot 5A stroom produceren. Voor stappenmotoren met minder vermogen is het mogelijk om transistoren te gebruiken zoals bijvoorbeeld de ULN2003. In figuur 2.8 wordt het schema weergegeven om een unipolaire stappenmotor aan te sturen via de computer of andere elektronische interface.
Figuur 2.23 Basiscircuit met discrete transistoren om de stappenmotor aan te sturen vanuit de computer [2]
Een remote stuurbare projector
Gerrit De Rore
Een andere aanpak om unipolaire stappenmotoren te controleren is door gebruik te maken van discrete poorten- en clock IC’s. Het is mogelijk om een stappenmotor stuurcircuit te bouwen met twee IC’s. Dit stuurcircuit kan gebouwd worden d.m.v. TTL of CMOS chips. De TTL versie wordt weergegeven in figuur 2.9. De vier exclusieve OR poorten van één enkele 7486 IC, voorziet de stuurlogica. De richting van de motor wordt geregeld pin 14 hoog of laag te zetten. De aandrijving van stappenmotor wordt geregeld door de 7476 IC, dewelke twee JKflopflops bevat. De Q en /Q uitgangen van beide flipflops bepalen de fase van de motor. Om de motor te laten draaien moeten de clock- ingangen van beide flipflops getriggerd worden. De 7476 IC kan niet genoeg stroom leveren en is daarom niet in staat om de stappenmotor rechtstreeks aan te sturen. Als uitweg moeten er vermogen transistoren of vermogen MOSFET’s toegevoegd worden aan de uitgangen van de 7476 IC. In totaal zijn hier vier NPN transistoren, vier weerstanden en vier diodes voor nodig om de stappenmotor van te voorzien van voldoende vermogen. De bipolaire transistoren en weerstanden kunnen vervangen worden door vermogen MOSFET’s. Het is afhankelijk van het type unipolaire stappenmotor welk type NPN vermogentransistor toegepast kan worden voor de aandrijving. De TIP31 is een goede keuze voor applicaties die 1A stroom vragen. Met de TIP120 transistoren is het mogelijk om stappenmotoren aan te sturen die tot 5A stroom produceren. Deze vermogen transistoren dienen bevestigd te worden op koelvinnen. De uitgangen van de flipflops sturen de basis van de bipolaire transistoren. Bij bipolaire transistoren moet in serie met basis van de transistoren weerstanden geschakeld worden. Weerstanden met een waarde van 1KΩ – 3KΩ werken met de meeste motors en transistoren. Indien men gebruik maakt van MOSFET’s zijn deze weerstanden niet nodig.
Een remote stuurbare projector
Gerrit De Rore
Figuur 2.24: TTL unipolaire controller/driver [1]
• Discrete bipolaire stappenmotor controle- en stuurcircuits Dit circuit kan functioneren als stuurcircuit om een bipolaire stappenmotor in twee richtingen te laten roteren gebruik makende van het twee- fase stap patroon. De enige upgrade voor het ontwerp van dit circuit is het gebruik van de 754410 dual DC-motor driver chip. Deze chip vervangt de H- brug bestaande uit discrete transistoren. Dit circuit bestaat in zijn geheel uit 3 chips. De L298 en 754410 kunnen gebruikt worden voor stappenmotoren met meer vermogen.
Figuur 2.25: TTL bipolaire controller/driver [1]
Een remote stuurbare projector
Gerrit De Rore
•
Single- chip aanstuur oplossingen voor de stappenmotor
Single- chip driver en controller oplossingen kunnen toegepast worden voor unipolaire- en bipolaire stappenmotoren. In deze paragraaf bespreek ik twee soorten. De Allegro UCN5804 Unipolar Stepper Controller/Driver is een chip dat toegepast wordt om unipolaire stappenmotoren aan te sturen. Deze chip kan motoren sturen tot 35V en 1A. Met deze chip kan men de draaizin van de motor as omkeren en de spoelen kunnen in verschillende pulspatronen bekrachtigt worden zoals volstapbedrijf, halfstapbedrijf en twee- fase stapbedrijf. De UCN kan direct gekoppeld worden aan discrete componenten, microprocessors en computers.
Figuur 2.26: De UCN 5804 [1]
Een remote stuurbare projector
Gerrit De Rore
De Motorola MC3479 bipolar Stepper Controller/Driver is een chip dat toegepast kan worden om bipolaire stappenmotoren van 7.2V tot 16.5V met stromen tot 350mA aan te sturen. Het is meer geschikt voor kleine stappenmotoren. De MC2379 is bi-directioneel en voorziet halfstap en twee- fasestapbedrijf.
Figuur 2.27: De MC3479 [1]
Een remote stuurbare projector
Gerrit De Rore
•
Speciale Microcontroller- gebaseerde stappenmotor controllers
Er zijn enkele microcontroller- gebaseerde stappenmotor controllers waarbij slechts de juiste “high-current” driver moet toegevoegd worden om de stappenmotor programmatisch te controleren. Aanvankelijk bespreek ik enkele stappenmotor controllerchips en daarna geef ik enkele driver- of aanstuurchips die met deze controllerchips toegepast kunnen worden. Ferrettronics FT609 serial stepper controller is een logische controller chip dat afhankelijk van de driver/aanstuurschakeling unipolaire en bipolaire stappenmotoren kan controleren. Stappenmotoren zijn zeer populair voor positiesturingen, maar de nodige elektronica om deze motoren aan te sturen was altijd vrij complex. Bij deze communiceert een computer met de FT609 d.m.v. een 2400- baud, 8 bit seriële lijn. De FT609 chip heeft geen bijkomende externe componenten nodig, uitgenomen een aanstuurcircuit dat de spoelen van de motor bekrachtigd. Derhalve beschikt de FT609 chip niet over het vermogen om rechtstreeks een stappenmotor aan te sturen. Daarvoor moet men dus een aanstuurcircuit bijvoegen zoals een L293 chip (push-pull vier- kanaal driver), 2544 chip ( Quad Darlington Power Driver) of een circuit met discrete vermogentransistoren.
Figuur 2.28: Pin lay-out van FT649 chip
Een remote stuurbare projector
Gerrit De Rore
figuur 2.29: Circuit voor een unipolaire motor met FT609 als interface
figuur 2.30: Circuit voor een unipolaire motor met FT609 als interface
Een remote stuurbare projector
Gerrit De Rore
De E-LAB EDE1200 unipolar stepper controller is een chip dat unipolaire stappenmotoren kan controleren. Deze controller maakt niet gebruik van een seriële lijn om te configureren. Alle controle lijnen zitten op gelabelde pinnen. De EDE1200 heeft een 4MHZ kristal en condensatoren nodig.
Figuur 2.31: pinconfiguratie van de EDE1200
Figuur 2.32: Implementatie van de EDE1200 via vier MJE3055 discrete transistoren
Een remote stuurbare projector
Gerrit De Rore
De Allegro UDN2544B Quad Darlington Power Driver is een chip dat als interface functioneert tussen de low-level controle circuits en zware belastingen. Deze chip heeft vier uitgangen die tot 1.8A kunnen sturen. De vier uitgangen bestaan uit open- collector darlington drivers. De logische ingangen zijn compatibel met TTL en 5V CMOS logische systemen.
Figuur 2.33: pinconfiguratie van de UDN2544B chip en een typische aansluiting van unipolaire stappenmotor met zenerflyback.
De L298 Dual-Power H-Bridge Driver is een algemene DC-motor driver chip die 2A per kanaal kan sturen voor bipolaire stappenmotoren. Deze chip kan ook gebruikt worden om bipolaire stappenmotoren aan te sturen. Het is ten zeerste aangewezen om clamp diodes toe te voegen om een correcte werking te garanderen.
Figuur 2.34: De L298 chip.
Een remote stuurbare projector
Gerrit De Rore
Hoofdstuk 3: De software voor de positiesturing 3.1. Inleiding Met Microsoft Visual Basic.NET heb ik het softwareprogramma geschreven. Deze software stelt gebruiker in staat om de projector naar de gewenste plaats te positioneren. Hiervoor heb ik een grafische gebruikersinterface ontworpen met een virtueel touchpad. Door het pijltje van de computermuis te slepen over een virtueel touchpad kan de projector horizontaal- en verticaal gepositioneerd worden. De Visual Basic programmeertaal is “event driven”. Dit wil zeggen dat de programmacode die geschreven is, uitgevoerd wordt als een bepaalde gebeurtenis of event zich voordoet. Bijvoorbeeld: de gebruiker drukt op een bepaalde toets of beweegt met de muis. Bij een oplossing van een probleem impliceert dit dat eerst de schermen ontwikkeld worden. Daarna wordt aangegeven wat er gebeuren moet als een bepaalde gebeurtenis zich voordoet. Om een toepassing te maken worden de volgende stappen onderscheiden. 1. Wat moet het programma kunnen? 2. De Graphical User Interface (GUI) ontwerpen. (gebruikersinterface of scherm) 3. De eigenschappen van de verschillende objecten aanpassen. 4. Code ontwikkelen om de objecten met elkaar te laten verbinden; de “Graphical User Interface” laten functioneren en de “Phidget servo” aanstuurt.
3.2. De grafische gebruikersinterface ontwikkelen (GUI) De gebruikersinterface is het schermlay-out wat u ziet wanneer het programma gerund worden. Deze interface laat toe om te reageren met de code en veranderingen aan te brengen die de PhidgetServo-controller module beïnvloedt.
Een remote stuurbare projector
Gerrit De Rore
3.2.1. Visual Basic Express Edition 2005 openen Om te beginnen wordt VB Express 2005 opgestart en wordt er een nieuw project aangemaakt. Dit project krijgt de naam ‘ServoController’
Figuur 3.1: project ServoController aanmaken .
Belangrijk is dat de Phidget “Application Programming Interface” geladen wordt. Deze API bevat de Phidget library dewelke een verzameling is van de controles die nodig zijn om te reageren met de Phidget-servo controller.
Figuur 3.2: De API laden
Een remote stuurbare projector
Gerrit De Rore
3.2.2. De GUI lay-out Het programma met de grafische gebruikersinterface bestaat uit één zogenaamde form. De form bevat alle elementen of controles die nodig zijn om te reageren met de computer en de grafische omgeving. De form beschikt over labels, trackbars en buttons. In figuur wordt er een afbeelding weergegeven van de ontworpen form.
Figuur 3.3: De gebruikers interface lay-out voor de aansturing van de projector
Een remote stuurbare projector
Gerrit De Rore
3.3. De programmasoftware schrijven Zoals eerder vermeld in paragraaf 3.1. is Visual Basic een “event driven” programmeertaal. Dit betekent dat elke gebeurtenis een eigen stukje programma bevat. De acties waarmee deze applicatie mee moet functioneren, kunnen in drie categorieën opgedeeld worden: 1. Programma activiteiten: deze zijn de gebeurtenissen zoals het openen en sluiten van het programma 2. Gebruikers activiteiten: dit zijn de acties zoals het pijltje van de computermuis slepen over een het touchpad voor het positioneren van de projector. Of bijvoorbeeld op de close knop klikken. 3. Phidget gebeurtenissen: Dit bevat het aansluiten en ontkoppelen van de phidget controller met computer.
De pagina’s die hierna volgen geven een omschrijving over de werking van de programmacode.
Een remote stuurbare projector
Gerrit De Rore
Public Class Form1 Dim Dim Dim Dim Dim Dim Dim
WithEvents servo1 As New Phidgets.Servo posX2 As Integer posY2 As Integer posX1 As Integer posY1 As Integer newPosX As Integer newPosY As Integer
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load servo1 = New Phidgets.Servo Label1.Text = " Position: Label2.Text = " Status: Label3.Text = " Serial Number: Label4.Text = " Position: TrackBar1.Value = 180 TrackBar2.Value = 90
-" Not Connected" -" -"
TrackBar1.Enabled = False TrackBar2.Enabled = False servo1.open() End Sub Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll Label1.Text = "Position:
" & TrackBar1.Value
servo1.servos(0).Position = TrackBar1.Value End Sub Private Sub Servo1_Attach(ByVal sender As Object, ByVal e As Phidgets.Events.AttachEventArgs) Handles servo1.Attach servo1.servos(0).Position = 180 servo1.servos(1).Position = 90
TrackBar1.Enabled = True TrackBar2.Enabled = True
Label1.Text = "Position: Label2.Text = "Status Label3.Text = "Serial Number:
180" Connected" " & servo1.SerialNumber
Label4.Text = " Position
90"
End Sub
Een remote stuurbare projector
Gerrit De Rore
Private Sub Servo1_Detach(ByVal sender As Object, ByVal e As Phidgets.Events.DetachEventArgs) Handles servo1.Detach Label1.Text Label2.Text Label3.Text Label4.Text
= = = =
"Position: "Status "Serial Number: "Position:
-" Not Connected" -" -"
TrackBar1.Value = 180 TrackBar1.Enabled = False End Sub Private Sub servo1_Error(ByVal sender As Object, ByVal e As Phidgets.Events.ErrorEventArgs) Handles servo1.Error MessageBox.Show(e.Description) Me.Close() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub Private Sub TrackBar2_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar2.Scroll Label4.Text = "Position:
" & TrackBar2.Value
servo1.servos(1).Position = TrackBar2.Value
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TrackBar2.Value = 90 servo1.servos(1).Position = TrackBar2.Value Label4.Text = " Position 90" End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TrackBar1.Value = 180 servo1.servos(0).Position = TrackBar1.Value Label1.Text = " Position 180"
End Sub
Een remote stuurbare projector
Gerrit De Rore
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing servo1.close()
End Sub Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown PictureBox1.Cursor = Cursors.Hand posX1 = e.X posY1 = e.Y End Sub
Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp PictureBox1.Cursor = Cursors.Default posX2 = e.X posY2 = e.Y newPosX = TrackBar1.Value + ((posX2 - posX1) / 10) newPosY = TrackBar2.Value + ((posY1 - posY2) / 10) If (newPosX < 0) Then TrackBar1.Value = 0 ElseIf (newPosX > 360) Then TrackBar1.Value = 360 Else TrackBar1.Value = newPosX End If If (newPosY < 0) Then TrackBar2.Value = 0 ElseIf (newPosY > 180) Then TrackBar2.Value = 180 Else TrackBar2.Value = newPosY End If Label4.Text = " Position Label1.Text = " Position End Sub
" & TrackBar2.Value " & TrackBar1.Value
End Class
Een remote stuurbare projector
Gerrit De Rore
3.3.1. De Form lay-out laden De eerste subroutine dat geschreven wordt is het “Load” event. Deze wordt aangesproken wanneer de applicatie geopend wordt. Objecten worden gedefinieerd door een “klasse” die het gedrag van de objecten bepaald. Elke controller dat geplaatst wordt in het form lay-out zoals een Trackbar, knoppen en labels, zijn de objecten. De eerste regel van de programmacode is “class Form1”. Deze regel geeft het begin van het gehele programma aan. Public Class Form1
Dim WithEvents servo1 As New Phidgets.Servo
In deze regel wordt het object “Servo1” gecreëerd. Het sleutelwoord “Dim” is verantwoordelijk voor de declaratie van het object en reserveert geheugen. Objecten of variabelen die in het geheugen worden gecreëerd hebben altijd een verwijzing of referentie, die ook als een pointer bekend staan. Een verwijzingen is eenvoudigweg de naam van een object. Wanneer het object “Servo1” in de code gebruikt wordt, wordt het voorwerp niet gebruikt maar de verwijzing naar dat object. “WithEvents “ laat het object toe om zijn eigen handelingen te gebruiken. Als deze term wordt weggelaten, moet er manueel een subroutinenaam voor het object bepaald worden. “As New Phidgets.Servo” creëert dit object als een Servo object. Dim Dim Dim Dim Dim Dim
posX2 As Integer posY2 As Integer posX1 As Integer posY1 As Integer newPosX As Integer newPosY As Integer
In deze zes regels worden zes variabelen gedeclareerd als integers. Al deze zes variabelen worden gebruikt om de positie van de projector te berekenen en daarna de projector juist te positioneren.
Een remote stuurbare projector
Gerrit De Rore
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dit is het begin van de eerste subroutine. Deze subroutine is verantwoordelijk voor het laden van de form op het beeldscherm. In de deze regel van de code staat “Sub Form1_Load” , deze tekst wordt automatisch gecreëerd door Visual Basic en wordt gebruikt om de subroutine te definiëren. De tekst bevat de naam van de subroutine. Het gedeelte “ByVal sender As Object” identificeert het object of event dat verantwoordelijk is voor het starten van de subroutine. ” ByVal e As System.EventArgs” wordt ook automatisch gecreëerd door Visual Basic. Het tweede object “e”, bevat andere informatie dat aan de subroutine wordt gegeven. Het woord “Handle” is een belangrijk woord en is verantwoordelijk voor het bepalen wanneer een subroutine wordt aangeroepen. In de eerste subroutine wordt Handle gevolgd door “Me.Load”, waarbij “Me” verwijst naar de actieve form en “.Load” de voorwaarde van de actie is. Dus wanneer deze subroutine aangeroepen wordt, wordt de gebruikersinterface of form op het scherm weergegeven. Label1.Text = " Position: Label2.Text = " Status: Label3.Text = " Serial Number: Label4.Text = " Position:
-" Not Connected" -" -"
Deze regels in subroutine Form1.Load zijn verantwoordelijk voor het wijzigen van de labels. Label1 geeft de positie van de ruitenwisser weer in de form lay-out. En label4 geeft de positie van de servomotor weer in de form lay-out. Label2 geeft aan of de phidgetServo controller verbonden is met computer en label3 geeft het serienummer van de controller weer op het scherm. TrackBar1.Enabled = False TrackBar2.Enabled = False
Het toevoegen van deze twee regels aan de code zorgt ervoor dat de trackbar onmiddelijk gedisabled wordt wanneer het programma start. Op dit punt is het ongekend of de phidget al dan niet aangesloten is aan de computer. Als er geen servo Phidget beschikbaar is voor het Servo1 object
Een remote stuurbare projector
Gerrit De Rore
servo1.open()
.open() verteld tegen de Servo1 om te zoeken naar een computer USB poort en te kijken of er een phidget is aangesloten aan de computer. Als deze een phidget vindt wordt het “Attach” subroutine aangesproken. End Sub
Deze regel geeft het einde van de subroutine Form1.Load aan.
Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
Dit is het begin van de tweede subroutine. “Handles TrackBar1.Scroll” zorgt ervoor dat deze subroutine aangeroepen wordt wanneer trackbar1 wordt bewogen. Zonder deze Handles is het niet mogelijk om de subroutines aan te spreken wanneer een event (gebeurtenis) voorkomt. Label1.Text = "Position:
" & TrackBar1.Value
Deze regel zorgt ervoor dat de initiële waarde van de positie van de ruitenwissermotor op het scherm wordt weergegeven. servo1.servos(0).Position = TrackBar1.Value
In deze regel wordt de initiële waarde van Trackbar1 uitgelezen en verstuurd naar uitgang 0 van phidgetServo controller om de ruitenwissermotor te updaten. End Sub
Deze regel geeft het einde van de subroutine TrackBar1_Scroll aan.
Een remote stuurbare projector
Gerrit De Rore
3.3.2. De verbinding met de Phidget Private Sub Servo1_Attach(ByVal sender As Object, ByVal e As Phidgets.Events.AttachEventArgs) Handles servo1.Attach
Vanaf deze regel begint de subroutine Serrvo1_Attach. Handles servo1.Attach zorgt ervoor dat deze subroutine wordt aangesproken wanneer
de PhidgetServo controller aan de USB poort van de computer wordt aangesloten servo1.servos(0).Position = 180 servo1.servos(1).Position = 90
.Position = 180 en .Position = 90 zorgen ervoor dat de ruitenwisser- en
servomotor respectievelijk op een positie van 180° en 90° worden gepositioneerd wanneer de PhidgetServo controller wordt aangesloten aan de USB poort. Het object Servo1 is verantwoordelijk om de phidgetServo controller te sturen. servos(0)zorgt ervoor dat de uitgang van de PhidgetServo controller met index 0 wordt
aangestuurd. servos(1)ervoor dat de uitgang van de PhidgetServo controller met index 1 wordt
aangestuurd. TrackBar1.Enabled = True TrackBar2.Enabled = True
Deze twee lijnen activeren de twee trackbars wanneer de servo actief wordt. De gebruiker is dan in staat om de positie van de projector te wijzigen. Label1.Text Label2.Text Label3.Text Label4.Text
= = = =
"Position: "Status "Serial Number: " Position
180" Connected" " & servo1.SerialNumber 90"
Deze vier lijnen zijn verantwoordelijk voor het veranderen van de labels wanneer de PhidgetServo controller wordt aangesloten. End Sub
Deze regel geeft het einde van de subroutine Servo1_Attach aan.
Een remote stuurbare projector
Gerrit De Rore
Private Sub Servo1_Detach(ByVal sender As Object, ByVal e As Phidgets.Events.DetachEventArgs) Handles servo1.Detach
Deze regel geeft het begin van de Servo1_Detach subroutine aan. Handles servo1.Detach zorgt ervoor dat deze subroutine wordt aangesproken wanneer de
PhidgetServo controller ontkoppeld wordt van de USB poort. Label1.Text Label2.Text Label3.Text Label4.Text
= = = =
"Position: "Status "Serial Number: "Position:
-" Not Connected" -" -"
Deze regels in subroutine Servo1.Detach zijn verantwoordelijk voor het wijzigen van de labels. TrackBar1.Value = 180 TrackBar2.Value = 90 TrackBar1.Enabled = False TrackBar1.Enabled = False
In deze vier regels worden de waarden van de trackbars ingesteld op 180 en 90 wanneer de PhidgetServo controller ontkoppeld wordt van de USB poort. Daarna wordt de controle van de trackbars ontoegankelijk gemaakt. End Sub
Deze regel geeft het einde van deze subroutine weer. Het volgende stukje code geeft de subroutine servo1_Error. Deze subroutine wordt aangeroepen wanneer er een fout optreedt. Er wordt dan een message box aangemaakt en de “Description” variabele van het e object wordt weergegeven. Het “e” object bevat twee variabelen, de error code en zijn bijhorende beschrijving.
Private Sub servo1_Error(ByVal sender As Object, ByVal e As Phidgets.Events.ErrorEventArgs) Handles servo1.Error MessageBox.Show(e.Description) Me.Close() End Sub
Een remote stuurbare projector
Gerrit De Rore
In het volgende stukje code wordt de subroutine Button1_Click aangeroepen wanneer in de form op de “close” button wordt gedrukt. Deze subroutine zorgt ervoor dat de form gesloten wordt. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub
In het volgende stukje code wordt de subroutine TrackBar2_Scroll aangeroepen wanneer in de form de trackbar voor de verticale positionering wordt bewogen. De initiële waarde van de positie van de Servomotor wordt op het scherm in label4 weergegeven. Daarna wordt de initiële waarde van Trackbar2 uitgelezen en verstuurd naar uitgang 1 van phidgetServo controller om de servomotor te updaten. Private Sub TrackBar2_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar2.Scroll Label4.Text = "Position:
" & TrackBar2.Value
servo1.servos(1).Position = TrackBar2.Value End Sub
In het volgende stukje code wordt de subroutine Button2_Click aangeroepen wanneer in de form op de knop “center” gedrukt” wordt. In deze subroutine wordt de servomotor terug in de center positie gebracht indien op de knop “center” (Button2) geduwd wordt. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TrackBar2.Value = 90 servo1.servos(1).Position = TrackBar2.Value Label4.Text = " Position 90" End Sub
Een remote stuurbare projector
Gerrit De Rore
In het volgende stukje code wordt de subroutine Button3_Click aangeroepen wanneer in de form op de knop “center” gedrukt” wordt. In deze subroutine wordt de ruitenwissermotor terug in de center positie gebracht indien op de knop “center” (Button3) geduwd wordt.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TrackBar1.Value = 180 servo1.servos(0).Position = TrackBar1.Value Label1.Text = " Position 180"
End Sub
De volgende subroutine wordt aangeroepen wanneer het programma afgesloten wordt. De Phidget wordt hier ontkoppeld van het programma. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing servo1.close()
End Sub
Een remote stuurbare projector
Gerrit De Rore
3.3.3 Het virtueel touchpad De volgende subroutine is PictureBox1_MouseDown , deze subroutine wordt aangeroepen wanneer de muisknop wordt ingeduwd in het touchpad (picturebox1) dat zich op het form bevindt. Met de regel “PictureBox1.Cursor = Cursors.Hand” verandert het pijltje in een handje tijdens het induwen van de linker muisknop. Deze actie heb ik toegevoegd voor esthetische redenen.
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown PictureBox1.Cursor = Cursors.Hand posX1 = e.X posY1 = e.Y End Sub
Met de regels “posX1 = e.X” en “posY1 = e.Y” wordt de huidige positie van het pijltje op het touchpad geladen in de integer variabelen posX1 en posY1. Met End Sub wordt dit event of gebeurtenis afgesloten, en wordt dus deze subroutine verlaten. De volgende stap, nadat het handje van de computermuis over een bepaalde afstand over het touchpad verslepen is, wordt de muisknop terug losgelaten. Dit loslaten van de muisknop is een gebeurtenis of event en zorgt ervoor dat de subroutine PictureBox1_MouseUp wordt aangeroepen. Deze subroutine zorgt op zijn beurt ervoor dat
de twee nieuwe x- en y posities van het pijltje van de muis uitgelezen worden en opgeslagen in de integer variabelen posX2 en posY2. Met de regel “PictureBox1.Cursor = Cursors.Default” verandert het handje terug in een pijltje.
Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp PictureBox1.Cursor = Cursors.Default posX2 = e.X posY2 = e.Y
Een remote stuurbare projector
Gerrit De Rore
Wanneer de vier waardes in de vier variabelen geladen zijn kan de bewerking uitgevoerd worden om de vectoren te berekenen. Dit wordt bereikt door de volgende twee regels. newPosX = TrackBar1.Value + ((posX2 - posX1) / 10) newPosY = TrackBar2.Value + ((posY1 - posY2) / 10)
De vector voor de x- positie wordt geladen in de variabele newPosX. De vector voor de y- positie wordt geladen in de variabele newPosy.
De volgende stap is het controleren van de waarde van newPosX. Indien deze waarde van kleiner is dan 0 is, dan wordt TrackBar1.Value op waarde 0 gezet. Indien de waarde van groter is dan 360, dan wordt TrackBar1.Value op waarde 360 gezet. Indien geen van beide statements voldoen, ligt de huidige waarde newPosX tussen 0 en 360. Deze waarde wordt naderhand geladen in TrackBar1.Value
If (newPosX < 0) Then TrackBar1.Value = 0 ElseIf (newPosX > 360) Then TrackBar1.Value = 360 Else TrackBar1.Value = newPosX End If
De volgende stap is het controleren van de waarde van newPosy. Indien deze waarde van kleiner is dan 0 is, dan wordt TrackBar2.Value op waarde 0 gezet. Indien de waarde van groter is dan 180, dan wordt TrackBar2.Value op waarde 180 gezet. Indien geen van beide statements voldoen, dan ligt de huidige waarde newPosX van tussen 0 en 180. Deze waarde wordt dan geladen in TrackBar1.Value
If (newPosY < 0) Then TrackBar2.Value = 0 ElseIf (newPosY > 180) Then TrackBar2.Value = 180 Else TrackBar2.Value = newPosY End If
Een remote stuurbare projector
Gerrit De Rore
Wanneer deze controles uitgevoerd zijn, worden de motors verplaats naar de berekende positie. Label4.Text = " Position Label1.Text = " Position End Sub
" & TrackBar2.Value " & TrackBar1.Value
End Class
In de figuur op de volgende bladzijde wordt er een overzicht d.m.v. een flowchart gegeven betreffende de werking van het touchpad.
Een remote stuurbare projector
Gerrit De Rore
MouseDown De Posities x en y van het pijltje op het virtueel touchpad worden uitgelezen
De uitgelezen posities x en y worden opgeslagen in variabelen PosX1 en PosY1
Het pijltje van de muis wordt over het touchpad versleept
MouseUp De nieuwe posities van het pijltje van de muis worden uitgelezen
De nieuwe posities worden opgeslagen in de variabelen PosX2 en PosY1
De vectoren newPosX en newPosY worden berekend
Controle van de vectoren newPosX en newPosY
Motoren worden gepositioneerd naar de de plaats
Figuur 3.4: Flowchart van het touchpad
Een remote stuurbare projector
Gerrit De Rore
Hoofdstuk 4: Literatuurstudie Locatie Sensor Technieken Een deelaspect van mijn eindwerk was een literatuurstudie maken over locatiesystemen. Dit hoofdstuk is een samenvattende tekst over mijn studie betreffende locatiesensor technieken die toegepast worden in de huidige bestaande locatie systemen . Er worden verschillende technologieën toegepast voor indoor locatie. Deze kunnen onderverdeeld worden in twee aspecten: •
Het algoritme: dit is de methode gebruikt om de locatie te bepalen.
•
De fysieke laag: dit is de draadloze technologie die wordt gebruikt om te communiceren met het mobiele apparaat.
De meest relevante technologieën worden kort beschreven in dit hoofdstuk. Triangulation, scene analysis en proximity zijn de drie voornaamste methodes (algoritmes) voor automatische sensor technieken. M.a.w. deze drie methodes worden gebruikt voor locatiebepaling. Outdoor locatie technieken zijn hoofdzakelijk gebaseerd op een cellulaire en GPS technologie. Voor indoor is GPS niet toepasbaar en de cellulaire nauwkeurigheid is niet efficiënt. Een indoor locatie systeem bestaat uit een reeks vaste antennes en een reeks van draadloze tags. Deze antennes en tags communiceren met elkaar via de lucht.
4.1. Triangulation. De triangulation sensor locatietechniek, maakt gebruik van de geometrische eigenschappen van de driehoeksmeetkunde om de locatie van een object te berekenen. Triangulation wordt onderverdeeld in twee subcategorieën: Lateration en Angulation.
4.1.1. Lateration. Lateration berekend de positie van een object door gebruik te maken van afstandsmetingen t.o.v. meerdere referentiepunten. Er zijn afstandsmetingen van 3 non- collineare punten nodig om de positie van een object te berekenen in twee dimensies. In figuur 4.1 op de volgende bladzijde wordt deze methode voorgesteld.
Een remote stuurbare projector
Gerrit De Rore
om het object in drie dimensies te berekenen, zijn er afstandsmetingen van 4 non- coplanar punten nodig.
Figuur 4.1: Berekenen van 2D positie gebruik makende van lateration, hiervoor heeft men afstandsmetingen nodig tussen het object ‘X’ en 3 non- collineare punten. [6]
Bijvoorbeeld, de Active Bat Location System meet de afstanden van indoor mobiele tags, Bats genaamd, tot een reeks ultrasone sensoren die tegen het plafond zijn bevestigd [7]. Een Bat’s 3-dimensionele positiekan berekend worden door drie afstandsmetingen uit te voeren. Dit komt omdat de sensoren aan het plafond altijd boven de ontvanger hanger Locatie sensor systemen die gebruik maken van lateration, kunnen algemeen gebruik maken van drie technieken om de afstand te meten. 1. Direct. Een directe meting van de afstand maakt gebruik van fysieke actie of beweging. Dit is de eenvoudigste methode om toe te passen, bijvoorbeeld een robot uitgerust met probes kan hiermee zijn positie bepalen. Deze methode wordt enkel toegepast in robotics. 2. Time-of-Flight (TOA). Deze techniek meet de afstand van een object tot een bepaald referentiepunt P, gebaseerd op het meten van de tijd dat een signaal aflegt tussen het object en het referentiepunt P met gekende positie. De zogenaamde gemeten “one- way propagation time” voor een signaal tussen een object en een referentiepunt P, of visa versa, berekend men de afstand tussen zender en ontvanger. Door de gekende snelheid van het gebruikte signaal, b.v. radiosignalen (3 x 108 m/s) of ultrasonische signalen (344 m/s), kan
Een remote stuurbare projector
Gerrit De Rore
de afstand berekend worden van het mobiele object tot het vaste referentiepunt. Met de twee gekende gegevens, namelijk de afgelegde tijd en de snelheid van het signaal, is het mogelijk om de afstand van het mobiele object tot een referentiepunt te berekenen.Want afstand (m) = tijd (s) x snelheid (m/s). Bijvoorbeeld, wanneer een ultrasone puls verzonden wordt door het object, en dit signaal komt 14.5 milliseconden later aan op het referentiepunt P, laat dit ons toe te concluderen dat het object 5 meter verwijdert is van het punt P. Het meten van de time-of-flight voor radiosignalen is ook mogelijk, maar hiervoor zijn klokken nodig met een veel hogere nauwkeurigheid, dan de klokken gebruikt voor ultrasone timing. Want een radiopuls verzonden door het object heeft een snelheid van ongeveer 3 x 108 m/s . Time- of-Arrival (T.O.A), kan beschouwd worden als de meest nauwkeurige methode. Maar het is een grote moeilijkheid om indirecte pulsen veroorzaakt door reflecties te negeren aan de ontvangerszijde, omdat deze pulsen dezelfde vorm hebben als de rechtstreeks ontvangen pulsen. Deze methode is beduidend complexer om te implementeren. Een bijkomende moeilijkheid is om de tijdsduur te meten van zender tot ontvanger, want er moet gebruik gemaakt worden van twee klokken. De moeilijkheid hierbij is dat die klokken precies gelijk ingesteld moeten worden van de zender en de antennes. Het systeem moet met andere woorden gesynchroniseerd zijn. Hoe dan ook in bijvoorbeeld een GPS systeem is de ontvanger niet gesynchroniseerd met de satelliet zender. Hierdoor kan de ontvanger niet heel nauwkeurig meten hoeveel tijd het signaal nodig had om de aarde te bereiken van de ruimte. Daarom zijn GPS satellieten zeer nauwkeurig met elkaar gesynchroniseerd, tevens zenden ze de locale tijd mee in het signaal. Hierdoor kunnen de ontvangers het verschil in “time-of-flight” bereken. Satelieten kunnen 3-dimensionele positie berekenen door gebruik te maken van vier sattelieten. Time-of-flight locatie sensor systemen GPS [11], de Active Bat Location Sytem [7], Cricket location Support System [8], Bluesoft [9] en PulsOn Time Modulated Wideband technology [10] 3. Attenuation. (RSSI). De intensiteit van een verzonden signaal, daalt naarmate de afstand stijgt van de zendbron. De relatieve daling t.o.v. de originele intensiteit van het signaal is de verzwakking (Attenuation). In figuur 4.2 wordt dit voorgesteld, waarbij P0 het vermogen van het signaal is bij een referentieafstand d0 en P is het vermogen van het signaal bij een bepaalde afstand. Door Een remote stuurbare projector
Gerrit De Rore
een functie te gebruiken die in betrekking staat met de verzwakking en de afstand voor een bepaald type van uitzending en de originele signaalsterkte. Kan men de afstand van een object tot een bepaalt punt P beoordelen. Dit wordt bereikt door het meten van de signaalsterkte wanneer het signaal punt P bereikt. Bijvoorbeeld wanneer een radiosignaal uitgezonden wordt door het object, zal het met een factor proportioneel met 1/r2 verzwakt worden wanneer het signaal het punt P bereikt op een bepaalde afstand r van het object vandaan .
P0 Pr
d0 d
Figuur 4.2: afstandsmetingen op basis van Recieved Signal Strength (RSSI) [6]
In omgevingen met veel obstakels, wat zeker het geval is bij indoor toepassingen, is het meten van afstand gebruik makende van attenuation minder nauwkeurig dan de Time-ofFlight methode. Signaalvoortplanting problemen zoals, reflectie en multipath maken het zeer moeilijk om de afstanden nauwkeurig te berekenen. SpotOn ad hoc location system implementeerd “attenuation” metingen door gebruik te maken van low-cost tags. SpotOn tags maken gebruik van radio signaal attenuation om de afstand van de tag te schatten.[12]
Een remote stuurbare projector
Gerrit De Rore
4.1.2. Angulation Angulation is gelijkaardig als lateration behalve dat in plaats van afstanden, nu hoeken worden gemeten voor het berekenen van de positie van een object. Universeel wordt er voor 2-D angulation twee hoekmetingen gedaan en één lengte meting die de afstand is tussen de referentiepunten. Dit wordt weergegeven in figuur 4.3.
Figuur 4.3: berekenen van 2D positie gebruik makende van angulation [6]
Angulation implementaties benoemen dikwijls een constante referentievector (bijvoorbeeld het magnetische noorden) als 0°. Fase antenne arrays zijn een uitstekende technologie om de angulation techniek te bekomen. Hierbij worden meerdere antennes met gekende afstand van elkaar geplaatst en meten dan de tijd van aankomst van een signaal. Met de gegevens zoals het verschil in aankomsttijden gemeten door de meerdere antennes en de geometrie van de ontvangen antenne rijen, is het mogelijk om de hoek te berekenen vanwaar de straling vandaan komt. Dus, de Angle of Arrival metingen en de gekende posities van de antennes worden toegepast om de locatie te berekenen gebruik makende van geometrische verhoudingen. Angle of Arrival methode is beduidend minder nauwkeurig dan de Time of Arrival methode. Dit is te wijten aan de beperkte hoekresolutie en bij indoor is het signaal onderhevig is aan reflecties. Bijkomend zijn AOA antennes complex om te ontwikkelen.
Een remote stuurbare projector
Gerrit De Rore
4.2. Scene Analysis De scene analysis locatie sensor techniek gebruikt de kenmerken van een beeld of landschap, geobserveerd vanaf een bepaald geschikt punt om daarna conclusies te maken over de locatie van het object in het beeld.
4.3. Proximity Detection (PD) Een proximity locatie sensor techniek vertrouwt op een netwerk van antennes die elk een gekende positie hebben. Dit leidt tot het bepalen van een positie doordat het mobiele object in de buurt komt (enkele centimeters) van een bepaalde antenne. Het voordeel van dit systeem is dat het relatief eenvoudig te implementeren is.
4.3.1. Fysiek contact detecteren Deze methode kan over verschillende types van fysieke media geïmplementeerd worden. ID- systemen zoals RFID, zijn gebaseerd op deze methode. Een ander systeem dat gebaseerd is op proximity detection zijn technieken die gebruik maken van fysiek contact. Dit kunnen druksensoren, touch sensoren en capacitieve veld detectoren zijn.
Een remote stuurbare projector
Gerrit De Rore
4.4. De draadloze technologieën Ik heb reeds de verschillende algoritmes beschreven die toegepast kunnen worden voor positiebepaling. In de deze paragraaf heb ik een korte samenvatting gemaakt over de draadloze technologieën die voor indoor locatie bepaling gebruikt worden. Er zijn verschillende draadloze technologieën die gebruikt worden voor indoor locatie bepaling. Infrarood (IR) wordt veel gebruikt in locatietechnieken, maar veel relevante technologieën gebruiken ook radio frequenties (RF). Om deze technologieën te gebruiken voor locatiemethodes, zijn er enkele eigenschappen waarmee rekening mee gehouden moet worden. •
Bereik: infrarood (IR) locatie techniek heeft het voordeel dat het IR-signaal binnen een bepaalde oppervlakte blijft. Het nadeel is dat het IR-signaal niet gedetecteerd wordt wanneer er obstakels zijn. bij radio frequenties (RF) is het bereik afhankelijk van het type RF. Hoe hoger de frequentie, des te korter het bereik. (hogere verzwakking, minder diffractie door obstakels)
•
Nadelen van een Tag: de grootte, vermogen consumptie.
•
Nadelen van een antenne: meer plaats nodig, kosten.
4.4.1. Passieve RFID Passieve RFID readers (lezers) vragen kleine en batterijloze transponders (tags). Passieve RFID maakt gebruik van vier frequentiebanden: LF (125kHz) HF (13.56MHz), UHF (433, 868-915 MHZ) en microgolven( 2.45GHz-5.8GHz). Het leesbereik van ligt tussen de 1-2 meter. Het grootte voordeel van passieve RFID zijn de lage kosten van de tags, klein volume en afwezigheid van batterijen. De technologie is het meest passend voor toegangscontrole en locatie bepaling. Het nadeel is echter het korte leesbereik en de relatieve hoge kosten van de reader. Deze eigenschappen maken passieve RFID minder geschikt voor real time indoor positie bepaling, tenzij dat er een hele reeks readers geplaatst worden.
Een remote stuurbare projector
Gerrit De Rore
4.4.2. Actieve RFID Actieve RFID tags zijn kleine tranceivers, die hun ID en mogelijk bijkomende data verzenden. Het voordeel van actieve RFID is de kleinere antenne die gebruikt wordt, alsmede het grotere bereik.(kunnen +10m zijn). het minpunt is dan weer de groote van de tags, de prijs en de tags moeten voorzien zijn van een batterij.
4.4.3. Infrarood IR tags verzenden gemoduleerd licht in een verspreidend patroon. De antennes (typisch één in elke kamer) hebben optische sensoren die de naburige tags detecteren en dan verslag doen bij locatie server. Doordat licht geblokkeerd wordt door muren is de IR locatie technologie een relatief hoge kamer nauwkeurigheid. Nadeel is dat dat tags regelmatig in de binnenzakken van de persoon verdwijnen, zodoende dat de tags niet meer te detecteren zijn.
4.4.4. Ultra High Frequency (UHF) UHF locatie systemen werken op ongeveer de 433MHz band (medical telemetrie) of ongeveer op de 868MHz ISM band. Muren in gebouwen leveren bij deze frequenties middelmatige verzwakkingen op. Hierdoor hoeft er niet meer in iedere kamer van een gebouw een antenne geplaatst worden. Waardoor er een smal raster van antennes geplaatst moet worden. Het systeem trianguleert de locatie van de tag, gebaseerd op de gemeten signaalintensiteit (RSSI) of de gemeten tijd dat het radiosignaal nodig heeft om van de zender naar de ontvanger te gaan. (Time-of-flight).
4.4.5. Ultra Wide Band (UWB) UWB is gebaseerd op het verzenden van zeer korte pulsjes te versturen (<1ns), met een lage duty-cycle (1:1000) in het spectrum, gebruikt het systeem een ultra wide band (>500MHz breed). Voor locatiebepaling gebruikt UWB het TOA algoritme. De zeer korte pulsjes leiden tot een grote nauwkeurigheid en een laag vermogen verbruik.
Een remote stuurbare projector
Gerrit De Rore
Dezer dagen zijn er nog geen UWB locatiesystemen verkrijgbaar op de markt. Dit zal hoe dan ook gebeuren in de nabije toekomst.
4.4.6. WLAN (IEEE 802.11b) Dit is een draadloos locaal netwerk standaard dat werkt in de 2.4GHz ISM band. Deze standaard is sinds een paar jaar zeer populair in publieke hotspots en firma’s. door de bitsnelheid van 11Mbps en een bereik van 50-100m, wordt IEEE 802.11b veel toegepast in locale draadloze netwerken. Het is daarom interessant om bestaande WLAN infrastructuren te gebruiken voor indoor locatie. Dit lukt door een locatie server toe te passen. Dergelijke oplossingen worden aangeboden op de koopmarkt. Deze bieden een nauwkeurigheid van om en beide 2 meter. Het nadeel van dit systeem is dat de WLAN tags nogal groot en veel vermogen vragen.
4.4.7. Bluetooth (IEEE 802.15) Bluetooth is een recenter draadloos locaal netwerk standaard, dat werkt in de 2.4 GHz ISM band. De bitrate is lager vergeleken met WLAN (1Mbps) en het bereik is ook korter (10m15m) voordeel is dat bluetooth voorzien is in allerhande apparaten zoals GSM, PDA en laptops. Bluetooth tags hebben kleine afmetingen. Iedere tag heeft een uniek ID. dit ID kan gebruikt worden om de positie te bepalen van de tag.
Een remote stuurbare projector
Gerrit De Rore
Hoofdstuk 5: Conclusie en toekomstvisie Dit eindwerk eindigde in een werkende remote stuurbare projector controle, waarmee een gebruiker in staat is om de projector naar de gewenste plaats te positioneren m.b.v. een computerprogramma. Tijdens het ontwikkelen van de DC-motordriver heb ik mij gerealisseerd dat er heel wat ontwerpalternatieven bestaan voor een motordriver. Zo biedt de elektronische verkoopsmarkt zelfs commerciële high-current DC-motordrivers met zeer goede eigenschappen aan. Voor het analoog terugkoppelings mechanisme wordt een potentiometer op de as van de ruitenwissermotor bevestigd. Tijdens het testen van de projector controle heb ik wat problemen gehad met het analoog terugkoppelings mechanisme en tevens kan op termijn deze potentiometer verslijten. Zo kan deze potentiometer eventueel vervangen worden door een incremeterende optische encoder. Een andere optie is, de projector statisch te houden, en de projectie te verwezenlijken d.m.v. spiegels. Indien er gebruikt wordt gemaakt van deze spiegels kunnen twee lichte DC-motoren toegepast worden. Het eindwerk biedt ruimte voor uitbreiding. Zo kan de stuurbare projector controle geautomatiseerd worden. Dit kan bereikt worden door gebruik te maken van bijvoorbeeld de “proximity detection” sensor locatie techniek. D.m.v. RFID-tags, of druksensoren te implementeren op bekende posities in een lokaal, kan de projector gepositioneerd worden naar de desbetreffende plaats.
Een remote stuurbare projector
Gerrit De Rore