V 34 N 82
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
TARJETA ELECTRÓNICA PARA APLICACIONES EN ROBÓTICA E IMPLEMENTACIÓN DE ALGORITMOS DE MOVIMIENTO
EA
EB
M1A
M1B
M2A
M2B
EA
EB
13
14
2
3
4
5
6
7
8
9
10
1
U1
OSC1/CLKIN
RB0/INT
OSC2/CLKOUT
RB1
RB2
RA0/AN0
RB3/PGM
RA1/AN1
RB4
RA2/AN2/VREF-/CVREF RB5
RA3/AN3/VREF+ RB6/PGC
RA4/T0CKI/C1OUT RB7/PGD
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV RC5/SDO
RC6/TX/CK
RC7/RX/DT
PIC16F877A
5
7
10
12
6
11
1
15
IN1
IN2
IN3
IN4
ENA
ENB
SENSA
SENSB
VCC
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
33
34
35
36
37
38
39
40
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
9 4 U2
GND
8
VS
OUT1
OUT2
OUT3
OUT4
2
3
13
14
L298
S9
S3
S0
S4
S1
S2
RX
TX
M1A
M1B
M2A
M2B
S5
S6
S7
S8
S10
S11
S12
S13
S14
S15
S16
S17
vcc
S0
gnd
vcc
S4
gnd
vcc
S8
gnd
vcc
S12
gnd
vcc
S17
gnd
+88.8
+88.8
+88.8
+88.8
+88.8
RX
TX
Figura 5. Esquema electrónico de la simulación en el Software Proteus
vcc
S1
gnd
vcc
S5
gnd
vcc
S9
gnd
vcc
S14
gnd
Para esta simulación seleccionaron las posiciones de los
servomotores expresados en unidades de tiempo a una escala
de milisegundos como muestra la tabla 4 y se programaron
en el algoritmo para cotejar que se posicionen de acuerdo al
tiempo establecido.
Tabla 4. Posición de Servomotores en el algoritmo
Servo Tiempo Programado mS Servo Tiempo Programado mS
0 1.50 8 1.00
1 1.80 9 1.20
2 1.20 10 0.8
3 1.40 11 1.30
4 1.80 12 1.40
5 1.00 13 0.80
6 1.60 14 1.30
7 1.80 15 1.40
En la simulación de la figura 6 se puede observar que la
distancia entre cada tren de pulso es de 18.73 ms dando una
frecuencia para todas las señales de PWM de 53.39 Hz lo
suficiente para que los servos no pierdan latencia y se puedan
posicionar de manera efectiva
RXD
TXD
RTS
CTS
+88.8
+88.8
+88.8
+88.8
vcc
S2
gnd
vcc
S6
gnd
vcc
S10
gnd
vcc
S15
gnd
+88.8
+88.8
+88.8
+88.8
S0
S1
S2
S3
S4
S5
S6
S7
vcc
S3
gnd
vcc
S7
gnd
vcc
S11
gnd
vcc
S16
gnd
+88.8
+88.8
+88.8
+88.8
A0
A1
A2
A3
A4
A5
A6
A7
B0[0..7]
B1[0..7]
A8
A9
A10
A11
A12
A13
A14
A15
B2[0..7]
B3[0..7]
S8
S9
S10
S11
S12
S13
S14
S15
comparando ambas gráficas vemos que la desviación es
mínima no afectan en el posicionado de los servomotores.
Grafica 1. Tiempo Programado Vs Tiempo Medido
Tiempo en mS
2
1.5
1
0.5
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Tiempo Programado
Servomotores
Figura 7. Tiempo Programado Vs Tiempo Medido
Tiempo Medido
El desarrollo del algoritmo se realizó con el software Proton
IDE, además se utilizó en conjunto con el lenguaje
ensamblador que es un lenguaje de nivel bajo pero a su vez
muy eficiente al momento del análisis de datos en un
programa, optimizaba los tiempos de análisis y ejecución del
software y a su vez lograba que el desfase que existía en los
motores ya no se presentara al momento de realizar pruebas.
Se logró expandir las características del driver ya que si no
se desea trabajar con el control de servomotores y solo se
desea trabajar las salidas y entradas del microcontrolador
para la activación de otros dispositivos se le agrego al
programa la característica de tener un menú secundario al
cual podrán configurar para poder manipular al micro
controlador de distintas formas.
En la figura 8 se muestra el circuito PCB del prototipo final
teniendo como dimensiones 10 cm de ancho x 5 cm de largo
Se decidieron estas dimensiones ya que se quería un circuito
compacto, versátil, útil, y fácil de aplicar en un circuito de
potencia o de control electrónico, al igual el circuito ya
finalizado se lanza como un hardware libre para que los
usuarios puedan manipularlo y aumentarle más
características o lograr mejorar dicho circuito para una mejor
eficiencia, o en el caso de querer reducir más las dimensiones
de la placa electrónica y lograr controlar circuitos en la
aplicación de la mini-robótica.
Las pruebas finales y físicas se realizaron con un prototipo
de robot hexápodo mostrado en la figura 9, controlado por
bluetooth, mostrando la eficacia del prototipo de la tarjeta
controladora, manteniendo la posición de cada servo y
trabajando en conjunto con el módulo de bluetooth HC05.
Figura 6. Simulación y medición de la frecuencia de las señales de cada uno
de PWM de cada Servomotor
En la figura 7, se puede verificar la correspondencia de la
duración de cada pulso, de color azul se observa el tiempo de
cada uno de los servomotores programado en el algoritmo y
en naranja la medición de tiempo en la simulación,
CONCLUSIONES
Se logró obtener una tarjeta de control de servomotores de
bajo costo la cual se utilizará como base para la creación de
robots, esta tarjeta es configurable y reprogramable y de bajo
costo dando una reproductibilidad alta por parte de la
4 REVISTA DEL CENTRO DE GRADUADOS E INVESTIGACIÓN. INSTITUTO TECNOLÓGICO MÉRIDA Vol. 35 NÚM. 82