3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de...

96
Karel de Grote-Hogeschool Katholieke Hogeschool Antwerpen Departement Industriële Wetenschappen en Technologie Campus Hoboken 3D Computergestuurde Graveermachine door Thierry LOREYN Promotor: Wim Van Weyenberg Proefschrift tot het behalen van de graad van Bachelor in de Elektronica - ICT, Hoboken, juni 2008

Transcript of 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de...

Page 1: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

Karel de Grote-Hogeschool Katholieke Hogeschool Antwerpen Departement Industriële Wetenschappen en Technologie Campus Hoboken

3D Computergestuurde Graveermachine

door Thierry LOREYN Promotor: Wim Van Weyenberg Proefschrift tot het behalen van de graad van Bachelor in de Elektronica - ICT, Hoboken, juni 2008

Page 2: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT II

Voorwoord

In dit derde en laatste jaar “ bachelor in de Elektronica-ICT “ dienen we een eindwerk te maken. Dit om al de opgedane kennis te beproeven. Hiervoor kregen we een stagebedrijf toegewezen. Echter droomde ik er al lang van om de mechanische achtergrond (elektromechanica in het middelbaar onderwijs) te combineren met de elektronische kennis die we op KdG opdeden. Hiervoor diende ik twee voorstellen in. Het 3D Computergestuurde Graveermachine haalde het. Dit mocht ik als eindwerk ontwerpen, en realiseren. Zo werd KdG mijn stagebedrijf. Met dank aan Dhr. Koen Heylen.

Dankwoord

Graag zou ik in dit dankwoord enkele mensen bedanken.

- Mijn Promotor : Dhr. Wim van Weyenberg voor zijn tijd, en professionele ondersteuning. - Dhr. Koen Soontjens waar ik ook altijd terecht kon. - Dhr. Koen Heylen die het mogelijk maakte om dit ontwerp te realiseren als eindwerk. - Alle andere docenten van de opleiding voor het inzicht in de electronica-ICT - KdG als stagebedrijf voor de aangename werksfeer - Mijn medestudenten voor de leuke jaren die we hadden ! - Mijn zust voor het naleeswerk - Maar vooral ook mijn ouders voor hun steun.

Bedankt !

Page 3: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT III

Opdrachtomschrijving Ontwerp, Constructie en sturing van een 3D graveermachine.

De bedoeling is dat er printplaten (baantjes) kunnen gefreesd worden, maar vooral TEKST en eventueel voorgeprogrammeerde figuren kunnen gegraveerd worden. Hiervoor moet hetvolgende uitgewerkt en ontworpen worden;

• Een mechanische constructie, die een freeskop 3 dimensionaal kan bewegen. Als materiaal worden assen/motoren gebruikt uit verkregen afgedankte toestellen.

De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y- en Z-as moet gebeuren met stappenmotoren.

Voor elke stappenmotor dient een verschillende (elektronische) sturing opgebouwd en uitgewerkt te worden.

• Het moet mogelijk zijn de machine zowel hardwarematig, als softwarematig te sturen. • De machine moet in staat zijn G-Codes te verwerken van CAD-programma’s.

• Het maken van een scriptie, en toelichten van alle elektronica + programatie in detail.

Opm.: De mechanische constructie mag eenvoudig gehouden worden, en moet niet verder toegelicht

worden. (de nadruk ligt op de Elektronica)

Page 4: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT IV

Inleiding

Tijdens het lezen van dit eindwerk zal blijken dat elk onderdeel modulair opgebouwd is. Hierdoor kon tijdens het ontwerp elk onderdeel afzonderlijk op zijn werking getest worden. Na het afwerken van elk onderdeel, werd het samenbracht op het geheel, en weer getest. Pas na een goed resultaat werd het volgende onderdeel vervaardigd. Op deze werkwijze is heel de machine opgebouwd. De volgorde waarmee de verschillende hoofdstukken zullen worden behandeld zijn gelijk aan de opbouwvolgorde van de machine, met uitzondering van de voeding.

Wat is er terug te vinden in dit eindwerk en wat niet?

Elk onderdeel is eerst uitvoerig getest op breadboard, en vervolgens op PCB vervaardigd. Uiteraard was niet alles op breadbord meteen een succes, sommige schakelingen zijn na testen aangepast. Andere zijn gewoon gestopt wegens slechte werking, en hernomen.

Enkel wat werkt, en dus uiteindelijk op PCB gekomen is heb ik beschreven ! Al (de miserie ) wat aan de werking vooraf ging niet !

Besluit • De machine wordt compacter (opplooibaar) als de brug naar Y-Z-slede wordt doorgezaagd, en

vervolgens scharnierend wordt opgesteld. (Dit is iets voor na de presentatie) • Met onderdelen uit afbraak (en bij houden) kan veel geld worden bespaard.

• De assen waarover de sleden geleiden zijn niet echt zwaar genoeg om zwaar freeswerk te doen,

eveneens de motoren die ze aandrijven. Dit kan opgelost worden door krachtigere motoren. • De X-slede wordt bewogen door middel van een snaar, wat handig is omdat de slede snel met

de hand kan worden verschoven. Echter is dit niet zo nauwkeurig als schroefdraad. • Bij vervaardiging van een eventuele volgende gelijkaardige machines, kunnen alle

componenten bijeengeperst worden op één kant en klare print, en is modulaire opbouw niet meer nodig.

• De stuurschakeling met mosfets levert het beste resultaat van de drie. (Y-AS) • De stuurschakeling met mosfets, is tevens ook de goedkoopste, althans als je rekening houd

met het koelelement dat niet moet worden gebruikt/gekocht. • De dimmer voor de freeskop zou eigenlijk weldegelijk moeten uitgevoerd worden met een

filternetwerk (spoel) althans als storingen/ruis belangrijk is om te vermijden (altijd). • Ipv. op zoek te gaan naar krachtigere stappenmotoren, kan het geheel ook gestuurd worden

doormiddel van DC motoren een daarop een terugkoppeling realiseren. (soort servo) Let wel: Hierdoor veranderd bijna heel het ontwerp…

Page 5: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT V

Samenvatting (Abstract) 3D computergestuurde graveermachine gelijkaardig aan een klein CNC frees machientje.

De mechanische constructie is zo veel mogelijk uit recyclage onderdelen opgebouwd.

De drie assen worden aangedreven door stappenmotoren, voor elke motor is een driver

voorzien. De drivers zijn opgeboud met H-bruggen. Deze H-bruggen worden elk met hun eigen

microcontroller (µC) gestuurd. De microcontrollers zijn geschreven in de C-taal. De machine

kan serieel (RS-232) of parallel (LPT) gestuurd worden, dit door middel van G-codes. Via de

parallelle computersturing wordt er gebruik gemaakt van bestaande CNC software. Optisch

ontkoppeling is voorzien, zodat de pc niet rechtstreeks in verbinding staat met de machine.

Ook is er een manuele bediening voorzien, de keuze tussen computersturing en manuele

bediening wordt gemaakt met een multiplexer (MUX). Op het LCD scherm kan

statusinformatie afgelezen worden. Met de dimmer kan de snelheid van de freeskop geregeld

worden. De optionele stofzuiger, en freeskop kunnen aangezet worden met de one-toutch

schakeling (flipflop geheugen).

Het geheel is gevoed met een ATX computervoeding.

Als extra-tje is een eigen interface (in VB) en eigen postprocesor (in C) geschreven. Hiermee

kunnen rechte lijnen gegraveerd worden, steunend op het bresenham algoritme.

Page 6: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT VI

Bibliografie

- Vanheste J., Het handboek voor Internet- en Intranet-technologie,

derde druk, Pearson Education Benelux, 2004

- Pollefiet J., Elektronische vermogencontrole, zesde druk, Academia Press, 2004

- Soontjens K., Digitale Elektronica, Hoboken, KdG Departement Industriële wetenschappen en Technologie, 2004

- Maxim Dallas-Semiconducters, Switch Bounce and Other Dirty Little Secrets,

http://www.maxim-ic.com/appnotes.cfm/an_pk/287

- Nanfara F., ea., The CNC Workbook, Addison-Wesley Publishing Compnay, 1994

- Nota van Kelly Ware, KCAM 4 CNC control software,

Revision 4.0.24, Kelly Ware, 2007 (KCAM handleiding) - Uwe Altenburg, “M16C-mini-boardmet grafisch display – programmeerbaar in C en BASIC”

Elektor (Elektuur), Mei 2008, nr. 535, blz. 16-23 - CNCezPRO, “CNC G Codes Definitions Examples Programs Programming Learning Training”,

internet, (april 3008), (http://www.cncezpro.com/gcodes.cfm)

Page 7: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT VII

Inhoudstafel

1. Afspraken ................................................................................................................................................... 10 1.1. Het Assenstelsel ......................................................................................................................................10

2. Mechanische constructie ............................................................................................................................ 11 2.1. Langsrichting (X-as) ...............................................................................................................................12 2.2. Dwarsrichting (Y-as)...............................................................................................................................13 2.3. Hoogterichting (Z-as)..............................................................................................................................14 2.4. Bevestiging Frees....................................................................................................................................15 2.5. Bedieningspaneel ....................................................................................................................................15 2.6. Spanplaat.................................................................................................................................................15

3. De Stappenmotor........................................................................................................................................ 16 3.1. Waarom een Stappenmotor .....................................................................................................................16 3.2. Wat is één stap? ......................................................................................................................................16 3.3. Soorten Stappenmotoren .........................................................................................................................16

3.3.1. Unipolaire Stappenmotor.................................................................................................................17 3.3.2. Bipolaire Stappenmotor ...................................................................................................................17 3.3.3. Compatibiliteit .................................................................................................................................17

4. Stuurlogica................................................................................................................................................ 18 4.1. Unipolaire Stuurlogica ............................................................................................................................18 4.2. Bipolaire Stuurlogica ..............................................................................................................................20

5. De H-brug ................................................................................................................................................. 21 5.1. Werking H-brug ......................................................................................................................................21 5.2. Dubbele H-brug ......................................................................................................................................22

6. De gebruikte motorsturingen (voor mijn ontwerp)................................................................................. 23 6.1. Motorsturing Langsrinchting (X-as) .......................................................................................................23

6.1.1. Het schema ......................................................................................................................................24 6.1.2. De print(PCB)..................................................................................................................................24 6.1.3. Gebruikte componenten...................................................................................................................25

6.2. Motorsturing Dwarsrichting (Y-as) ........................................................................................................26 6.2.1. H-brug PCBy....................................................................................................................................26

6.2.1.1. Het schema ...............................................................................................................................26 6.2.1.2. De print.....................................................................................................................................26 6.2.1.3. Uitleg Schema ..........................................................................................................................27

6.2.2. Logica PCBy ....................................................................................................................................28 6.2.2.1. Schema van het µC bordje .......................................................................................................28 6.2.2.2. Programma voor de µC(PIC16F84A) voor het logica bordje ..................................................29

6.2.3. Gebruikte componenten...................................................................................................................30 6.3. Motorsturing Hoogterichting (Z-as)........................................................................................................31

6.3.1. H-brug PCBz ....................................................................................................................................31 6.3.1.1. Het Schema ..............................................................................................................................31 6.3.1.2. De print.....................................................................................................................................32 6.3.1.3. Uitleg Schema ..........................................................................................................................32

6.3.2. Logica PCBz ....................................................................................................................................33 6.3.2.1. Logica van deze print ...............................................................................................................33 6.3.2.2. Schema van het µC bordje .......................................................................................................33 6.3.2.2. Print van het µC bordje ............................................................................................................33 6.3.2.4. Programma voor de µC(PIC16F84A) ......................................................................................34

6.3.3. Gebruikte Componenten..................................................................................................................35 7. LCD Scherm ............................................................................................................................................. 36 7.1. Wat is een LCD.......................................................................................................................................36 7.2. Aansturing...............................................................................................................................................36 7.3. LCD driver ..............................................................................................................................................36

7.3.1. ControleBus .....................................................................................................................................36 7.3.2. DataBus ...........................................................................................................................................37

7.3.2.1. Werkmodi.................................................................................................................................37 7.3.2.2. Instructiesignalen .....................................................................................................................37

Page 8: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT VIII

7.3.2.3. Datasignalen .............................................................................................................................37

7.4. LCD contrast ...........................................................................................................................................38 7.5. LCD backlight.........................................................................................................................................38 7.6. LCD debuggen ........................................................................................................................................38 7.7. Stuur programma voor LCD scherm.......................................................................................................39

8. De multiplexer .......................................................................................................................................... 40 8.1. Wat is een multiplexer?...........................................................................................................................40 8.2. Toepassingsgebied. .................................................................................................................................40 8.3. Waarom een MUX? ................................................................................................................................40 8.4. Selectingang............................................................................................................................................40 8.5. Schema van de MUX ..............................................................................................................................41 8.6. MUX SN74LS157 ..................................................................................................................................41

8.6.1. Bestaande MUX ..............................................................................................................................41 8.6.2 Inwendig Schema .............................................................................................................................42 8.6.3. Het schema ......................................................................................................................................42 8.6.4. De print ............................................................................................................................................43 8.6.5. Gebruikte componenten...................................................................................................................43

9. Bedieningspaneel ...................................................................................................................................... 44 9.1. Manuele bedieningsprint.........................................................................................................................44

9.1.1. Het schema ......................................................................................................................................44 9.1.2. De print (PCB).................................................................................................................................44 9.1.3. Gebruikte componenten...................................................................................................................44

9.2. One-touch print .......................................................................................................................................45 9.2.1. Opbouw ...........................................................................................................................................45 9.2.2. Werking flipflop ..............................................................................................................................45

9.2.2.1. Mechanische analogie ..............................................................................................................45 9.2.2.2. Elektronische werking..............................................................................................................45 9.2.2.3. D-flipflop..................................................................................................................................47 9.2.2.4. Dual D-Flipflop CD4013BC ....................................................................................................48

9.2.3. Principeschema................................................................................................................................48 9.2.3.1. Dender ......................................................................................................................................49

9.2.4. Het schema ......................................................................................................................................49 9.2.5. De Print............................................................................................................................................50 9.2.6. Gebruikte Componenten..................................................................................................................50

9.3. Dimmer ...................................................................................................................................................51 9.3.1. Werking ...........................................................................................................................................51

9.3.1.1. Triac (TRIode for Alternating Current)....................................................................................51 9.3.1.2. Diac (DIode for Alternating Current).......................................................................................51

9.3.2. Het Schema......................................................................................................................................52 9.3.3. De print ............................................................................................................................................52 9.3.4. Gebruikte componenten...................................................................................................................52

10. Eindeloopschakelaars ............................................................................................................................ 53 10.1. Wat is een eindeloopschakelaar ? .........................................................................................................53 10.2. Interne opbouw lichtsluis. .....................................................................................................................53 10.3. Schakeling.............................................................................................................................................53

10.3.1. Printontwerp ..................................................................................................................................53 10.4. Monteerbare lichtsluis...........................................................................................................................54

10.4.1. Interne opbouw GP1A51HR..........................................................................................................54 10.5. Gebruikte componenten ........................................................................................................................54

11. De microcontroller ................................................................................................................................. 55 11.1. Wat........................................................................................................................................................55 11.2. Voordelen / Nadelen van een µC ..........................................................................................................55

11.2.1. Voordelen ......................................................................................................................................55 11.2.2. Nadelen..........................................................................................................................................56

11.3. Benodigdheden .....................................................................................................................................56 11.3.1. De Programmeer omgeving...........................................................................................................56 11.3.2. De header files ...............................................................................................................................56 11.3.3. De compiler ...................................................................................................................................57

Page 9: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT IX

11.3.4. Programmer Software....................................................................................................................57 11.3.5. Programmer Hardware...................................................................................................................57

11.3.5.1. Programmer Hardware voor de PIC.......................................................................................58 11.3.5.2. Programmer voor de DS89c450 .............................................................................................59

12. De hoofd µC ............................................................................................................................................ 61 12.1. Waarom Dallas Maxim DS89c450 .......................................................................................................61 12.2. Behuizingen ..........................................................................................................................................61 12.3. Aangesloten periferie ............................................................................................................................61 12.4. Het programma .....................................................................................................................................62

13. De Voeding.............................................................................................................................................. 68 13.1. ATX-voeding ........................................................................................................................................68

13.1.1. Waarom ATX-voeding? ................................................................................................................68 13.1.2. De Voedingsconnector (molex) .....................................................................................................68 13.1.3. Soft power on.................................................................................................................................68

14. CNC (Computer Numerical Control) ...................................................................................................... 69 14.1. KCAM...................................................................................................................................................69

14.1.1. Waarom KCAM ............................................................................................................................69 14.1.2. KCAM kalibreren. .........................................................................................................................70

14.1.2.1. Freestafel parameters..............................................................................................................70 14.1.2.2. Parallelle poort parameters .....................................................................................................70 14.1.2.3. Andere parameters..................................................................................................................71

14.2. Andere leuke software ..........................................................................................................................71 14.2.1. DeskEngrave..................................................................................................................................71 14.2.2.. Andere leuke software ..................................................................................................................71

15. Extra’s ..................................................................................................................................................... 72 15.1. Optische ontkoppeling ..........................................................................................................................72

15.1.1. Wat.................................................................................................................................................72 15.1.2. Hoe.................................................................................................................................................72 15.1.3. Werking .........................................................................................................................................72 15.1.4. Het schema ....................................................................................................................................73 15.1.5. De print ..........................................................................................................................................74 15.1.6. Gebruikte componenten.................................................................................................................74

15.2. Seriële aansturing (RS-232) ..................................................................................................................75 15.2.1. Serieel KCAM 4 ...........................................................................................................................75

15.2.1.1.MaxStepper .............................................................................................................................75 15.2.1.2. Eigen CNC software...............................................................................................................76

I. De prints (Op ware grootte) ....................................................................................................................... 81 II. ASCII tabel................................................................................................................................................ 86 III. ASCII tabel voor LCD driver................................................................................................................... 86 IV. Parallelle poort (LPT) .............................................................................................................................. 87 V. Null-modem .............................................................................................................................................. 87 VI. Bresenham testjes .................................................................................................................................... 88 VII. Enkele G-codes coor freesmachines....................................................................................................... 89 VIII. Tools...................................................................................................................................................... 91 VX. Kostprijs ................................................................................................................................................. 92 X. Eindwerk Agenda...................................................................................................................................... 95 XII. Voor geïnteresseerden ............................................................................................................................ 95

Inhoudstafel bijlagen

Page 10: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 10 -

1. Afspraken Alvorens van start te kunnen gaan moeten eerst essentiële afspraken gemaakt worden, die in de verdere opbouw van de machine moeten gerespecteerd worden. Indien dit niet gebeurt, komen er vroeg of laat problemen ! Deze afspraken zijn ‘de standaard’ voor bijna alle CNC freesmachines. Door deze afspraken te respecteren, zullen we later de mogelijkheid hebben, om zonder problemen bestanden en g-codes van allerhande programma’s te importeren, zoals Autocad, Multisim, Protel, graveersoftwaren, enz…

1.1. Het Assenstelsel Het assenstelsel is gebaseerd op ‘De rechterhandregel voor machine coördinaten’. De handpalm licht hierbij horizontaal, terwijl men met de neus voor de machine staat. Men zegt gewoon ‘ X Y Z’ met de bijbehorende beweging.

Let hier vooral op de ‘+’. De richting waarin de vingertop wijst, bepaald de positieve bewegingsrichting van de AS. Bewegen van de vingertop weg, is een negatieve beweging! Het is duidelijk; Als dit principe niet gerespecteerd word, dan wordt het verdere ontwerp een

puinhoop! En dit vooral bij het schrijven van software.

Dus vanaf nu spreken we over MotorX , MotorY en MotorZ (en niet 1 , 2 en 3) X-As Y-As Z-as

Page 11: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 11 -

2. Mechanische constructie De mechanische constructie licht ik even kort toe. Omdat het hier vooral om de aansturing en het elektronische gaat.

De schetsen, technische tekeningen + afmetingen, berekeningen en constructievolgorde zijn hier dus weg gelaten.

Echter kan de elektronica niet zonder de mechanica, vandaar deze korte beschrijving. Bedenkingen vooraf;

In de meeste CNC freesmachines staat de freeskop vast en beweegt de spanklem, meestal door middel van een zwaluwstaartgeleiding. Omdat mijn ontwerp uiteraard geen gigantische machine ging worden, heb ik gekozen om de freeskop te laten bewegen. Zo is er toch de mogelijk om redelijk zware gewichten onder de frees te leggen. (Tevens is er dan de mogelijkheid om stukken onder de freeskop te schuiven). Omdat het te frezen werkstuk niet moet meegetrokken worden, kan alles lichter uitgevoerd worden.

Opm.: Op het moment dat deze foto is genomen, is de machine nog niet helemaal klaar !

Page 12: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 12 -

2.1. Langsrichting (X-as)

De langsinrichting heb ik niet geheel zelf gemaakt. Deze komt uit een oude afgedankte A3-scanner van Agfa. (Van het containerpark van onze school.) Deze is volledig uitgekleed, en een nieuw leven gegeven, al is het enkel maar het onderste gedeelte dat ik ervan gebruikte. (voor de X-inrichting)

De grondplaat zag er als volgt uit;

In het midden een rond geslepen en ondersteunde as, waarop een meenemer geleidt die op een ronde axiale geleider zit. De meenemer wordt meegetrokken door een snaar, de snaar wordt op haar beurt getrokken door de stappenmotor. (zie rechtsachter op de figuur.) Verder zitten aan de zijkant 2 koperen geleiders. Wat zelf bijgebouwd is:

Op de meenemer zit de volger die met kogellagers over de koperen geleiders rolt. (Zoals in de figuur te zien) Achteraf is dit verstevigd met een bijkomende kogellager. Dit om de schokken die veroorzaakt worden tijdens het omkeren van richting op te vangen. Links en rechts zijn hiertegen rechtopstaande profielen bevestigd. Deze vormen de brug naar de Y-inrichting

Aan de grondplaat is het volgende veranderd: - De afmetingen, omdat deze in de PVC voet

zou vallen - Uitsparing voor wegwerken voeding - Gaten voor montage en elektrische leidingen - Versteviging tegen doorbuigen met twee

houten balkjes - Bevestigingsbeugels voor werkoppervlak

Page 13: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 13 -

2.2. Dwarsrichting (Y-as)

De dwarsrichting bestaat zoals te zien op de figuur uit het volgende:

• Een rechthoekig kaderment Dit bestaat uit 4 aan elkaar gelaste L-profielen, waarin gaten voorzien zijn waar de assen is passen.

• 2 assen Afkomstig uit twee printers van HP (690c)

• 1 draadstang De draadstang is op lengte gemaakt en afgedraaid op de maat van de kogellagers. Eerst was het een gewone, maar omdat die roestte, heb ik ze vervangen door een inoxen. Omdat deze inox minder mee plooide, moet de uitlijning perfect zijn!

• 2 lagers Dit zijn twee kleine skf lagers van 6mm binnendoormeter, voorzien van een lagerbeschermerkapje.

• 1 menemer. Dit is een moer die is vastgelast op een plaatje. Zodat het plaatje vooruit of achteruit zal draaien door de verdraaiing van de as.

• 2 geleibusjes die over de assen geleiden. De geleibussen zijn de insteekpinnetjes van automaten (steekzekeringen).

Page 14: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 14 -

2.3. Hoogterichting (Z-as) Op de dwarsrichting zit de hoogterichtig. Deze bestaat uit het volgende:

• Een rechthoekig kaderment. Hierop zijn vier moeren gelast van M10. Hierin zitten de koperen bussen van de zekeringen, die voor een goede geleiding moeten zorgen.

De moeren zijn zoals op de figuur te zien eerst op een metalen plaatje vastgespeet, en daarna terug in lijn gezet om torsie te vermeiden (tijdens het lassen), en dan verder vastgelast. Als deze twee plaatjes af waren, zijn ze met vijsjes(regeling mogelijk) vastgezet op het kaderment. Wanneer de uitlijning goed was, zijn beide plaatjes op het kaderment vastgelast.

• 2 assen De twee assen van de hoogterichting zijn afkomstig van een oud faxtoestel (Container KdG) Om de assen mooi uit te lijnen heb ik twee houten blokjes eerst los door geboord, zodat de gaten in lijn lagen, vervolgens hierover de moeren geschoven, en bijbehorende koperen geleibusjes.

Dan op de 4 moeren het meeneemplaatje vastgelast, hierdoor kan het geheel weer niet wegtrekken tijdens het lassen, en ligt zeker alles in lijn.

• 2 lagers Om de schroefdraad van de Z-inrichting soepel te laten draaien.

• Meenemer Deze is hierboven te zien op de figuur.

Page 15: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 15 -

2.4. Bevestiging Frees De freeskop is een dremel, of een dremel compatibele machine. Deze past in de meenemer die op de Z-slede zit. Tevens heb ik de freeskophouder voorzien van een stifthouder. Het stiftje kan met 2 boutjes vastgezet worden.

2.5. Bedieningspaneel Met het bedieningspaneel kan het volgende gedaan worden: - Bedienen van de 3 assen (zie ‘touch switch’). - Aanzetten Freeskop (zie ‘one touch switch’) - Kiezen tussen manuele en computergestuurde bediening. - Aflezen statusinformatie (zie LCD) - Aanzetten optionele stofzuiger - Contrastregeling van het LCD scherm - Voedingsspanning aan/uit zetten

Opm: Op het toetspaneel links (manuele jogcontrol) moet nog een stikker met pijlen geplakt worden,

zodat de onderliggende toetsen niet meer zichtbaar zijn.

2.6. Spanplaat Met de Spanplaat kunnen werkstukken op de machine gespannen worden, dit door middel van boutjes (M6)

Page 16: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 16 -

3. De Stappenmotor 3.1. Waarom een Stappenmotor

Een stappenmotor maakt stapjes, zoals de naam al deed vermoeden. Dit wil zeggen dat hij niet tegen een constant toerental draait, zoals een gewone DC-motor, maar hij kan dit echter wel. Het voordeel van deze motor is dat hij een aantal stappen kan doorlopen. Zo weten we precies wat de stand van de motor-as is. Doorgaans is een stappenmotor niet zo krachtig. (Met de hand tegen te houden)

Stappenmotors zijn echter geen krachtpatsers. De eisen die aan dit soort motors worden gesteld zijn meestal niet om krachtig te zijn, maar om nauwkeurig te zijn. Toch bestaan er grotere stappenmotoren die een koppel kunnen leveren van meer dan 40Nm.

Let wel: Hoe sneller een stappenmotor draait, hoe minder krachtig hij wordt! Waar te vinden:

Stappenmotoren zijn sowieso altijd te vinden in printers, faxapparaten, plotters, kopieermachines, diskdrives, scanners, enz… Enkel het te leveren koppel kan soms wel onvoldoende zijn om in andere toepassingen te gaan gebruiken… De stappenmotors die ik hier gebruikte zijn afkomstig van een A3scanner en een plotter.

Opm.: Een stappenmotor is geen Servomotor, (Servo’s zijn hier niet besproken). 3.2. Wat is één stap? De Grootte van een stap hangt af van stappenmotor tot stappenmotor. In de meeste gevallen is dit op de kenplaat van de motor af te lezen. Doorgaans zal één stap 1,5° à 1,8° zijn.

Het is echter mogelijk om het aantal graden voor één stap nog eens te halveren dit noemt men “half stepping”, maar daarover later meer.

3.3. Soorten Stappenmotoren

Elke stappenmotor werkt op gelijkspanning. Er bestaan unipolaire en bipolaire stappenmotoren. Komen er 5, 6 of 8 draden uit de stappenmotor, dan is het hoogstwaarschijnlijk een unipolaire stappenmotor. Bezit de motor vier draden dan is het een bipolaire stappenmotor. Om te weten met welke spoeldraad je te doen hebt is uitmeten nodig. Dit wordt duidelijk aan de hand van de figuren op de volgende blz. Opm.: Koop je een nieuwe stappenmotor, dan vind je natuurlijk in de datasheets van de motor de

bijbehorende aansluitingen.

Page 17: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 17 -

3.3.1. Unipolaire Stappenmotor Het voordeel van een unipolaire stappenmotor is dat hij eenvoudig aan te sturen is.

De middenaftakking wordt permanent aan één kant van de voeding gehangen (+ of - klem). De vier andere draden worden dan afwisselend wel of niet bekrachtigd. Het wordt al snel duidelijk dat bij deze schakelwijze de motorwikkelingen niet erg efficiënt gebruikt worden. Er is telkens maar ¼ de van de beschikbare motorspoel bekrachtigd.

Het is niet altijd even duidelijk welke draad bij welke spoel hoort, of welke draad de middenaftakking is. Dit kan gevonden worden door met de multimeter een weerstandsmeting te doen op de draden. Plots zul je op één draad de halve ohmse waarde meten dan op en andere draad, dan heb je de middenaftakking tepakken !

3.3.2. Bipolaire Stappenmotor

Bipolaire stappenmotoren zijn efficiënter in het gebruik van de motorwikkelingen, maar moeilijker aan te sturen dan unipolaire stappenmotoren. Hiervoor zijn twee zogenaamde H-bruggen nodig “Dubbele H-brug” genaamd. (hierover verder meer)

Bipolaire stappenmotoren bezitten 2 wikkelingen zonder middenaftakking. Ze hebben dus 4 aansluitdraden. De wikkelingen worden alternerend in beide stroomzinnen bekrachtigd. De stroomzin moet omgekeerd worden tijdens de werking. Dit vraagt dus een ingewikkeldere stuurprocedure. Tevens is er bij onoplettendheid mogelijkheid tot kortsluiting!

Toch heb ik gekozen voor dit werkingprincipe, de sturing is dan wel veel ingewikkelder, maar de efficiëntie van de motor (dus het koppel) gaat omhoog, daar nu 1/2 de van de motorspoelen gebruikt wordt tijdens één stap. Een goed koppel is in dit ontwerp zeker van belang!

Probleem: Mijn stappenmotoren komen uit recyclage van andere(oudere/defecte) toestellen, ik

had dus geen bipolaire stappenmotor ter beschikking, ik heb er wel bipolaire van gemaakt (zie compatibiliteit).

3.3.3. Compatibiliteit

Opgemerkt dient te worden dat (buiten de ingewikkeldere sturing), de bipolaire motor qua opbouw bijna identiek is aan de unipolaire. Enkel is de unipolaire voorzien van middenaftakking. Door kortsluiten / niet gebruiken van deze middenaftakking kan deze unipolaire motor bipolair werken. => Op de niet gebruikte draden staat wel spanning, isoleren is noodzakelijk ! DUS: Elke Unipolaire motor kan Bipolair werken mits aanpassing wikkelingen.(Omgekeerd niet)

5 draden 6 draden 8 draden

4 draden

Page 18: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 18 -

4. Stuurlogica Aangezien er twee soorten stappenmotoren bestaan, zijn er ook twee soorten stuurlogica. De unipolaire stuurlogica en de bipolaire stuurlogica. In mijn toepassing gebruik ik de bipolaire stuurlogica, maar om deze goed te begrijpen eerst even kort de unipolaire stuurlogica.

4.1. Unipolaire Stuurlogica

Zoals eerder vermeld zijn unipolaire motors eenvoudiger te sturen dan bipolaire. We nemen als voorbeeld de volgende unipolaire motor:

6 draads unipolaire motor met 2x middenaftakking Draad 1 & 2 hangen we aan een kant van de voeding Laat ons de min klem nemen (GND dus). Stel dat de motorspoelen op 12v werken en dat 1a/1b/2a/2b verbonden zijn met de 12volt lijn via 4 schakelaartjes.

Neem aan dat de vier motorspoelen mooi onder een hoek van 90° verdeeld liggen rond de motorkern. Dan moeten we achtereenvolgens afwisselend de 4 schakelaartjes sluiten (telkens één gesloten de overige drie open.) Waarheidstabel;

Stap 1a 1b 2b 2a 1 Toe Open 0pen Open2 Open Toe Open Open3 Open Open Toe Open4 Open Open Open Toe 1 Toe Open Open Open2 Open Toe Open Open3 Open Open Toe Open4 Open Open Open Toe

Wordt deze logica gerespecteerd, dan zal de stappenmotor mooi in één richting draaien. Moest de motor een beetje schokkerig draaien, dan zal waarschijnlijk een van de aansluitdraden verwisseld zijn. Het is duidelijk wanneer alle schakelaars bediend worden alle spoelen bekrachtigd zijn. Nu zal de motor onbeweeglijk vast zitten, dit kan in sommige gevallen nodig zijn. Door één spoel lang te bekrachtigen zal de motor ook vast komen te staan, maar niet zo vast als met vier spoelen. Als alle schakelaars open zijn, zal de motor-as los staan.

Unipolair: 6draden 2x middenaftakking

Page 19: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 19 -

Even ter verduidelijking, de as zal dan volgende standen doorlopen:

Stap 1 Stap 2 Stap 3 Stap 4 Stap 5

Een andere asverdraaiing kan verkregen worden door de schakelaars anders te bedienen. Stap naar links opschuiven of stap naar rechts opschuiven, maar altijd via aangrenzende stappen. In stuurtoepassingen is het uiteraard niet mogelijk om de schakelaartjes met de hand te bedienen. Daarvoor zal een elektronische sturing moeten gemaakt worden, meestal op een PCB’tje (Printed Circuit Board). Het PCB zal dan op zijn beurt via een microcontroller gestuurd worden. Vervolgens zitten we dan niet meer met schakelaars, maar met digitale (binaire) logica. Stel: 1 = Schakelaar Toe 0 = Schakelaar Open Dan krijgen we volgende waarheidstabel:

Deze volgorde dient dan opgenomen te worden in de microcontroller.

Nu buiten de Normale Stap is het ook nog mogelijk om halve stapjes te nemen. De “half step” is de kleinst mogelijke stap.

Het verdere principe blijft hetzelfde, maar nu zal er voor dezelfde asverdraaing te bekomen het dubbel aantal stappen moeten doorlopen worden.

Stap 1a 1b 2b 2a 1 1 0 0 0 2 0 1 0 0 3 0 0 1 0 4 0 0 0 1

Stap 1a 1b 2b 2a 1 1 0 0 0 2 1 1 0 0 3 0 1 0 0 4 0 1 1 0 5 0 0 1 0 6 0 0 1 1 7 0 0 0 1 8 1 0 0 1

Page 20: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 20 -

4.2. Bipolaire Stuurlogica In tegenstelling tot unipolaire motoren zijn bipolaire motoren dus moeilijker aan te sturen. Bipolaire motoren zijn gekend voor hun betere krachtverhouding tot dezelfde motorgrootte. Het probleem is echter dat de stroomzin dient geïnverteerd te worden tijdens zijn werking. Ze hebben echter hetzelfde werkingsdiagram(waarheidstabel) als de unipolaire stappenmotor. Let wel; Nu kan niet meer gesproken worden van schakelaars die open of toe gaan (binair 0/1), maar we moeten hier werken met polariteiten. Praktisch is dit te realiseren met een zogenaamde “dubbele H-brug”. Omdat ik dit principe (dubbele H-brug) bij mijn 3 motorschakelingen gebruik, wordt het volgende hoofdstuk volledig gewijd aan de “H-brug”

Bipolair: 4 draden

Stap 1a 2a 1b 2b 1 + - - - 2 - + - - 3 - - + - 4 - - - +

Page 21: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 21 -

5. De H-brug

De H- brug heeft de vorm van een “H” en bezit vier schakelaars. Hiermee is het mogelijk om de stroom in één motorspoel om te keren. Omdat een bipolaire stappenmotor niet één spoel heeft, maar 2, moeten we de H-brug dubbel uit voeren!

5.1. Werking H-brug

Omdat het werkingsprincipe van de H-brug eenvoudiger uit te leggen is aan de hand van één motorspoel (met dus ook één H-brug) zullen we er even vanuit gaan dat een DC motor dient gestuurd te worden. (Gelijkspanningsmotor met één spoel) Als we de motor(M) willen laten draaien moeten we de schakelaars ( S1 & S4 ) gesloten worden. Willen we de motor de andere kant op laten draaien, dan dienen we schakelaars ( S2 & S3 ) te sluiten. Het is duidelijk dat de schakelaars altijd paarsgewijs dienen bekrachtigd te worden.

Ene kant op draaien Andere kant op draaien

Zoals te zien in bovenstaande figuren zal de motor de ene keer linksom draaien, de andere keer rechtsom draaien. Wanneer alle schakelaars open staan zal de motor tot stilstand komen. Let op: Het is dus zeker niet toegestaan schakelaars S1 & S3 samen te sluiten, of schakelaars

S2 & S4 samen te sluiten, indien dit wel gebeurd zal de zekering getest worden ;-)

Waarheidstabel;

S1 S2 S3 S4 Functie Open Open Open Open Niets Toe Open Open Toe Motor draait ene kant op

Open Toe Toe Open Motor draait andere kant op Toe Open Toe Open Zekeringtest

Open Toe Open Toe Zekeringtest Toe Toe Toe Toe Zekeringtest

Page 22: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 22 -

5.2. Dubbele H-brug Aangezien er in een bipolaire stappenmotor twee motorspoelen zitten, zullen we de H-brug twee keer moeten uitvoeren. Deze moeten volgens een bepaald patroon aangestuurd worden.

Waarheidstabel:

Tevens hier weer op te letten voor kortsluitingen ! Zoals te zien in de waarheidstabel wordt de logica voor één motor al wat complexer, nog niet gesproken dat er met elektronische componenten wordt gewerkt i.p.v. met schakelaars met elektronische componenten gaan werken, die of positieve of negatieve logica zullen hebben, waarover later meer… Daarom brengen fabrikanten driver IC’s op de markt, die de gehele logica voor zich nemen, het enige wat de programmeur dan moet ingeven is; - de klok (Step/Clk) - de richting (DIR)

- Aan/Uit (Enable) Een IC(Integrated Cirquit) maakt het aansturen van een stappenmotor een stuk eenvoudiger. Zo’n volledige driver IC heb ik voor één motor gebruikt; die van de X-richting. De overige twee motoren zijn zelf gestuurd.

Fase 1 Fase 2 Fase 3 Fase 4

Functie S1 S2 S3 S4 S1’ S2’ S3’ S4’ niets Open Open Open Open Open Open Open OpenStap 1 Toe Open Open Toe Open Open Open OpenStap 2 Open Open Open Open Toe Open Open Toe Stap 3 Open Toe Toe Open Open Open Open OpenStap 4 Open Open Open Open Open Toe Toe Open

Page 23: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 23 -

6. De gebruikte motorsturingen (voor mijn ontwerp) Voor de graveermachine waren 3 stappenmotoren nodig (XYZ), dus ook drie motorsturingen. Ze zijn alle drie gestuurd volgens het principe van de “dubbele H-brug”. Om niet drie keer dezelfde schakeling te hebben, heb ik ze op verschillende manieren ontworpen. Elke manier heeft zijn eigen complexiteit, voor- en nadelen. (zie verder)

6.1. Motorsturing Langsrinchting (X-as) Voor mijn eerste motorsturing heb ik het niet al te moeilijk gemaakt. Ik heb gezocht naar een geschikte driver IC en een geschikte H-brug IC. Deze twee logische bouwstenen vormen samen een stappenmotordriver. Aan deze stappenmotordriver moeten dus 3 variabelen doorgestuurd worden: • CLK (Stap pulsen van de motor) • DIR (Draairichting van de motor) • EN (Aan / Uit van de motor )

L297 Stappenmotor Controller

L6203 Dmos H-Bridge (2x nodig)

Het inwendige schema van de L6203 ziet er als volgt uit (dit zal verder toegelicht worden)

Deze IC heeft tevens volgende mogelijkheden: • unipolair / bipolair • normal stepping • wave stepping

Page 24: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 24 -

6.1.1. Het schema Het schema is opgebouwd volgens de regels van de driver(L297) en de H-brug(L6203) Deze staan uitgewerkt in hun datasheets. (zie bijlagen op CD)

Schema (opgebouwd in Multisim)

6.1.2. De print(PCB)

3D design van de Printplaat (zonder koelvin) Achterkant van de Printplaat

Page 25: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 25 -

6.1.3. Gebruikte componenten

In het schema zijn volgende componenten gebruikt:

Component Waarde Aantal prijs/stuk totaal weerstand Ω 2 € 0,60 € 1,20 weertand 100Ω 2 € 0,60 € 1,20 weerstand 3K9 1 € 0,10 € 0,10 weertand 4K7 2 € 0,10 € 0,20 weerstand 22k 1 € 0,10 € 0,10 trimpot 2K 1 € 0,35 € 0,35 condensator 3,3nF 1 € 0,15 € 0,15 condensator 15nF 4 € 0,15 € 0,60 condensator 22nF 2 € 0,15 € 0,30 condensator 100nF 3 € 0,15 € 0,45 condensator 220nF 2 € 0,25 € 0,50 condensator 1000µF 2 € 1,00 € 1,00 controller IC L297 1 € 6,75 € 6,75 IC voetje 20 pins 1 € 0,50 € 0,50 H-bridge L6203 2 € 10,75 € 21,50 header 3pins 2 € 2,50 € 3,00 header 6pins 1 € 2,50 € 2,50 kroonsteen 2pins 2 € 0,65 € 1,30 kroonsteen 3pins 1 € 0,75 € 0,75 moertjes M3 2 € 0,05 € 0,10 boutjes M3 2 € 0,05 € 0,10 isolatieringetjes M3 2 € 0,15 € 0,30 isolatieblaadjes 2 € 2,50 printplaatje EZ Koelvin 1

€ 15,00 € 15,00

Sub Totaal = € 60,45 Printplaatmateriaal wordt op einde gerekend

Page 26: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 26 -

6.2. Motorsturing Dwarsrichting (Y-as)

Deze sturing is opgebouwd in twee stukken: H-Brug PCBx en Logica PCBx

6.2.1. H-brug PCBy

Deze sturing (met dubbele H-brug) is ontworpen zoals te zien in onderstaand schema. Het schema is opgebouwd met discrete componenten. Dit wil zeggen dat niet alles in een behuizing zit, maar elk onderdeeltje één component is. In dit geval mosfet’s.

6.2.1.1. Het schema

Schema (opgebouwd in Multisim)

6.2.1.2. De print 3D design van de Printplaat Achterkant van de Printplaat

Page 27: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 27 -

6.2.1.3. Uitleg Schema

Om het schema (de H-brug met mosfets) te kunnen verstaan, beschrijf ik eerst even kort de basis kenmerken van mosfets zonder hierover in detail te gaan. Daarna zal het schema duidelijk worden. De mosfet is een spanningsgestuurde component (in tegenstelling tot de transistor). Door een bepaalde spanning op zijn gate(stuurpoort) aan te leggen, zal er een kortsluiting gevormd worden tussen de Drain en de Source. Er bestaan twee soorten mosfets, namelijk N-channel mosfets en P-chanel mosfets. Beiden zijn in het schema gebruikt.

6.2.1.3.1. N-channel MOS

De N-channel mosfet in de figuur hiernaast (IRF540) bezit positieve logica. Dwz.: Als er een spanning op zijn gate wordt aangelegd, zal er een kortsluiting ontstaan tussen D en S. Als er geen spanning wordt aangelegd op de gate, zal er geen kortsluiting zijn.

6.2.1.3.2. P-channel MOS De P-channel mosfet in de figuur hiernaast (IRF9540N) is net het omgekeerde van de N-channel. Maw. negatieve logica. Dwz.: Als er een spanning op zijn gate wordt aangelegd, zal er geen

kortsluiting ontstaan tussen D en S. Als er geen spanning wordt aangelegd op de gate zal er wel een kortsluiting ontstaan tussen D en S.

6.2.1.3.3. Logica met mosfets Als we nu terug onze dubbele H-brug erbij halen, en de schakelaars vervangen door mosfets. Dan zal de schakellogica veranderd worden door de P-channel mosfet, hiermee dienen we rekening te houden bij het aansturen of we zullen talloze zekeringetjes gaan testen.

6.2.1.3.4. Probleem mosfetsturing

Met al het voorgaande in gedachte te hebben begon ik vol enthousiasme aan mijn eerste zelf gemaakte H-brug schakeling. Eens de schakeling klaar stond op het breadboard kon ik deze gaan testen. De eerste test was met één enkele H-brug en DC-motortje op 12volt. Als dit motortje door gepaste gatesturing linksom en rechtsom kon draaien, dan zou de eerste H-brug klaar zijn. Ik kwam echter tot vaststelling dat ik mijn mosfets(gates) niet zomaar kon aansturen vanuit de microcontroller (0 en 5volt). Het was nodig de gates van de mosfets aan te sturen met 12 volt. Ik moest mijn logische signalen van de microcontroller dus gaan aanpassen (van 5v naar12v) dit door middel van een transistorschakeling voor elke mosfet zodat deze op 12v kon gestuurd worden. Natuurlijk door de logica door de transistorschakelingetjes weer beïnvloed. (zie verder)

Page 28: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 28 -

6.2.1.3.5. NPN Transistor als schakelaar

Deze transistorschakeling zal 8 keer uitgevoerd moeten worden, 1 keer per mosfet. Opgelet: Door deze transistor te gebruiken gaat de

logische aansturing veranderen. Dit is negatieve / inverterende logica !

Dus als de microcontroller 5volt uitstuurt, dan zal er op de gate van de mosfet 0v komen te staan. Wanneer de µC 0v uitstuurt, dan zal op de gate 12v komen te staan.

Hiermee moet dus nogmaals rekening mee gehouden worden in de logica. Indien dit niet gerespecteerd wordt, bestaat er de kans op kortsluiting. (H-brug)

6.2.2. Logica PCBy

Het is ondertussen duidelijk dat er met al deze factoren rekening moet gehouden worden. Om de logica van deze schakeling juist te laten verlopen heb ik bovenop de printplaat een bijkomend printje voorzien met microcontroller (PIC16F84A) die de logica voor zich neemt. Dit zal nu eenvoudig aangestuurd kunnen worden met Clk-, Dir-, En-signaal

6.2.2.1. Schema van het µC bordje

Schema (opgebouwd in Multisim) 3D model van het opzetprintje

Transistorschakeling die de gate van de Mosfets aanstuurt

µC binair

Gate Mosfet

0 12v 1 0v

Page 29: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 29 -

6.2.2.2. Programma voor de µC(PIC16F84A) voor het logica bordje

Programma geschreven in C met MPLAB & BKND Compiler

//#include "16f84a.h" // *********************************************************************** //configword: internal clock 4Mc, no WDT, BOD enabled... #pragma config &= 0x0000 #pragma config |= 0x3FF2 // *********************************************************************** long Teller; long Teller2; void Disable() Teller++; if (Teller >= 30000) Teller2++; if (Teller2 >= 30000) Teller = 0; Teller2 = 0; PORTB.0=0; PORTB.1=0; PORTB.2=0; PORTB.3=0; void main(void) OPTION_REG.7=1; //disable pullups on PORTB TRISA=0B11111111; //all inputs pu TRISB=0B11110000; //only PORTB.0 & PORTB.1 & PORTB.2 & PORTB.3 is output int stand=1; PORTB.0=0; PORTB.1=0; PORTB.2=0; PORTB.3=0; while(1) // opgelet hier dienen de linker en de rechter kant samen te werken // PORTA.0 =>> CLK // PORTA.1 =>> DIR // PORTA.2 =>> ENable if (PORTA.2==1) // ENable while(PORTA.0==1); //zolang aanhouden tot flank terug laag wordt if (PORTA.1==0) //DIR stand--; if (stand == 0) stand = 4; else stand++; if (stand == 5) stand = 1; if (stand == 1) PORTB.0=0; PORTB.1=1; PORTB.2=0; PORTB.3=0; if (stand == 2) PORTB.0=0; PORTB.1=0; PORTB.2=0; PORTB.3=1; if (stand == 3) PORTB.0=1; PORTB.1=0; PORTB.2=0; PORTB.3=0; if (stand == 4) PORTB.0=0; PORTB.1=0; PORTB.2=1; PORTB.3=0; while(PORTA.0==0) //zolang aanhouden tot flank terug hoog wordt Disable(); //Als de CLK flank niet meer hoog moest worden =>> en het duurt 9999 //Als ondertussen Enable uitvalt hier blijven staan Teller = 0; Teller2 = 0;

Page 30: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 30 -

6.2.3. Gebruikte componenten In het schema zijn volgende componenten gebruikt:

Voor H-brug PCB

Component Waarde Aantal prijs/stuk totaal transistor BC547 8 € 0,15 € 1,20 weerstand 1kΩ 8 € 0,10 € 0,80 weerstand 5k6 Ω 8 € 0,10 € 0,80 diode 1N5406 8 € 0,25 € 2,00 P-channel mos IRF 9540N 4 € 2,00 € 8,00 N-channel mos IRF 540 4 € 1,80 € 7,20 header 9 pins 1 € 2,50 € 2,50 printkroonsteen 2 pins 1 € 0,65 € 0,65 printplaatje EZ 1

Voor logica PCB

Component Waarde Aantal prijs/stuk totaal weerstand 10kΩ 1 € 0,10 € 0,10 condensator 22pF 2 € 0,15 € 0,30 condensator 100nF 1 € 0,15 € 0,15 diode 1N4007 1 € 0,12 € 0,12 kristal 4MHz 1 € 1,00 € 1,00 IC Voetje DIP18 1 € 0,50 € 0,50 µC PIC16F841 1 € 5,95 € 5,95 header 9 pins 3 € 2,50 printkroonsteen 2 pins 1 € 0,65 € 0,65 printplaat DZ

Sub Totaal = € 34,42 Printplaatmateriaal wordt op einde gerekend

Page 31: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 31 -

6.3. Motorsturing Hoogterichting (Z-as)

De 3de en laatste motorsturing is opgebouwd met transistoren (ook in H-brug transformatie). Hiervoor opteerde ik eerst om de logica rechtstreeks op te nemen in de hoofd-µC (DSC89c450) en van hieruit ineens naar de transistorbasissen te gaan. Zodat hiervoor geen aparte µC met schakellogica nodig is. Dus zonder dat deze Step / Dir / En signalen krijgt. Maar vanaf deze ontwerpfase naar de toekomst gezien, brengt dat enkele problemen met zich mee, daarom de volgende redenering: “ Er zouden immers 8signaaldraden naar de µC moeten lopen (één per transistor) dit betekend dat de hoofd-µC

hieraan 8pinnen zal moeten inleveren. Wetende dat onze hoofd-µC 32aansluitpinnen heeft. En we er binnenkort nog wel wat gaan nodig hebben…(lichtsluizen, de 3motoren, de multiplexer, handbediende stuursignalen, eventueel LCD...) Die 8aansluitpinnen zijn inderdaad te reduceren tot 4aansluitpinnen door de samenwerkende paartjes samen te nemen. Maar; er komen ook nog eens drie stuursignalen per motor vanuit de PC 3x( Step / Dir / En ) Om de motor te laten draaien met de software moet er toch een Step/Dir/En ingang voorzien zijn. Dus er zal altijd een logica(µC) nodig zijn om deze om te zetten naar gepaste stuursignalen voor de transistoren. Dan is er ook nog de optie om deze banen van de PC naar de hoofd-µC te leggen, en dan vandaaruit met minstens 4aansluitdraden terug te vertrekken. (3+4=7aansluitpinnen). Kortom een betere oplossing is een aparte µC gebruiken om I/0 van de Hoofd-µC te besparen. “

In dat geval komt er dus terug een PCB’tje met logica op het H-brug PCB. Dus de sturing van de Z-AS is dus weer in twee stukken; H-Brug PCBz en Logica PCBz

6.3.1. H-brug PCBz De Sturing (dubbele H-brug) is ontworpen zoals te zien in onderstaand schema. Deze is opgebouwd met discrete componenten, in dit geval met transistoren.

6.3.1.1. Het Schema

Schema (opgebouwd in Multisim)

Page 32: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 32 -

6.3.1.2. De print

6.3.1.3. Uitleg Schema Het schema van de H-Brug voor de Z-AS is eigenlijk niet volledig, om dit te vervolledigen is het volgende nodig: 1) TIP127 & TIP110 vervangen door TIP42 & TIP41

Daar de transistoren die ik had liggen (TIP127 & TIP110) niet in het printontwerp programma (Multisim 8.0) aanwezig waren maar wel de pincompatiebele TIP42 & TIP41 heb ik deze genomen, zonder de componenten opnieuw te tekenen. Tijdens het monteren moet daar wel rekening mee worden gehouden!

2) Stuurtransistoren bijzetten.

Dit is een vergetelheid. Na het ontwerp op breadboard, ben ik de stuurtransistoren vergeten op te nemen in de printplaatlayout. De stuurtransistoren zijn noodzakelijk, ze sturen de basisen aan van de schakeltransistoren. (deze ontbreken dus in het schema). Zonder de schakeltransistoren aan te sturen met de stuurtransistoren werkt het PCB’tje niet! (5v µC) Omdat ik het bordje al geëtst, en de componenten gemonteerd had, heb ik geopteerd om hiervoor geen nieuwe print te maken. Ik heb dus de 8 stuurtransistoren en bijbehorende weerstanden op het bordje bijgesoldeerd. Dit moet in het schema opgenomen worden in de plaats van elke 1Kweerstand !

3D design van de Printplaat (zonder koelvin) Achterkant van de Printplaat

Voorversterking TIP 127 Voorversterking TIP 110

Page 33: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 33 -

6.3.2. Logica PCBz Om de schakellogica ook hier juist te laten verlopen, is het H-brug PCB weer voorzien van een µC met schakellogica. Dit bordje staat bovenop het H-brug PCB. Dit is weer met een PIC16F84A die de logica voor zich neemt. De PIC is dan op zijn beurt weer aan te sturen met ( Clk / Dir / En ).

6.3.2.1. Logica van deze print Om niet twee keer hetzelfde Logica PCB’tje te hebben, heb ik voor de Z-driver gekozen om elke transistor apart aan te sturen. (Geen samenwerkende koppeltjes.) Het gevaar bij het aansturen van elke transistor afzonderlijk is dat er kortsluiting kan ontstaan tijdens het schrijven van verkeerde software. Tijdens het schrijven moet er rekening gehouden worden met de logica van de transistoren, omdat de schakelaars kunnen geprogrammeerd worden in een kortsluiting!

6.3.2.2. Schema van het µC bordje

Schema (opgebouwd in Multisim)

6.3.2.3. Print van het µC bordje

3D design van de Printplaat Achterkant van de Print

Page 34: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 34 -

6.3.2.4. Programma voor de µC(PIC16F84A)

Programma geschreven in C met MPLAB & BKND Compiler //#include "16f84a.h" // ************************************************************************** //configword: internal clock 4Mc, no WDT, BOD enabled... #pragma config &= 0x0000 #pragma config |= 0x3FF2 // ************************************************************************** long Teller; long Teller2; // werkt niet met int??? (toch niet in µC) void Disable() Teller++; if (Teller >= 30000) Teller2++; if (Teller2 >= 5000) Teller = 0; Teller2 = 0; PORTB.7=1; PORTB.6=1; PORTB.5=0; PORTB.4=0; PORTB.3=1; PORTB.2=1; PORTB.1=0; PORTB.0=0; //Alles af void main(void) OPTION_REG.7=1; //disable pullups on PORTB inputs TRISA=0B11111111; //all inputs pu TRISB=0B00000000; //PORTB.7 tot PORTB.0 is output int stand=1; PORTB.7=1; PORTB.6=1; PORTB.5=0; PORTB.4=0; PORTB.3=1; PORTB.2=1; PORTB.1=0; PORTB.0=0; //Alles af while(1) // opgelet hier dienen de linker en de rechter kant samen te werken // PORTA.0 =>> CLK // PORTA.1 =>> DIR // PORTA.2 =>> ENable if (PORTA.2==1) // ENable while(PORTA.0==1); //zolang aanhouden tot flank terug laag wordt if (PORTA.1==0) //DIR stand--; if (stand == 0) stand = 4; else stand++; if (stand == 5) stand = 1; if (stand == 1) PORTB.7=1; PORTB.6=1; PORTB.5=0; PORTB.4=0; PORTB.3=0; PORTB.2=1; PORTB.1=0; PORTB.0=1; if (stand == 2) PORTB.7=0; PORTB.6=1; PORTB.5=0; PORTB.4=1; PORTB.3=1; PORTB.2=1; PORTB.1=0; PORTB.0=0; if (stand == 3) PORTB.7=1; PORTB.6=1; PORTB.5=0; PORTB.4=0; PORTB.3=1; PORTB.2=0; PORTB.1=1; PORTB.0=0; if (stand == 4) PORTB.7=1; PORTB.6=0; PORTB.5=1; PORTB.4=0; PORTB.3=1; PORTB.2=1; PORTB.1=0; PORTB.0=0; while(PORTA.0==0) //zolang aanhouden tot flank terug hoog wordt Disable(); //Als de CLK flank niet meer hoog moest worden =>> en het duurt 9999 //Als ondertussen Enable uitvalt hier blijven staan Teller = 0; Teller2 = 0;

Page 35: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 35 -

6.3.3. Gebruikte Componenten In het schema zijn volgende componenten gebruikt voor de Hoogteinrichting:

Voor H-brug PCB

Component Waarde Aantal prijs/stuk totaal weerstand 1k 8 € 0,10 € 0,80 condensator 470µF 1 € 0,12 € 0,12 diode 1N5406 8 € 0,25 € 2,00 transistor TIP110 4 € 0,50 € 4,00 transistor TIP127 4 € 0,50 € 4,00 header 9 pins 1 € 2,50 € 2,50 printkroonstekker 2pins 3 € 0,65 € 1,95 boutjes M3 8 € 0,05 € 0,40 moertjes M3 8 € 0,05 € 0,40 isolatiemica 8 € 2,50 koelvin 1 € 15,00 € 15,00 isolatieringetjes M3 8

€ 0,15 € 1,50 printplaat EZ

Voor logica PCB

Component Waarde Aantal prijs/stuk totaal weerstand 10k 1 € 0,10 € 0,10 condensator 100nF 1 € 0,15 € 0,15 condensator 22pF 2 € 0,15 € 0,30 diode 1N4007 1 € 0,12 € 0,12 IC voetje 16pins 1 € 0,45 € 0,45 kristal 4MHz 1 € 1,00 € 1,00 µC PIC16F84a 1 € 5,95 € 5,95 header 1 € 2,50 printkroonsteen 2 pins 1 € 0,65 € 0,65 printplaat DZ

Sub Totaal = € 49,59 Printplaatmateriaal wordt op einde gerekend

Page 36: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 36 -

7. LCD Scherm

7.1. Wat is een LCD Zonder onnodig uitgebreid in detail te gaan, staat LCD voor Liquid Cristal Display. Het schermpje dat ik gebruik (uit een oude HP-Computer) bevat twee lijnen van 16 karakters waar tekst in ASCII(American Standard Code for Information Interchange) karakters op kan weergegeven worden. (De ASCII tabel is terug te vinden in de bijlage). Ook zit er een backlight verlichting en een contrastregeling op. (voor meer diepgang in LCD zie “LCD-beamer” Project Engels bij Mvr. Lut Weltens)

7.2. Aansturing Om iets op zo’n LCD schermpje te krijgen, zal het scherm pixel voor pixel moeten aangestuurd worden. Hiervoor is het ook nodig om de exacte locatie van elke pixel te kennen. Zo kunnen er dan, door in de buurt liggen de pixels samen aan te zetten letters gemaakt worden. (zie figuur.) Omdat dit een omslachtig werkje is, hebben fabrikanten een “LCD Driver” chip op dit scherm geïmplementeerd.

7.3. LCD driver

Met deze chip gaat het aansturen van zo’n LCD scherm al aanzienlijk eenvoudiger. Het ASCII teken wordt nu naar de driver gestuurd. De comunicatie met de driver verloopt via een DataBus en een ControleBus. De driver stuurt de pixels aan op voorgedefinieerde wijze. (ASCII-patroon) Let wel: Nu is er enkel nog maar de mogelijkheid om ASCII tekens weer te geven, grafisch zelf

figuren gaan tekenen kan niet meer met dit soort LCD Driver!

7.3.1. Controlebus

De controlesignalen zijn nodig zodat de ‘driver chip’ kan weten wat er juist moet gebeuren met de gegevens die worden aangeboden via zijn databus. Hiervoor zijn 3 controlelijnen voorzien:

1) RS Register Select Signal 2) R/W Read / Write Signal 3) E Enable Signal

In onderstaande tabel is te zien wat waarvoor dient;

RS R/W Operation L L Instruction Write Operation (MPU writes Instruction code into IR) L H Read Busty flag(DB7) and address counter (DB0 to DB6) H L Data Write operation (MPU writes data into DR) H H Data Read operation (MPU reads data from DR)

Zoals te zien in de tabel is er ook de mogelijkheid om data van het scherm uit te lezen. Voor mijn toepassing is dit niet nodig. Enkel Schrijven naar het LCD is hier nodig (R/W = L)

Verder is er ook nog het Enable signaal. Dit zal telkens de aangeboden info inklokken.

Page 37: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 37 -

7.3.2. Databus

De databus is een parallelle bus. (DB7 tot DB0). Deze bus wordt zowel voor de instructiesignalen als voor de datasignalen gebruikt. (Maar niet voor controlesignalen.)

7.3.2.1. Werkmodi De databus kan in twee werkmodi werken: byte niveau of nibble niveau.

7.3.2.1.1. Byte Niveau Dit is de eenvoudigste manier. Bij deze methode stuur je gewoon het nummer van het ASCII teken decimaal naar de poort door. Het werken op byte niveau betekent dat er al zeker 8 I/O(Input/Output) poorten in gebruik zullen zijn + controlesignalen. Het is duidelijk dat deze niet meer voorhanden zijn op de µC omdat ze al in gebruik zijn voor de stappenmotoren en er later nog andere dingen moeten aangesloten worden.

7.3.2.1.2. Nibble niveau Deze manier is iets ingewikkelder. Hier moet het ASCII karakter in twee gesplitst worden, zodat we twee keer 4 bits hebben. (Dus samen weer 8 bits)

7.3.2.2. Instructiesignalen

7.3.2.3. Datasignalen

De datasignalen zijn de binaire ASCII tekens.

Page 38: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 38 -

7.4. LCD contrast

Om de leesbaarheid van het scherm vanuit elke invalshoek mogelijk te maken, kan het contrast ingesteld worden met een lineaire potentiometer (Regelbare weerstand). Door aan het staafje van de potmeter te draaien, zal de spanning aan de contrastpin variëren tussen 0 en 5v DC.

7.5. LCD backlight Het scherm bevat ook een achtergrondverlichting, hierdoor is het mogelijk om het scherm in het donker, of bij weinig licht af te lezen. De aansluitingen van de achtergrondverlichting zijn te vergelijken met die van een diode of LED. (Anode / Kathode) De backlightverlichting heb ik niet voorzien om uit te zetten, en staat permanent aan.

7.6. LCD debuggen Eens de routine(software) voor het LCD scherm is geschreven (zie volgende bladzijde) kan het schermpje dankbaar gebruikt worden voor de verdere realisatie van dit eindwerk! Het schermpje gebruiken om te debuggen*. Vroeg of laat is het tijdens het schrijven van een programma noodzakelijk om te controleren wat het programma wel/niet doet. Een programma van de eerste keer zonder fouten neerschrijven is echter een utopie…

(Vb: Wordt een if clausule al of niet uitgevoerd) Dit kan dan door het weergeven van tussentijdse meldingen of resultaten op het LCD scherm. Zo kan dan gedebugd worden. *Zoeken van (fouten in) een lopend programma. (De Bug(gen) eruit halen)

Page 39: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 39 -

7.7. Stuur programma voor LCD scherm Dit is een deel code uit het hoofdprogramma “Graveerxx.c” dat nodig is voor de sturing van het LCD scherm.

Programma geschreven in C voor µC met Notepad & SDCC Compiler void Delay(long snelheid) long a; for (a=0;a<snelheid;a++); void LCD_Enable() //inklokken data P1_3=1; Delay(2); P1_3=0; Delay(2); void Line(int LineNr) Delay(5); P1_2=0; if (LineNr==1) P1_7=1; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); Delay(300); if (LineNr==2) P1_7=1; P1_6=1; P1_5=0; P1_4=0; LCD_Enable(); P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); Delay(300); P1_2=1; //terug in data mode Delay(100); Delay(30000); Delay(30000); void Entry_Mode() P1_2=0; P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); P1_7=0; P1_6=1; P1_5=1; P1_4=0; LCD_Enable(); void OnOff_Control() Delay(1000); P1_2=0; P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); P1_7=1; P1_6=1; P1_5=1; P1_4=0; LCD_Enable(); void Function_Set() P1_2=0; P1_7=0; P1_6=0; P1_5=1; P1_4=0; LCD_Enable(); Delay(10000); P1_7=0; P1_6=0; P1_5=1; P1_4=0; LCD_Enable(); P1_7=1; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); void Clear_Display() Delay(100); //achteraf effe kijken of het nog wel gedaan wordt ! P1_2=0; P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); P1_7=0; P1_6=0; P1_5=0; P1_4=1; LCD_Enable(); void Lcd_Print_Char(char ASCII) //ASCII = binair int twee=2; // om integerdeling te verkrijgen LCDbit0 = ASCII % twee; LCDbit1 = (ASCII / twee) % twee; LCDbit2 = ((ASCII / twee) / twee) % twee; LCDbit3 = (((ASCII / twee) / twee) / twee) % twee; LCDbit4 = ((((ASCII / twee) / twee) / twee) / twee) % twee; LCDbit5 = (((((ASCII / twee) / twee) / twee) / twee) / twee) % twee; LCDbit6 = ((((((ASCII / twee) / twee) / twee) / twee) / twee) / twee) % twee; LCDbit7 = (((((((ASCII / twee) / twee) / twee) / twee) / twee) / twee) / twee) % twee; P1_2=1; Delay(50); P1_7=LCDbit7; P1_6=LCDbit6; P1_5=LCDbit5; P1_4=LCDbit4; LCD_Enable(); P1_7=LCDbit3; P1_6=LCDbit2; P1_5=LCDbit1; P1_4=LCDbit0; LCD_Enable();

Met Lcd_Print_Char(’C’) kan dan een karakter naar het scherm geschreven worden, let wel de headerfiles.h , Declarering en de main() zijn hier niet weergegeven.

Page 40: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 40 -

8. De multiplexer

8.1. Wat is een multiplexer? Een multiplexer, of kortweg MUX, is te vergelijken met een ronddraaiende schakelaar die op een rotor zit. Op die manier kan de schakelaar zijn gewenste stand kiezen. Op de figuur is een MUX afgebeeld die zijn output aan één van de 4 inputs kan doorgeven. Uiteraard is zo’n MUX uitbreidbaar door meerdere contactpunten op de schijf te monteren.

8.2. Toepassingsgebied.

Multiplexers worden gebruikt om op het aantal aansluitpinnen en draadverbindingen naar de verschillende componenten te beperken. Meestal leggen we één BUS aan waar alle componenten parallel zijn op aangesloten. Elk component kan gegevens op de BUS zetten of van de bus lezen. Dit gebeurt met een multiplexer. Deze zal de gepaste gegevens op de BUS zetten. Met de selectie-ingang (keuzestand van de schakelaar) kan men kiezen tussen de verschillende gegevens. Daarom wordt de selectie-ingang ook wel de adresingang van de schakelaar genoemd. In de elektronica bestaat deze schakelaar uiteraard niet uit een ronddraaiende schijf, maar uit logische poorten (AND / OR / NOT)

8.3. Waarom een MUX?

De µC die ik gebruik (DS89c450) bezit een I/O van 4x8byte, wat net voldoende is mits doordacht om te gaan met de I/O. Daarom heb ik gekozen om de sturing van de stappenmotoren over een gemultiplexte BUS te laten verlopen. Hierdoor bespaar ik op I/O die later nog nodig is. Met de MUX zal een keuze kunnen gemaakt worden tussen de handmatige sturing (jog control vooraan op de machine) en de sturing vanuit de PC.

8.4. Selectingang

Voor de selectingang van de MUX heb ik gekozen voor een mechanische schakelaar. Eerst liep de selectie tussen PC en touchpannel automatisch.Vanaf het moment dat je een toets van de manuele sturing indrukte, nam de controle over. Achteraf bleek dit niet zo efficiënt, omdat er op een toets kon geduwd worden tijdens het frezen. Hierdoor voert de machine de gekozen beweging uit. Dit kan nefast zijn voor het freesje! Daarom een tuimelschakelaar, zodat er veilig kan gekozen worden tussen PC en manuele bediening.

Page 41: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 41 -

8.5. Schema van de MUX

Schema MUX met Logische AND / OF / NOT poorten

(Hierboven wordt de AND poort gebruikt als schakelaar)

8.6. MUX SN74LS157

8.6.1. Bestaande MUX Alhoewel het relatief eenvoudig is om voorgaand schema met logische poorten op te bouwen heb ik toch gekozen om een bestaande MUX te zoeken die voor mijn toepassing geschikt was. Hierdoor valt de printafmeting kleiner uit en zijn er minder IC’s nodig. Tevens is er ook minder poortvertraging (maar hier niet echt van toepassing).

SN74LS157 Deze bezit zoals op de tekening te zien 4 x een (2Line to 1Line MUX)

We hebben 9 (2Line naar 1Line MUX) nodig, we hebben dus zo’n drie IC’s nodig.

Van de 3de IC schieten er dan nog drie ongebruikte lijnen over. Dit is overschot. Ze zijn niet gebruikt maar wel naar buiten gebracht.

Page 42: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 42 -

8.6.2. Inwendig Schema

Inwendig Schema SN74LS157 (3x nodig)

8.6.3. Het schema

Schema (opgebouwd in Multisim)

Page 43: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 43 -

8.6.4. De print

3d design van de Printplaat

8.6.5. Gebruikte componenten

Component Waarde Aantal prijs/stuk totaal multiplexer SN74LS157 3 € 0,62 € 1,86 IC voetje 16pins 3 € 0,45 € 1,35 header 2 pins 1 € 2,50 header 3 pins 12 € 2,50 printkroonstekker 2 pins 1 € 0,65 printplaat EZ 1

Sub Totaal = € 6,36

Printplaatmateriaal wordt op einde gerekend

Page 44: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 44 -

9. Bedieningspaneel 9.1. Manuele bedieningsprint

Dit printje bevat 8 tact-schakelaars die via pull-up weerstanden verbonden zijn met de µC (DS89c540). Hiermee kan handmatig, zonder tussenkomst van de software, naar een gewenste positie gegaan worden. Eventueel kan dan vanuit die positie een fictief nulpunt ingesteld worden.

9.1.1. Het schema

Schema (opgebouwd in Multisim)

9.1.2. De print (PCB)

9.1.3. Gebruikte componenten

Component Waarde Aantal print/stuk totaal weerstand 10k 7 € 0,10 €, 0,70 tact schakelaar 2 pins 7 € 0,25 € 1,75 printplaat EZ 1

Sub totaal = € 2,45 Printplaatmateriaal wordt op einde gerekend

3D design van de Printplaat Achterkant van de Printplaat

Page 45: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 45 -

9.2. One-touch print

Met dit printje, kan de boorkop(dremel) met één druktoets aan en uit gezet worden; met de eerste druk aanzetten, met de tweede druk terug uit zetten. Dit wil zeggen dat er moet bijgehouden worden in welke toestand de drukschakelaar zich bevindt (aan of uit). Tevens kan ook de PC de bediening overnemen. De PC sturing heeft voorrang op de manuele bediening omdat de frees niet zou kunnen stilgezet worden tijdens het graveren. De schakeling is in tweevoud opgebouwd, zodat ook een optionele stofzuiger bediend kan worden.

9.2.1. Opbouw

De schakeling is opgebouwd rond een D-flipflop. Deze fungeert als geheugenelement om de toestand van de schakelaar bij te houden. De Not-poort zal vermijden dat tijdens het aanzetten van de voedingspanning het relais aantrekt en de boorkop/stofzuiger opspringt. De of-poort geeft de PC de mogelijkheid om de controle over te nemen. Verder is het printje voorzien van een groene en een blauwe LED; groen voor aan, rood voor uit. De vermogensturing (230v AC) gebeurt door het relais).

9.2.2. Werking flipflop Een flipflop is ‘het’ basisgeheugen element dat één bit kan onthouden. In het geheugen van een computer zitten er miljoenen. Zo kan men geheugens bekomen tot verscheidene Mbytes.

9.2.2.1. Mechanische analogie Met een mechanische analogie is hieronder de werking van ‘het’ prilste geheugenelement weegegeven. Als we een balletje in het buisje laten vallen, zal de “flipflop” een logische toestand aannemen, in de elektronica is deze hoge en lage toestand een 0 of 1. Laten we daarna nog een balletje vallen, dan zal de andere logische toestand worden aangenomen. Dit is de basis van één geheugenelement. (De bit kan dus 0 of 1 zijn)

9.2.2.2. Elektronische werking Op de volgende bladzijde wordt de elektronische werking toegelicht. Dit van eenvoudig geheugenelement, tot de werking van de D-flipflop die ik hiervoor gebruik.

Page 46: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 46 -

9.2.2.2.1.Eenvoudigste geheugenelement.

Het eenvoudigste geheugen om één bit te onthouden is een of-poort met teruggekoppelde uitgang zoals te zien in de figuur.

Indien S ‘0’ is, dan zijn beide ingangen van de of-poort ‘0’, en de uitgang dus ook ‘0’. Indien S ‘1’ wordt, dan zal de uitgang ook ‘1’ worden, met als gevolg dat ingang twee ook ‘1’ wordt. Hierdoor blijft de uitgang continu ‘1’. Het is duidelijk dat dit element niet meer van logische toestand kan veranderen. Het zal voor eeuwig ‘1’ blijven, tenzij de voedingspanning wordt uitgezet. Dit is niet de bedoeling…

9.2.2.2.2. Beter geheugenelement. Het probleem kan opgelost worden door de terugkoppeling van de of-poort weg te nemen. Dan zal de ‘1’ aan de ingang ook wegvallen. Dit kan door een en-poort te implementeren, zodat het geheugenelement gereset kan worden.

Tijdsdiagram:

Opm.: De toestand (R=1 en S=0 ) mag nooit gebruikt worden.

Bij deze toestand zal de uitgang 0 worden, maar als we van de toestand (R=1 en S=0 ) naar toestand (R=1 en S=0 ) zouden gaan, dan ontstaat er oscillatie !

Het tijdsdiagram zou iets logischer worden als de R(Reset) niet continu hoog moet gehouden worden. Dit kan door het implementeren van een NOT poort.

Nu kan: - met één korte puls geset worden (Set)

- met één korte puls gereset worden (Reset) Tijdsdiagram:

Opm.: De toestand (R=1 en S=1 ) mag nooit gebruikt worden. Bij deze toestand zal de uitgang 0 worden, maar als we van de toestand (R=1 en S=1 ) naar toestand (R=0 en S=0 ) zouden gaan, dan ontstaat er oscillatie !

Om het aantal poorten te besparen, kan men via de wetten van DeMorgan komen tot een vereenvoudiging. (voor details zie bijlagen afgeleide poorten) is net hetzelfde als: De werking is uiteraard nog steeds dezelfde. (We noemen het een RS-Latch)

R S Q 0 0 0 0 1 1 0 Q 1 1 1

R S Q 0 0 Q 0 1 1 1 0 0 1 1

Page 47: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 47 -

9.2.2.2.3. RS-latch

9.2.2.2.4. RS-latch met enable ingang Als we de mogelijkheid willen om de S en R signalen te Enabelen of Disabelen, moeten we voor de RS-latch een en-poort als schakelaar implementeren.

9.2.2.2.5. D-latch Nu zijn we bijna aan de werking van de eigenlijke D-flipflop Uiteindelijk is het de bedoeling om data te gaan opslaan. Hiervoor vervangen we de Set en Reset ingang door een Data (D) ingang. Nu kan er data aangeboden worden. (Vanaf hier is ook de verboden toestand verdwenen)

9.2.2.3. D-flipflop Het verschil tussen een flipflop en een latch is dat de flipflop zijn data enkel inklokt op de stijgende flank van een kloksignaal. Bij een stijgende klokflank zal de uitgang gelijk worden aan de ingang. Zolang er geen stijgende klokflank optreedt, zal de flipflop de data niet inklokken. Het enige wat er dus aan de D-latch moet toegevoegd worden is een pulsmaker (flank naar puls omzetter).

Als we deze twee samenvoegen krijgen we:

Page 48: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 48 -

9.2.2.4.Dual D-Flipflop CD4013BC In plaats van de bovenstaande D-flipflop schakeling te gaan maken met verschillende logische poorten, is er de kant en klare D-flipflop. In een 14pins IC’tje.

9.2.3. Principeschema Het principeschema van de one-touch-schakeling met de D-FlipFlop is hieronder weergegeven, dit werkt volgens het hierboven beschreven principe. Zoals te zien is de ‘inverterende uitgang’ hier teruggekoppeld naar de ingang. Op elke klokflank zal er dus aan de dataingang de ’inverterende uitgang’ aangeboden worden, en de uitgang elke klokpuls veranderen van bittoestand.

1 wordt na Clk Puls 0 0 wordt na Clk Puls 1

Als we dit nu handmatig willen maken, dan moeten we de pulstrein vervangen door een schakelaar, die een stijgende klokflank genereert bij het indrukken.

Telkens nu op de drukknop gedrukt wordt, krijgen we een stijgende klokflank binnen.

Na het bouwen van deze schakeling verkreeg ik geen stabiel uitgangssignaal. De rede van onstabiliteit is bij de schakelaar te zoeken.

Een schakelaar schakelt immers niet ideaal. Dit wil zeggen dat de contactpunten van een schakelaar verschillende keren ‘contact maken en weer niet’ tegen een gigantisch hoge snelheid alvorens een stabiele toestand bereikt word. Dit noemt ‘dender’. (Zie volgende blz.)

Page 49: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 49 -

9.2.3.1. Dender

Definitie van Maxim Dallas-Semiconductors: http://www.maxim-ic.com

Electrical contacts in mechanical pushbutton switches often make and break contact several times when the button is first pushed. A debouncing circuit removes the resulting ripple signal, and provides a clean transition at its output.

After connecting a standard switch to a digital counting circuit, you can observe several counts on opening and several counts on closing. This erratic action can wreak havoc on data, because the exact number of counts does not necessarily repeat in

the long term. Switch bounce is not consistent from unit to unit,lot to lot, or even over the life of an individual switch. Membrane switches and some other types don't appear to bounce when new, but all mechanical switches bounce sometimes. Nothing can ensure that another switch of the same type will act the same way, or that a particular switch will remain bounce-free as it ages.

Bij de meeste toepassingen is dit effect niet zo erg, en verwaarloosbaar. Maar zoals hierboven in het citaat vermeld, is het voor tellers en dergelijke wel van belang.

Bij de stappenmotorschakelingen is hier ook rekening mee gehouden, dit bij het schrijven van de software in de PIC’s. Moest er geen rekening mee gehouden zijn, dan zouden er bij één stappuls, meerdere stapjes gedaan worden. In de PIC is dit probleem softwarematig opgelost met een vertragingstijd van +/- 10msec, zodat er tijd genoeg is om te ontdenderen.

In het geval met de flipflop is het probleem hardwarematig opgelost door de weerstanden en de condensators. Tijdens het schrijven van deze scriptie ontdekte ik dat voor dit probleem al kantenklare IC’s op de markt zijn (MAX6816, MAX6817, and MAX6818) Switch Debouncers.

9.2.4. Het schema Schema (opgebouwd in Multisim)

Page 50: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 50 -

9.2.5. De Print

Opm.; De twee tact-schakelaars die boven elkaar staan hebben dezelfde functie. Twee

druktoetsen met dezelfde functie op één print is dus absurd. De tweede is in het bedieningspaneel opgenomen. (De andere schakelaar op het printje hoeft zelfs niet)

Opm²; In de figuur is de bovenste LED rood, deze moet groen zijn (andere spanning). Opm³; De LED’s staan niet op het PCB’tje maar zijn met verbindingsdraadjes naar het

bedieningspaneel geleid.

9.2.6. Gebruikte Componenten

Component Waarde Aantal prijs/stuk totaal weerstand 1kΩ 4 € 0,10 € 0,40 weerstand 1MΩ 2 € 0,10 € 0,20 weerstand 220Ω 2 € 0,10 € 0,20 weerstand 390Ω 2 € 0,10 € 0,20 weerstand 100kΩ 2 € 0,10 € 0,20 condensator 100nF 5 € 0,15 € 0,75 LED Rood 5mm 2 € 0,12 € 0,24 LED Groen 5mm 2 € 0,12 € 0,24 diode 1N4007 2 € 0,12 € 0,24 transistor BC547(c) 2 € 0,15 € 0,30 D-flipflop 4013 1 € 1,00 € 1,00 NOT poort 7404 1 € 0,50 € 0,50 OR poort 7432 1 € 0,40 € 0,40 IC Voetje 14 pins 3 € 0,35 € 1,05 relais 12v spoel 2 € 2,90 € 5,80 tact schakelaar 2 pins 4 € 0,25 € 0,50 header 2 pins 1 € 2,50 printkroonsteen 3 pins 3 € 0;65 € 1,95 printplaat EZ 1

Sub totaal = € 16,67 Printplaatmateriaal wordt op einde gerekend

3D design van de Printplaat Achterkant van de Printplaat

Page 51: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 51 -

9.3. Dimmer

Met de dimmer kan het toerental van de freeskop(dremel) geregeld worden. Dit kan door aan het staafje van de potentiometer te draaien.

9.3.1. Werking

9.3.1.1. Triac (TRIode for Alternating Current) De triac kan met zijn gate in beide richtingen geleidend gemaakt worden. (vandaar AC) De triac dooft automatisch net voor de nuldoorgangen, meer precies op het ogenblik dat de hoofdstroom beneden de houdstroom IH komt. We hebben dus één stuurpuls nodig per halve periode van de netvoeding zoals te zien in onderstaande figuur.

(Figuur uit; Handboek Elektronische Vermogencontrole) De pulsen op de gate kunnen op de juiste tijdstippen aangeboden worden door een µC. Maar ik maak hiervoor gebruik van een diac.

9.3.1.2. Diac (DIode for Alternating Current) Een Diac zal in geleiding komen als zijn doorslagspanning bereikt wordt (gunstig lawine-effect) Dit doorslageffect is reproduceerbaar (althans als het dissipatievermogen beneden een toegelaten maximum gehouden wordt).

Als de weerstand van de potmeter groter wordt, zal de spanning over de condensator kleiner worden en zal deze spanning ook meer gaan naijlen op de bronspanning. Zo zal de condensatorspanning later de doorslagspanning van de diac bereiken. Hoe lager de weerstand van potentiometer wordt ingesteld, des te vroeger de thyristor in geleiding wordt gestuurd. (Bron; wikipedia)

Page 52: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 52 -

9.3.2. Het Schema

Schema (opgebouwd in Multisim)

9.3.3. De print

9.3.4. Gebruikte componenten

Component Waarde Aantal prijs/stuk totaal weerstand 5k6 1 € 0,10 € 0,10 potentiometer 500k LIN 1 € 1,50 € 1,50 condensator 100nF 1 € 0,15 € 0,15 diac 1 € 0, 40 € 0,40 triac TIC225 1 € 2,00 € 2,00 kroonsteen 2 pins 2 € 0,65 € 1,30 printplaat DZ 1

Sub totaal = € 5,45 Printplaatmateriaal wordt op einde gerekend

3D design van de Printplaat Achterkant van de Printplaat

Page 53: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 53 -

10. Eindeloopschakelaars

10.1. Wat is een eindeloopschakelaar ?

Een eindeloopschakelaar staat, zoals de naam al zegt, net voor het einde van de loop. Wanneer het toestel het einde van de baan nadert, zal deze tegen de eindeloopschakelaar duwen. Zo weet het toestel dat het moet stoppen, en niet verder mag lopen.

Een goedkopere, snellere, propere manier is een lichtsluis, ook wel Photointerrupter / OptoSwitch genoemd. Zo heb ik er dus 6 nodig (twee per as)

10.2. Interne opbouw lichtsluis.

Een lichtsluis werkt echter niet zoals een mechanische schakelaar. In een lichtsluisje zitten twee elektronische componenten: een diode(LED) en een fototransistor. Tussenin zit een sluisje, waar een voorwerp tussen geschoven kan worden. De LED geeft permanent licht. Met de fototransistor wordt het licht al of niet ontvangen.

Wanneer er licht op de transistor valt, zal deze in saturatie gaan. Wanneer er geen licht op de transistor valt, zal deze in geleiding gaan.

10.3. Schakeling Een LED werkt op 1,5 volt. Onze logische voedingspanning die we hebben is 5v, dus moeten we een voorschakelweerstand R1 voorzien. Het is ook nodig om een Pullup weerstand te voorzien, deze heb ik 22K Ω genomen. De waarde van R1 is;

Ω==−

== 350001.0

5.310

5.15A

vmA

vvI

UR ik heb 390Ω genomen.

10.3.1. Printontwerp

3D design van de Printplaat Achterkant van de Print

Page 54: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 54 -

10.4. Monteerbare lichtsluis.

De lichtsluisjes die ik had liggen (HOA1881-12) waren echter niet voorzien van montagegaten. Omdat het properder en eenvoudiger is om met montagegaten te werken, heb ik achteraf andere lichtsluisjes besteld. => GP1A51HR

10.4.1. Interne opbouw GP1A51HR

Zoals te zien in de tekening bevat deze lichtsluis al een interne pullupweerstand. Enkel de voorschakelweerstand voor de LED is dus nog nodig. Er zou dan eigenlijk nog maar 6x 1 weerstand op het printje nodig zijn. Een printje maken voor 6 weerstanden is vrij idioot. Daarom heb ik besloten om op de lichtsluis zelf de massa (pin 5 & pin 2) te verbinden en de voorschakelweerstanden op de lichtsluizen te solderen en het printje te laten wegvallen.

10.5. Gebruikte componenten

Component Waarde Aantal prijs/stuk totaal

weerstand 5k6 1 € 0,10 € 0,10 lichtsluis GP1AH1HR 6

€ 1,20 (school) € 7,20

Sub totaal = € 7,30 Printplaatmateriaal wordt op einde gerekend

Page 55: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 55 -

11. De microcontroller

11.1. Wat Een microcontroller afgekort µC is te vergelijken met een IC, maar dan een zelf programmeerbare. Intern bezit een µC hardware zoals in een processor van een PC: registers, ALU(Aritmic and Logical Unit), waar logische berekeningen worden uitgevoerd (op max. 2 binaire getallen tegelijkertijd.) Zo kan er opgeteld, afgetrokken, vermenigvildigd, gedeeld en geshift worden, alsook and or, xor, enz… Ook bevat de µC een ROM geheugen (Read Only Memory) waar het geschreven programma wordt in opgeslagen. Tevens is er ook een (klein) RAM (Random Acces Memory) waar variabelen kunnen in opgeslagen worden. Ze zijn van I/O (Input/Output) poorten voorzien waarmee kan gecommuniceerd worden naar de buitenwereld. Er bestaan ook µC waarin al speciale functies zitten zoals; ingeboude A/D converters (Analoog/Digitaal) , PWM regeling (Pulse Width Modulation), mp3 decoders,…

11.2. Voordelen / Nadelen van een µC µC’s zijn overal terug te vinden in bijna alle toestellen waar iets of wat van elektronica inzit: GSM’s, auto’s, alarmsystemen, koelkasten, mp3 spelers, horloges, hifiketens, tv’s, wasmachines, digitale fototoestellen en camera’s, speelgoed, PC’s, codesloten,… kortom alles !… Toch zijn er voor- en nadelen, en zelfs redenen om toch maar geen µC te gaan gebruiken. (zie volgende blz)

11.2.1. Voordelen Je kan volledig zelf bepalen hoe de poorten aangesproken worden, en dus hoe de aangesloten periferie moet gaan werken. Je kan hem 1000den keren herprogrammeren. Zelfs zonder de chip uit de schakeling te halen door ISP (In System Programing) te voorzien (dit kan wel gevaren met zich meebrengen, maar niet in mijn geval). Tevens is een µC zeer klein, en in verhouding tot de mogelijkheden kosten ze geen geld. De enige beperking is eigenlijk je eigen kunnen.

Page 56: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 56 -

11.2.2. Nadelen - Als je een van de speciale functies wil aanspreken, moet je heel de f*manual doorlezen,

zowel op hardware als op software gebied. - Je moet een programmeertaal kennen ( C ). - Om een µC te programmeren is een stuk hardware nodig (de programmer) die specifiek is

voor de µC die je gebruikt, alhoewel er voor veel geld al universele programmers zijn.

- Het ‘grootste’ nadeel; Een programma kan erg groot en complex worden, en dus moeilijk te begrijpen door anderen. Vooral bij automatisatie van processen in de industrie is het niet gewenst dat één iemand de machine kan programmeren/herprogrammeren, en de machine dus staat of valt bij deze ene persoon. Daarom gebruikt men in de industrie PLC’s (Programmable logic controllers) en hun bijbehorende visualisatie software. Zodat je in een virtuele omgeving een proces kan sturen, en men gemakkelijk het inzicht in het proces kan overdragen aan een ander persoon. Of met een team aan een proces kan werken. (Maar eigenlijk werkt die PLC op zich ook weer met microcontrollers) ;-)

11.3. Benodigdheden Om een µC te gaan programmeren is er een en ander nodig. Zogenaamde Development Tools (Ontwikkelbenodigdheden)

11.3.1. De Programmeeromgeving Om het programma te kunnen schrijven, wordt gebruik gemaakt van een programmeeromgeving, zoals ‘IAR Embedded Workbench’ of wat ik voor de PIC gebruikte; ‘MPLAB IDE van Microchip’. Deze software maakt het mogelijk om het geschreven programma te simuleren en te debuggen. Tevens is het handig, omdat er met kleuren onderscheid wordt gemaakt tussen de verschillende syntaxis. Ook is er een automatische regelummering. Om de DS89c450 te programmeren, gebruikte ik dit eigenlijk niet. Ik maakte simpelweg gebruik van de Windows tekstedittor Notepad/Kladblok. Het nadeel is wel dat je soms lang kunt zoeken achter een punt/comma die ergens verkeerd staat in het programma. Notepad zal dit immers niet opmerken ! Zo’n omgeving is dus eigenlijk een slimme Notepad…(met vele nuttige opties)

11.3.2. De header files

Page 57: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 57 -

11.3.3. De compiler

Het programma dat in ‘mensentaal’ is geschreven zal niet begrepen worden door de µC. Om dit toch verstaanbaar te maken, zal er een vertaling moeten gemaakt worden van mensentaal naar machinetaal. Dit omzetten noemt men compileren. Dit maakt het voor ons (mensen) een stuk eenvoudiger. Zo hoeven niet alle machine-instructies (op low level niveau) gekend te zijn. Eens dat het programma is gecompileerd is het niet leesbaar meer voor (de meeste) mensen. (Er kan op de machinecode nog wel een decompiler losgelaten worden, om zo stukken programma terug te proberen ontcijferen maar op die manier terug aan de broncode komen is eigenlijk illegaal…) Als er een fout geschreven staat in het programma dan stopt de compiler met compileren. En geeft aan waar hij vasthangt. Daar in de buurt zit meestal de fout. In dit Eindwerk maakte ik gebruik van twee C-compilers;

Voor de PIC’s gebruikte ik de BKND compiler van MPlab. Voor de DS89c450 maakte ik gebruik van SDCC (Small Decice C Compiler) SDCC is een gratis compiler (onder DOS) te downloaden op http://sdcc.sourceforge.net/

Eens dit machinecode bestand aangemaakt meestal ‘*.hex’ genaamd kan dit naar de µC geschreven worden.

11.3.4. Programmer Software Om het programma naar de µC te schrijven is een ander programmaatje nodig dat de communicatie verzorgt tussen µC en de machinecode op de PC.

Voor de PIC’s gebruikte ik de ‘WIN PIC Programmer’ Voor de DS89c450 gebruikte ik de MTK (MicroController Tool Kit) deze is van de fabrikant zelf.

Het programmeren van een µC verloopt tegenwoordig via seriële poort of USB. In deze software kan ingesteld worden aan welke seriele poort de µC hangt en tegen welke snelheid naar de µC geschreven mag worden. (Baudrate) Verder verloopt het seriële communicatieprotocol voor het uploaden van software automatisch.

11.3.5. Programmer Hardware Voor een goede communicatie tussen PC en µC moet de µC aangesloten zijn volgens de regels van de datasheet. Omdat voor dit eindwerk twee soorten µC moeten geprogrammeerd worden, zijn er zoals eerder vermeld ook twee verschillende stukken hardware nodig. Wat wel hetzelfde is bij beide schakelingen, is de klok. Net zoals bij de PC heeft een µC een kloksignaal. Dit bepaalt de werksnelheid in Mhz. Alhoewel er al µC zijn met een interne klok. De klok is een soort pulstrein. Deze kan worden opgewekt met een pulsgenerator. Maar meestal wordt er een kristal gebruikt met interne versterker/oscillator.

Page 58: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 58 -

11.3.5.1. Programmer Hardware voor de PIC

Voor het programmeren van de PIC’s maakte ik gebruik van de programmer die we in het begin van dit derde jaar hebben gemaakt in de lessen µC’s bij Mr. Wim Van Weyenberg. De zogenaamde JDM (Jens Dyekjar Madsen) programmer.

11.3.5.1.1. Het Schema

Schema (opgebouwd in Multisim)

11.3.5.1.2. De print

3D design van de Printplaat Achterkant van de Print

11.3.5.1.3. De componenten (niet in totale kostprijs verrekend)

Component Waarde Aantal prijs/stuk totaal weerstand 2k2 1 € 0,10 € 0,10 weerstand 4k7 2 € 0,10 € 0,20 weerstand 10k 1 € 0,10 € 0,10 weerstand 22k 1 € 0,10 € 0,10 weerstand 47k 1 € 0,10 € 0,10 condensator 100nF 2 € 0,15 € 0,30 diode 1N4007 1 € 0,12 € 0,12 diode 1N4148 2 € 0,12 € 0,24 transistor BC557 1 € 0,15 € 0,15 spannings Reg. 7812 1 € 0,45 € 0,45 spannings Reg. 7805 1 € 0,40 € 0,40 IC voetje 18 pins 1 € 0,50 € 0,50 connector DSUB9 FeM 1 € 1,00 € 1,00 printkroonsteen 2 pins 1 € 0,65 € 0,65 Printplaat DZ 1

Page 59: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 59 -

11.3.5.2. Programmer voor de DS89c450 De Max3235 die te zien is onderaan in het scherm is een ‘RS232-tranceiver’. Deze zal het logische spanningsniveau van de seriële poort (+12v) omzetten naar een logisch spanningsniveau voor de µC (+5v) en omgekeerd. De 47HC125 is een buffer, deze zal het logisch signaal bufferen.

11.3.5.2.1. Het Schema

Schema (opgebouwd in Multisim)

Page 60: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 60 -

11.3.5.2.2. De Print

3D design van de Printplaat (zonder koelvin) Achterkant Printplaat

11.3.5.2.3. De Componenten

Component Waarde Aantal prijs/stuk Totaal condensator 100nF 1 € 0,15 € 0,15 condensator 33pF 2 € 0,15 € 0,30 diode 1N4007 1 € 0,12 € 0,12 IC 74HC125 1 € 0,50 € 0,50 IC Max 3235 1 € free € free µC DS89c450 1 € free € free kristal 11 Mhz 1 € 1,00 € 1,00 IC Voetje 14 pins 1 € 0,30 € 0,30 IC Voetje 20 pins 1 € 0,50 € 0,50 IC Voetje 40 pins 1 € 0,90 € 0,90 header 8 pins 4 € 2,50 connector DSUB9 Fe 1 € 1,70 (school) € 1,70 printkroonsteen 2 pins 1 € 0,65 € 0,65 printplaat EZ

Sub totaal = € 8,62 Printplaatmateriaal wordt op einde gerekend

Page 61: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 61 -

12. De hoofd µC

12.1. Waarom Dallas Maxim DS89c450 De reden dat ik voor deze µC koos, is eenvoudig. Deze heeft een groot genoeg I/0 bereik, en een redelijk intern geheugen, een seriële poort, maar vooral omdat hij gratis te sampelen is !

12.2. Behuizingen De microcontroller die ik gebruik zit in een DIP behuizing, maar is tevens verkrijgbaar in:

Plastic Dual Inline Package Plastic Leaded Chip Carrier Package Thin Plastic Quad Flatpack Package

12.3. Aangesloten periferie LCD Multiplexer (steppers) Lichtsluizen Manuele Bediening

Page 62: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 62 -

12.4. Het programma

Op het moment van schrijven zit ik aan de 34ste versie van het hoofdprogramma. (opbouwend) Voor hoofdstuk 15 (Extra’s) ben ik nog bezig aan seriële communicatie (interface – postprocessor), het kan zijn dat er hierdoor een iets afwijkende (hogere) versie in de µC komt te staan dan hier weergegeven. Opm: Om alle twijfel te vermijden: Deze versie werkt prefect.

Programma geschreven in C met Notepad & SDCC Compiler #include <string.h> #include <stdio.h> #include <stdlib.h> //voor functie "atoi" te kunnen gebruiken //#include <8052.h> #include <sdcc_reg420.h> // Special Function Register definitions file for; // DS89C430/450 Ultra-High Speed 8051-compatible µCs xdata char s[16]; char kar[16]; char e; // besparing geheugen, toch nooit meer dan 255 char f; // besparing geheugen, toch nooit meer dan 255 char X_String_waarde[5]; char Y_String_waarde[5]; char i=0; // besparing geheugen, toch nooit meer dan 255 char n; char b=0; char Motor; char SF; // besparing geheugen, toch nooit meer dan 255 // Slow/Fast bit LCDbit0, LCDbit1, LCDbit2, LCDbit3, LCDbit4, LCDbit5, LCDbit6, LCDbit7; ///////////////////// int Teller; // afvalteller motor X signed int X_int_waarde; signed int Y_int_waarde; signed int X_prev_int_waarde = 0; signed int Y_prev_int_waarde = 0; void serial_init() EA = 0; // Disable global interrupt mask T2CON = 0x34; // Timer 2 in boud-Rate Generation Mode RCAP2L = 0xFA; // Baud Rate RCAP2H = 0xFF; // Baud Rate SCON0 = 0x50; // Set SCI_0 to 8N1, Rx enabled ES0 = 1; // Enable interrupts for SCI_0 EA = 1; // Enable Global Interrupt //TI_0=1; // voor putchar; void Delay(long snelheid) long a; for (a=0;a<snelheid;a++); //return;

Page 63: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 63 -

void Sturing(char Motor,int Stappen) if (P2_6==0) SF=1; else SF=10; //SF: Slow/Fast while (Stappen != 0) // Aantal stappen doen to '0'-waarde bekomen if (Motor=='X') Teller=0; P0_2=1; //EN if (Stappen < 0 & P3_0==1) P0_1=1; //Dir P0_0=0; //CLK Delay(5); //CLK P0_0=1; //CLK Delay(500*SF); // effe wachten voor volgende stap if (Stappen > 0 & P3_1==1) P0_1=0; //Dir P0_0=0; //CLK Delay(5); //CLK P0_0=1; //CLK Delay(5); //CLK Delay(500*SF); // effe wachten voor volgende stap if (Motor=='Y') if (Stappen < 0 & P3_2==1) P0_4=1; //DIR P0_3=0; //CLK Delay(5); //CLK P0_3=1; //CLK Delay(1000*SF); // effe wachten voor volgende stap if (Stappen > 0 & P3_3==1) P0_4=0; //Dir P0_3=0; //CLK Delay(5); //CLK P0_3=1; //CLK Delay(1000*SF); // effe wachten voor volgende stap if (Motor=='Z') if (Stappen > 0 & P3_5==1) P0_6=1; //DIR P0_5=1; //CLK Delay(5); //CLK P0_5=0; //CLK Delay(1500*SF); // effe wachten voor volgende stap if (Stappen < 0 & P3_4==1) P0_6=0; //Dir P0_5=1; //CLK Delay(5); //CLK P0_5=0; //CLK Delay(1500*SF); // effe wachten voor volgende stap if (Stappen > 0) Stappen--; //als het een positief getal is => Aftrekken tot 0 bekomen... else Stappen++; //als het een negatief getal is => Optellen tot 0 bekomen... ////////////////////////BRESENHAM/////////////////// void Bresenham(signed int ax, signed int ay, signed int bx, signed int by) signed int x = ax; signed int y = ay; signed int dx = (bx - ax); signed int dy = (by - ay); signed int sx = 1; // besparing geheugen, toch nooit meer dan 255 signed int sy = 1; // besparing geheugen, toch nooit meer dan 255 if (dx < 0) sx = -1; dx = -dx;

Page 64: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 64 -

if (dy < 0) sy = -1; dy = -dy; if (dy <= dx) signed int c = 2 * dx; //Bresenham hulpvariabele signed int m = 2 * dy; //Bresenham hulpvariabele signed int d = 0; //Bresenham hulpvariabele while (x != bx) Sturing('X', sx); //sx == +1 stap of -1 stap //Sturing('Y', Y_int_waarde); x = x + sx; d = d + m; if (d > dx) Sturing('Y', sy); //sy == +1 stap of -1 stap y = y + sy; d = d - c; else //(dy > dx) signed int c = 2 * dy; //Bresenham hulpvariabele signed int m = 2 * dx; //Bresenham hulpvariabele signed int d = 0; //Bresenham hulpvariabele while (y != by) Sturing('Y', sy); //sy == +1 stap of -1 stap y = y + sy; d = d + m; if (d > dy) Sturing('X', sx); //sx == +1 stap of -1 stap x = x + sx; d = d - c; ///////////////////////////////////////////////////// void LCD_Enable() //inklokken data P1_3=1; Delay(2); P1_3=0; Delay(2); void Line(int LineNr) Delay(500); P1_2=0; if (LineNr==1) P1_7=1; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); Delay(300); if (LineNr==2) P1_7=1; P1_6=1; P1_5=0; P1_4=0; LCD_Enable(); P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); Delay(300); P1_2=1; //terug in data mode Delay(500); void Entry_Mode() P1_2=0; P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); P1_7=0; P1_6=1; P1_5=1; P1_4=0; LCD_Enable();

Page 65: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 65 -

void OnOff_Control() Delay(1000); P1_2=0; P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); P1_7=1; P1_6=1; P1_5=1; P1_4=0; LCD_Enable(); void Function_Set() P1_2=0; P1_7=0; P1_6=0; P1_5=1; P1_4=0; LCD_Enable(); Delay(10000); P1_7=0; P1_6=0; P1_5=1; P1_4=0; LCD_Enable(); P1_7=1; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); void Clear_Display() Delay(100); //achteraf effe kijken of het nog wel gedaan wordt ! P1_2=0; P1_7=0; P1_6=0; P1_5=0; P1_4=0; LCD_Enable(); P1_7=0; P1_6=0; P1_5=0; P1_4=1; LCD_Enable(); void Lcd_Print_Char(char ASCII) //ASCII = binair char twee=2; // om integerdeling te verkrijgen LCDbit0 = ASCII % twee; LCDbit1 = (ASCII / twee) % twee; LCDbit2 = ((ASCII / twee) / twee) % twee; LCDbit3 = (((ASCII / twee) / twee) / twee) % twee; LCDbit4 = ((((ASCII / twee) / twee) / twee) / twee) % twee; LCDbit5 = (((((ASCII / twee) / twee) / twee) / twee) / twee) % twee; LCDbit6 = ((((((ASCII / twee) / twee) / twee) / twee) / twee) / twee) % twee; LCDbit7 = (((((((ASCII / twee) / twee) / twee) / twee) / twee) / twee) / twee) % twee; //printf("%d %d %d %d %d %d %d %d", LCDbit7, LCDbit6, LCDbit5, LCDbit4, LCDbit3, LCDbit2, LCDbit1, LCDbit0); P1_2=1; Delay(50); P1_7=LCDbit7; P1_6=LCDbit6; P1_5=LCDbit5; P1_4=LCDbit4; LCD_Enable(); P1_7=LCDbit3; P1_6=LCDbit2; P1_5=LCDbit1; P1_4=LCDbit0; LCD_Enable(); void Interprete_Gcode() if (kar[0] == 'N') f=0; e=0; i=0; X_int_waarde = 0; Y_int_waarde = 0; while (kar[e] != 'X') e++; e++; while (kar[e] != ' ') X_String_waarde[f] = kar[e]; f++; e++; X_String_waarde[f] = '\0'; f=0; e++; while (kar[e] != '\0') Y_String_waarde[f] = kar[e]; f++; e++; Y_String_waarde[f] = '\0'; X_int_waarde = atoi (X_String_waarde); //Ascii to Integer Y_int_waarde = atoi (Y_String_waarde); Line(2); sprintf(s, "In verwerking...\0");

Page 66: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 66 -

while (s[i]!='\0') Lcd_Print_Char(s[i]); i++; Line(1); if (X_int_waarde == 100) P1_0=1; else P1_0=0; //Sturing('X', X_int_waarde); //Sturing('Y', Y_int_waarde); Bresenham(X_prev_int_waarde, Y_prev_int_waarde, X_int_waarde, Y_int_waarde); // Bresenham(0,0,100,0); //P1_0=1; SBUF0 = 'v'; //Karakter op Seriele poort0 zetten Delay(99); X_int_waarde == X_prev_int_waarde; // huidige waarde bewaren in de vorige waarde Y_int_waarde == Y_prev_int_waarde; // dit om van coordinaat A => B een lein te kunnen trekken X_int_waarde == 0; Y_int_waarde == 0; Clear_Display(); void Receive_ASCII_from_Serial() //printf("X"); kar[b] = n; if (kar[b] != 13) //13=Enter Lcd_Print_Char(kar[b]); b++; else kar[b] = '\0'; Interprete_Gcode(); Clear_Display(); b=0; void sci0ISR (void) interrupt 4 //using 1 ES0 = 0; // Disable Interrupt Serial Port0 if (RI_0) n = SBUF0; // Save Rx byte Receive_ASCII_from_Serial(); RI_0 = 0; // Reser SCI0 RX int. flag /* else if (TI_0) SBUF0 = n; // Load byte to Tx TI_0 = 0; // Reset SCI_0 Tx interrupt flag */

Page 67: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 67 -

TI_0 = 0; // DIT MOET ER ZEKER STAAN, HIER ZAT DE FOUT VAN TRAAG WERKEN !!! ES0 = 1; // Enable Interupt Serial Port0 void main() PMR |= 0x01; // Enable internal 1K SRAM P0=0; P1 = 0; P2 = 255; //alle ingangen hoog maken ==>> Anders werkt gewoon niet !!! (definieren als ingang) //P0 = 255; //bij Poort0 is dit eigenlijk niet nodig (interne Pullups???) Delay(10000); serial_init(); SBUF0 = 'T'; ///////////////// LCD INITIALISATIE ///////////////////////////////// Function_Set(); Clear_Display(); OnOff_Control(); Delay(1000); Entry_Mode(); Delay(1000); ////////////////////////////////////////////////////////////////////// Line(1); i=0; sprintf(s, "Thierry LOREYN\0"); while (s[i]!='\0') Lcd_Print_Char(s[i]); i++; Line(2); i=0; sprintf(s, " test pest test\0"); while (s[i]!='\0') Lcd_Print_Char(s[i]); i++; //Sturing('X', 1000); //Sturing('Y', 1000); //Bresenham(0,0,100,0); //Bresenham(0,0,-100,0); while(1) Teller++; // Afvaltimer X-driver if (Teller >= 32000) Teller=0; P0_2=0; // afvallen X-driver (als tijdje niet gebruikt) if (P2_0==0 && P2_1==1) Sturing('X', -1); // X-Links if (P2_1==0 && P2_0==1) Sturing('X', 1); // X-Rechts if (P2_2==0 && P2_3==1) Sturing('Y', 1); // Y-voor if (P2_3==0 && P2_2==1) Sturing('Y', -1); // Y-Achter if (P2_4==0 && P2_5==1) Sturing('Z', -1); // Z-Op if (P2_5==0 && P2_4==1) Sturing('Z', 1); // Z-Neer if (SBUF0 == 'b') if (P1_0==0) P1_0=1; else P1_0=0;

Page 68: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 68 -

13. De Voeding Uiteraard moet het geheel gevoed worden.

• 5volt DC Dit is de voedingsspanning voor alle IC’s en µC’s. Ook alle logische stuursignalen (behalve de seriële poort) werken op deze spanning.

• 12volt DC Aansturing van de relais voor stofzuiger en boorkop. De mosfets/transistoren die de motorwikkelingen aansturen werken op deze spanning, alsook de stappenmotoren zelf.

De stappenmotoren die ik hier gebruik zijn geen al te kleine motoren. Een 12v voeding met een hoge stroom is dus nodig. Er moet per motor minstens 4,5A worden voorzien.

13.1. ATX-voeding Een ATX voeding is een PC voeding uit een desktop.

13.1.1. Waarom ATX-voeding?

• Stabiele uitgangsspanning ! • Krachtig !

Niet alle ATX voedingen voldoen. Op de kenplaat moet vermeld staan dat ze minstens 12A kan leveren bij 12v. (vermelding; 250Watt is niet voldoende!) Een voeding van minder dan 12A heb ik getest, maar werkt niet behoorlijk.

• Thermische beveiliging • Compact • Zelfs kortsluitvast • Goedkoop • Kant en klaar • Handige connectoren

13.1.2. De Voedingsconnector (molex) De 5 en 12volt DC is op de connector terug te vinden, zoals aangegeven in onderstaande figuur.

13.1.3. Soft power on Een ATX computervoeding kan echter niet zomaar door de stekker in het stopcontact te steken aangezet worden. Normaal wordt de voeding opgezet door het moederbord van de PC met de ‘soft power on’ pin. Dit is de groene draad. Door de groene draad met een van de zwarte draden(GND) kort te sluiten zal de voeding opspringen.

Page 69: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 69 -

14. CNC (Computer Numerical Control)

CNC is in oorsprong ontwikkeld voor het Amerikaanse leger. Rond 1950-1953 is de ontwikkeling van CNC enorm toegenomen. Omdat er enorme vraag was naar supernauwkeurige wapensystemen, onderdelen van vliegtuigen, tanks, enz… Dankzij de CNC konden niet enkel stukken gefreesd worden, maar ook; gelast, geboord, gesneden, gebogen, gedraaid en tegenwoordig met de lasertechniek zelf gesneden worden . En dit alles met hoge precisie, snelheid, en volautomatisch.

Vroeger kon enkel een G-code programmeur machineinstructies schrijven. Alle G-codes moesten hiervoor gekend zijn. In een volgend stadia werd er gebruik gemaakt van zogenaamde “dialoogsturing”, hierbij communiceert de programmeur met de machine in de zin van “Trek nu een lijn van daar naar daar” of “Maak een bocht met zoveel graden” of “Maak een cirkel met die straal en dat middelpunt” op die manier hoeft men de achterliggende G-taal niet meer te kennen en begrijpen.. Tegenwoordig bestaan er hele vertalers, (waaronder de software die ik gebruik, namelijk KCAM). Zo’n software pakket kan tekeningen die gemaakt zijn in bijvoorbeeld Autocad(Mechanische tekeningen) omzetten in G-codes. Verder kan de software ook gebruikt worden om de tekeningen van “Printplaat Design Software” zoals Multisim, Protel, enz… te vertalen naar G-Codes. Er is zelfs mogelijkheid om een drill-file aan te maken, zodat de CNC machine de frees kan wegbrengen, een boortje gaan halen(Tool Switching), en vervolgens de gewenste gaatjes kan boren. Op die manier moet de gebruiker enkel nog maar kunnen werken met een teken programma. De CNC-software is dus eigenlijk enkel begrensd door de eigen creativiteit, en uiteraard door het mechanisch ontwerp van de machine.

14.1. KCAM De besturing van de machine (assen, eindeloopschakelaars) gebeurdt door middel van de bestaande CNC software van “KellyWare”. De versie die ik hier gebruik is “ KCAM 4.0.24 ” De software kan: baantjes trekken / tekenen / tekst graveren / boren / snijden(Polystyreen)

14.1.1. Waarom KCAM Er zijn veel CNC verwerkingsprogramma’s op de markt, die tekeningen omzetten naar G-code. Maar het unieke aan KCAM is dat deze de mogelijkheid bezit om via de parallelle poort de “stap en richtingsgegevens” naar de buitenwereld te sturen !

Page 70: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 70 -

14.1.2. KCAM kalibreren. Om met KCAM van start te gaan moeten er eerst een paar parameters aan de software meegegeven worden. De software moet uiteraard de specificaties van de freestafel kennen. Dit moet eenmalig ingegeven worden. (De machine blijft immers dezelfde.)

14.1.2.1. Freestafel parameters

AS In te geven parameter Mijn parameter stappen/mm 22 as Lengte (mm) 420 terugdraaicompensatie (mm)

X

maximum snelheid 400 stappen/mm 165 as Lengte (mm) 297 terugdraaicompensatie (mm)

Y

maximum snelheid 1500 stappen/mm 100 as Lengte (mm) 420 terugdraaicompensatie (mm)

Z

maximum snelheid 9000

14.1.2.2. Parallelle poort parameters De poort stuurt gegevens uit ( Step / Dir / En ) ,maar heeft ook de mogelijkheid om inkomende gegevens te ontvangen. Dit wordt gebruikt voor de lichtsluizen.

14.1.2.2.1. Output gegevens

14.1.2.2.2. Input gegevens

AS Actie Poort BIT ≠ PIN X Step &H378 0 X Direction &H378 1 X Enable &H378 2 Y Step &H378 3 Y Direction &H378 4 Z Step &H378 5 Z Direction &H378 6

AS Actie Poort BIT ≠ PIN X Limit Switch Min &H379 3 Y Limit Switch Min &H379 4 Z Limit Switch Min &H379 5

Page 71: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 71 -

14.1.2.3. Andere parameters

Er zijn ook nog enkele andere parameters in te stellen naar keuze, deze worden hier niet besproken. Zie handleiding (in bijlage op CD) of help-bestanden van de software.

14.2. Andere leuke software Op internet is nog verscheidene software te vinden voor G-code (meestal tegen betaling). Hieronder twee leuke en gratis te downloaden pakketten.

14.2.1. DeskEngrave Met DeskEngrave kunnen eenvoudig strings in G-code omgezet worden, zonder dat hiervoor een teken pakket nodig is. DeskEngrave is gratis te downloaden op de website van DesKAM (http://www.deskam.com)

14.2.2. DeskArt Met DeskArt kan je foto’s importeren (BMP, JPEG, GIF, WMF, TIFF). Zo kan je bijvoorbeeld een profielfoto van een persoon 3D uitfrezen. (Eerst wordt de foto naar grijswaarden omgezet. Afhankelijk van het waardeverschil tussen zwart/wit zal de freesdiepte geregeld worden.) Hieruit ontstaat het G-code bestand. DeskArt is gratis(althans voor 30 dagen) te downloaden op de website van DesKAM (http://www.deskam.com)

Page 72: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 72 -

15. Extra’s

15.1. Optische ontkoppeling

15.1.1. Wat Een optische ontkoppeling is zoals de naam het al doet vermoeden een optische scheiding tussen het ene deel van de schakeling en het andere deel van de schakeling. Dit heeft als voordeel dat beide schakelingen niet elektrisch met elkaar in verbinding staan. Ook wel ‘opto coupler’ of ‘opto isolator’ genoemd. Ik gebruik een optische ontkoppeling om de machine te scheiden van de PC (laptop). Normaal kan er niet veel fout gaan tijdens het uitwisselen van data (stuurgegevens) tussen computer en machine. Maar als het fout gaat is in het beste geval de parallelle interface van de PC kapot en in het slechtste geval heel het moederbord. (Daar de Parallelepoort van een PC niet kortsluitvast is).

15.1.2. Hoe Als de LED brandt, zal het afgegeven licht op de fotogevoelige transistor vallen. Hierdoor zal de transistor in geleiding gaan. Als de transistor niet belicht wordt, zal deze in sper gaan. Dit alles zit in een IC’tje. De IC die ik gebruik; de TLP504-A bezit er zo’n 4 in één behuizing.

15.1.3. Werking Om deze werkingswijze op de parallelle poort toe te passen, moet eerst de pinout van een parallelle poort even bestudeerd worden. (De pinout is terug te vinden in de bijlagen.) Zoals te zien in de bijlage bevat de LPT poort input en output signaaldraden;

Op de Output poorten worden de LED’s aangesloten. Op de Input poorten worden de fotogevoelige transistoren aangesloten.

Net zoals de µC werkt de LPT poort met logische signalen tussen 0 en 5v DC, dus de principe- werking is gelijk aan deze van de lichtsluizen. Uiteraard is er aan de andere kant (kant van de PC) ook een voeding noodzakelijk, hiervoor is een 9volt batterij voorzien met een spanningsstabilisator naar 5v. Een gemeenschappelijke voeding (dus zonder batterij) zou dom zijn, daar er dan geen ontkoppeling ontstaat.

Page 73: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 73 -

15.1.4. Het schema

Schema (opgebouwd in Multisim)

Opm.: In het oorspronkelijke schema ben ik vergeten een draad te trekken tussen de GND van de female SUBD

connector en de GND van de 5v voeding (dit is in het rood aangeduid). Dus op het PCB is dit opgelost door een draadbrug verbinding !

Page 74: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 74 -

15.1.5. De print

3D design van de printplaat (zonder bat houder) Achterkant van de printplaat

15.1.6. Gebruikte componenten.

Component Waarde Aantal Prijs/stuk Totaal weerstand 390Ω 17 € 0,10 € 1,70 weerstand 10k Ω 17 € 0,10 € 1,70 photocoupler TLP504-A 5 € 1,50 € 7,50 IC Not poort 7404 3 € 0,50 € 1,50 spanningstabilisator 7805 1 € 0,40 (school) € 0,40 batterij 9 volt 1 € 6,00 € 6,00 batterijhouder 9 volt 1 € 2,90 € 2,90 connector 25 SUBD M 1 € 0,75 (school) € 0,75 connecor 25 SUBD F 1 € 0,75 (school) € 0,75 printkroonsteen 2 pins 1 € 0,65 € 0,65 printplaat DZ 1

Sub totaal = € 23,85 Printplaatmateriaal wordt op einde gerekend

Page 75: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 75 -

15.2. Seriële aansturing (RS-232)

Bij seriële communicatie worden de bytes bit voor bit doorgestuurd, dit in tegenstelling met parallelle communicatie waar ze per byte naar buiten komen.

Het voordeel is dat er minder signaaldraden nodig zijn, omdat de acht bits over één kabel worden doorgestuurd. Wat ook reduceert tot een lagere (koper) kostprijs. Het nadeel is dat de data trager verstuurd wordt, omdat er telkens moet gewacht worden tot de gehele bitjestrein binnen is via dat ene spoor. Maar dit ‘trager zijn’ is met de hedendaagse kloksnelheden al heel snel. De seriële poort heeft het dus van de parallelle gehaald.

Het USB protocol (Universal SERIAL Bus) is hiervan de (snellere) opvolger. Het oudere RS-232 seriële protocol kan dus met een RS-232 naar USB adapter worden omgezet, zodat zelfbouwtoepassingen ook op de USB poort werken. De omzetting van parallel naar USB kan echter niet. Omdat het besturingssysteem dit herkent als een virtuele printerpoort, en niet als een LPT poort. Hierdoor kan de parallelle bus jammer genoeg niet via USB aangesproken worden. Zo kwam de vraag of het mogelijk was de machine serieel te sturen.

15.2.1. Serieel KCAM 4

In de bestaande software is seriële communicatie voorzien. (Die eventueel via USB kan werken.) Deze optie werkt enkel met de controller van de fabrikant; ‘de MaxStepper’. Men moet dan in het softwarepakket aanvinken dat er met de MaxStepper word gewerkt. Deze µC kan verkregen worden bij kellyware voor $245 dollar. Wat er in die controller zit geeft de fabrikant niet vrij.

15.2.1.1. MaxStepper Dit is wel veel geld voor een 40pins chipje. Door in de software aan te geven dat we met de MaxStepper werken, maar in wezen een andere computer met de seriële poort verbinden (ipv. de MaxStepper), kan er gezien worden wat de software zendt naar de µC. (Zie bijlage: De nullmodemkabel) Normaal kan er dan op de andere PC een patroon vastgesteld worden voor elke CNC handeling. Jammer genoeg communiceert de MaxStepper in twee richtingen met de software. De software kijkt of de MaxStepper verbonden is. Er gebeurt een connectivity check. Een buitenstaander kan echter niet weten hoe hierop gepast te antwoorden, maw. welke signalen er moeten teruggestuurd worden ter bevestiging van elke handeling. Indien we dit zouden weten, kunnen we zelf het protocol afleiden, en hierop gepast reageren (om niet te zeggen namaken). Dus deze optie (seriële communicatie met de MaxStepper) valt uit de boot, en is niet verder onderzocht.

Page 76: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 76 -

15.2.1.2. Eigen CNC software Om dan toch tegemoet te komen om iets serieel te communiceren is er enkel nog maar de mogelijkheid om zelf een gehele interface + postprocessor te gaan schrijven. Dit wil zeggen;

• eigen software op de PC (interface) Deze moet G-codes van een tekenpakket of cad-programma kunnen verzamelen, en vervolgens bit per bit serieel naar de µC doorsturen.

• Eigen G-code verwerkingssoftware in de µC (PostProcessor) Deze moet de ontvangen G-codes bevestigen, en vervolgens de code verwerken tot CNC machine instructies.

Omdat deze twee stukken software zó groot en wiskundig complex (parabolische functies, vectorberekeningen; om

cirkels, ellipsen en krommen te frezen) uitvallen is het niet haalbaar om dit als bijkomstig extra-tje even te schrijven. (Dit is een eindwerk op zichzelf) Wat ik wel nog geschreven heb is een vereenvoudigde versie om rechte lijnen te frezen. Dit kan later nog uitgebreid worden om eventueel krommen te graveren ! Het is dan ook een extra-tje. PS: Om alle twijfels te voorkomen: De machine werkt volledig (alle G-codes) met de bestaande

software van KCAM !

15.2.1.2.1. Principe werking tussen interface en postprocessor. Hieronder is de onderlinge communicatie tussen interface en postprocessor schematisch weergegeven. Merk op dat bij werken met de interface (PC) , de post processor (µC) geïnterupteerd wordt. RS-232 Serial Protocol Het programma en de nodige initialisatie voor de seriële poort, en de seriële interuptverwerking is terug te vinden in hoofdstuk 12. Met Periferie wordt bedoeld: Toutchprint, LCD-scherm, Lichtsluizen en Stapenmotordrivers

Page 77: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 77 -

15.2.1.2.2. Interface

De taak van de interface is code ophalen uit een G-code bestand van een teken pakket, en deze doorsturen naar de post processor. Dit doen we met Visual Basic. Dit programmaatje heeft uiteraard niet veel rekenkracht nodig. Het enige wat het moet doen, is het G-code bestand openen en byte per byte (ASCII) doorsturen naar de postprocessor, en vervolgens wachten op een verwerkingsbevestiging, alvorens de volgende code te sturen. Omdat de volledige verwerking in de µC (postprocesor) gebeurd, kan dit programma perfect op de achtergrond draaien, zonder dat de PC hiermee belast wordt. De code is hieronder terug te vinden. (Om de code goed te begrijpen kan men refereren naar het schema op blz. 78.)

Interface geschreven in Visual Basic Option Explicit 'Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Dim n As Integer Private Sub Form_Load() Dim Bestand As String Bestand = App.Path If Right$(Bestand, 1) <> "\" Then Bestand = Bestand & "\" Bestand = Bestand & "code.txt" Text1.Text = Bestand MSComm1.CommPort = 1 MSComm1.Settings = "57600,n,8,1" MSComm1.PortOpen = True MSComm1.DTREnable = False Sleep (500) Send_Serial_String ("Serial Interface") End Sub Private Sub Wacht_Verwerkings_Bevestiging() Do Until MSComm1.Input = "v" DoEvents Loop End Sub Private Sub Send_Serial_String(Lijn_Tekst As String) Dim i As Integer Dim ascii Label3.Caption = "" MSComm1.Output = Chr$(13) '== clear LCD Sleep (2) For i = 1 To Len(Lijn_Tekst) ascii = CStr(Mid(Lijn_Tekst, i, 1)) Label3.Caption = Label3.Caption + ascii MSComm1.Output = ascii Sleep (2) DoEvents Next Label3.Caption = "" End Sub Private Sub StuurCode_Click() Dim Lijn_Nr As Integer Dim Lijn_Tekst As String n = 1

Page 78: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 78 -

'MSComm1.Output = Chr$(13) '== clear LCD 'Sleep (2) List1.Clear Lijn_Nr = FreeFile Open Text1.Text For Input As Lijn_Nr Do While Not EOF(Lijn_Nr) Text3.Text = n Line Input #Lijn_Nr, Lijn_Tekst List1.AddItem Lijn_Tekst Call Send_Serial_String(Lijn_Tekst) Sleep (400) 'Dan komt de text "In Verwerking..." net iets later op het LCD (mooier) MSComm1.Output = Chr$(13) '== einde van de "N. ... ..." string Sleep (2) 'Label3.Caption = "" Call Wacht_Verwerkings_Bevestiging n = n + 1 'Sleep (20) Loop List1.Clear Send_Serial_String ("Done... Groetjes") End Sub Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False End Sub Private Sub Text2_Change() Send_Serial_String (Text2) End Sub Private Sub X1_Click() Send_Serial_String ("N X-100 Y0") MSComm1.Output = Chr$(13) '== einde van de "N. ... ..." string End Sub Private Sub X2_Click() Send_Serial_String ("N X100 Y0") MSComm1.Output = Chr$(13) '== einde van de "N. ... ..." string End Sub Private Sub Y1_Click() Send_Serial_String ("N X0 Y100") MSComm1.Output = Chr$(13) '== einde van de "N. ... ..." string End Sub Private Sub Y2_Click() Send_Serial_String ("N X0 Y-100") MSComm1.Output = Chr$(13) '== einde van de "N. ... ..." string End Sub

Page 79: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 79 -

15.2.1.2.3. PostProcessor

Zoals eerder vermeld heeft een postprocessor de taak om de ontvangen G-code van de interface om te zetten in mechanische beweging. Stel dat we een G-code aanbieden die coördinaten moet doorlopen zoals in onderstaande figuur. (van A naar B)

Geval 1 Geval 2 Geval 3

Voor de eenvoudigheid stellen we dat tussen één eenheid (één vakje) 100 stappen liggen, in werkelijkheid is dit niet zo, en hebben de 3 assen een andere eenheidsstapgrootte. • Geval 1 en 2 zijn het eenvoudigste:

- Bij geval 1 zal enkel motorX 300 stappen naar links moeten nemen. - Geval 2 is gelijkaardig aan geval 1, maar hier is het motorY die moet werken.

• In geval 3 wordt het moeilijker, hier zitten we met een hoek (richtingscoeficient) en een verschuiving t.o.v. de oorsprong. Dit wordt dus wel even berekenen… of toch niet?

Neen: Hiervoor gaan we eerst even terug naar de “steentijd” van de computertechniek.

In die tijd hadden procesoren nog geen brute rekenkracht zoals nu. Echter wou men wel rechte lijnen kunnen tekenen op een monitor (om zo figuren en karakters te maken). Zware wiskundige formules voor oa. het berekenen van een richtingscoëfficiënt, zou te veel rekenkracht vergen. In de jaren 60 werd voor deze berekening een eenvoudigere methode

gevonden door dhr. Jack Bresenham (Programmeur bij IBM die de grafische routines schreef voor een grafische kaart). Later noemde men deze methode “het Bresenham algoritme”. Dit Algoritme wordt nu, ruim 40 jaar later nog steeds gebruikt om grafische LCD’s aan te sturen. (zoals te zien op de foto hiernaast)

15.2.1.2.3.1. Hoe werkt het Bresenham algoritme? (principe)

Eerst wordt bepaald of de hoek van de te teken lijn groter of kleiner is dan 45°. Dit kan eenvoudig door:

- dx = bx – ax - dy = by – ay - als (dy <= dy) dan zitten we onder de 45°

als (dy > dx) dan zitten we boven de 45°

Vervolgens worden de X waarden (X-as) doorlopen. Bij elke X-waarde wordt gekeken of de Y-waarde verhoogd moet worden tov. de vorige waarde. (de Y-waarde wordt pas verhoogd als de afwijking tussen de berekende Y-waarde en de te tekenen pixel groter geworden is dan ½ pixel.) Ook wordt de oriëntatie van de lijn bepaald om te kijken of de Y waarden moeten worden bijgeteld of afgetrokken. (zo kan men ook in de andere kwadranten een lijn gaan tekenen.) Dit doet men door te controleren van: (dx < 0) en/of (dy < 0) Opm.: Boven de 45° geld hetzelfde principe, enkel is het nu nauwkeuriger om de Y waarden te

doorlopen, en de X waarden te verhogen/verlagen. Dit principe gebruikte ik (mits een beetje aanpassing) om rechte lijnen te kunnen graveren… Het geschreven programma is terug te vinden in hoofdstuk 12.

Page 80: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 80 -

.

Bijlagen Opm.: Datasheets en handleidigen zijn niet terug te vinden in de bijlagen, deze zijn terug te vinden op het

internet of op de bijgevoegde CD-ROM.

Page 81: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 81 -

I. De prints (Op ware grootte) Step Driver 1

Step Driver 2

Page 82: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 82 -

Logica Step Driver 2

Step Driver 3

Logica Step Driver 3

Switch X Y Z

Page 83: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 83 -

µC Board

Multiplexer

Page 84: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 84 -

Toutch Switch

Dimmer

Nulmodem

Page 85: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 85 -

LPT-Photocoupler (extra)

Copper top (Bovenkant PCB) Copper Bottom (Onderkant PCB)

Page 86: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 86 -

II. ASCII tabel

III. ASCII tabel voor LCD driver

(Tabel afkomstig uit datasheet van een Hitachi LCD controller)

Page 87: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 87 -

IV. Parallelle poort (LPT)

LPT staat voor Line Printer Terminal

V. Null-modem (met handshaking)

Met dit printje kunnen er twee computers met elkaar verbonden worden via seriële poort. Met het programma HperTerminal kunnen dan beide PC’s met elkaar communiceren. Op die manier kan een µC gesimuleerd worden, zodat er kan nagegaan worden of het communicatieprotocol goed functioneert. (Gebruikt tijdens het schrijven van de software)

Schema (opgebouwd in Multisim)

Connector 1 Connector 2 Function

2 3 Rx ← Tx 2 2 Tx → Rx 4 6 DTR → DSR 5 5 GND ↔GND 6 4 DSR ←DTR 7 8 DTS →CTS 8 7 CTS ←RTS

Pin Functiel I/O Bit Geïnverteerd 1 Strobe O Control Bit 0 Ja 2 Data 0 0 Data Bit 0 nee 3 Data 1 0 Data Bit 1 Nee 4 Data 2 0 Data Bit 2 Nee 5 Data 3 0 Data Bit 3 Nee 6 Data 4 0 Data Bit 4 Nee 7 Data 5 0 Data Bit 5 Nee 8 Data 6 0 Data Bit 6 Nee 9 Data 7 0 Data Bit 7 Nee 10 Acknowlege I Status Bit 6 nee 11 Busty I Status Bit 7 Ja 12 Paper-out I Status Bit 5 Nee 13 Select I Status Bit 4 Nee 14 Linefeed 0 Control Bit 1 Ja 17 Error I Status Bit 3 Nee 16 Init/reset 0 Control Bit 2 Nee 17 Select 0 Control Bit 3 Ja

18-25 GND

Page 88: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 88 -

VI. Bresenham testjes

Hieronder staan enkel testjes die ik heb gemaakt om het algoritme beter te begrijpen.

Opm. Hoe kleiner de vakjes (pixels of in mijn geval stapgrootte) hoe nauwkeuriger de benadering.

Page 89: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 89 -

VII. Enkele G-codes voor freesmachines Deze G-code tabel voor een CNC freesmachine is afkomstig van:

http://www.cncezpro.com/gcodes.cfm Opm: Als dit een elektronische versie is, kunt u op de blauwe code drukken om een visueel

beeld te krijgen van wat de code doet.

G-Code actie G00 Positioning in Rapid G01 Linear Interpolation G02 Circular Interpolation (CW) G03 Circular Interpolation (CCW) G04 Dwell G07 Imaginary axis designation G09 Exact stop check G10 Program parameter input G11 Program parameter input cancel G12 Circle Cutting CW G13 Circle Cutting CCW G17 XY Plane G18 XZ Plane G19 YZ Plane G20 Inch Units G21 Metric Units G22 Stored stroke limit ON G23 Stored stroke limit OFF

. .

. . G27 Reference point return check G28 Automatic return to reference point G29 Automatic return from reference point G30 Return to 2nd, 3rd, 4th reference point G31 Skip function

. . G33 Thread cutting G34 Bolt hole circle (Canned Cycle) G35 Line at angle (Canned Cycle) G36 Arc (Canned Cycle) G40 Cutter compensation Cancel G41 Cutter compensation Left G42 Cutter compensation Right G43 Tool Length Compensation (Plus) G44 Tool Length Compensation (Minus) G45 Tool offset increase G46 Tool offset decrease G47 Tool offset double increase G48 Tool offset double decrease G49 Tool Length Compensation Cancel G50 Scaling OFF G51 Scaling ON G52 Local coordinate system setting G53 Machine coordinate system selection G54 Workpiece Coordinate System G55 Workpiece Coordinate System 2 G56 Workpiece Coordinate System 3 G57 Workpiece Coordinate System 4 G58 Workpiece Coordinate System 5 G59 Workpiece Coordinate System 6 G60 Single direction positioning G61 Exact stop check mode G62 Automatic corner override G63 Tapping mode G64 Cutting mode G65 Custom macro simple call G66 Custom macro modal call G67 Custom macro modal call cancel

G-Code actie G68 Coordinate system rotation ON G69 Coordinate system rotation OFF G70 Inch Units G71 Metric Units G72 User canned cycle G73 High-Speed Peck Drilling Cycle G74 Counter tapping cycle G75 User canned cycle G76 Fine boring cycle G77 User canned cycle G78 User canned cycle G79 User canned cycle G80 Cancel Canned Cycles G81 Drilling Cycle G82 Counter Boring Cycle G83 Deep Hole Drilling Cycle G84 Tapping cycle G85 Boring Cycle G86 Boring Cycle G87 Back Boring Cycle G88 Boring Cycle G89 Boring Cycle G90 Absolute Positioning G91 Incremental Positioning G92 Reposition Origin Point G93 Inverse time feed G94 Per minute feed G95 Per revolution feed G96 Constant surface speed control G97 Constant surface speed control cancel G98 Set Initial Plane default G99 Return to Retract (Rapid) Plane

. .

. .

. .

. .

. .

Page 90: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 90 -

VIII. G-code voorbeeld (voor freesmachines) In de onderstaande figuur is de letter “ H ” te zien, en de bijbehorende G-code om deze te graveren op een CNC machine. G-code gegenereerd met Desk Engrave. (Uiteraard kan je ook zelf je G-code schrijven)

G-code G90 T0 F700,0 N0 G00 Z2,0 N1 G00 X1,6 Y5,1 N3 G01 Z-0,1 F5000,0 N4 F700,0 N5 X8,0 Y5,1 N6 G00 Z2,0 N7 G00 X1,6 Y9,4 N9 G01 Z-0,1 F5000,0 N10 F700,0 N11 X1,6 Y0,4 N12 G00 Z2,0 N13 G00 X8,0 Y9,4 N15 G01 Z-0,1 F5000,0 N16 F700,0 N17 X8,0 Y0,4 N18 G00 Z2,0

Verklaring:

N = Regelnummer G90 = Coördinaatstelsel: absolute positionering ≠ relatieve positionering G00 = Snelle rechtlijnige bewegingen, wordt gebruikt om snel naar positie te gaan zonder

materiaal te verspanen. G01 = Lineaire beweging van A naar B, wordt gebruikt om materiaal te verspanen met een

lineaire beweging. F = bewegingssnelheid

Page 91: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 91 -

IX. Tools 1) Ledjesbox

Dit tooltje is handig gebruikt tijdens het testen van de software, om te zien dat de software wel de gewenste signalen naar de buitenwereld stuurde.

2) LED-testboard Dit tooltje is handig gebruikt voor het testen van logische signalen tussen 0 en 5v DC.

3) LPT-testboard Dit tooltje is gebruikt tijdens het ontwikkelen en testen van de stappenmotor drivers. Hiermee kunnen de afzonderlijke pinnen van de LPT-connector verbonden worden met draadjes naar de stappenmotor testschakeling (op breadboard).

Page 92: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 92 -

X. Kostprijs • Kostprijs mechanisch Recuperatie € 0,00

• Kostprijs elektrisch Subtotaal = +/- € 260

Toebehoren Totaal printontwerp Motor X € 60,46 printontwerp Motor Y € 34,42 printontwerp Motor Z € 49,59 LCD € 13,70 printontwerp Multiplexer € 6,36 printontwerp Manuele bediening € 2,45 printontwerp One-touch-schakeling € 16,67 printontwerp Dimmer € 5,45 lichtsluizen € 7,50 printontwerp hoofd µC € 8,62 printontwerp optische ontkoppeling € 23,85 Printplaatmateriaal + Bedrading € 30,00

( + Voeding € 23 )

• Kostprijs werkuren Onbetaalbaar Opm: De huidige motoren (uit recyclage) zijn niet krachtig genoeg om zware materialen te verspanen. De motoren zouden vervangen moeten worden. Liefst door stappenmotoren die een koppel kunnen leveren van meer dan 5 Nm. (wat al heel wat is) Krachtige stappenmotoren kosten veel geld… +/- € 200 * 3D = +/- €600

Page 93: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 93 -

XI. Eindwerk Agenda Opm.: Van eind september tot begin december heb ik tussentijds aan de mechanische constructie

gewerkt + ontwerp van de eerste stappenmotorschakeling (X-AS) Week 1

Dag Datum Activiteit maandag 28/01/2008 Uitzoeken stappenmotor schakelingen met transistoren en mosfets dinsdag 29/01/2008 Testen op breadboard van de stappenmotorschakelingen woensdag 30/01/2008 Programmeren van de logica voor stappenmotoren donderdag 31/01/2008 Ontwerpen PCB van de stappenmotordriver Z-AS + solderen / testen vrijdag 01/01/2008 Ontwerpen PCB van de stappenmotordriver Y-AS + solderen zaterdag 02/02/2008 zondag 03/02/2008

Monteren van de motoren + bevestigen aan assen. Oplossing zoeken voor het haperen van de motoren.

Week Extra (Krokus vakantie)

Dag Datum Activiteit maandag 04/02/2008 dinsdag 05/02/2008 woensdag 06/02/2008 donderdag 07/02/2008 vrijdag 08/02/2008 zaterdag 09/02/2008 zondag 10/02/2008

Vakantie: Vervangen van de Schroefdraad door inox schroefdraad

- Y-AS - Z-AS

Montage aangepast door kogellagers ipv. wrijvingslagers Montage van de X+Z driver op plexi. Plexi monteren op de machine met scharnieren.

Week 2

Dag Datum Activiteit maandag 11/02/2008 PCB design: µC Board DS89cxxx etsen + solderen

PCB design: Logica Step Driver 3 etsen + solderen dinsdag 12/02/2008 Bedraden motor + Testen PCB; Logica Step Driver 3 woensdag 13/02/2008 donderdag 14/02/2008 vrijdag 15/02/2008

Schrijven van software voor µC om XYZ bewegingen te doen met de touchprint

zaterdag 16/02/2008 zondag 17/02/2008

Monteren scharnieren op plexi / Monteren PCB op plexi /

Week 3

Dag Datum Activiteit maandag 18/02/2008 Trekken van draden naar de motoren + lichtsluizen dinsdag 19/02/2008 Mooi vastleggen van draden + schrijven software voor lichtsluizen woensdag 20/02/2008 LCD: Uitzoeken van de werking donderdag 21/02/2008 LCD: Schrijven van software voor karakters weer te geven vrijdag 22/02/2008 LCD: Schrijven software voor strings + onderste lijn zaterdag 23/02/2008 zondag 24/02/2008

Niets

Page 94: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 94 -

Week 4

Dag Datum Activiteit maandag 25/02/2008 Vinnen maken voor lichtsluizen + draden LCD dinsdag 26/02/2008 LCD problemen: uitzoeken problemen + opzoeken werking dimmer woensdag 27/02/2008 Maken van PCB voor dimmer + solderen / testen donderdag 28/02/2008 Ontwerpen One-Touch op breadboard voor dremel / stofzuiger vrijdag 29/02/2008 PCB On-Touch-print; tekenen / etsen / solderen /testen zaterdag 01/03/2008 Monteren onderste lichtsluizen + plaatsing zijpanelen / stopcontacten zondag 02/03/2008 Eerste testen op een blokje hout

Week 5

Dag Datum Activiteit maandag 03/03/2008 Bedraden + aansluiten One-Toutch-print dinsdag 04/03/2008 Maken nieuwe (betere) One-Touch-print op breadboard + tekenen PCB woensdag 05/03/2008 Solderen / testen + monteren donderdag 06/03/2008 vrijdag 07/03/2008 Verhuizen van materiaal naar boven B201 zaterdag 08/03/2008 zondag 09/03/2008

Maken van het frontpaneel

Week 6

Dag Datum Activiteit maandag 10/03/2008 dinsdag 11/03/2008 woensdag 12/03/2008 donderdag 13/03/2008 vrijdag 14/03/2008 zaterdag 15/03/2008 zondag 16/03/2008

Uitzoeken van seriële communicatie met µC Schrijven van een interface om G-code door te zenden naar de µC. Schrijven van software in de µC om G-codes te ontvangen

Week 7

Dag Datum Activiteit maandag 17/03/2008 dinsdag 18/03/2008 woensdag 19/03/2008 donderdag 20/03/2008 vrijdag 21/03/2008

Uitzoeken van seriële communicatie met µC Schrijven van een interface om G-Code door te zenden naar de µC. Schrijven van software in de µC om G-codes te ontvangen

zaterdag 22/03/2008 zondag 23/03/2008

Maken van een spanplaat

Page 95: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-

3D Computergestuurde Graveermachine (bijlagen) Thierry LOREYN

Academiejaar 2007-2008, opleiding Prof. Bach. Elektronica-ICT - 95 -

Paasvakantie

Dag Datum Activiteit maandag 24/03/2008 dinsdag 25/03/2008 woensdag 26/03/2008 donderdag 27/03/2008 vrijdag 28/03/2008 zaterdag 29/03/2008 zondag 30/03/2008 maandag 31/03/2008

Maken van scriptie

dinsdag 01/04/2008 Ontwerpen optische koppeling op breadboard woensdag 02/04/2008 PCB tekenen voor optische ontkoppeling LPT poort donderdag 03/04/2008 PCB etsen (op school) / solderen / testen vrijdag 04/04/2008 niets zaterdag 05/04/2008 zondag 06/04/2008

Maken van scriptie

Opm.: Na de paasvakantie ben ik tot het einde van het jaar bezig geweest met de seriële

communicatie, interface/postprocessor, en alles wat daar rond hangt. (als extra-tje) Belangrijke Data

Dag Datum Activiteit vrijdag 21/03/2008 Einde stageperiode vrijdag 11/04/2008 Afgeven scriptie (eerste versie) woensdag 21/05/2008 Afgeven scriptie (definitieve versie) donderdag 19/06/2008 Eindverdediging (jury)

XII. Voor geïnteresseerden

Foto’s van de opbouw zijn terug te vinden op: http://eindwerk.loreyn.be (zolang de server online is)

E-mail: [email protected]

Page 96: 3D Computergestuurde Graveermachine - …eindwerk.loreyn.be/scriptie.pdf · De opbouw van de machine X- Y- en Z-as moet voor december klaar zijn ! • De aandrijving van de X- Y-