GEINTEGREERDE PROEF Dossier

Maat: px
Weergave met pagina beginnen:

Download "GEINTEGREERDE PROEF Dossier"

Transcriptie

1 VRIJ TECHNISCH INSTITUUT VTI VTI2 VZW Katholiek Secundair Onderwijs Waregem Anzegem Avelgem TOEKOMSTSTRAAT WAREGEM GEINTEGREERDE PROEF Dossier ONDERWERP: PC-sturing voor servomotoren STUDIERICHTING: Industriële ICT KLAS: 6ICT SCHOOLJAAR: LEERLING(EN): De Reycke Rob TECHNISCH MENTOR: Mevr. Van Heghe B. TAALMENTOR: Mevr. De Staercke H. 2DA705_BAC GIP-standaard voorblad

2 Woord vooraf Dit rapport werd geschreven in het kader van mijn studies als laatstejaarsleerling industriële ICT. In het laatste jaar is het zowat de traditie een eindwerk te maken waarin de opgedane kennis uit het middelbaar onderwijs gebruikt wordt. Dit eindwerk bood mij de kans om te tonen waartoe ik na dit schooljaar in staat ben. Ik hoop ook dat dit een goed hulpmiddel zal zijn voor mensen die willen leren hoe je servomotoren kan aansturen, want je vindt niet direct een duidelijk overzicht over het onderwerp. Ik zou bij deze ook enkele mensen willen bedanken voor hun inzet. Allereerst mijn mentor voor haar deskundig advies: Mevr. Van Heghe Brenda. Ook Mevr. Vervaeke Sofie heeft mij goede tips gegeven. Zij heeft mij bovendien geholpen bij het zoeken naar een onderwerp dat mij aansprak. Verder wil ik nog Mevr. Dumazy Lolita bedanken om mij de kneepjes van het solderen te leren. Daarnaast wil ik ook iedereen bedanken die mij steunde toen ik het moeilijk had. (Dit rapport werd verwerkt met Microsoft Word 2003).

3 Inhoudsopgave 1. Inleiding Servomotoren Nut Samenstelling Specificaties Positionering Continue rotatie Aansturing De servocontroller (ede FT639) Nut IC Seriële aansturing Modes en commando s Hardware Printplaat voor de servocontroller Seriële poort Software Setup Hoofdprogramma Opties Broncode De draadloze seriële dataoverdracht (m.b.v. het ER400TRS IC) Besluiten Bronnen Bijlagen...36

4 1. Inleiding In dit GIP-boek wordt het aansturen van servomotoren verduidelijkt voor zowel gewone als continue servomotoren. Dit komt doordat ik beide soorten heb gebruikt tijdens het werken aan het project (wat initieel niet de bedoeling was). De aansturing gebeurt met een servocontroller. Het is dus aan te raden eerst de werking en aansturing van de controller (hoofdstuk 3) en de beide soorten motoren (positionering en continu) onder de knie te krijgen. Ook de hardware moet eerst gerealiseerd worden (hoofdstuk 4). Dan volgt de software (op PC) die de motoren kan sturen door middel van een draadloze interface (hoofdstuk 5 en 6). De controller krijgt zijn commando s van de computer en niet van een Basic Stamp-controller zoals dat meestal het geval is. Dit betekent ook dat in een andere programmeertaal moet worden geprogrammeerd dan de gebruikte taal bij de Basic Stamp. Ik heb gekozen voor C++.

5 2. Servomotoren 2.1. Nut Een servomotor is een elektrische motor die relatief eenvoudig aanstuurbaar is en uitermate geschikt is voor positionering. Toepassingen: Robotarmen, allerlei industriële apparaten, computerapparatuur, speelgoed, Kortom: daar waar precies gepositioneerd moet worden. Soms dienen ze ook in speelgoed om de wielen aan te drijven. Daarvoor moeten ze aangepast worden om continu (360 ) te kunnen draaien. Dit komt in veel mindere mate voor. In deze laatste toepassing verliest men immers het hoofddoel van deze motoren uit het oog en benut men de voordelen van servomotoren niet ten volle. Een meer logische toepassing van continue servomotoren is bijvoorbeeld wanneer je niet tevreden bent met een bereik van slechts 180. Het wordt dan wel moeilijker om nog nauwkeurig te positioneren. Voordelen: - nauwkeurig positioneren, - klein in omvang (er bestaan ook grote modellen); - relatief eenvoudig aanstuurbaar op vele manieren; - zachtere overgang naar een andere positie dan bij stappenmotoren en toch voldoende snel; - terugkoppeling, - vele soorten, - In vergelijking met een stappenmotor biedt een servomotor dus wel een aantal voordelen. De aansturing is iets moeilijker geworden maar is nog altijd behoorlijk eenvoudig realiseerbaar Samenstelling Een standaard servomotor heeft 3 aansluitingen: - een commandolijn waar de stuursignalen op komen (meestal wit); - Vcc (rood), - GND (zwart). De terugkoppeling zit hier niet bij. Die is ofwel in de motor geïntegreerd, ofwel extern gemonteerd. 5

6 Indien de motor voorzien is van een terugkoppeling krijg je informatie over zijn snelheid en zijn positie. Volgend schema kan dit wat verduidelijken: Figuur : Terugkoppeling De position feedback (terugkoppeling van de positie) gebeurt met een encoder of resolver. Deze bestaat uit een soort glazen schijfje met zeer fijne lijnen op. Een optische encoder telt deze lijnen telkens de motor verdraait. Zo weet men hoeveel posities de motor verdraaid is. Door de tijd tussen het opmerken van een lijn te meten kan de snelheid bepaald worden. Dit is de algemene samenstelling van een servo. Er kunnen natuurlijk zaken verschillen naargelang het type. Voor meer informatie hierover, zie hoofdstuk 2.3: Specificaties Specificaties Hiervoor hadden we het over de algemene samenstelling van een servomotor. Meer details die afhankelijk zijn van het type motor kunnen we uit de respectievelijke datasheet halen. Als voorbeeld bekijken we even de specificaties van een standaard servomotor die ik gebruik. Merk op dat dit mini-servomotoren zijn en dat de specificaties van grote motoren hier beduidend van afwijken. Voorbeeld 1: positioneringmotor: (Velleman mini servo [MOTSER1]) Weight (gewicht): 16 g Power supply (voeding): 6V DC max Torque (koppel): 1,50 kg/cm Speed (snelheid): 0,16s/60 Dimensions (afmetingen): 28 x 13 x 28.5mm 6

7 Voorbeeld 2: continu rotatie motor: (Parallax Continuous Rotation Servo # ) Weight (gewicht): 45,0 g Power supply (voeding): 6V DC max Torque (koppel): 3,40 kg/cm Speed (snelheid): 60 rotaties/minuut met 5V en zonder koppel Dimensions in mm (afmetingen): 40.5 x 20.0 x 38.0 (LxBxH) 2.4. Positionering Hier wordt besproken hoe de positionering van een servomotor gebeurt. Het positioneren van een servomotor gaat als volgt in zijn werk: De huidige positie van de motor is controleerbaar met een soort interne potentiometer. Deze positie wordt vergeleken met de gewenste waarde. Als dus door een grote belasting de motor wat verdraait, wordt dit gedetecteerd door de potentiometer. Vervolgens wordt ervoor gezorgd dat de motor terug naar de gewenste positie wordt gebracht. Men kan ook positioneren m.b.v. stappenmotoren, maar deze zijn meestal minder nauwkeurig en hebben geen terugkoppeling. Met de terugkoppeling kan men controleren of de motor daadwerkelijk op de gewenste positie terecht is gekomen of niet, wat heel belangrijk kan zijn bij volledig geautomatiseerde processen. In deze GIP zullen we deze terugkoppeling echter niet gebruiken. De aansturing van positioneringmotoren kan je vinden in hoofdstuk 2.6: Aansturing Continue rotatie In een voorgaand hoofdstuk werd al vermeld dat je servomotoren kan aanpassen voor continue rotatie. Men verwijdert dan de sensor die de positiefeedback geeft en men vervangt deze door een gelijkaardig circuit. De motor denkt dan dat hij op 90 staat. Dit is net tussen 0 en 180. Door hem naar een waarde onder 90 te sturen zal hij dus naar de ene kant draaien en bij een hogere waarde naar de andere kant. De motor zal echter niet op die positie stoppen, omdat de sensor is verwijderd. Bijgevolg zal hij gewoon verder blijven draaien. Belangrijk: We kunnen de motor m.b.v. positiecommando s een bepaalde richting en snelheid meegeven, maar dit kan evengoed door zijn startpositie te veranderen. Positioneringcommando s zijn dus niet nodig en bijgevolg zal de motor draaien vanaf het moment dat hij wordt bekrachtigd. Meer informatie over hoe je zelf een standaard servomotor kan aanpassen voor continue rotatie vind je op de volgende website: 7

8 2.6. Aansturing De aansturing werkt volgens het principe van PWM (Pulse Width Modulation) of PBM (Puls Breedte Modulatie). Een servomotor verwacht om de 20ms een puls. Dit betekent niet 20ms tussen iedere puls, maar 20ms tussen het begin of de stijgende flank van iedere puls! De lengte van de puls bepaalt de positie die de servomotor zal innemen. De lengte van zo n puls ligt standaard ongeveer tussen 0,5 en 2,5ms. De grenswaarden van de pulslengte voor de startpositie van de FT639 servocontroller liggen op 0,147ms en 2,037ms. Pas op: dit geldt enkel voor de startposities. De geselecteerde positie zal de pulslengte ook beïnvloeden, maar die waarden worden niet vermeld. Dit is niet echt belangrijk. Hier volgt een signaalverloop voor de minimum- en maximumwaarde en voor het midden (90 ) indien we met 0,5ms en 2,5ms als grenzen werken. Pas op bij het overschrijden van de grenswaarden. Dan kan je namelijk je motor permanent beschadigen. Dit wordt ook wel overdrive genoemd. De aansturing blijft dus eigenlijk gelijk qua signaal voor positionering- en continue motoren. De ondernomen actie verschilt wel, maar dat komt door de hardwarematige samenstelling van de motor. Een standaard servo kan je op deze manier tot 360 laten draaien. Dit komt omdat je zijn startpositie moet kunnen vastleggen en t.o.v. die positie 90 of 180 moet kunnen draaien. De FT639 heeft een aantal vaste pulslengtes die hij naar de servo s kan sturen als startpositie. Daarnaast zal hij zijn pulslengtes aanpassen naargelang de gekozen relatieve positie. De interne elektronica in de servomotor zorgt ervoor dat hij deze signalen kan gebruiken om op de juiste positie terecht te komen. Wij moeten er enkel voor zorgen dat hij de geschikte signalen krijgt. Werk je met een servocontroller? Geef hem dan het commando om de juiste pulsen uit te sturen, maar besef steeds wat de controller voor je doet en wat je zelf moet doen! 8

9 3. De servocontroller (ede FT639) 3.1. Nut Een servomotor is aanstuurbaar met de PC. Je kunt hem natuurlijk niet zomaar aan je PC aansluiten. Als je dan ook nog eens meerdere servomotoren tegelijk wil gebruiken, is dit niet zo eenvoudig meer om aan je computer te koppelen. Daarom gebruik ik een servocontroller. Zo wordt het relatief eenvoudig om tot 5 servomotoren tegelijk aan te sturen. Dit maakt het project bruikbaar voor vele doeleinden. Met de FT639 kan de sturing veel simpeler en je hebt maar één poort nodig van de PC. In deze GIP koos ik voor de seriële poort, omdat dit eenvoudig is en omdat de servocontroller serieel zijn commando s dient te ontvangen. Door opkomst van nieuwe technologieën zou sturing via USB een mogelijke uitbreiding voor het project zijn IC Het IC van de FT639-servocontroller is een 8-pins DIL uitvoering. Het bevat de volgende klemmen: - V++ = klem voor de voedingsspanning; deze mag 3 tot 5,5 Volt bedragen. Ik gebruik 5 Volt aangezien dit een standaard is en makkelijk te verkrijgen is met een 7805 spanningsregelaar; - Gnd = de ground; - Com = hier komen de stuursignalen binnen; - De klemmen met nummers 1 tot 5 zijn uitgangen naar de servomotoren. Op de afbeelding aan de rechterkant zie je de 8 klemmen van de FT639 servocontroller. 9

10 3.3. Seriële aansturing De FT639 dient serieel aangestuurd te worden. Aan deze informatie hebben we echter niet voldoende. We moeten nog met het volgende rekening te houden: - baudrate: 2400 baud, - 8 databits, - 1 stopbit, - geen pariteit, - geen flowcontrol. Nu weten we hoe we de seriële aansturing moeten verzorgen, maar we weten nog niet wat we moeten sturen. De verschillende opties en commando s van de controller worden besproken in hoofdstuk 3.4: Modes en commando s. Via C++ kunnen we de seriële poort aansturen. Nu moeten we nog de pariteit, baudrate, aantal start- en stopbits e.d. instellen in de COMPORT-component. Dan moeten we de informatie aanbieden op de juiste lijn van de poort (TxD) en op een correcte manier zodat de servocontroller verstaat welke commando s we geven. De juiste bekabeling is dus ook belangrijk. Je moet er altijd voor zorgen dat je TxD lijn vanuit de PC aan de COM-ingang van de FT639 geraakt. De massa moet ook verbonden zijn Modes en commando s De FT639 kent 2 modes. De mode waarin de controller zich bevindt, bepaalt hoe de servocontroller reageert; wat hij op dat ogenblik kan doen en wat niet. De 2 modes heten Setup en Active mode. Zoals de namen doen vermoeden zal de controller in setup mode geen acties ondernemen, maar wel instellingen toelaten en zal hij in active mode zijn motoren aansturen. Logischerwijze zal de controller bij het aanleggen van de voedingsspanning altijd in setup mode staan. Nu volgt een volledige bespreking van wat je allemaal kan en niet kan in de 2 modes. Om het niet direct te ingewikkeld te maken, nemen we de makkelijkste mode eerst. 10

11 3.4.1 Active mode (Om deze mode te gebruiken moet binair 117 aangeboden worden aan de controller.) Opties: - terug naar setup mode, - de motoren bekrachtigen, - positioneringcommando s geven, De eerste 2 opties zijn vanzelfsprekend, maar de 3 de zullen we best even bestuderen. - Positioneren: De controller kan de motoren 256 verschillende posities laten aannemen, dus kunnen we de gewenste positie meedelen aan de controller met één byte. We moeten één byte (de gewenste positie) zenden naar de motor, maar we moeten ook kunnen zeggen naar welke motor. Daarom wordt de byte verzonden in 2 bytes. - De meest beduidende bit (MSB) duidt aan of je de upper of lower nibble van de positiebyte krijgt. (nibble = een binair woord van 4 bits.) - De 3 bits die de MSB opvolgen, duiden aan welke motor we gebruiken. Motor 1 = 000, motor 2 = 001, - Met de laatste 4 bits geven we een helft van de positiebyte door. Hier kan je nog eens duidelijk zien hoe de 2 verzonden bytes eruitzien: - Lower Byte = 0sssxxxx, - Upper Byte = 1sssyyyy. sss = het servonummer xxxx = het onderste deel van de door te geven positiebyte yyyy = het bovenste deel van de door te geven positiebyte De lower byte wordt eerst verzonden, daarna de upper byte. Eenmaal de controller dit heeft ontvangen, start hij een pulstrein naar de motor die gepositioneerd moet worden. De lengte van de puls is afhankelijk van de gekozen positie en van het gekozen positioneringbereik (90 of 180 ). De controller zorgt hier voor, dus wij hoeven ons hier geen zorgen over te maken, maar het is voordelig als je hier toch iets van af weet. Met deze pulstrein weet de motor genoeg. De rest van het positioneringproces wordt afgehandeld door zijn interne elektronica. 11

12 3.4.2 Setup mode (initiële mode) (Om deze mode te gebruiken moet binair 122 aangeboden worden aan de controller.) Opties: Instellen van volgende zaken: - de startpositie, - de pulslengte (bereik van 90 of 180 ), - de initiële positie. Uiteraard kan ook worden overgegaan naar active mode. - Startpositie: De headerlengte, zoals men dit noemt, bepaalt de startpositie van de motor. De standaardwaarde hiervan is 12. De waarde van de startpositie kan je instellen door de controller een waarde vanaf 96 (maar dan binair) te geven. Dit commando ziet er als volgt uit: 0110xxxx Een x stelt een bit voor. De waarde kan van 0 tot 15 gaan. Er zijn namelijk 16 verschillende startposities. 96 = = Belangrijk: De motor weet welke startpositie hij moet innemen door een vastgelegde pulslengte die voor iedere startpositie verschilt. Al deze waarden vind je terug in de datasheet van de controller. - Pulslengte: De pulslengte houdt sterk verband met de startpositie. Men heeft 2 categorieën, namelijk de korte en de lange pulslengte. Deze overlappen elkaar qua waarden Op het eerste zicht is dit nogal vreemd, maar als je dit goed bestudeert, zal je de logica wel inzien. De pulslengte is het enige dat de motor interpreteert. Daarom zijn de startposities niets meer dan enkele vastgelegde pulslengtes. Afhankelijk van de keuze voor korte of lange pulslengte zal de controller ervoor zorgen dat het verschil tussen de pulslengtes van 2 opeenvolgende positioneringwaarden aangepast wordt voor een bereik van 90 of 180. Bij de FT639 liggen de waarde, van de pulslengte voor de startposities tussen 0,147 en 1,227ms. Bij lange pulslengte is dit tussen 0,237 en 2,037ms. Dit houdt ook in dat je bij korte pulslengte (en een bereik van 90 ) de startpositie ook slechts 90 kan verdraaien. Het totaal bereik bedraagt dus 180. Bij lange pulslengte (en een bereik van 180 ) kan je de startpositie 180 verdraaien. Hier is het totaal bereik dus

13 Kort samengevat: - Korte pulslengte zorgt voor een positioneringbereik van 90 en een totaal bereik van 180. De keuze van 1 van de 16 vastgelegde waarden bepaalt de startpositie van de motor. Je selecteert korte pulslengte door binair 85 aan te bieden aan de controller. - Lange pulslengte zorgt voor een positioneringbereik van 180 en een totaal bereik van 360. De keuze van 1 van de 16 vastgelegde waarden bepaalt de startpositie van de motor. Je selecteert korte pulslengte door binair 85 aan te bieden aan de controller. Voor het standaardbereik van de pulslengte kijk je best even naar hoofdstuk 2.6: Aansturing. - Initiële positie: De initiële positie ligt relatief t.o.v. de startpositie. De hoek hiertussen wordt bepaald door het gegeven positioneringcommando in setup mode. De initiële positie is dus de ligging van het gegeven positioneringcommando in setup-mode. De motor zal hiernaar verdraaien wanneer hij wordt bekrachtigd. Figuur 3.4.1: Startpositie (rood) t.o.v. initiële positie van 90 (groen). (Bij een motor die in tegenwijzerzin draait) Hoe maakt de controller het verschil uit tussen gewone en positioneringcommando s? Als je het hoofdstuk Active mode hebt gelezen, weet je nog dat de 3 bits na de MSB gebruikt werden om het motornummer mee te geven bij het positioneren. Bij andere commando s zijn deze echter allemaal 1. Dit is meer dan 4 (het nummer van de hoogste motor), dus niet meer voor motoraansturing. De controller weet dan dat een commando, waarvan die 3 bits hoger zijn dan 4 (100 in binaire vorm), geen positioneringcommando s zijn. Bijgevolg bevat dit gebied de commando s voor de andere gereserveerde functies van de controller. Deze functies kan je allemaal terugvinden in de datasheet, maar het is belangrijk hen goed te bestuderen. Soms is hun functie verwarrend of anders op te vatten. 13

14 4. Hardware 4.1. Printplaat voor de servocontroller Om de motoren, de servocontroller en computer aan elkaar te koppelen hebben we uiteraard een interface nodig. Dit vertolkt zich in de vorm van een printplaatje. Hier zie je het printplaatje met de componenten. Je ziet ook de koperbanen. Het grootste deel van het plaatje is zwart. Dat is het koperdeel; het zal dus beschermd moeten worden tegen oxidatie. Een voordeel is wel dat je een groot massa- (of ground-) oppervlak hebt, maar het is fijn soldeerwerk... Dit printje is een ontwerp van het magazine Elektuur. Met de opstelling van dit printje krijgen we spijtig genoeg geen terugkoppeling van de servomotoren. We kunnen ervan uitgaan dat de motor wel op zijn positie terechtkomt omdat dit niet voor belangrijke toepassingen kan worden gebruikt. In grotere toepassingen waar je zeker moet zijn van de werkelijke positie van de motor is een terugkoppeling een must. Servomotoren vragen over het algemeen tamelijk veel stroom. Dit hangt natuurlijk sterk af van het type. Voor dit eindwerk gebruik ik miniservomotoren, dus de specificaties t.o.v. een grote servomotor wijken beduidend af. Zie hoofdstuk 2.3: Specificaties voor meer informatie. Netspanning is gewenst, maar als deze niet beschikbaar is, kun je ook een zware (grote Ah), heroplaadbare batterij gebruiken. Een batterij vanaf 5V is eigenlijk voldoende, maar indien je informatie wil via de seriële poort over het al dan niet aangesloten zijn van spanning heb je toch zeker 9V nodig (in feite gebruik je dan best 12V). De spanning mag wat hoger zijn dan 5V omdat we een 7805-spanningsregelaar gebruiken. Hou er wel rekening mee dat je de maximale spanning over de 7805 niet overschrijdt Seriële poort Nu het printplaatje af is moet de PC nog verbonden worden met het printje. Dit wordt hier even kort besproken. Als je dit draadloos wilt maken, kijk je best even naar hoofdstuk 6: De draadloze seriële dataoverdracht. Ik heb een vrouwelijke seriële poort connector geplaatst bij mijn printplaatje en alle te verbinden pinnen zitten op dezelfde plaats bij zowel de PC als de connector bij de print. Op die manier kan je gewone rechtdoor kabels gebruiken. 14

15 De volgende pinnen moeten worden verbonden: - pin 5 (GND): De ground van de seriële poort hang je aan de ground op de printplaat. - pin 3 (TxD): Over deze lijn komen de signalen binnen. Ze moet verbonden worden met de data-ingang van de printplaat. - pin 8 (CTS): Deze pin verbind ik aan de V++ klem van de print. Indien daar geen spanning is, kan de software dat controleren. Bij pc s die moeten communiceren is dit wat moeilijker omdat ze op elkaar afgestemd moeten worden. Hier hoeft dat niet. De communicatie verloopt in één richting. Dat maakt het eenvoudiger. Dit betekent ook dat je zonder veel moeite kan overschakelen naar USB. De Universal Serial Bus werkt namelijk ook serieel en is momenteel zeer populair! 5. Software Het doel van de software is een eenvoudige en intuïtieve sturing te voorzien voor de gebruiker die een project met servomotoren wil aansturen. Ook wordt de mogelijkheid voorzien de hardware te testen. Dit is handig als er ineens problemen beginnen. Je kunt enkele simpele tests uitvoeren voor je aan het meten slaat. Het is belangrijk de software gemakkelijk verstaanbaar te maken voor iedereen, want niet iedereen kan even goed met de computer overweg. Ik kon zoals vele anderen een login-systeem gemaakt hebben, maar voor dit project is dat niet handig en zelfs tijdrovend. Het programma lijkt wat minder groot, maar in feite is de broncode goed geoptimaliseerd en zal je weinig tot geen problemen ondervinden! Ik heb gezorgd dat het programma niet enkel werkt als je het juist gebruikt, maar dat het onder alle omstandigheden werkt Setup De installatie van het programma moet niet te veel onnodige zaken bevatten en de standaardinstellingen moeten ook de beste zijn, want vele mensen klikken bij een setup direct op next zonder ernaar te kijken. De setup werd gemaakt met Installshield Express for Borland C++ Builder 3. Er is zowel een dynamische als een statische setup beschikbaar. Wat de beste keuze is, hangt af van hoeveel Borland C++ 3 applicaties je gebruikt op je PC. Als je veel zo n programma s hebt, kies je beter dynamisch omdat de DLL s voor al die programma s gedeeld zijn en de applicatie kleiner is. Als het de enige applicatie is die met Borland C++ Builder 3 gemaakt werd, neem je beter statisch omdat alles in de toepassing (het exe-bestand) zelf zit en de totale grootte dan kleiner is. Het programma installeert zich standaard onder Program Files in de map FT639 Control Panel. Er wordt een icoon in het startmenu en één op het bureaublad gezet. 15

16 5.2. Hoofdprogramma Wanneer je het programma opent, kom je op het volgende scherm terecht (figuur 5.2.1): Figuur 5.2.1: Het hoofdprogramma Menu: - Connectie: Hier kan je de seriële poort selecteren. Enkel de vrije, aanwezige poorten worden getoond. De knop Verbinding maken/verbreken schakelt de geselecteerde seriële poort aan of uit. Voor het gemak kan je Ctrl + C drukken - Extra: Hieronder vind je de koppeling Opties die je naar het instellingenformulier brengt. - Help: Informatie over de ontwerper van het programma en links voor ondersteuning en extra informatie vind je onder Info. Als op Setup of Active wordt gedrukt (na verbinding te hebben gemaakt), krijg je alle mogelijkheden die je in die mode kan gebruiken voorgeschoteld. Figuur toont de GUI als er connectie is gemaakt. 16

17 Figuur 5.2.2: Mogelijkheden in de 2 modes van de controller Je ziet hier alle mogelijkheden. Bij active mode verdwijnt de groupbox Instellingen. Er zijn standaard reeds enkele instellingen gebeurd. Dit zijn de standaardinstellingen van de FT639. Je kunt ook zonder instellingen te doen naar active mode gaan. Naast de scrollbalken voor de positie-instelling krijg je extra informatie over de huidige positie. Als laatste kan je nog softwarematig de controller zijn standaardinstellingen meegeven met de knop Reset controller. Zo hoef je niet voortdurend de voeding te onderbreken als je hem wil resetten. In de statusbalk onderaan zie je extra informatie over de geselecteerde poort en de toestand van de controller. Dit is afhankelijk van de instellingen. Vragen en waarschuwingen komen tevoorschijn m.b.v. een messagebox Opties Figuur 5.3.1: Opties 17

18 Bij Opties kan je kiezen voor de standaard configuratie. Die zal van kracht zijn telkens na het starten van het programma. Enkel tijdens de huidige sessie zijn onderstaande instellingen van kracht. Als je echter kiest voor Aangepast zullen ook de volgende keer dat je het programma start de huidige instellingen van kracht zijn. Simulatie is een optie voor mensen die het programma willen bekijken zonder dat de motoren aangestuurd worden. Ook als je geen seriële poort hebt of als deze bezet is, kan simulatie handig zijn. De instellingen die je deed tijdens simulatie zullen eenmaal je uit simulatie gaat nog steeds geselecteerd zijn en je kunt dan je controller direct in Active mode zetten. Uiteraard is dit enkel mogelijk als op dat moment een seriële poort beschikbaar is. De controle op de voedingsspanning is ook handig zodat je niet zomaar commando s stuurt als je controller toch af lag. Als het programma merkt dat geen spanning aanwezig is dit gebeurt via de CTS-lijn zal het alle componenten uitschakelen totdat er weer spanning is en zal dan automatisch de controller herinstellen zoals voorheen. Zorg er dan wel voor dat de CTS-lijn aangesloten is aan de voedingsklem van de print en dat je zeker 9V voedingsspanning aanbiedt. Zoniet zal je deze optie niet kunnen gebruiken. De seriële poort heeft namelijk liefst 12V om als 1 te interpreteren. Met 9V lukt dit ook nog. Bij het gebruiken van de draadloze kits mag je deze optie niet gebruiken! De kits gebruiken de CTS-lijn zelf al voor hun onderlinge communicatie. Dit zou het programma storen 18

19 5.4. Broncode Project1.cpp #include <vcl.h> #pragma hdrstop USERES("Project1.res"); USEFORM("..\..\..\..\..\..\MIJNDO~1\School\6ICT\GIP\test\HOOFDP~1\Unit1.cpp ", frmmain); USEFORM("..\..\..\..\..\..\MIJNDO~1\School\6ICT\GIP\test\HOOFDP~1\Unit2.cpp ", frmoptions); USEFORM("Unit3.cpp", frmabout); WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) try Application->Initialize(); Application->Title = "Servosturing"; Application->CreateForm( classid(tfrmmain), &frmmain); Application->CreateForm( classid(tfrmoptions), &frmoptions); Application->CreateForm( classid(tfrmabout), &frmabout); Application->Run(); catch (Exception &exception) Application->ShowException(&exception); return 0; Unit1.h #ifndef Unit1H #define Unit1H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <Buttons.hpp> #include "ComPort.hpp" #include <Menus.hpp> #include <ExtCtrls.hpp> #include <ComCtrls.hpp> class TfrmMain : public TForm published: // IDE-managed Components TComPort *COM; TGroupBox *gbmodeselectie; TSpeedButton *btnsetup; TSpeedButton *btnactive; TTimer *Timer1; TMainMenu *MainMenu; TMenuItem *btnconnectie; TMenuItem *rbcom1; 19

20 TMenuItem *rbcom2; TMenuItem *N1; TMenuItem *btnconnect; TMenuItem *btnextra; TMenuItem *btnhelp; TMenuItem *btnopties; TGroupBox *gbactive; TGroupBox *gbsetup; TSpeedButton *btnlongpulse; TSpeedButton *btnshortpulse; TLabel *lblservo1; TLabel *lblservo2; TLabel *lblservo3; TLabel *lblservo4; TLabel *lblservo5; TScrollBar *scrollservo1; TScrollBar *scrollservo2; TScrollBar *scrollservo3; TScrollBar *scrollservo4; TScrollBar *scrollservo5; TLabel *infoposition1; TLabel *infoposition2; TLabel *infoposition3; TLabel *infoposition4; TLabel *infoposition5; TStatusBar *StatusBar1; TMenuItem *btninfo; TLabel *Lbl0; TLabel *lblmax; TLabel *lblcenter; TLabel *lblstartpositie; TLabel *Label1; TLabel *Label3; TLabel *Label4; TLabel *infodegrees1; TLabel *infodegrees2; TLabel *infodegrees3; TLabel *infodegrees4; TLabel *infodegrees5; TButton *btnreset; TShape *Shape1; TShape *Shape2; TTrackBar *StartPos; TLabel *Label2; TLabel *Label5; TLabel *Label6; TLabel *Label7; TLabel *Label8; TLabel *Label9; TImage *Image1; TShape *Shape3; void fastcall FormCreate(TObject *Sender); void fastcall FormClose(TObject *Sender, TCloseAction &Action); void fastcall btnconnectclick(tobject *Sender); void fastcall btnsetupclick(tobject *Sender); void fastcall btnactiveclick(tobject *Sender); void fastcall btnshortpulseclick(tobject *Sender); void fastcall btnlongpulseclick(tobject *Sender); void fastcall rbcom1click(tobject *Sender); void fastcall rbcom2click(tobject *Sender); 20

21 void fastcall btnoptiesclick(tobject *Sender); void fastcall scrollservo1change(tobject *Sender); void fastcall scrollservo2change(tobject *Sender); void fastcall scrollservo3change(tobject *Sender); void fastcall scrollservo4change(tobject *Sender); void fastcall scrollservo5change(tobject *Sender); void fastcall COMCTSChange(TObject *Sender); void fastcall btnresetclick(tobject *Sender); void fastcall StartPosChange(TObject *Sender); void fastcall btninfoclick(tobject *Sender); private: // User declarations public: // User declarations float pulsduur; unsigned short headervar; unsigned short i; unsigned short uv; unsigned short lv; unsigned short bereik; void fastcall Positioneer(short servo, int waarde); void fastcall Disconnect(TObject *Sender); void fastcall AdjustDegrees(TObject *Sender); void fastcall EnableComponents(TObject *Sender); void fastcall InstellingenToepassen(TObject *Sender); fastcall TfrmMain(TComponent* Owner); ; extern PACKAGE TfrmMain *frmmain; #endif Unit1.cpp #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "Unit2.h" #include "Unit3.h" #pragma package(smart_init) #pragma link "ComPort" #pragma link "ComPort" #pragma resource "*.dfm" TfrmMain *frmmain; fastcall TfrmMain::TfrmMain(TComponent* Owner) : TForm(Owner) //COMPORT-component afstemmen op de controller COM->Active=false; COM->BaudRate=br2400; COM->Parity=paNone; COM->StopBits=sb1; COM->DataBits=db8; lblcenter->caption="45 "; lblmax->caption="90 "; lblcenter->width=473; 21

22 StartPos->Position=12;//12 is de standaardpositie van de controller. bereik=90;//korte pulslengte (90 ) is het standaardbereik v/d controller. void fastcall TfrmMain::FormCreate(TObject *Sender) //Controle op de compoorten try rbcom2->checked=true; rbcom2->visible=true; COM->Active=false; COM->DeviceName="COM2"; COM->Active=true; StatusBar1->Panels->Items[0]->Text="Poort: COM2"; catch(...) rbcom2->visible=false; rbcom2->checked=false; try rbcom1->checked=true; rbcom1->visible=true; COM->Active=false; COM->DeviceName="COM1"; COM->Active=true; StatusBar1->Panels->Items[0]->Text="Poort: COM1"; catch(...) rbcom1->visible=false; rbcom1->checked=false; //Er wordt van achter naar voren afgelopen zodat de eerste geldige poort aangevinkt zou blijven. COM->Active=false; //Indien 2 poorten geldig, 2de afchecken en 1ste gebruiken. if(rbcom1->visible==true && rbcom2->visible==true)rbcom2->checked=false; void fastcall TfrmMain::FormClose(TObject *Sender, TCloseAction &Action) /*Vragen of de motoren moeten stoppen bij verlaten v/h programma. Bij Ja : naar setup mode.*/ if(application->messagebox("wilt u de motoren stilleggen vooraleer het programma te beëindigen?", "Vraag", MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1)==IDYES) try if(frmoptions->cbsimulatie->checked==false) COM->Active=true; COM->WriteByte(122);//setup mode 22

23 catch(...)//melden dat motoren niet konden stil worden gelegd. Application->MessageBox("De controller kon niet bereikt worden. De seriële poort is mogelijk in gebruik door een ander programma.", "Fout", MB_OK + MB_ICONERROR + MB_DEFBUTTON1); COM->Close(); frmoptions->iofile.close();//zorgen dat dit bestand zeker afgesloten werd. void fastcall TfrmMain::btnConnectClick(TObject *Sender) if(btnconnect->caption=="&verbinding maken") try if(frmoptions->cbsimulatie->checked==false) COM->Active=true; if(frmoptions->cbcts->checked==true) if(com->modemstatus.contains(mscts)) //Als de controller voeding krijgt(zie hardware) StatusBar1->Panels->Items[1]->Text="Controller: aangesloten"; EnableComponents(0); else StatusBar1->Panels->Items[1]->Text="Controller: afgeschakeld"; else StatusBar1->Panels->Items[1]->Text="Controller: De software krijgt geen gegevens over de controllertoestand."; EnableComponents(0); btnconnect->caption="&verbinding verbreken"; catch(...) if(application->messagebox("er zijn geen seriële poorten gevonden of deze zijn al in gebruik door een ander programma.\nwilt u het programma simuleren?", "Vraag", MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1) == IDYES) frmoptions->cbsimulatie->checked=true; frmoptions->formcreate(0); else Disconnect(0); 23

24 void fastcall TfrmMain::rbCOM1Click(TObject *Sender) bool COMaanuit; if(com->active==true)comaanuit=true; else COMaanuit=false; //Toestand v/d poort onthouden. rbcom1->checked=true; rbcom2->checked=false; COM->Active=false; COM->DeviceName="COM1"; if(comaanuit==true)com->active=true; StatusBar1->Panels->Items[0]->Text="Poort: COM1"; void fastcall TfrmMain::rbCOM2Click(TObject *Sender) bool COMaanuit; if(com->active==true)comaanuit=true; else COMaanuit=false; rbcom1->checked=false; rbcom2->checked=true; COM->Active=false; COM->DeviceName="COM2"; if(comaanuit==true)com->active=true; StatusBar1->Panels->Items[0]->Text="Poort: COM2"; void fastcall TfrmMain::btnOptiesClick(TObject *Sender) frmoptions->showmodal(); void fastcall TfrmMain::btnSetupClick(TObject *Sender) if(frmoptions->cbsimulatie->checked==false)com->writebyte(122); //Controller in setup mode zetten gbsetup->visible=true; gbactive->visible=true; void fastcall TfrmMain::btnActiveClick(TObject *Sender) if(frmoptions->cbsimulatie->checked==false) InstellingenToepassen(0); COM->WriteByte(117);//Controller in active mode zetten gbsetup->visible=false; gbactive->visible=true; void fastcall TfrmMain::btnShortPulseClick(TObject *Sender) lblcenter->caption="45 "; lblcenter->width=473; 24

25 lblmax->caption="90 "; bereik=90; AdjustDegrees(0); void fastcall TfrmMain::btnLongPulseClick(TObject *Sender) lblcenter->caption="90 "; lblcenter->width=473; lblmax->caption="180 "; bereik=180; AdjustDegrees(0); void fastcall TfrmMain::scrollServo1Change(TObject *Sender) Positioneer(1, scrollservo1->position); infoposition1->caption=scrollservo1->position; AdjustDegrees(0); void fastcall TfrmMain::scrollServo2Change(TObject *Sender) Positioneer(2, scrollservo2->position); infoposition2->caption=scrollservo2->position; AdjustDegrees(0); void fastcall TfrmMain::scrollServo3Change(TObject *Sender) Positioneer(3, scrollservo3->position); infoposition3->caption=scrollservo3->position; AdjustDegrees(0); void fastcall TfrmMain::scrollServo4Change(TObject *Sender) Positioneer(4, scrollservo4->position); infoposition4->caption=scrollservo4->position; AdjustDegrees(0); void fastcall TfrmMain::scrollServo5Change(TObject *Sender) Positioneer(5, scrollservo5->position); infoposition5->caption=scrollservo5->position; AdjustDegrees(0); void fastcall TfrmMain::Positioneer(short servo, int waarde) uv=integer(waarde/16); //Byte wordt gedeeld door 16 om de hoogste 4 bits over te houden. lv=waarde-(uv*16); //De laagste 4 bits worden bekomen door de afgeronde waarde van de originele af te trekken. uv=uv (servo-1)*16; //MSB op 1 zetten voor de upper byte + motorselectie 25

26 lv=lv + (servo-1)*16;//motorselectie if(frmoptions->cbsimulatie->checked==false) COM->WriteByte(lv);//De bytes naar de controller sturen beginnende met lv (=lower value), daarna uv (=upper value). COM->WriteByte(uv); void fastcall TfrmMain::COMCTSChange(TObject *Sender) if(frmoptions->cbsimulatie->checked==false/*controle voor de zekerheid*/) if(frmoptions->cbcts->checked==true) if(com->modemstatus.contains(mscts)) StatusBar1->Panels->Items[1]->Text="Controller: aangesloten"; EnableComponents(0); //Instellingen opnieuw geven want de spanning was weggevallen. COM->WriteByte(122); InstellingenToepassen(0); if(btnactive->down==true)com->writebyte(117); else StatusBar1->Panels->Items[1]->Text="Controller: afgeschakeld"; btnsetup->enabled=false; btnactive->enabled=false; btnreset->enabled=false; //Componenten disablen scrollservo1->enabled=false; scrollservo2->enabled=false; scrollservo3->enabled=false; scrollservo4->enabled=false; scrollservo5->enabled=false; btnshortpulse->enabled=false; btnlongpulse->enabled=false; StartPos->Enabled=false; void fastcall TfrmMain::Disconnect(TObject *Sender) try if(frmoptions->cbsimulatie->checked==false) /*COM niet beschikbaar bij het starten? Dan is nog geen poort geselecteerd. Dus poortselectie!*/ if(frmmain->rbcom1->checked==false && frmmain->rbcom2->checked==false)frmmain->formcreate(0);//poortselectie frmmain->com->active=true; frmmain->statusbar1->panels->items[1]->text="controller: NIET VERBONDEN. MAAK CONNECTIE!"; 26

27 frmmain->btnsetup->allowallup=true; frmmain->btnsetup->down=false; frmmain->btnactive->down=false; frmmain->btnsetup->allowallup=false; frmmain->btnsetup->enabled=false; frmmain->btnactive->enabled=false; frmmain->btnreset->enabled=false; frmmain->btnconnect->caption="&verbinding maken"; frmmain->gbactive->visible=false; frmmain->gbsetup->visible=false; frmmain->com->active=false; catch(...) /*Als de COM-poort niet beschikbaar is als je uit simulatie komt, moet hij in simulatie blijven (error toegang geweigerd).*/ Application->MessageBox("Er zijn geen seriële poorten gevonden of deze zijn al in gebruik door een ander programma.\nhet programma blijft in simulatie tot een seriële poort vrij is.", "Waarschuwing: COM-poort is niet vrij!", MB_OK + MB_ICONWARNING + MB_DEFBUTTON1); frmoptions->cbsimulatie->checked=true; void fastcall TfrmMain::AdjustDegrees(TObject *Sender) infodegrees1->caption=(int)(((float)scrollservo1->position/255)*bereik); infodegrees2->caption=(int)(((float)scrollservo2->position/255)*bereik); infodegrees3->caption=(int)(((float)scrollservo3->position/255)*bereik); infodegrees4->caption=(int)(((float)scrollservo4->position/255)*bereik); infodegrees5->caption=(int)(((float)scrollservo5->position/255)*bereik); infodegrees1->caption=infodegrees1->caption + " "; infodegrees2->caption=infodegrees2->caption + " "; infodegrees3->caption=infodegrees3->caption + " "; infodegrees4->caption=infodegrees4->caption + " "; infodegrees5->caption=infodegrees5->caption + " "; void fastcall TfrmMain::EnableComponents(TObject *Sender) btnsetup->enabled=true; btnactive->enabled=true; btnreset->enabled=true; //Na wegvallen v/d spanning de instellingen opnieuw doorgeven. scrollservo1->enabled=true;/*de positie wordt opnieuw doorgegeven bij het event van de Active-knop.*/ scrollservo2->enabled=true; scrollservo3->enabled=true; scrollservo4->enabled=true; scrollservo5->enabled=true; btnshortpulse->enabled=true; btnlongpulse->enabled=true; StartPos->Enabled=true; //Voor controle op Down-eigenschap eerst enablen! if(btnactive->down==true)btnactiveclick(0); if(btnsetup->down==true)btnsetupclick(0); 27

28 void fastcall TfrmMain::btnResetClick(TObject *Sender) if(frmoptions->cbsimulatie->checked==false) COM->WriteByte(122);//setup COM->WriteChar(85);//korte pulslengte COM->WriteChar(108);//startpositie 12 scrollservo1->position=0;scrollservo1change(0); scrollservo2->position=0;scrollservo2change(0); scrollservo3->position=0;scrollservo3change(0); scrollservo4->position=0;scrollservo4change(0); scrollservo5->position=0;scrollservo5change(0); btnshortpulseclick(0); btnshortpulse->down=true; StartPos->Position=12; btnsetupclick(0);/*nu pas setupclick omdat de positionering anders beïnvloed wordt. Het setup commando werd echter al eerder gegeven.*/ btnsetup->down=true; void fastcall TfrmMain::InstellingenToepassen(TObject *Sender) //Naar setup voor instellingen COM->WriteByte(122); //Eerst pulslengte vastleggen, pas daarna de startpositie. if(btnshortpulse->down==true)com->writechar(85); else if(btnlongpulse->down==true)com->writechar(90); for(i=1, headervar=96;i<=16;i++, headervar++) if(startpos->position==i)com->writechar(headervar); //Pulslengtewaarde selecteren. Dit bepaalt de startpositie v/d motoren. /*Initiële posities setten (= positiecommando's onafhankelijk v/d mode v/d controller). Ook in setup kunnen positiecommando's gegeven worden.*/ Positioneer(1, scrollservo1->position); Positioneer(2, scrollservo2->position); Positioneer(3, scrollservo3->position); Positioneer(4, scrollservo4->position); Positioneer(5, scrollservo5->position); void fastcall TfrmMain::StartPosChange(TObject *Sender) StartPos->Hint=StartPos->Position; void fastcall TfrmMain::btnInfoClick(TObject *Sender) frmabout->showmodal(); 28

29 5.4.4 Unit2.h #ifndef Unit2H #define Unit2H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ExtCtrls.hpp> #include <fstream.h> class TfrmOptions : public TForm published: // IDE-managed Components TButton *btnok; TRadioGroup *rgsaveconfig; TGroupBox *gbcurrentsettings; TCheckBox *cbsimulatie; TCheckBox *cbcts; void fastcall FormCreate(TObject *Sender); void fastcall btnokclick(tobject *Sender); void fastcall cbsimulatieclick(tobject *Sender); void fastcall FormShow(TObject *Sender); void fastcall cbctsclick(tobject *Sender); private: // User declarations public: // User declarations fastcall TfrmOptions(TComponent* Owner); fstream iofile; struct Settings bool simulatie; bool CTS; ; unsigned short veranderd,veranderdcbcts; ; extern PACKAGE TfrmOptions *frmoptions; #endif Unit2.cpp #include <vcl.h> #include <fstream.h> #pragma hdrstop #include "Unit2.h" #include "Unit1.h" #include "Unit3.h" #pragma package(smart_init) #pragma resource "*.dfm" TfrmOptions *frmoptions; Settings record; 29

30 fastcall TfrmOptions::TfrmOptions(TComponent* Owner) : TForm(Owner) //Configuratie ophalen uit bestand. iofile.open("config.ini", ios::binary ios::in ios::out); if(!iofile)application->terminate(); iofile.seekg(0,fstream::end); int eind=iofile.tellg(); iofile.seekg(0); int begin=iofile.tellg(); if(begin!=eind)//als er een configuratie opgeslaan is, deze instellen. //Staat nog in het begin om te lezen. iofile.read((char*)&record, sizeof(settings)); if(record.simulatie==1)frmoptions->cbsimulatie->checked=true; else frmoptions->cbsimulatie->checked=false; if(record.cts==1)frmoptions->cbcts->checked=true; else frmoptions->cbcts->checked=false; rgsaveconfig->itemindex=1;//eigen instellingen else rgsaveconfig->itemindex=0;//standaard instellingen iofile.close(); veranderd=1;veranderdcbcts=1;//aanleggen voor volgende functies. frmoptions->btnokclick(0); frmmain->btnconnectclick(0);//okclick had de connectie aangelegd, nu weer afleggen. veranderd=0;veranderdcbcts=0;//nu weer afleggen. void fastcall TfrmOptions::FormCreate(TObject *Sender) if(frmoptions->cbsimulatie->checked==false) frmmain->caption="servomotorsturing voor FT639 interface"; frmmain->statusbar1->panels->items[1]->text="controller: NIET VERBONDEN. MAAK CONNECTIE!"; frmmain->btnconnectie->enabled=true; frmmain->btnsetup->enabled=false; frmmain->btnactive->enabled=false; frmmain->btnreset->enabled=false; //selectie van de juiste poort if(frmmain->rbcom1->checked==true) frmmain->com->devicename="com1"; frmmain->statusbar1->panels->items[0]->text="poort: COM1"; else if(frmmain->rbcom2->checked==true) frmmain->com->devicename="com2"; frmmain->statusbar1->panels->items[0]->text="poort: COM2"; else if(application->messagebox("er zijn geen seriële poorten gevonden of deze zijn al in gebruik door een ander programma.\nhet programma draait nu in simulatie.", "Waarschuwing: COM-poort is niet vrij!", MB_OK + MB_ICONWARNING + MB_DEFBUTTON1) == IDOK) 30

31 frmoptions->cbsimulatie->checked=true; frmoptions->formcreate(0); //FormCreate wordt herhaald, maar komt hier nadien terug, dus hier mag geen code meer komen! else frmmain->btnsetup->enabled=true;//bruikbaar maken voor simulatie. frmmain->btnactive->enabled=true; frmmain->btnreset->enabled=true; frmmain->statusbar1->panels->items[1]->text="controller: wordt niet gebruikt (softwaresimulatie)"; frmmain->statusbar1->panels->items[0]->text="poort: \\"; frmmain->caption="servomotorsturing voor FT639 interface simulatie"; frmmain->btnconnectie->enabled=false; void fastcall TfrmOptions::btnOKClick(TObject *Sender) if(frmoptions->cbsimulatie->checked==true && veranderd%2==1 && frmmain- >btnactive->down==true)// veranderd kijkt als je iets aangepast hebt. if(application->messagebox("wilt u de motoren stilleggen vooralleer naar simulatie te gaan?", "Vraag", MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1)==IDYES) try frmmain->com->active=true; frmmain->com->writebyte(122); catch(...)//melden dat motoren niet konden stil worden gelegd. Application->MessageBox("De controller kon niet bereikt worden. De seriële poort is mogelijk in gebruik door een ander programma.", "Fout", MB_OK + MB_ICONERROR + MB_DEFBUTTON1); if(veranderd%2==1 veranderdcbcts%2==1) frmmain->disconnect(0);//alles afleggen vóór naar simulatie te gaan. FormCreate(0);//Instellingen doen afhankelijk v/d checkboxes. frmmain->btnconnectclick(0);//opnieuw connectie maken. if(frmoptions->rgsaveconfig->itemindex==1) iofile.open("config.ini", ios::binary ios::in ios::out); if(!iofile)application->terminate(); if(frmoptions->cbsimulatie->checked==true)record.simulatie=1; else record.simulatie=0; if(frmoptions->cbcts->checked==true)record.cts=1; else record.cts=0; iofile.seekg(0); iofile.write((char*)&record, sizeof(settings)); iofile.close(); 31

32 else if(frmoptions->rgsaveconfig->itemindex==0) iofile.open("config.ini", ios::trunc ios::binary ios::out); iofile.close(); void fastcall TfrmOptions::cbSimulatieClick(TObject *Sender) veranderd++; void fastcall TfrmOptions::FormShow(TObject *Sender) veranderd=0; veranderdcbcts=0; void fastcall TfrmOptions::cbCTSClick(TObject *Sender) veranderdcbcts++; Unit3.h #ifndef Unit3H #define Unit3H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ExtCtrls.hpp> class TfrmAbout : public TForm published: // IDE-managed Components TLabel *lblcopyright; TImage *Image1; TLabel *lblversion; TLabel *lbltitle; TLabel *Label3; TLabel *Label4; TLabel *Label5; void fastcall FormClick(TObject *Sender); void fastcall FormCreate(TObject *Sender); private: // User declarations public: // User declarations fastcall TfrmAbout(TComponent* Owner); ; extern PACKAGE TfrmAbout *frmabout; #endif 32

33 5.4.7 Unit3.cpp #include <vcl.h> #pragma hdrstop #include "Unit3.h" #include "Unit1.h" #include "Unit2.h" #pragma package(smart_init) #pragma resource "*.dfm" TfrmAbout *frmabout; fastcall TfrmAbout::TfrmAbout(TComponent* Owner) : TForm(Owner) void fastcall TfrmAbout::FormClick(TObject *Sender) frmabout->close(); void fastcall TfrmAbout::FormCreate(TObject *Sender) Label3->Width=frmAbout->ClientWidth; Label5->Width=frmAbout->ClientWidth; 6. De draadloze seriële dataoverdracht (m.b.v. het ER400TRS IC) Om de servocontroller te besturen, maken we een verbinding met de seriële poort van de PC. Als je het project wil toepassen op een bepaalde afstand van je PC kan je beter draadloos werken. Hiervoor komt de ER400TRS van pas. Een leuk voordeel is dat je met deze kits zowel data kan verzenden als ontvangen. Dan kan je kiezen welke kit je als transmitter en welke je als receiver gebruikt. Eén kit wordt aangesloten op de PC, de andere aan het printje. Het is aan te raden eerst de communicatie tussen 2 pc s te testen, zo weet je tenminste wat de ontvanger krijgt. Je moet ook de juiste kabels gebruiken. Dit hangt af van je instellingen of de kits en op PC. Hier zullen we niet echt diep op ingaan, want het draadloos deel is slechts een extra optioneel onderdeel van deze GIP. Toch vond ik het interessant dit eens te integreren om een idee te krijgen van de complexiteit hiervan. De kits moeten gevoed worden, maar echt veel verbruiken ze niet. Je kunt ze eventueel op batterij aansluiten In ontvangstmode verbruiken ze ongeveer 12,5mA. Ik heb ondervonden dat je de kits best apart voedt. De instellingen veranderen soms als je de voeding die naar de print gaat, deelt met de kit. In de ER400TRS-02 reeks zijn dergelijke problemen zoals verlies van instellingen verholpen. Belangrijk: De CTS-lijn kan bij draadloze overdracht niet gebruikt worden voor controle op de voedingsspanning! De kits gebruiken deze lijnen zelf voor hun onderlinge communicatie. De software (FT639 Control Panel) is niet in staat te bepalen als je de kits gebruikt of niet, 33

34 dus moet je bij draadloze overdracht de optie Controle op de voedingsspanning uitschakelen. Als we met de draadloze kits werken, moeten we eigenschappen als baudrate, stopbits e.d. ook nog per kit instellen. Er is hiervoor een programmaatje beschikbaar waarmee je dit kan instellen: Easy-Radio MyLPRS. Figuur 6.1: Easy Radio MyLPRS software Deze software kan ook de volgende generatie van deze tranceivers aansturen, dus krijg je enkele opties die je bij de gewone ER400TRS-kits niet kan gebruiken. Een overzicht van de software en zijn commando s kan je vinden in de datasheets: ER400TRS Software Guide en LPRS commands. De kits stel je best apart in. Zorg dat slechts degene die je instelt voeding krijgt, zodat er geen communicatie optreedt die je instellingen zou kunnen verstoren. Alle gangbare instellingen zoals baudrate, flow control e.d. moeten nu ook op de kits ingesteld worden. Aangezien onze communicatie in één richting verloopt (simplex) en we rechtdoor kabels gebruiken, kunnen we handshaking afleggen en de test mode op RAW RX Data Test zetten. Zorg ook dat de frequentie bij beide kits dezelfde is. 34

S88XPressNetLI v1.0. Installatie- en gebruikershandleiding en naslagwerk KDesign Electronics, PCB ontwerp door RoSoft

S88XPressNetLI v1.0. Installatie- en gebruikershandleiding en naslagwerk KDesign Electronics, PCB ontwerp door RoSoft S88XPressNetLI v1.0 Installatie- en gebruikershandleiding en naslagwerk. 2008 KDesign Electronics, PCB ontwerp door RoSoft 3.3 De S88XpressNetLI verbinden met de ROCO versterker Aangezien de S88XpressNetLI

Nadere informatie

LocoServo Handleiding

LocoServo Handleiding LocoServo Handleiding HDM12 Disclaimer van Aansprakelijkheid: Het gebruik van alle items die kunnen worden gekocht en alle installatie-instructies die kunnen worden gevonden op deze site is op eigen risico.

Nadere informatie

Velbus DIN-rail RS232 & USB interface

Velbus DIN-rail RS232 & USB interface VMBRSUSB Velbus DIN-rail RS232 & USB interface 1 INHOUD Eigenschappen... 3 Velbus... 3 RS232C... 3 USB... 3 Aansluiting... 4 Aansluiting van het velbus...4 Externe seriële aansluiting... 5 Verbinding met

Nadere informatie

Locobuffer Handleiding

Locobuffer Handleiding Locobuffer Handleiding HDM09 Disclaimer van Aansprakelijkheid: Het gebruik van alle items die kunnen worden gekocht en alle installatie-instructies die kunnen worden gevonden op deze site is op eigen risico.

Nadere informatie

RGB wand bedieningspaneel DMX sturing en PWM output

RGB wand bedieningspaneel DMX sturing en PWM output RGB wand bedieningspaneel DMX sturing en PWM output Mooi afgewerkt wandpaneel voor de bediening van RGB led strips Touch bediening 2 opties: rechtstreekse bediening + aansturing of bediening via het DMX-512

Nadere informatie

LocoServo Handleiding

LocoServo Handleiding LocoServo Handleiding HDM12 Disclaimer van Aansprakelijkheid: Het gebruik van alle items die kunnen worden gekocht en alle installatie-instructies die kunnen worden gevonden op deze site is op eigen risico.

Nadere informatie

IDAgeChecker BDX118T11xx Manual V02.00

IDAgeChecker BDX118T11xx Manual V02.00 XLN-t bvba Hoogstraat 52 B 2580 Putte-Beerzel Belgie - Belgium tel +32 (0) 15 24 92 43 fax +32 (0) 15 25 10 58 RPR Mechelen BTW BE 423 212 087 Bank 733-2011497-38 IDAgeChecker BDX118T11xx Manual V02.00

Nadere informatie

DIGITALE MODE MET POWER SDR

DIGITALE MODE MET POWER SDR DIGITALE MODE MET POWER SDR Als u een SDR tranceiver of ontvanger in gebruik heeft, is het misschien ook leuk om de digitale modi zoals BPSK31, RTTY enz. enz. te kunnen ontvangen en zenden. We beperken

Nadere informatie

Gebruiksaanwijzing AVR910 USB Programmer

Gebruiksaanwijzing AVR910 USB Programmer TECHNISCH INSTITUUT SINT-PAULUS Kruisven 25 2400 Mol Gebruiksaanwijzing Schooljaar 2007-2008 Studierichting EE Gebruiksaanwijzing AVR910 USB Programmer Geïntegreerd in AVR-DevL Board Jan Cools Projecten

Nadere informatie

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8 9600 bps RS-232 interface voor uitlezing van Ontvangen RC5 codes Led aanduiding bij ontvangst van Infrarood pulsen Led aanduiding goede werking Interne firmware Inwendige oscillator Weinig externe componenten

Nadere informatie

Vermogen Elektronica : Stappenmotor

Vermogen Elektronica : Stappenmotor Naam : Sven Martens / Rob Nijs Nr : 07 /09 Datum : 8/12/04 Vermogen Elektronica : Stappenmotor 1 1 De stappenmotor De stator bevat een aantal spoelen en om de rotor te laten draaien moeten deze spoelen

Nadere informatie

Trea Winter van Faassen Joost van den Brink

Trea Winter van Faassen Joost van den Brink Colofon Auteur: Eindredactie: Jaap Jan de Jong Thijs A. Afman Trea Winter van Faassen Joost van den Brink Dit is een uitgave van Brink Technical Solutions BV 2008. Deze uitgave mag vrij worden gekopieerd

Nadere informatie

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT Geschreven door: Tom Vocke Datum: 28-09-2010 Inleiding: Dit document bevat alle hardware informatie betreffende de AVR-Doper mini. Het eerste deel zal zich

Nadere informatie

Informatiebundel ADuC832 Motor interface bord MGM/[dp]

Informatiebundel ADuC832 Motor interface bord MGM/[dp] Het ADuC832 Motor interface bord. Het ADuC832V2.0 motor interface bord heeft als doel: Een DC motor en een stappenmotor, die op het motor interface bord gemonteerd zijn, te kunnen aansturen met een ADuCV2.0/V1.1

Nadere informatie

Besturingspaneel v Raam E-systeem functie omschrijving v109

Besturingspaneel v Raam E-systeem functie omschrijving v109 Besturingspaneel v Raam E-systeem functie omschrijving v109 Aantal druktoetsen: 4 stuks met de volgende functies: On/off toets voor in- en uitschakelen, toets 1 laagste vermogen, 2 midden stand, 3 max.

Nadere informatie

Seriële bluetooth verbinding ATmega128

Seriële bluetooth verbinding ATmega128 Opdracht2 Bij deze opdracht worden verschillende taken gemaakt. De taken communiceren onderling met elkaar via een message queue of synchroniseren met elkaar via semaforen. A: Maak een taak aan die de

Nadere informatie

In dit artikel zal ik u uitleggen hoe u rechtstreeks vanuit Troublefree Retail kan afdrukken

In dit artikel zal ik u uitleggen hoe u rechtstreeks vanuit Troublefree Retail kan afdrukken Auteur: Evert-Jan Steenvoorden Datum: 24-06-2015 Printers configureren In dit artikel zal ik u uitleggen hoe u rechtstreeks vanuit Troublefree Retail kan afdrukken Wat heb je nodig Om rechtstreeks af te

Nadere informatie

GEÏNTEGREERDE PROEF. VTI Sint-Laurentius. Pakketweegschaal. Industriële informatie & communicatietechnologie SCHOOLJAAR 2010-2011.

GEÏNTEGREERDE PROEF. VTI Sint-Laurentius. Pakketweegschaal. Industriële informatie & communicatietechnologie SCHOOLJAAR 2010-2011. VTI Sint-Laurentius De school voor Wetenschap, Techniek en Technologie Pr. Thuysbaertlaan 1 9160 Lokeren www.vti-lokeren.be info@vti-lokeren.be GEÏNTEGREERDE PROEF Pakketweegschaal Industriële informatie

Nadere informatie

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files 1 Introductie In deze oefening zal je je LCD display leren aansturen. Je controleert deze display door er instructies naar te

Nadere informatie

Installatie responsbox bij Windows XP en Windows Vista

Installatie responsbox bij Windows XP en Windows Vista 1 Installatie responsbox bij Windows XP en Windows Vista Gebruik de USB-kabel om de responsbox aan te sluiten op de computer. De kabel kan rechts achter in de responsbox aangesloten worden. De kabel steekt

Nadere informatie

GPS repeater. Inleiding

GPS repeater. Inleiding NASA GPS repeater Inleiding De Clipper GPS repeater wordt geleverd met 10 meter kabel, een 9 pins RS 232 connector en een 12 Volt voedingkabel. Het apparaat neemt gegevens over zoals verzonden door een

Nadere informatie

INHOUDSTAFEL... 2 VOORWOORD... 3 INLEIDING... 4 GEBRUIK VAN MOTOREN... 9 DE HERHAALFUNCTIE... 10 ZELF EEN BLOK MAKEN... 11

INHOUDSTAFEL... 2 VOORWOORD... 3 INLEIDING... 4 GEBRUIK VAN MOTOREN... 9 DE HERHAALFUNCTIE... 10 ZELF EEN BLOK MAKEN... 11 BASISCURSUS INHOUDSTAFEL INHOUDSTAFEL... 2 VOORWOORD... 3 INLEIDING... 4 DE SCHERMINDELING... 4 DE ROBOT EDUCATOR... 5 HET PROGRAMMEERVENSTER... 5 DE KNOPPEN EN BLOKKEN... 6 OPDRACHTEN... 8 GEBRUIK VAN

Nadere informatie

Installatiehandleiding

Installatiehandleiding LC-Products B.V. tel. (+31) 088-8111000 fax. (+31) 088-8111009 email: info@lc-products.nl website: www.lc-products.nl LC-Products B.V. All rights reserved. No part of this publication may be reproduced

Nadere informatie

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler 1) Standaard interface (EA-INT) Oud model. 2) Universele interface (EA-INT-U) Nieuw model. Beide interfaces hebben een DB9 (9 pins) connector en uw PC heeft een RS232 seriële poort nodig. Escort ilog Dataloggers

Nadere informatie

DATA SHEET C2-20. Besturing voor elektrische actuators. DATA SHEET C2-20 A&E Trading b.v. 1

DATA SHEET C2-20. Besturing voor elektrische actuators. DATA SHEET C2-20 A&E Trading b.v. 1 DATA SHEET C2-20 Besturing voor elektrische actuators DATA SHEET C2-20 A&E Trading b.v. 1 C2-20 De C2-20 biedt geavanceerde positionering en controle van actuators door middel van eenvoudige en flexibele

Nadere informatie

Installatie-instructies

Installatie-instructies Installatie-instructies Inhoud Software installeren 2 Hoe installeer ik Coach Junior voor het VMBO? Software instellen 4 Wat moet ik instellen zodat de software goed werkt? Hardware aansluiten 6 Mogelijke

Nadere informatie

Deze handleiding is alleen bedoeld voor flightsimulatie doeleinden en mag NOOIT worden gebruikt in een echt vliegtuig. De auteurs zijn niet

Deze handleiding is alleen bedoeld voor flightsimulatie doeleinden en mag NOOIT worden gebruikt in een echt vliegtuig. De auteurs zijn niet Deze handleiding is alleen bedoeld voor flightsimulatie doeleinden en mag NOOIT worden gebruikt in een echt vliegtuig. De auteurs zijn niet aansprakelijk voor fouten en eventueel andere schade. Voorwoord

Nadere informatie

Gebruikershandleiding MJK Link 2.15 Index

Gebruikershandleiding MJK Link 2.15 Index Gebruikershandleiding MJK Link 2.15 Index 1 Inleiding 2 Opstarten MJK link 2.15 3 Keuze van Hardware 4 Set-up van een nieuw processcherm. 5 Instellen communicatie 6 Bestand openen 7 Verbinding maken met

Nadere informatie

12.1 Input/output-kaart IOK. Informatieblad 12 input/output-kaart versie 1.0. Beperking aansprakelijkheid

12.1 Input/output-kaart IOK. Informatieblad 12 input/output-kaart versie 1.0. Beperking aansprakelijkheid Beperking aansprakelijkheid De aansprakelijkheid van het bestuur van de HCCM is beperkt als omschreven in informatieblad 1 12 Input/output-kaarten De uitgangen van de input/output-kaart (IOK) hebben dezelfde

Nadere informatie

MiniPlex-41 NMEA-0184 multiplexer Handleiding

MiniPlex-41 NMEA-0184 multiplexer Handleiding MiniPlex-41 NMEA-0184 multiplexer Handleiding MiniPlex-41, V1.0 Firmware V1.10 CustomWare, 2002 Inleiding De MiniPlex-41 is een vierkanaals datamultiplexer, waarmee u meerdere NMEA-0183 instrumenten op

Nadere informatie

voordat we verder gaan raad ik aan om in ieder geval te zorgen dat je het volgende hebt:

voordat we verder gaan raad ik aan om in ieder geval te zorgen dat je het volgende hebt: Inleiding Dit artikel is geschreven om enige hulp te bieden bij het "debuggen" van de K8048 Beide zijn zelfbouwkits van velleman en zijn bedoeld voor het programeren Dit artikel is geschreven omdat er

Nadere informatie

GEINTEGREERDE PROEF DE COMPUTER ALS TV AFSTANDSBEDIENING

GEINTEGREERDE PROEF DE COMPUTER ALS TV AFSTANDSBEDIENING 7 IC De Computer als TV afstandsbediening - 1 - KTA-Gent GEINTEGREERDE PROEF DE COMPUTER ALS TV AFSTANDSBEDIENING Arnoud De Kemel Industriële Computertechnieken Schooljaar 2004-2005 7 IC De Computer als

Nadere informatie

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Handleiding bij het gebruik van een microcontroller in het Accelerometerproject (Project II) Er zijn speciaal voor het Accelerometerproject

Nadere informatie

Minimum vereisten. Connectie met RPS. PC: Windows Vista (RPS 5.6); Windows XP SP2 ; Windows 2000 SP4 ;.NET ; MSXML (laatste 2 zijn meegeleverd op CD)

Minimum vereisten. Connectie met RPS. PC: Windows Vista (RPS 5.6); Windows XP SP2 ; Windows 2000 SP4 ;.NET ; MSXML (laatste 2 zijn meegeleverd op CD) Minimum vereisten PC: Windows Vista (RPS 5.6); Windows XP SP2 ; Windows 2000 SP4 ;.NET ; MSXML (laatste 2 zijn meegeleverd op CD) Centrale: Easy versie 2.xx RPS: RPS versie 5.4 of hoger Standaard Login

Nadere informatie

Installatiehandleiding

Installatiehandleiding LC-Products B.V. tel. (+31) 088-8111000 email: info@lc-products.nl website: www.lc-products.nl LC-Products. All rights reserved. No part of this publication may be reproduced in any form or by any means

Nadere informatie

Problemen met de stand-by tijd van uw iphone met ios 7.

Problemen met de stand-by tijd van uw iphone met ios 7. Problemen met de stand-by tijd van uw iphone met ios 7. versie 1.2 - februari 2014 Inleiding Voor u ziet u nu het document Problemen met de stand-by tijd van uw iphone met ios 7. Dit document is u aangeleverd

Nadere informatie

Arduino CURSUS. door Willy - 09-juni-2017

Arduino CURSUS. door Willy - 09-juni-2017 Arduino CURSUS door Willy - w2@skynet.be, 09-juni-2017 OVERZICHT (1) OVERZICHT (2) Historiek Microcontroller (1) Microcontroller (2) Specificaties - Arduino UNO bord Specificaties - ATmega328P chip LET

Nadere informatie

Netwerk Interfacing Data Logging.

Netwerk Interfacing Data Logging. Handleiding Netwerk Interfacing Data Logging. EduTechSoft.nl 2009-2010 H.O.Boorsma. Pagina - 2 - Netwerk Interfacing Data Logging Pagina - 3 - Inhoud Inleiding.... 4 Beschrijving van het programma....

Nadere informatie

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler 1) Standaard interface (EA-INT) Oud model. 2) Universele interface (EA-INT-U) Nieuw model. Beide interfaces hebben een DB9 (9 pins) connector en uw PC heeft een RS232 seriële poort nodig. Escort ilog Dataloggers

Nadere informatie

Boe-Bots - Arduino robots

Boe-Bots - Arduino robots Boe-Bots - Arduino robots Voorbereiding - wat hebben we allemaal nodig? 1) Een laptop met de Arduino IDE 2) Een Boe-Bot 3) Een USB printerkabel 4) De Boe Bot Library én NewPing library. Hier te downloaden.

Nadere informatie

ThoRiTemp. Installatie Handleiding. Versie 1.00 NL

ThoRiTemp. Installatie Handleiding. Versie 1.00 NL ThoRiTemp Installatie Handleiding Versie 1.00 NL Inhoud 1. INLEIDING...3 2. OPZETTEN VAN EEN TEMPERATUURMEETSYSTEEM...4 3. AANLEGGEN SYSTEEM ( CHECKLIST 3 )...5 4. INSTALLATIE VAN DE SOFTWARE ( CHECKLIST

Nadere informatie

Stappenmotor Interface. Controller

Stappenmotor Interface. Controller Besturing In deze moderne tijd zal de besturing geheel elektrisch worden uitgevoerd. De bedoeling is dat er voor ieder afgaand spoor een wisseladres gebruikt worden. Dit betekend dan een reeks van 24 aansluitende

Nadere informatie

Installatie & Snelstart Gids iais Wireless(draadloos) AIS Ontvanger en NMEA Server

Installatie & Snelstart Gids iais Wireless(draadloos) AIS Ontvanger en NMEA Server Installatie & Snelstart Gids iais Wireless(draadloos) AIS Ontvanger en NMEA Server SNELSTART GIDS iais VR1.01 1. Introductie Hartelijk dank voor het aanschaffen van de iais Ontvanger. Het is aan te bevelen

Nadere informatie

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar.

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar. Parallelle poort interface met Visual basic Waarom dit naslagwerk: Ik was zelf een beginner op dit vlak en heb dagen lopen zoeken naar correcte en up to date info inzake de aansturing van pc naar elektronica

Nadere informatie

MULTIMEDIABOX.nl Custom made solutions hardware & software. Advanced Menu

MULTIMEDIABOX.nl Custom made solutions hardware & software. Advanced Menu MULTIMEDIABOX.nl Custom made solutions hardware & software Advanced Menu Datum: 07-06-2011 Versie: V0.01 Auteur: Multimediabox.nl RVB Plaats: Eindhoven 1 Waarschuwing: In dit document kunnen instellingen

Nadere informatie

Opgave 1 Opbouwen van een stappenmotor-systeem

Opgave 1 Opbouwen van een stappenmotor-systeem Opgave 1 Opbouwen van een stappenmotor-systeem Leerdoelen Na het voltooien van deze opgave: Ben je bekend met het veilig opbouwen van een stappenmotor systeem Ben je bekend met de basisprincipes van schema

Nadere informatie

g. Je kan nu door op de play knop te drukken je programma versturen naar de EV3 brick waarna het zal uitgevoerd worden.

g. Je kan nu door op de play knop te drukken je programma versturen naar de EV3 brick waarna het zal uitgevoerd worden. EV3 brick verbinden via bluetooth. 1) Alvorens de LEGO software op te starten kijk je het best of bluetooth op je PC is geactiveerd. Vooral bij laptops schakelt men deze functie vaak uit om batterij te

Nadere informatie

1-poorts RS232 seriële adapter kaart met UART

1-poorts RS232 seriële adapter kaart met UART 1-poorts RS232 seriële adapter kaart met 16950 UART Product ID: PEX1S953LP Met deze RS232 seriële adapterkaart kunt u een RS232 DB9 seriële poort aan uw computer toevoegen, via een PCI Express (PCIe) sleuf.

Nadere informatie

Goedkope RS232. MSX Computer Magazine nummer 53- april Scanned, ocr ed and converted to PDF by HansO, 2001

Goedkope RS232. MSX Computer Magazine nummer 53- april Scanned, ocr ed and converted to PDF by HansO, 2001 Goedkope RS232 MSX Computer Magazine nummer 53- april 1992 Scanned, ocr ed and converted to PDF by HansO, 2001 Van huis uit zijn is de MSX computer voorzien van diverse aansluitingen, zoals de joystick

Nadere informatie

MIDI STURING voor SERVO s

MIDI STURING voor SERVO s MIDI STURING voor SERVO s Vanuit mijn idee om Marieke te maken, een pop die als dirigent optreedt bij het afspelen van MIDI muziek heb ik een schakeling gemaakt die behalve voor zo n pop ook voor andere

Nadere informatie

Montagevoorschriften

Montagevoorschriften Montagevoorschriften BCU Mont_BCU1_NL.Doc 1/9 Inhoudsopgave 1. Montage van de onderdelen... 3 2. Aansluitingen van de 8 polige stekker... 3 3. Aansluitingen van de 10 polige stekker... 4 4. Opstarten...

Nadere informatie

Nieuw toegevoegd: Uitleg driver (her) installeren nadat Windows 8 en Windows 8.1 automatisch de driver heeft geüpdatet.

Nieuw toegevoegd: Uitleg driver (her) installeren nadat Windows 8 en Windows 8.1 automatisch de driver heeft geüpdatet. Bij voorkeur de Sweex CD005 gebruiken bij de communicatie tussen Autokon voor Windows en Uw elektronische systeem. Hier komen bijna geen problemen mee voor als U de handleiding goed opvolgt. Nieuw toegevoegd:

Nadere informatie

12.1 Stapsgewijs uw Bluetooth monitoring systeem installeren.

12.1 Stapsgewijs uw Bluetooth monitoring systeem installeren. Handleiding Monitoring bluetooth De monitoring voor de KLNE Solartec omvormers kan op diverse manieren worden gerealiseerd. De navolgende systemen zijn ter beschikking: 1. Bluetooth draadloos systeem.

Nadere informatie

GIP. De computer gestuurde trein

GIP. De computer gestuurde trein KTA Lindenlei 38 9000 Gent GIP De computer gestuurde trein Brecht Ramon 7 Industriële Computertechnieken Schooljaar 2004-2005 Brecht Ramon De computer gestuurde trein 1 Hoofdstuk 1 1. Projectomschrijving

Nadere informatie

Wireless PC Interface installatie handleiding

Wireless PC Interface installatie handleiding Wireless PC Interface installatie handleiding Alphatronics bv * Watergoorweg 71* 3861MA Nijkerk * Tel.: 033-2459944 * Fax.: 033-2453149 * info@alphatronics.nl SPECIFICATIES Artikel nummer: 007077 Geschikt

Nadere informatie

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015 1 MAKERKLAS WORKSHOP ARDUINO Maandag 7 december 2015 2 AAN DE SLAG! ONDERDELEN Je hebt de beschikking over een Arduino Starter Kit met een heleboel onderdelen. We gaan ze in de ze workshop niet allemaal

Nadere informatie

PWM50/3. Dubbele motor sturing. DIGITAAL HANDLEIDING. Motion Control Systems

PWM50/3. Dubbele motor sturing. DIGITAAL HANDLEIDING. Motion Control Systems PWM50/3 Dubbele motor sturing. DIGITAAL HANDLEIDING Touwslagerij 19 4762AT Zevenbergen Nederland www.motion.nl info@motion.nl tel: 00 31 168 325077 fax: 00 31 168 328134 Inhoudsopgave: INHOUDSOPGAVE:...1

Nadere informatie

Handleiding: instelling en werking E-Drive LCD display

Handleiding: instelling en werking E-Drive LCD display Handleiding: instelling en werking E-Drive LCD display 1 Product en type naam 1.1 Intelligent LCD Display 1.2 Model: APT12LCD800S 2 Elektrische Parameters 24V/36V/48V batterij ondersteuning Rated operating

Nadere informatie

Aansluiten en configureren stofsensor

Aansluiten en configureren stofsensor Aansluiten en configureren stofsensor RIVM, 13 December 2017, versie A LEES DEZE HANDLEIDING GOED EN VOLLEDIG DOOR! Inleiding Deze korte handleiding beschrijft het aansluiten en configureren van een simpele

Nadere informatie

HANDLEIDING Windows XP Deel 1

HANDLEIDING Windows XP Deel 1 HANDLEIDING Windows XP Deel 1 Bureaublad en Beeldscherm aanpassen Gemaakt door: De Spanjehelpdesk http://www.spanjehelpdesk.nl Voorwoord Windows XP is het besturingssyteem van uw PC. Het besturingssysteem

Nadere informatie

Koppelen Centix Datacollecter aan RS-232 device d.m.v. de W&T 58631

Koppelen Centix Datacollecter aan RS-232 device d.m.v. de W&T 58631 Pagina 1 van 11 pagina s. Koppelen Centix Datacollecter aan RS-232 device d.m.v. de W&T 58631 Het is mogelijk om het Centix datacollector (DC) werkstation direct aan te sluiten op het RS-232 device, zonder

Nadere informatie

Opgave 1 Opbouwen van een servomotor-systeem

Opgave 1 Opbouwen van een servomotor-systeem Opgave 1 Opbouwen van een servomotor-systeem Leerdoelen Na het voltooien van deze opgave: Ben je bekend met het veilig opbouwen van een servomotor systeem Ben je bekend met de basisprincipes van schema

Nadere informatie

Uitleg van de Systeeminstellingen in Ubuntu.

Uitleg van de Systeeminstellingen in Ubuntu. Uitleg van de Systeeminstellingen in Ubuntu. In Windows kun u in het configuratiescherm de computer aanpassen naar uw wensen. In Ubuntu heet dit Systeeminstellingen. Ik zal in deze handleiding de meest

Nadere informatie

Het koppelen van de Wago aan de AC500-eco via Modbus RTU. A quick start guide. Jaap Ruiten

Het koppelen van de Wago aan de AC500-eco via Modbus RTU. A quick start guide. Jaap Ruiten Het koppelen van de Wago 750-315 aan de AC500-eco via Modbus RTU. A quick start guide Jaap Ruiten Het koppelen van de Wago 750-315 aan een AC500-eco plc. Solar TPS 1 dinsdag 4 februari 2014 Inhoudsopgave

Nadere informatie

DinaSys Turntable Controller

DinaSys Turntable Controller DinaSys Turntable Controller Interface specificaties 1.2 (DTC, DTS en DTZ) 1 Datum: 29 april 2012 Versie: Concept Auteur: Albert Sanders Communicatie. PC USB - RS232 DTC DTS / DTZ Uitbreiding De PC wordt

Nadere informatie

A R D U I N O. addendum bij: Leren programmeren, meten en sturen met de Arduino. 3 e druk INHOUD

A R D U I N O. addendum bij: Leren programmeren, meten en sturen met de Arduino. 3 e druk INHOUD addendum bij: Leren programmeren, meten en sturen met de Arduino 3 e druk A R D INHOUD Errata Aanwijzigen en tips (inclusief errata) Basisset en aanvullingsset U I N O 2 Errata derde druk Pag. 71, afbeelding

Nadere informatie

Logo quiz Project Inleiding op de Logo!

Logo quiz Project Inleiding op de Logo! Logo quiz Project Inleiding op de Logo! Project ontwikkelt door: Tim van Schuylenburg Ben van Kruisbergen Inhoudsopgave Projectbeschrijving en Planning 2 Blz. De benodigdheden en aansluitschema 4-8 Complete

Nadere informatie

www.gpscenter.be Installeren van een software update in je Garmin GPS

www.gpscenter.be Installeren van een software update in je Garmin GPS www.gpscenter.be Installeren van een software update in je Garmin GPS Indien nodig stelt garmin een nieuwe software versie ter beschikking voor je GPS. Deze verbeterde versie bevat doorgaands een aantal

Nadere informatie

Snel aan de slag met de Mini Squirrel datalogger

Snel aan de slag met de Mini Squirrel datalogger Snel aan de slag met de Mini Squirrel datalogger Datalogger type: MS47 MS47 Mini Squirrel datalogger is een datalogger voor het controleren van het binnenklimaat op de volgende parameters: Relatieve vochtigheid,

Nadere informatie

Formulieren maken met Dreamweaver CS 4/CS 5

Formulieren maken met Dreamweaver CS 4/CS 5 Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit

Nadere informatie

VTI Sint-Laurentius De school voor Wetenschap, Techniek en Technologie Pr. Thuysbaertlaan 1 9160 Lokeren www.vti-lokeren.be info@vti-lokeren.

VTI Sint-Laurentius De school voor Wetenschap, Techniek en Technologie Pr. Thuysbaertlaan 1 9160 Lokeren www.vti-lokeren.be info@vti-lokeren. VTI Sint-Laurentius De school voor Wetenschap, Techniek en Technologie Pr. Thuysbaertlaan 1 9160 Lokeren www.vti-lokeren.be info@vti-lokeren.be GEÏNTEGREERDE PROEF Automatische schuifdeur Industriële informatie

Nadere informatie

Installatiehandleiding Kassa-betaalautomaat koppeling

Installatiehandleiding Kassa-betaalautomaat koppeling Telefoonnummers: Detacom Helpdesk: (0314) 37 28 40 of kijk op www.detacom.nl C.C.V. Servicecenter: (026) 38 49 849 of kijk op www.ccv.nl Voorbereiding: 1. Zorg ervoor dat u in het bezit bent van een kabel

Nadere informatie

Beginnersles 2 Computerles Windows 7

Beginnersles 2 Computerles Windows 7 Beginnersles 2 Computerles Windows 7 Ik geef hier nogmaals een overzicht van de belangrijkste Toets-Combinaties: (Ik gebruik ze al jaren, en heb daar veel gemak van ) Ctrl + A = Selecteren Ctrl + C = Kopiëren

Nadere informatie

Installatie van Linux Mint 13

Installatie van Linux Mint 13 Installatie van Linux Mint 13 De installatie van Linux Mint 13 is zeer eenvoudig. Download de Mint 13 DVD ISO image van http://www.linuxmint.com/download.php en brand deze op een dvd en start uw computer

Nadere informatie

Handleiding voor installatie en gebruik van

Handleiding voor installatie en gebruik van Handleiding voor installatie en gebruik van Opticon OPN-2001 Data Collector Inhoud pakket: - OPN-2001 - USB Communicatie kabel - Neckstrap Voordat u kunt communiceren met de OPN-2001 dient u de volgende

Nadere informatie

Handleiding Icespy MR software

Handleiding Icespy MR software Handleiding Icespy MR software Versie 4.40.04 Wij danken u voor de aanschaf van deze IceSpy producten en adviseren u om deze handleiding goed door te nemen. 2 INHOUDSOPGAVE: 1. Installeren van de software...

Nadere informatie

Alvorens men het remsysteem kan programmeren, heeft men een aantal gegevens nodig.

Alvorens men het remsysteem kan programmeren, heeft men een aantal gegevens nodig. Programmeren van de remmen; Alvorens men het remsysteem kan programmeren, heeft men een aantal gegevens nodig. 1. Gewicht van de trailer op de assen in onbeladen toestand 2. Gegevens van de loadsensors

Nadere informatie

Installeren van het stuurprogramma USB-Audiostuurprogramma Installatiehandleiding (Windows)

Installeren van het stuurprogramma USB-Audiostuurprogramma Installatiehandleiding (Windows) Installeren van het stuurprogramma USB-Audiostuurprogramma Installatiehandleiding (Windows) Inhoudsopgave Installeren van het stuurprogramma... Pagina 1 Verwijderen van het stuurprogramma... Pagina 3 Problemen

Nadere informatie

2-poort USB naar RS232 RS422 RS485 Seriële Adapter met COM-behoud. StarTech ID: ICUSB

2-poort USB naar RS232 RS422 RS485 Seriële Adapter met COM-behoud. StarTech ID: ICUSB 2-poort USB naar RS232 RS422 RS485 Seriële Adapter met COM-behoud StarTech ID: ICUSB2324852 Met de ICUSB2324852 2-poort USB naar RS232 RS422 RS485 Seriële Adapter met COM-behoud kunt u elk type serieel

Nadere informatie

Installatie handleiding Centrale Deurvergrendeling De Basis unit. Schema type 1

Installatie handleiding Centrale Deurvergrendeling De Basis unit. Schema type 1 Installatie handleiding Centrale Deurvergrendeling De set bestaat uit: 2x Handzender (AB) Kabelboom Basis unit Aansluitmateriaal De Basis unit. Plaats deze in de auto onder het dashboard of in het midden

Nadere informatie

Summa Cutter Tools. 1 Cutter tools. Met dit programma kunnen twee dingen geïnstalleerd worden:

Summa Cutter Tools. 1 Cutter tools. Met dit programma kunnen twee dingen geïnstalleerd worden: Summa Cutter Tools 1 Cutter tools Met dit programma kunnen twee dingen geïnstalleerd worden: 1. Plug-in voor Corel (vanaf versie 11) en Adobe Illustrator (vanaf versie CS). De plug-in voor Corel installeert

Nadere informatie

Spanningdriver LEDVD5CH20A-V7 Real Time Clock met LCD scherm

Spanningdriver LEDVD5CH20A-V7 Real Time Clock met LCD scherm Spanningdriver LEDVD5CH20A-V7 Real Time Clock met LCD scherm Spanningdriver waarbij de uitgangen door de Real Time Clock worden ingesteld door middel van user interface print met LCD display De vijf kanalen

Nadere informatie

U krijgt nu opnieuw beide bestanden op uw scherm : README Setup_ASR_Antenna_Tool_1.0.1 (maar met het logo SR Mecatronic vooraf)

U krijgt nu opnieuw beide bestanden op uw scherm : README Setup_ASR_Antenna_Tool_1.0.1 (maar met het logo SR Mecatronic vooraf) Installeren van de applicatie ASR Antenna Tool 1.0.1 op uw computer (Hiervoor heeft u internet nodig) Installeer bij voorkeur de applicatie op een Laptop. Ga na onze website : www.srmecatronic.com Kies

Nadere informatie

Spanningsdriver 11 WiFi interface met LCD display

Spanningsdriver 11 WiFi interface met LCD display Spanningsdriver 11 WiFi interface met LCD display Spanningsdriver met WiFi en LCD display De Spanningsdriver kan draadloos aangestuurd worden voor als deze in een ruimte geplaatst is waarbij geen besturingsbekabeling

Nadere informatie

VMB1USB. USB-interface voor het VELBUS-systeem. Velbus manual VMB1USB edition 1 rev.1.0

VMB1USB. USB-interface voor het VELBUS-systeem. Velbus manual VMB1USB edition 1 rev.1.0 VMB1USB USB-interface voor het VELBUS-systeem 1 INHOUD Eigenschappen... 3 Velbus data... 3 RS232C... 3 Aansluiting... 4 Afsluiting... 4 Gebruik... 5 2 Eigenschappen: Besturing van het VELBUS-systeem via

Nadere informatie

Wind, Sun & Rain Sensor Instructions

Wind, Sun & Rain Sensor Instructions Awning Instructions Wind, Sun & Rain Sensor Instructions B C D Nederlands Wind, Zon & Regen Sensor Instructies Inhoud Garantie Voordat u de sensor aansluit raden wij u aan de instructies zorgvuldig door

Nadere informatie

Gebruiksaanwijzing stroomprint JGA1009D 1.0L

Gebruiksaanwijzing stroomprint JGA1009D 1.0L Inleiding De Stroomprint is een universele besturingsprint met twee digitale ingangen en twee analoge uitgangen: - Stroom uitgang (4 20mA) - Spanning uitgang (0 5V of 0 10V max 100mA)* * De oudere Printversies

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (6)

De Arduino-microcontroller in de motorvoertuigentechniek (6) De Arduino-microcontroller in de motorvoertuigentechniek (6) E. Gernaat (ISBN 978-90-79302-11-6) 1 De Arduino Programmeeromgeving (IDE) 1.1 Inleiding Als we naar de Arduino site gaan kunnen we daar de

Nadere informatie

Koppelen Centix Datacollecter aan RS-485 device d.m.v. de W&T 58631

Koppelen Centix Datacollecter aan RS-485 device d.m.v. de W&T 58631 Pagina 1 van 10 pagina s. Koppelen Centix Datacollecter aan RS-485 device d.m.v. de W&T 58631 Het is mogelijk om het Centix datacollector (DC) werkstation direct aan te sluiten op de RS-485 device, zonder

Nadere informatie

Het aansluiten van uw Victron op een computer; met VE Bus Quick Configure

Het aansluiten van uw Victron op een computer; met VE Bus Quick Configure Het aansluiten van uw Victron op een computer; met VE Bus Quick Configure Voor het aansluiten van uw Victron op een computer is het volgende belangrijk: - Alleen identieke modellen met VE Bus software

Nadere informatie

LED Digitale display. Algemeen installatiediagram. Sensoren bereik. Display. 0.3-0.0 Gevaar. 1.5-1.1 Veilig. 2.5-1.6 Veilig. 1.0-0.4 Alarm.

LED Digitale display. Algemeen installatiediagram. Sensoren bereik. Display. 0.3-0.0 Gevaar. 1.5-1.1 Veilig. 2.5-1.6 Veilig. 1.0-0.4 Alarm. Algemeen installatiediagram LED Digitale display Display Hoofdunit 2.5-1.6 1.5-1.1 1.0-0.4 Alarm 0.3-0.0 Gevaar Belemmering Achteruitrijdlicht Links Midden links Middel rechts Rechts Sensoren bereik Sensor

Nadere informatie

VMB1BLS 1-kanaals rolluiksturing voor universele montage. Handleiding

VMB1BLS 1-kanaals rolluiksturing voor universele montage. Handleiding VMB1BLS 1-kanaals rolluiksturing voor universele montage Handleiding Inhoud 1. Beschrijving... 3 2. Onderdelen... 3 3. Aansluitschema s... 2 3.1. In een Velbus domotica-installatie... 2 3.2. Standalone...

Nadere informatie

Handleiding: instelling en werking E-Drive LCD display

Handleiding: instelling en werking E-Drive LCD display Handleiding: instelling en werking E-Drive LCD display 1 1 Product en type naam 1.1 Intelligent LCD Display 1.2 Model: APT12LCD800S 2 Elektrische Parameters 24V/36V/48V batterij ondersteuning 1RPLQDOH

Nadere informatie

TRUST AMI MOUSE 250S OPTICAL

TRUST AMI MOUSE 250S OPTICAL 1 Inleiding Deze handleiding is bedoeld voor de gebruikers van de TRUST AMI MOUSE 250S OPTICAL E-MAIL. Hij werkt op zo goed als ieder oppervlak. Wanneer u nieuwe e- mail binnen krijgt geeft de muis een

Nadere informatie

DCC Servo decoder met Arduino voor dummy s

DCC Servo decoder met Arduino voor dummy s DCC Servo decoder met Arduino voor dummy s Auteur: Nico Teering December 2015 Versie: 0.3 Inleiding Het gebruik van een Arduino microcomputer in de modelspoorbouw is bij velen wel bekend. Echter het daadwerkelijk

Nadere informatie

1 van 8 22-2-2012 20:43

1 van 8 22-2-2012 20:43 1 van 8 22-2-2012 20:43 Garmin Basecamp is een gratis software programma van Garmin. Het vergelijkbaar met mapsource, echter met de nieuwe toestellen (oregon, dakota en gpsmap 62) heeft het een aantal

Nadere informatie

2010 Handleiding MS12s

2010 Handleiding MS12s 2010 Handleiding MS12s 2 Inhoudsopgave Voorwoord... 2 Technische specificaties:... 3 Overzicht encoder:... 4 Overzicht decoder:... 5 Inbouwen in zender:... 6 Inbouwen in model... 8 Voorbeelden voor aansluiten

Nadere informatie

BLReactions. Copyright 2016 by B-Logicx. All Rights Reserved.

BLReactions. Copyright 2016 by B-Logicx. All Rights Reserved. Copyright 2016 by B-Logicx. All Rights Reserved. Inhoudstabel Introductie... 3 Starten... 4 Systeemvereisten... 4 Installatie... 4 Bestandslocaties... 4 Gebruikers interface... 5 Verbinding... 6 Statusweergave...

Nadere informatie

HANDLEIDING BEDIENINGSPANEEL

HANDLEIDING BEDIENINGSPANEEL HANDLEIDING BEDIENINGSPANEEL Inhoud INSTALLATIE...2 AANMELDEN...3 WACHTWOORDEN MANAGEN...4 ALARM IN- EN UITSCHAKELEN...6 FUNCTIES...8 SPECIFICATIES...9 WACHTWOORD RESETTEN...9 1 INSTALLATIE Meegeleverd:

Nadere informatie

Gebruiksaanwijzing stroomprint JGA i. Inhoudsopgave

Gebruiksaanwijzing stroomprint JGA i. Inhoudsopgave Inhoudsopgave INHOUDSOPGAVE... 1 INLEIDING... 2 AANSPRAKELIJKHEID EN GARANTIE... 2 AANSLUITGEGEVENS... 3 TOELICHTING... 3 OPEN EN DICHT STURING... 4 AANSLUIT VOORBEELDEN... 4 INSTELLINGEN WIJZIGEN... 5

Nadere informatie