Motorregelaar elektrische step

Gepost door Gerrit Jan Dreijer op maandag 5 juni 2017 17:38

Inleiding

Er kwam iemand bij me met een elektrische step die het niet meer deed, nadat ik het één en ander had doorgemeten bleek dat de regelaar stuk was. Het geheel was helemaal ingegoten, dus daar was geen eer meer aan te behalen. Ook van de bedrading klopte niet veel meer, er was dus al meer aan gesleuteld. Het gashendel (een type met een hall-sensor) werkte ook niet meer, dus daar moest ook naar gekeken worden. De remschakelaar was ook niet meer aangesloten, dus er waren eigenlijk maar twee dingen mogelijk. Of het hele ding kon naar de vuilstort of de step moest helemaal aangepakt worden. Ik heb voor het laatste gekozen, dus er moest een nieuwe regelaar gemaakt worden en de rest moest opgeknapt worden, zodat het allemaal weer functioneerde.

De accu's die erin zitten zijn twee van 12 V en 7 Ah, deze bleken nog goed te zijn. Dus die kon ik weer gebruiken. De motor is een 24 V DC 300 W type en ziet er ook nog goed uit.

Op de oude regelaar stond dat het ding 30 A was bij 24 V DC, ik heb de oude regelaar open gesloopt om de behuizing nog te kunnen gebruiken. Na de oude print te hebben verwijderd hield ik een mooi bakje over met het koellichaam, maar dat betekende wel dat de nieuwe print net zo groot moest worden als de oude. Maar dat is uiteindelijk gelukt.

Ik wilde de nieuwe regelaar ook iets zwaarder maken, zodat de regelaar wat meer stroom aan kan. Ook wilde ik een extra beveiliging in bouwen, in de vorm van temperatuur controle. Ik heb daar een NTC-weerstand voor gebruikt. Ik heb de nieuwe regelaar gemaakt rond een PIC-controller van het type 12F683, deze heeft standaard HPWM aan boord. Ook wil ik weer gebruik gaan maken van de remschakelaar die op de rem zit, zodra de rem ingeknepen wordt moet de regelaar uitschakelen.

Schema & print van de regelaar

Hieronder zie je het schema van de nieuwe motorregelaar.

Schema regelaar elektrische stepSchema regelaar elektrische step

Het signaal van het gashendel komt binnen via een TLV271 opamp, deze is als spanningsvolger geschakeld en dient als een buffer voor de analoge ingang van de 12F683. De driver IR4427 wordt door de PWM-uitgang van de 12F683 aangestuurd en stuurt op zijn beurt de twee mosfets IRF1405 aan. De twee MOSFET's staan parallel aan elkaar om meer stroom te kunnen leveren aan de motor.

De vrijgave van de regelaar gaat via een PC817, deze dient hier als level shifter. Het vrijgave signaal wat van de rem komt is 12 V en dat wordt door de PC817 omgezet naar 5 V voor de 12F683. De spanningsregelaar 78S05 verzorgt de voedinspanning voor de 12F683. De 78S05 wordt gevoed door 12 V, deze spanning is tevens om de driver IR4427 te voeden. Er zijn dus twee spanningen nodig voor de regelaar, 24 V DC voor de motor en 12 V DC voor de voeding van de IR4427 en de 78S05.

De maat van de nieuwe print is 73 x 45 mm en past precies in de behuizing van de oude regelaar.

Print regelaar elektrische stepPrint regelaar elektrische step

De draden voor de aansluiting van de print worden rechtstreeks op de print gesoldeerd, dit is om ruimte te besparen. Het is wel wat meer werk, maar als ik printkroonstenen had gebruikt had het niet meer in de behuizing gepast.

De NTC-weerstand wordt direct op de MOSFET's gemonteerd voor een goede meting, deze wordt ingelezen door een analoge ingang van de 12F683. De twee MOSFET's en de spanningsregelaar worden tegen het koellichaam geschroefd. Tussen de 78S05 en het koellichaam komt een isolatiesetje om sluiting te voorkomen. De achterste MOSFET wordt via een aluminium blokje tegen de voorste aan geschroefd samen met de NTC.

Het programma

'*  Name    : MOTORREGELAAR VOOR ELEKTRISCHE STEP.                                     
'*  Author  : H van Zwieten.                                    
'*  Notice  : Copyright (c) 2017 H.v.Z.                         
'*          : All Rights Reserved                               
'*  Date    : 30-4-2017                                         
'*  Version : 1.0                                               
'*  Notes   :                                                   
                                                  
Device 12F683                     ; processor type

Xtal 4                            ; Cristal 4Mhz

Config WDT_OFF,_                  ; WatchDog Timer uit
       PWRTE_ON,_                 ; Power-up Timer Enable aan
       MCLRE_OFF,_                ; Externe Master Reset Enable uit
       INTRC_OSC_NOCLKOUT         ; Interne oscilator aan
     
All_Digital true                  ; Alle poorten digitaal

Declare CCP1_Pin GPIO.2           ; HPWM_1

Declare Adin_Res   = 8            ; Resolutie 8 bits      
Declare Adin_Tad   = frc          ; Set rc osc     
Declare Adin_Stime = 50           ; Sample tijd 5        

Symbol LED       = GPIO.0         ; Uitgang led rem / temp
Symbol VRIJGAVE  = GPIO.5         ; Ingang rem

Symbol FREQUENTIE = 2500          ; PWM frequentie 2.5KHz

Dim GASHENDEL As Word             ; Variabele gashendel
Dim WAARDE As Word                ; Variabele waarde PWM
Dim OVER_TEMP As Byte             ; Variabele temperatuur

Clear                             ; Wis geheugen

         ;543210                  ; Hulpregel
GPIO   = %000000                  ; Maak poort laag
TRISIO = %111010                  ; Poort I/O

         ;76543210                ; Hulpregel control register
ADCON0 = %00000001                ; A/D control register


;------------------------------------------
; PROGRAMMA MOTORREGELAAR ELEKTRISCHE STEP.
;------------------------------------------

;------------------------------------------------------
; ZET LED, WAARDE, GASHENDEL, OVER_TEMP EN HPWM OP NUL.
;------------------------------------------------------
 
LED = 0                           
WAARDE = 0                        
GASHENDEL = 0
OVER_TEMP = 0
HPWM 1,0,FREQUENTIE 

;-----------------------------------------
; START VOORWAARDE VRIJGAVE MOTORREGELAAR.
; BIJ REMMEN KNIPPERT LED LANGZAAM.
;-----------------------------------------             

START_VOORWAARDE:                 

    If VRIJGAVE = 1 Then          
     HPWM 1,0,FREQUENTIE         
    EndIf                       
    
    GASHENDEL = ADIn 3 
     
    WAARDE = ((GASHENDEL - 51) * 1.6)
    
    If WAARDE > 255 Then
     WAARDE = 255
    EndIf

    If VRIJGAVE = 0 Then        
     If WAARDE < 15 Then          
      GoTo RUN                    
     EndIf                         
    EndIf                      
    
    LED = 1                       
     DelayMS 500               
    LED = 0                    
     DelayMS 500                  
GoTo START_VOORWAARDE 



;----------------------------------------------------
; RUNMODE MOTORREGELAAR, PLUS BEVEILIGING REM / TEMP.
;----------------------------------------------------        

RUN:                           

    LED = 0
    
    OVER_TEMP = ADIn 1
                
    GASHENDEL = ADIn 3
                
    WAARDE = ((GASHENDEL - 51) * 1.6)
    
    If WAARDE > 255 Then
     WAARDE = 255
    EndIf
    
    HPWM 1,WAARDE,FREQUENTIE      
   
    If OVER_TEMP > 190 Then      
     GoTo TEMP_ALARM            
    EndIf                     
    
    If VRIJGAVE = 1 Then        
     GoTo START_VOORWAARDE       
    EndIf                       
GoTo RUN 

;---------------------------------------------------------
; OVERTEMPERATUUR MOTORREGELAAR BIJ +/- 32 GRADEN CELCIUS.
; TERUG NAAR RUNMODE BIJ +/- 29 GRADEN CELCIUS.
; BIJ OVERTEMPERATUUR KNIPPERT LED SNEL.
;---------------------------------------------------------                      

TEMP_ALARM:                     

    HPWM 1,0,FREQUENTIE          
     
    OVER_TEMP = ADIn 1
                
    GASHENDEL = ADIn 3 
              
    WAARDE = ((GASHENDEL - 51) * 1.6)
    
    If WAARDE > 255 Then
     WAARDE = 255
    EndIf          
    
    If OVER_TEMP < 184 Then    
     If WAARDE < 15 Then          
      GoTo RUN                    
     EndIf                   
    EndIf                       
    
    LED = 1                    
     DelayMS 250                  
    LED = 0                      
     DelayMS 250                  
GoTo TEMP_ALARM                 

End 

Zoals je kunt zien is het programma niet zo groot. Er worden twee analoge signalen gemeten, 1 voor het gashendel en 1 voor de temperatuur controle van de MOSFET's. Er is 1 uitgang voor de led, 1 uitgang voor het PWM-signaal en 1 ingang voor de vrijgave.

Het signaal dat van het gashendel komt moet berekend worden in een formule, het signaal loopt namelijk niet van 0 naar 255. Het gashendel geeft in de nulstand een waarde van 51 en in de maximale stand een waarde van 159. Als je daar niets aan doet zou de motor van de step altijd draaien als het gashendel in de nulstand staat en in de maximale stand zou hij maar 159 zijn in plaats van 255. Dus vandaar de berekening WAARDE = ((GASHENDEL - 51) * 1.6). Op deze manier wordt het hele bereik van het gashendel benut. Om achter de waarde van het gashendel te komen, heb ik een klein programmatje gemaakt zodat ik dat uit kon lezen op een display. Het zijn maar een paar regels.

Op deze manier kun je daar al achter komen. Dat kan niet met de 12F683, maar bijvoorbeeld met een 16F628 of ander type.

RUN:

    WAARDE = ADIn 0
    
    Print At 1,1,Dec3 WAARDE
   
GoTo RUN

De LED in het programma heeft twee functies. Als de rem wordt in geknepen knippert de LED langzaam en als de temperatuur te hoog is knippert de LED snel. De LED gaat uit als het gashendel in de nulstand staat en als de rem losgelaten is, dan pas kan er weer gereden worden. De zelfde voorwaarde geldt voor de temperatuur, pas als de regelaar is afgekoeld en het gashendel in de nulstand staat gaat de LED uit en kan er weer gereden worden. De NTC schakelt de regelaar uit bij ± 40 °C.

Het bedradingsschema van de step

AansluitschemaAansluitschema

De regelaar is afgezekerd in de 24 V DC met een trage 30 A zekering, en het 12 V DC gedeelte voor het relais met een 1 A zekering. Het contactslot bedient het relais, als het relais in rust is dan is de regelaar spanningsloos en kan de accu opgeladen worden. Als het contact gemaakt is dan staat de regelaar onder spanning en kan er niet geladen worden.

Het gashendel staat hier als potmeter getekend, maar zoals eerder gezegd is dat een hall-sensor met magneet. Het contact voor de rem is in dit geval een maakcontact, maar dat kan in sommige gevallen een verbreekcontact zijn. Bij de LED moet nog een weerstand geplaatst worden (zoals in het schema te zien is) want die zit niet op de print.

Bij de motor zie je nog een filter staan in combinatie met een diode. Dit is gedaan om de eventuele pieken weg te halen en om de MOSFET's extra te beschermen. De diode is van het type 80EBU02 en de R/C combinatie heeft een waarde van 100 Ω en 100 nF. Het PWM-signaal op de motor is keurig schoon op deze manier.

Inmiddels rijdt de step een aantal weken zonder probleem. Dit artikel kan ook gebruikt worden om zelf eventueel een elektrische step te maken.

De regelaar in de behuizing

Draadkleuren van de regelaarDraadkleuren van de regelaar

Dit zijn de draadkleuren die aangehouden zijn van de standaard regelaar.

Dit artikel is geschreven door Lambiek.