Manejo de motores pap bipolares: EM-257, EM-258
El manejo de motores paso a paso unipolares es bastante sencillo, sin embargo para mi que no ando metido mucho con el hardware, me costo un poco de trabajo entender esto. Como explique en un post anterior, solo hay q darle 4 pasos, y si se quiere invertir el giro, solo se tiene que invertir el orden de los pasos.
Los motores pap bipolares poseen 4 terminales y cada uno de ellos va conectado a una salida del C.I. L293B, como mostraré en la siguiente imagen que la copié de x-robotics, la única diferencia para el EM-257 es que el terminal B, va al OUT3 y el terminal C al OUT2:

Estos motores los voy a controlar mediante el puerto paralelo, el cual controla que salidas deben activarse para que el motor gire de forma horaria y anti-horaria, según se requieran. Como se menciono anteriormente un motor paso a paso posee ciertas combinaciones o pasos que determinaran el movimiento del motor, en nuestro caso, al usarse un motor paso a paso bipolar de 4 terminales, éste posee 4 pasos, los cuales se describirán a continuación:
|
PASO |
TERMINALES |
|||
|
|
D |
C |
B |
A |
|
1 |
-V |
+V |
-V |
+V |
|
2 |
+V |
-V |
-V |
+V |
|
3 |
+V |
-V |
+V |
-V |
|
4 |
-V |
+V |
+V |
-V |
Los símbolos +V y –V, representan el voltaje de alimentación del motor y no el voltaje lógico del circuito integrado. Por ejemplo, al usar el motor EM-257, el +V = 18 V y el –V= 0 V.
El terminal A corresponde al LSB y el D al del MSB, por lo que los pasos quedarían representados de la siguiente manera:
|
PASO |
TERMINALES |
||||
|
Factores de Ponderación |
|||||
|
|
8 |
4 |
2 |
1 |
|
|
D |
C |
B |
A |
Valor decimal |
|
|
1 |
0 |
1 |
0 |
1 |
5 |
|
2 |
1 |
0 |
0 |
1 |
9 |
|
3 |
1 |
0 |
1 |
0 |
10 |
|
4 |
0 |
1 |
1 |
0 |
6 |
El terminal A correspondería al pin 2 del puerto paralelo, el terminal B al pin 3, el C al pin 4, y el D al pin 5, los cuales corresponden al registro de datos del puerto paralelo.
Cada inversión en la polaridad provoca el movimiento del eje, avanzando este un paso, la dirección de giro se corresponde con la dirección de la secuencia de pasos, por ejemplo para avanzar el sentido horario la secuencia seria 1-2-3-4,1-2-3-4…. y para sentido anti-horario seria; 4-3-2-1,-4-3-2-1…
Ahora para hacerlo funcionar, yo lo hice mediante un programa en java, solo para que me facilite el manejar el motor con las teclas direccionales. El programa es simple, para cada paso le corresponde un “delay”, que en este caso lo hago usando el método sleep() de la clase Thread y nada más. Bueno para hacer que java acceda al puerto paralelo use el JNI y tuve que crear una dll con openwatcom c++, el cual pueden bajar gratis de la red.
A continuación pondré un link de donde podrán bajarse el código para manejar un motor pap bipolar. Estan los fuentes del código en C++ y del código en java, si quieren usarlo van a tener que volver a compilar el código en C++ e incluir los .h del jdk ya que sino les marcara una excepción de java, para esto subiré también unos .bat con el comando a ejecutar (ejecutar primero jni1.bat y luego jni2.bat), si les sale error solo hay que cambiar la dirección del jdk.
Bajar código AQUI.
En resumen tienen que hacer lo siguiente:
1. Compilar Puerto.java
2. Compilar ManejadorMotorPAP.java
3. Ejecutar jni1.bat
4. Ejecutar jn2.bat
5. Ejecutar ManejadorMotorPAP
Al programa le faltan muchas cosas, los pasos del motor están en un arreglo, si quieren cambiarle el sentido de giro del motor, solo inviertan el orden del arreglo. El programa así como esta, solo hará girar al motor mientras se mantenga presionada la tecla direccional derecha, cuando se suelte, este se detendrá.
Cualquier pregunta póngala de comentario aquí abajito =P.
P.D. Los diodos que usé son 1N4007.
-
Ellos dejaron sus comentarios... Tú deberías opinar también!!!
- Están permitidos algunos caracteres XHTML básicos (como <a>, <b>, <quote>, etc).
- Si deseas ver tu foto en cada comentario, debes registrarte en Gravatar con el mail que nos has dado, así automáticamente tu imagen será enlazada a este blog y muchos otros.









Sábado, 24 Octubre 2009 - 10:16 AM
hola amigo gracias por el dato…
la unica pregunta que tengo es con cuanto voltaje y corriente se lo alimenta?…
saludos!
Sábado, 24 Octubre 2009 - 10:29 AM
Holap:
Bueno yo estuve buscando informacion sobre esos motores, y encontré que se alimentan con 36 V y la corriente debe ser de 1 A, creo. Sin embargo, yo estoy usando una fuente de 20 voltios y 0.5 A y normal. En el integrado le ingresarias 5 V por el Vss y de 12 a 36 V en el Vs, aunque debes ir probando porque por ahí leí que desde 5 V en el Vs tambien funciona, supongo que mientras mas voltaje mayor potencia. =D.
Saludos.