Motorregelaar elektrische step
Lambiek legt in dit artikel uit hoe je een complete besturing voor een elektrische step maakt.
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 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 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
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
Dit zijn de draadkleuren die aangehouden zijn van de standaard regelaar.
Dit artikel is geschreven door Lambiek.

