fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Mi primer control robotizado

3 Respuestas
1 Usuarios
0 Reactions
1,698 Visitas
icemaster2111
Respuestas: 3
Topic starter
(@icemaster2111)
New Member
Registrado: hace 16 años

Hola a todoss!

Soy nuevo en esto de la robotica aunque ya me van sonando algunas cosillas, vereis he comprado una placa Mini ABB y un procesador Bx 24 p, pero el problema es que cuando programo en Basicx Editor ejecuta los programas, pero el servo ni se inmuta, lo tengo conectado por puerto serie y no se sí es que la instrucción:

ServoPin es byte = 1

Call PulseOut(ServoPin, 0.0015, 1)
(esto es cuando conecto el servo a la Mini-ABB directamente sin la ssc-32)

es incorrecta? he comprobado las conexiones, los jumpers y el servo, todo esta bien, el servo funciona en un testeo con una placa ssc-32, que puede estar fallado?

Adjunto mi esquema de conexión actual, se que no es necesario todo lo que he puesto pero si hay una manera más simple agradeceré la explicación.

gracias

Responder
2 respuestas
icemaster2111
Respuestas: 3
Topic starter
(@icemaster2111)
New Member
Registrado: hace 16 años

🙁 nadie? si adjunto hasta foto alguien me echa un cable?

Responder
icemaster2111
Respuestas: 3
Topic starter
(@icemaster2111)
New Member
Registrado: hace 16 años

Perdón se me olvidó decir que simplique el diseño y eliminé la ssc-32 ya mas simple agua 😉 el código con el que me hace algo es el siguiente:

'***************************************************************
'** Servo Moving Example Program
'** Illustrates the use of servo control.
'** The program moves the servos in various ways using
'** calls to the predefined moveservos sub program.
'***************************************************************
Option Explicit
Public Sub Main()
dim i as byte
'turn off lights
for i = 5 to 10
call putpin(i,0)
next
'center servos
call moveservos(0.5,0.5,2)
'servo1 Forward
call moveservos(1.9,1.9,2) '0.7,0.5,30
'center servos
'call moveservos(0.0,0.0,2) '0.8,0.8,30
'servo1 Backward
'call moveservos(1.3,1.5,30)
'center servos
'call moveservos(0.5,0.5,30)
'servo2 Forward
'call moveservos(0.5,0.7,30)
'center servos
'call moveservos(0.5,0.5,30)
'(Example 6 Continued)
'servo2 Backward
'call moveservos(0.5,0.3,30)
'center servos
'call moveservos(0.5,0.5,30)
End Sub

sub moveservos(byval Pos1 as single,byval Pos2 as single, byval times as integer)

Dim PulseWidth As Single
dim i as integer

for i = 1 to times
' Translate position to pulse width. Resulting range is 1.0 to 2.0 ms,
' centered at 1.5 ms.

PulseWidth = 0.05 + (0.006 * Pos1)
Debug.Print "Pulse="; CStr(PulseWidth)

' Generate a high-going pulse on the servo pin.
Call PulseOut(14, PulseWidth, 1)

'PulseWidth = 0.0003 + (0.002 * Pos2)

' Generate a high-going pulse on the servo pin.
Call PulseOut(13, PulseWidth, 1)
Call delay(0.02)

next

end sub

e inmediatamente obtengo este resultado en la placa:

Responder
Compartir: