may be just try this one ...
Code:
' Name : ServosDumpTruck675X3.pbp
' Compiler : PICBASIC PRO Compiler 3.074
' Development PIC : 40-pin 16F887
' Target PIC : 12F675 8 pin
' Hardware : Mikro Elektronika EasyPic V7
' Oscillator : 4MHz internal clock
' Keywords : servo, dump truck, X3
' Description : PICBASIC PRO program for control of 3 (or more) servos
#CONFIG
__config _INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _CP_OFF & _BODEN_ON
#ENDCONFIG
DEFINE OSC 4
DEFINE OSCCAL_1K 1
'****Aliases*****
servo1 Var GPIO.1 ' Alias servo pin
servo2 var GPIO.2
servo3 var GPIO.4 ' can't use gp3...input only.
'***Constants and Variables ***
PWCCW con 120 'CCW Pulse Width: 100 mS * 4 Mhz period (10uS)=1.0mS def 100
PWCW con 240 'CW pulse width: 200 mS * 10uS=2.0 mS def 200
Refresh con 20 '20 mS refresh= 50 Hz
pulse var byte
'****Initialize****
ADCON0 = 0
ansel = 0 'all digital i/o
cmcon=%00000111 'turn off comparators
GPIO = 0
trisio = %00001000
' Low Servo1 ' Initialize servos
' Low Servo2
' low servo3
'****Main Program****
Start:
For Pulse= PWCW TO PWCCW STEP -1
Low Servo1
PulsOut servo1,pulse
Low Servo2
pulsout servo2,pulse
Low Servo3
pulsout servo3,pulse
Pause Refresh - pulse - pulse - pulse
next pulse
for Pulse= PWCCW TO PWCW step 1
Low Servo1
PulsOut servo1,Pulse
Low Servo2
pulsout servo2,pulse
Low Servo3
pulsout servo3,pulse
Pause Refresh - pulse - pulse - pulse
next pulse
goto Start
NOW ...
1) be sure your servos supply can hold ... 3 Amps short peaks ( not a typo !!! ) ... the EP7 7805 looks a bit weak for that !!!
2) see where the LOW commands have to be placed.
3) your " pause refresh " value looked a bit strange ...
Alain
Bookmarks