Stolpklok met stappenmotor

Gepost door Jeroen Vreuls op dinsdag 14 februari 2023

De tandwielen

Ik was al een hele tijd van plan om eens een klok te maken, op internet kom je van alles tegen qua elektronische klokken. Grote tableaus met oplichtende tekst erin, klokken met oplichtende wijzerplaten, de standaard digitale klokken, enzovoort.

Ik wilde eigenlijk een combinatie maken van elektronisch en mechanisch, na wat denken en schetsjes maken kreeg ik gaandeweg een idee hoe het moest worden.

Ik ben begonnen met het uitwerken van een tekening voor de tandwielen, het mechanische gedeelte dus.

Aandrijving voor de klokAandrijving voor de klok

Volgens de berekening kwam ik uit op tien tandwielen. De tandwielverhouding is wel iets anders dan van een gewone klok. Alleen de verhouding tussen de minutenwijzer en urenwijzer is hetzelfde, die moet 1 op 12 zijn. Omdat we een stappenmotor gaan gebruiken voor het verstellen van de wijzers maakt de eerste vertraging niet zoveel uit, als je maar op hele getallen uitkomt qua tanden is het goed. Als je naar de eerste vertraging kijkt, zie je een tandwiel met 12 tanden op de stappenmotor en 60 tanden op de tussenas. Dat geeft bij elkaar een vertraging van 60 : 12 = 5. De volgende vertraging is een tandwiel met 12 tanden op de tussenas en 36 tanden op de minuten as, dat geeft een vertraging van 36 : 12 = 3. De totale vertraging tussen de stappenmotor en de minuten as is dus 3 X 5 = 1 op 15.

We gaan de klok één keer per minuut verstellen, dat moet in één uur dus 60 maal gebeuren. Voor de stappenmotor gebruik ik een motor met 0.9 graden per stap, dat zijn dus 400 stappen per omwenteling. De stappenmotor ga ik bedienen met micro stappen, de stappenmotordriver staat op 1/32 stap. Dan krijgen we dus 32 X 400 = 12800 stappen per omwenteling van de stappenmotor. Nu hadden we een vertraging van 1 op 15, als we nu 15 vermenigvuldigen met 12800 dan krijgen we 15 X 12800 = 192000 stappen voor één omwenteling van de minutenwijzer. Als we die 192000 delen door 60 krijgen we 192000 : 60 = 3200 stappen voor één minuut. De stappenmotor draait dus iedere minuut een kwart rondje.

Nu hebben we de minuten werkend en gaan we naar de uren kijken. Eigenlijk weten we dat al, dat moet één twaalfde deel zijn. Als de minutenwijzer één maal rond is moet de uren wijzer één twaalfde deel verdraaien. Dat kan met één tandwielcombinatie, maar dan wordt het wel erg groot. Ik heb dat met twee tandwielcombinaties gedaan. Eenmaal met een tandwiel vertraging van 1 op 4 en eenmaal met een tandwiel combinatie van 1 op 3, samen wordt het dan 4 X 3 = 12.

Op de tekening zie je nog twee keer tandwielen staan, dat is gedaan om de zelfde draairichting van de wijzers te krijgen en om de afstand te overbruggen tussen de tandwielen.

De tandwielen zijn volgens deze tabel geprint. De tandgrootte is module 1.5.

Tandwielen tabelTandwielen tabel

Als we bijvoorbeeld even kijken naar het tandwiel met 60 tanden, dan zien we dat de diameter (A) 93 mm is en de pitch (B) is 90 mm. De maten D, F en G zijn respectievelijk 27, 23 en 12 mm.

Maten van een tandwielMaten van een tandwiel

In de tabel kun je ook de maten van de andere tandwielen vinden. De tandwielen zijn geprint zonder gat, die heb ik op de draaibank erin gemaakt. Het printen van een gat is nooit helemaal precies, dus vandaar. De assen zijn van 4 mm messing, dat is overal te koop, de as voor de uren is van aluminium. Dat is een stukje buis met een buitendiameter van 6 mm en een binnendiameter van 4 mm, dat past dus precies over de minuten as. De lagers zijn gemaakt van kunststof, die zijn ook op de draaibank gemaakt.

De tandwielen zijn in drie lagen opgebouwd in de klok. Op de eerste laag zie je de stappenmotor en het grote tandwiel, 12 en 60 tanden. De pijlen op de tandwielen geven de draairichting aan. Op het tandwiel met 60 tanden is weer een tandwiel met 12 tanden bevestigd.

De eerste laag tandwielenDe eerste laag tandwielen

Op de tweede laag zie je dat het tandwiel met 12 tanden het minuten tandwiel met 36 tanden aandrijft. Het minuten tandwiel drijft via een tandwiel met 12 tanden het tandwiel aan met 48 tanden, op dat tandwiel zit weer een tandwiel met 12 tanden.

De tweede laag tandwielenDe tweede laag tandwielen

Eigenlijk zijn er dus twee tussenassen, de eerste is de tussen as tussen de stappenmotor en het minuten tandwiel. En de tweede tussenas is de as tussen het minuten tandwiel en het uren tandwiel.

Als laatste hebben we de derde laag, daar zitten drie tandwielen op met 12 tanden en het uren tandwiel met 36 tanden.

De derde laag tandwielenDe derde laag tandwielen

De kleine tandwielen zijn er eigenlijk alleen om de juiste draairichting te krijgen en om de afstand te overbruggen naar het uren tandwiel.

Eigenlijk was de draairichting al goed, zoals je kunt zien aan de pijlen. Maar de afstand tussen het kleine en grote tandwiel was te groot. En dat kon niet anders omdat je met de steek van de tandwielen te maken hebt, daar ben je nu eenmaal aan gebonden. Je hebt te maken met een bepaalde tandwielverhouding voor de vertraging en daar horen verschillende diameters bij voor de tandwielen.

De delen waar de tandwielen tussen komen zijn van 12 mm multiplex gemaakt, de diameter van de delen zijn rond 170 mm. Deze delen zijn uit een vierkante plaat gemaakt op de freesbank, daar zijn ook de gaten op geboord voor de assen waar de tandwielen op zitten.

Later zijn er nog stukken uitgefreesd om de tandwielen beter zichtbaar te maken.

De wijzerplaat

We gaan nu naar de wijzerplaat kijken. Ik wilde geen wijzerplaat met alleen maar cijfers erop, het moest iets speciaals worden. Ik had een keer ergens een klok gezien waar de cijfers dolfijnen waren, 12 dolfijnen in een andere vorm gaven de uren aan. En toen moest ik gelijk denken aan de 12 provincies die Nederland telt.

En dit is het geworden:

Het ontwerp van de wijzerplaatHet ontwerp van de wijzerplaat

Dat is nog heel wat werk geweest, daar heb ik me lelijk in vergist. Ik heb op internet plaatjes gezocht van de provincies, maar daar stond tekst in en dat is geen gezicht natuurlijk.

Plus dat er copyright op zat en ik kon ook geen andere kleur ervan maken. Ik heb al de provincies overtrokken in sPlan en verschaalt naar wat ik nodig had, heb er wel nog cijfers bij gezet.

Het geheel is afgedrukt op fotopapier en geseald. De achterkant van de seal hoes bevat lijm, zo krijg je dus een soort sticker die je makkelijk ergens op kunt plakken.

Even een voorbeeld hoe zo'n provincie eruit ziet. Als voorbeeld heb ik Limburg genomen.

Provincie LimburgProvincie Limburg

Je kunt zien dat het heel wat puntjes zijn, het voordeel hiervan is wel dat je het omtrokken gedeelte iedere kleur kunt geven die je maar wil in sPlan. Je moet dan wel polygon gebruiken, want dan krijg je een lijn zonder begin en eind en die kun je dan weer inkleuren.

De grootste diameter is dus 170 mm, daar moest ik een stolp voor weten te vinden. Gelukkig zijn die dingen er te kust en te keur, je kunt het zo gek niet verzinnen of er is wel een stolp te vinden. Ik heb een stolp opgezocht van rond 200 mm en 400 mm hoog. De stolp staat op een houten voet.

Dit is wel zo'n beetje het mechanische gedeelte.

De elektronica

Zoals ik verteld had gaan we een stappenmotor gebruiken. Daar heb je een stappenmotordriver voor nodig om de motor goed te laten werken. Ik heb daar een DRV8825 voor gebruikt.

De DRV8825 stappenmotordriverDe DRV8825 stappenmotordriver

Het is een compleet printje dat ik op de hoofdprint kan drukken.

De klok bestaat niet alleen uit een uurwerk en een wijzerplaat, maar heeft ook een display waar de datum, jaar en tijd op af te lezen is. Ik heb daarvoor een RTC gebruikt en wel het type DS1307, deze zit ook op de hoofdprint.

De hoofdprint is getekend met Sprint-Layout. Als controller maak ik gebruik van een PIC16F887, dat is een controller van Microchip. Er zitten ook vier drukknoppen op de print om de klok op tijd te zetten en versnelt vooruit te zetten. De printen frees ik altijd zelf, daar gebruik ik een Prototyper voor.

Ontwerp van de hoofdprintOntwerp van de hoofdprint

Alle onderdelen zijn nu wel zo'n beetje klaar en zo ziet dat er uit.

De onderdelen van de klok bij elkaarDe onderdelen van de klok bij elkaar

Op de hoofdprint kun je de drukknoppen zien zitten, de stappenmotordriver DRV8825, de controller en links van de controller zie je de RTC zitten met de back-up batterij. Er zijn ook drie aansluitingen aanwezig: één voor de stappenmotor, één voor het display en één voor het programmeren van de controller.

Hier kun je ook zien hoe de tussenplaten geworden zijn, dat zijn de drie platen met de stukken eruit gefreesd. De twee helemaal boven op de foto en de gene onder de wijzerplaat.

Verder zie je de tandwielen, stappenmotor, afstandsbussen en de netvoeding. De netvoeding is 12 V DC en 1 A, dat is ruim voldoende om de klok goed te laten werken.

In de grondplaat en de motorplaat zie je twee sleuven zitten, daar komt het display tussen te zitten. Op de derde tussenplaat (rechtsboven) zie je twee assen zitten, daar komen de twee keer tandwielen op. Een stukje van de pennen vallen in de bovenste plaat die onder de wijzerplaat zit.

De software

We gaan nu naar de software kijken. Het programma is gemaakt in Proton Basic, zoals ik altijd doe.

'*  Name    : BESTURING ZELFBOUW KLOK MET DS1307.                                     
'*  Author  : H. van Zwieten                                    
'*  Notice  : Copyright (c) 2022 H.v.Z.                         
'*          : All Rights Reserved                               
'*  Date    : 5-2-2022                                          
'*  Version : 1.0                                              
'*  Notes   :                                                   

Device 16F887                     ; Processor type

Xtal 10                           ; Crystal 10Mhz

Asm                               ; Config settings
CONFIG_REQ            
__CONFIG _CONFIG1, HS_OSC & WDT_OFF & DEBUG_OFF & FCMEN_OFF & LVP_OFF & IESO_OFF & BOR_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_ON 
__CONFIG _CONFIG2, WRT_OFF & BOR40V 
EndAsm
   
All_Digital true                  ; Alle poorten digitaal

Declare LCD_RSPin PORTD.2         ; Reset display poort D.2
Declare LCD_ENPin PORTD.3         ; Enable display poort D.3
Declare LCD_DTPin PORTD.4         ; Data display poort D.4 t/m D.7
Declare LCD_Lines 4               ; Vier lijns display

Declare SCL_Pin PORTC.3           ; I2C klok pin
Declare SDA_Pin PORTC.4           ; I2C data pin
Declare I2C_SLOW_BUS 1            ; I2C bus op 100KHz

Symbol FREQUENTIE = 200           ; Stap frequentie min 200 
Symbol FREQ_GELIJK_ZETTEN = 50    ; Stap frequentie klok gelijk zetten

Symbol STAP_WAARDE = 3200         ; Aantal micro stappen 3200

Symbol DIR_DRIVER = PORTB.3       ; Uitgang richting stappenmotor driver
Symbol PULS_DRIVER = PORTB.4      ; Uitgang puls voor stappenmotor driver
Symbol ENABLE_DRIVER = PORTB.5    ; Uitgang enable stappenmotor driver

Symbol SECONDE_LED = PORTC.2      ; Uitgang seconde led

Symbol MODE_KNOP  = PORTA.0       ; Ingang select uur, minuut, seconde
Symbol KNOP_OP    = PORTA.1       ; Ingang optellen uur, minuut, seconde
Symbol KNOP_NEER  = PORTA.2       ; Ingang aftellen uur, minuut, seconde

Symbol GELIJK_ZETTEN = PORTA.3    ; Ingang klok gelijk zetten

Dim SECONDE As Byte               ; Variabele seconde
Dim MINUUT As Byte                ; Variabele minuut
Dim UUR As Byte                   ; Variabele uur

Dim WEEKDAG As Byte               ; Variabele weekdag
Dim DAG As Byte                   ; Variabele dag
Dim MAAND As Byte                 ; Variabele maand
Dim JAAR As Byte                  ; Variabele jaar

Dim DUMMY As Byte                 ; Variabele dummy

Dim MODE As Byte                  ; Variabele mode

Dim X As Word                     ; Variabele puls teller

Cls                               ; Wis display

DelayMS 500                       ; Pauze 0.5 sec 

Clear                             ; Wis geheugen

         ;543210                  ; Hulpregel poort A
PORTA  = %000000                  ; Maak poort A laag
TRISA  = %111111                  ; Poort_A I/O

         ;543210                  ; Hulpregel poort B
PORTB  = %000000                  ; Maak poort B laag
TRISB  = %000000                  ; Poort_B I/O

         ;76543210                ; Hulpregel poort C
PORTC  = %00000000                ; Maak poort C laag
TRISC  = %00000000                ; Poort_C I/O

         ;76543210                ; Hulpregel poort D
PORTD  = %00000000                ; Maak poort D laag
TRISD  = %00000000                ; Poort_D I/O

         ;210                     ; Hulpregel poort E 
PORTE  = %000                     ; Maak poort E laag
TRISE  = %000                     ; Poort_E I/O

;------------------------------------
; LEZEN EN SCHRIJVEN NAAR DE DS1307.
;------------------------------------

BStart                            ; Bus start
BusIn %11010001,0,[SECONDE]       ; Lees seconde + bit7 (is osc. aan/uit)
DelayMS 10                        ; Wacht 10ms
Clear SECONDE.7                   ; Zet oscillator aan
BusOut %11010000,[SECONDE]        ; Schrijf naar rtc
DelayMS 10                        ; Wacht 10ms
BusIn %11010001,2,[UUR]           ; Lees uur
DelayMS 10                        ; Wacht 10ms
Clear UUR.6                       ; Select 24 uur klok
BusOut %11010000,2,[UUR]          ; Schrijf naar rtc
BStop                             ; Bus stop

;-----------------------------------------------
; PROGRAMMA BESTURING ZELFBOUW KLOK MET DS1307.
;-----------------------------------------------

ENABLE_DRIVER = 1
PULS_DRIVER = 0
DIR_DRIVER = 1

;-------------------------
; LEES RTC ALS MODE 0 IS.
;-------------------------

RUN:

  If MODE = 0 Then
    BStart                 
    BusIn %11010001,0,[SECONDE,MINUUT,UUR,WEEKDAG,DAG,MAAND,JAAR]
    BStop
       
    DUMMY = SECONDE & %01110000                 
    GoSub BEREKEN_WAARDE
    SECONDE = SECONDE & %00001111
    SECONDE = SECONDE + DUMMY
    
    DUMMY = MINUUT & %11110000
    GoSub BEREKEN_WAARDE
    MINUUT = MINUUT & %00001111
    MINUUT = MINUUT + DUMMY
    
    DUMMY = UUR & %00110000
    GoSub BEREKEN_WAARDE
    UUR = UUR & %00001111
    UUR = UUR + DUMMY
      
    DUMMY = DAG & %11110000 
    GoSub BEREKEN_WAARDE
    DAG = DAG & %00001111 
    DAG = DAG + DUMMY  
 
    DUMMY = MAAND & %11110000 
    GoSub BEREKEN_WAARDE      
    MAAND = MAAND & %00001111 
    MAAND = MAAND + DUMMY     
      
    DUMMY = JAAR & %11110000
    GoSub BEREKEN_WAARDE
    JAAR = JAAR & %00001111
    JAAR = JAAR + DUMMY  
  End If

;--------------------------------------------------------
; PRINT TEKST, UUR, MINUUT, SECONDE, DAG, MAAND EN JAAR.
;--------------------------------------------------------

  Print At 1,1,"STOLPKLOK"
  Print At 2,1,"H.v.Z. PRODUCT"
  Print At 3,1,"TIJD:",Dec2 UUR,":",Dec2 MINUUT,":",Dec2 SECONDE
  Print At 4,1,"DATUM:",Dec2 DAG,"-",Dec2 MAAND,"-20",Dec2 JAAR 

;-----------------------------------------------------------
; UREN, MINUTEN, SECONDEN, DAG, MAAND EN JAAR GELIJKZETTEN.
;-----------------------------------------------------------

  If MODE_KNOP = 1 Then
    DelayMS 10
    Inc MODE
    If MODE > 6 Then  
      MODE = 0
      GoSub SCHRIJF_RTC          
    End If 
    Repeat                          
    Until MODE_KNOP = 0 
  End If

;-------------------- 
; DAG GELIJK ZETTEN.   
;--------------------

  If MODE > 0 Then
    DelayMS 300
     
    Select Case MODE
      
      Case 1
        Print At 4,7,"  "
        DelayMS 300
        
        If KNOP_OP = 1 Then
          DelayMS 10
          Inc DAG
          If DAG > 31 Then
            DAG = 1
          EndIf
        EndIf
        
        If KNOP_NEER = 1 Then
          DelayMS 10
          Dec DAG
          If DAG < 1 Then
            DAG = 31
          EndIf
        EndIf
        
;----------------------
; MAAND GELIJK ZETTEN.
;----------------------
            
      Case 2
        Print At 4,10,"  "    
        DelayMS 300
        
        If KNOP_OP = 1 Then
          DelayMS 10
          Inc MAAND
          If MAAND > 12 Then
            MAAND = 1
          EndIf
        EndIf

        
        If KNOP_NEER = 1 Then
          DelayMS 10
          Dec MAAND
          If MAAND < 1 Then
            MAAND = 12
          EndIf
        EndIf
        
;---------------------
; JAAR GELIJK ZETTEN.
;---------------------
        
      Case 3
        Print At 4,15,"  "      
        DelayMS 300
        
        If KNOP_OP = 1 Then
          DelayMS 10
          Inc JAAR
          If JAAR > 99 Then
            JAAR = 0
          EndIf
        EndIf
        
        If KNOP_NEER = 1 Then
          DelayMS 10
          Dec JAAR
          If JAAR < 1 Then
            JAAR = 99
          EndIf
        EndIf

;--------------------
; UUR GELIJK ZETTEN.
;--------------------
       
      Case 4
        Print At 3,6,"  "   
        DelayMS 300
        
        If KNOP_OP = 1 Then
          DelayMS 10
          Inc UUR
          If UUR > 23 Then
            UUR = 0
          End If
        End If
       
        If KNOP_NEER = 1 Then
          DelayMS 10
          Dec UUR
          If UUR > 254 Then            
            UUR = 23
          End If
        End If
              
;-----------------------
; MINUUT GELIJK ZETTEN.
;-----------------------
       
      Case 5
        Print At 3,9,"  "   
        DelayMS 300
        
        If KNOP_OP = 1 Then
          DelayMS 10
          Inc MINUUT
          If MINUUT > 59 Then
            MINUUT = 0
          End If
        End If
       
        If KNOP_NEER = 1 Then
          DelayMS 10
          Dec MINUUT
          If MINUUT > 254 Then             
            MINUUT = 59
          End If
        End If
           
;------------------------
; SECONDE OP NUL ZETTEN.
;------------------------

      Case 6
        Print At 3,12,"  "   
        DelayMS 300
         
        If KNOP_OP = 1 Or KNOP_NEER = 1 Then
          DelayMS 10
          SECONDE = 0
        End If 
               
    End Select
  End If 
    
;##################################    
;--------------------------------
; HIER DE REST VAN HET PROGRAMMA.
;--------------------------------
;##################################

;-----------------------------------------
; ALS WAAR GA DAN NAAR WIJZER VERDRAAIEN.
; ALS WAAR GA DAN NAAR KLOK GELIJKZETTEN.
; IEDERE SECONDEN KNIPPERT DE LED.
;-----------------------------------------

  ENABLE_DRIVER = 1 
     
  If SECONDE = 59 Then
    GoSub VERDRAAIEN
  EndIf
    
  If GELIJK_ZETTEN = 1 Then
    GoSub KLOK_GELIJK_ZETTEN
  EndIf
    
  SECONDE_LED = ~SECONDE
     
GoTo RUN

;----------------------------
; WAARDE BEREKENEN VOOR RTC.
;----------------------------

BEREKEN_WAARDE:

  DUMMY = (DUMMY/16)*10                                                           
  Return
    
;--------------------------
; SCHRIJF WAARDE NAAR RTC.
;--------------------------

SCHRIJF_RTC:

  DUMMY = SECONDE / 10                 
  DUMMY = DUMMY * 16                
  SECONDE = SECONDE // 10                 
  SECONDE = SECONDE | DUMMY            

  DUMMY = MINUUT / 10
  DUMMY = DUMMY * 16
  MINUUT = MINUUT // 10
  MINUUT = MINUUT | DUMMY

  DUMMY = UUR / 10
  DUMMY = DUMMY * 16
  UUR = UUR // 10
  UUR = UUR | DUMMY
    
  DUMMY = DAG / 10
  DUMMY = DUMMY * 16
  DAG = DAG // 10
  DAG = DAG | DUMMY
    
  DUMMY = MAAND / 10 
  DUMMY = DUMMY * 16  
  MAAND = MAAND // 10
  MAAND = MAAND | DUMMY 
    
  DUMMY = JAAR / 10
  DUMMY = DUMMY * 16 
  JAAR = JAAR // 10
  JAAR = JAAR | DUMMY 
  
  BStart
  BusOut %11010000,0,[SECONDE,MINUUT,UUR,WEEKDAG,DAG,MAAND,JAAR]  
  BStop
  Return
    
;-----------------------------
; WIJZER 1 MINUUT VERDRAAIEN.
;-----------------------------
    
VERDRAAIEN:

  ENABLE_DRIVER = 0
  DIR_DRIVER = 1
     
  For X = 1 To STAP_WAARDE Step 1
    PULS_DRIVER = 1
    DelayUS FREQUENTIE
    PULS_DRIVER = 0
    DelayUS FREQUENTIE     
  Next X
     
  Return
    
GoTo VERDRAAIEN 
   
;------------------------------
; KLOK HANDMATIG GELIJKZETTEN.
;------------------------------
     
KLOK_GELIJK_ZETTEN:

  ENABLE_DRIVER = 0
  DIR_DRIVER = 1

  If GELIJK_ZETTEN = 1 Then
    PULS_DRIVER = 1
    DelayUS FREQ_GELIJK_ZETTEN
    PULS_DRIVER = 0
    DelayUS FREQ_GELIJK_ZETTEN
  EndIf
    
  If GELIJK_ZETTEN = 0 Then
    Return
  EndIf 
    
GoTo KLOK_GELIJK_ZETTEN    
     
End

Zoals je boven in het programma kunt zien staat de stapwaarde op 3200 stappen per minuut, zoals we uitgerekend hadden in het begin. De RTC werkt via het I²C protocol.

Daaronder staat hoe de klok gelijk gezet kan worden, dat staat onder Case 1 tot en met Case 6. Dan krijgen we het stukje waar iedere seconde de wijzer één minuut moet verdraaien.

Dan hebben we nog de drukknop voor het gelijk zetten of het verdraaien van de wijzer. En helemaal bovenaan staan de printopdrachten voor het display, voor de rest is het programma alleen om de RTC uit te lezen, dat is de meeste code.

Voor de rest moet je het programma maar eens rustig doorlopen, daar moet wel uit te komen zijn lijkt mij.

Het eindresultaat

Hieronder zie je de klok gemonteerd.

De gemonteerde klokDe gemonteerde klok

De wijzerplaat van de gemonteerde klokDe wijzerplaat van de gemonteerde klok

Op de minutenwijzer staat ook nog een wereldbol, die draait met de minuten mee. Had eigenlijk met de uren gemoeten, maar dan had ik zoveel moeten aanpassen en dat ging helaas niet meer. Misschien zet ik daar nog eens iets anders op.

Misschien zijn er meer mensen die zoiets willen gaan maken. En ook al heb je geen draaibank en freesbank tot je beschikking, met een boormachine en een decoupeerzaag en figuurzaag kom je een heel eind. De assen en de lagers kun je ook in de meeste modelbouwzaken kopen en de tandwielen ook. Dus dat moet het probleem niet zijn.

Dit artikel is geschreven door Lambiek.