Bu devre ile 2 adet servo motoru kontrol edebilirsiniz. 

servo motor kontrol devresi
servo motor kontrol devresi

Pic programı:

'Manual control of two servomotors using 2 SPDT switches

'Use B1 to hold pulsewidth variable for servo 1
'Use B2 to hold pulsewidth variable for servo 2

'Initialize Variables

B1 = 150
B2 = 150

'start servo 1 at center position
'start servo 2 at center position

start:
IF pin1 = 0 Then left1
IF pin2 = 0 Then right1
IF pin4 = 0 Then left2
IF pin5 = 0 Then right2
PulsOut 0, B1
PulsOut 3, B2
Pause 18
GoTo start

'check for switch closures
'is sw1 left active?
'is sw1 right active?
'is sw2 left active?
'is sw2 right active?
'send current servo 1 position out
'send current servo 2 position out

'Routines for Servomotor 1
left1:
B1 = B1 + 1
PulsOut 0, B1
PulsOut 3, B2
Pause 18
IF B1 > 225 Then max1
GoTo start
right1:
B1 = B1 - 1
PulsOut 0, B1
PulsOut 3, B2
Pause 18
IF B1 < 75 Then min1 GoTo start max1: B1 = 225 GoTo start min1: B1 = 75 GoTo start 'increase the pulse width 'send current B1 'send current B2 'set frequency update about 50 hz 'maximum 2.25 millisecond 'decrease the pulse width 'send current B1 'send current B2 'set frequency update about 50 hz 'minimum .75 millisecond 'cap max B1 at 2.25 milliseconds 'cap min B1 at .75 millisecond 'Routines for Servomotor 2 left2: B2 = B2 + 1 PulsOut 0, B1 PulsOut 3, B2 Pause 18 IF B2 > 225 Then max2
GoTo start
right2:
B2 = B2 - 1
PulsOut 0, B1
PulsOut 3, B2
Pause 18
IF B2 < 75 Then min2 GoTo start max2: B2 = 225 GoTo start min2: B2 = 75 GoTo start 'increase the pulse width 'send current B1 'send current B2 'set frequency update about 50 hz 'maximum 2.25 millisecond 'decrease the pulse width 'send current B1 'send current B2 'set frequency update about 50 hz 'minimum .75 millisecond 'cap max B2 at 2.25 milliseconds 'cap min B2 at .75 millisecond

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz