El hilo de ARDUINO: Dudas, código, ejemplos, etc

Tema en 'Informática - Tecnología' iniciado por McClane, 26 May 2017.

  1. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Jassss lo tengo casi

    He conseguido cargar el hex en la placa y ya me la reconoce y también me reconoce el giro, he abierto assetto y también lo reconoce, creo que tengo un pequeño error o es es que el motor está haciendo fuerza en el centro y con la mano no consigo girarlo, igual puede ser porque puentee los positivos de dirección y pulsos a los 5v de la placa, esta noche invierto el esquema y puenteo los negativos o a ver si con la mordaza lo puedo girar pero ni bajándole la ganancia al mínimo
     
    A Tizon le gusta esto.
  2. elbader

    elbader En Practicas

    Registrado:
    12 Sep 2014
    Mensajes:
    454
    Me Gusta:
    649
    Modelo:
    F31/XJR-SP
    No tengo los trastos al alcance para mirar si es normal que no puedas mover el eje, pero creo que para 9nm necesitarás ya una cierta palanca.
     
  3. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Al parecer es normal pues pensaba que trabajaba como los motores de paso pero al parecer es un Servo que vuelve a la posición inicial, con una mordaza se puede mover y vuelve a su sitio

    He estado indagando y tengo que añadir otro encoder que me de la posición del eje y el giro, va a quedar un poco ñapas pero hay que acoplarselo al eje lo que no se es si poner un disco con el sensor o uno de esos rotativos que viene con un eje y acoplarselo con unas poleas
     
    A Tizon y pasko les gusta esto.
  4. elbader

    elbader En Practicas

    Registrado:
    12 Sep 2014
    Mensajes:
    454
    Me Gusta:
    649
    Modelo:
    F31/XJR-SP
    Estaba dándole vueltas al asunto, pero creo que lo primero es aclarar si el motor es servo o paso a paso. Si efectivamente es servo no necesitas encoder :)
     
    A pasko le gusta esto.
  5. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Es un Servo porque lleva encoder interno y lo pone en el driver hybrid Step-Servo

    Pero mi problema es que el programa no me reconoce la posición del eje, le doy a calibrar y gira el motor pero como no sabe donde está el centro ni los grados que está girando por lo tanto no hace tope en los grados marcados y me lanza el mensaje de error

    Me estoy volviendo un poco loco total que por unos cuantos euros le pongo un encoder al eje y hago la prueba porque llevo 20000 intentos y todo funciona menos la posición del eje
     
    A Tizon y pasko les gusta esto.
  6. elbader

    elbader En Practicas

    Registrado:
    12 Sep 2014
    Mensajes:
    454
    Me Gusta:
    649
    Modelo:
    F31/XJR-SP
    Editado para borrarlo por no hacerte/haceros perder el tiempo.

    ¿Tienes algún enlace a los datasheet de la controladora y motor?
     
    Última edición: 30 Jul 2019
    A pasko le gusta esto.
  7. elbader

    elbader En Practicas

    Registrado:
    12 Sep 2014
    Mensajes:
    454
    Me Gusta:
    649
    Modelo:
    F31/XJR-SP
    Editado para borrarlo por no hacerte/haceros perder el tiempo.
     
    Última edición: 30 Jul 2019
  8. elbader

    elbader En Practicas

    Registrado:
    12 Sep 2014
    Mensajes:
    454
    Me Gusta:
    649
    Modelo:
    F31/XJR-SP
    A pasko le gusta esto.
  9. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Eso pensaba yo también pero ya lo intenté y sigue sin reconocer la posición
    Se supone que entre los a y b del encoder me lo tiene que dar pero conecto a la entrada analógica de la placa y estoy en las mismas

    Voy a sacar el polimetro y empiezo a medir
     
    A Tizon y pasko les gusta esto.
  10. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    El entorno de programación de Arduino tiene una opción útil para monitorizar los pines de la placa, tanto en analógico como digital y saca unas gráficas muy útiles.

    ¿Cuantos hilos tienes para conectar el motor a la placa Arduino?

    Saludos.
     
  11. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Solo 4 dirección pulsos positivo 5v y el Enable que no se a que pin se conecta y veo que la gente tampoco lo usa, los positivos de dirección y pulsos van puenteados

    Esta tarde mediré los cables del encoder del motor porque no traía ni esquema ni una triste leyenda en motor, tuve que hurgar en la pagina y en YouTube para ver cómo se conectaba
     
    A pasko le gusta esto.
  12. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    Si puenteas los hilos de pulsos y dirección ... ¿no debería funcionar como un motor de continua? , vamos girando todo el rato en una dirección, porque no cambian estas señales de entrada. No entiendo bien, pero parece que ¿ lo arrancas y lo paras con la señal de +%Vcc?

    Saludos.
     
  13. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    A ver sé puentea del positivo de la placa a positivo de pulso y de ahí al positivo de dirección los negativos van a la placa, entonces la placa lo controla con una señal pwm, depende de la señal gira más pasos o menos y según la señal de la dirección gira en un sentido o en otro, claro al ser un Servo el encoder guarda la posición con la que lo enciendes y mete toda la corriente para dejarlo fijo en ese punto, de ahí puedes girarlo todo lo que quieras que no pierde el paso

    Pero claro siguiendo el esquema si no puedo controlar la señal porque no me da la posición ni sabe los grados que lo estoy girando difícilmente va a girar adonde quiero y va a volver al punto que le marque el programa
     
    A Tizon y pasko les gusta esto.
  14. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Estaba yo maquinando lo del encoder y se me ha encendio la bombilla

    [​IMG]

    Me he acordado que tenía unas cuantas radios antiguas y que tenían ruletica para el volumen biggrin

    Haré la prueba a ver si gira
     
    A pasko le gusta esto.
  15. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    No se si lo entendi bien, pero parece que envías órdenes con pwm, pero no tienes conexión para recibir la posición del eje, ¿no?

    Saludos.
     
  16. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Exacto no tengo señal de la posición del eje ni puedo hacerlo girar a mi antojo sin que se vuelva a la posición inicial

    De ahí que quiera hacer la prueba con un encoder a parte
     
    A pasko le gusta esto.
  17. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    Si funciona paso-a-paso, el motor debería tener una salida (hilo) que se conecte a la placa Arduino para que tu programa la lea.

    En esta foto del ejemplo que habéis puesto más arriba, hay cuatro hilos:

    Rojo, negro para Vcc(+5) y GND
    Amarillo parece que es PWM ....
    Y el Blanco debe ser el que se lee desde la placa para ver que el motor ha parado y en qué posición está.

    [​IMG]


    ¿Tú lo puedes conectar como en este ejemplo?

    Saludos.
     
    A Tizon le gusta esto.
  18. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    También lo intente conectar el de pulso a la entrada analógica sin tener ninguna lectura ya que el motor y su encoder van directamente al driver que trae y el driver se conecta a la placa con los dos cables, he intentado de todas las formas posibles y no soy capaz

    Total que ya tengo pedido a chinatown un encoder incremental rotativo de 2500 pr pa acoplarlo al eje porque en esto que quiero hacer parece absolutamente necesario
     
  19. elbader

    elbader En Practicas

    Registrado:
    12 Sep 2014
    Mensajes:
    454
    Me Gusta:
    649
    Modelo:
    F31/XJR-SP
    He mirado el manual y aunque estoy pegado con el inglés para mí que no trae encoder, pero viene preparado para conectar uno.
    En el mismo manual también me parece entender que para modificar un montón de parámetros de cómo reacciona el servo necesitas un aparato que se conecta por RS232. No se si estará hackeado la cosa para meterle mano por otro lado.

    El manual:
    https://hardware-cnc.nl/images/PDF/ACT/HBS86H_English_Manuel.pdf

    En el punto 9 se ve claro lo del encoder y en el 10 lo del aparato.

    El aparato: https://es.aliexpress.com/item/32891988181.html

    Edito: He mirado en las fotos que has subido y tienes conectado un cable a la entrada del encoder ¿dónde va conectado el otro extremo, al motor?
     
    Última edición: 31 Jul 2019
    A pasko le gusta esto.
  20. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Exacto esa es la conexion del encoder del motor al driver

    También estuve hurgando por la red y en efecto se pueden modificar los parámetros del driver con el puerto lateral que trae pero por ahí no me atrevo a meterle mano, solo he tocado las patillas laterales para ajustar la resolución y la dirección de giro
     
    A pasko le gusta esto.
  21. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    Jajaja. Así habla también mi mujer. biggrin

    Si todavía no has pedido el encoder, me leo el manual que habéis colgado antes y te digo algo. No me cuadra que la salida del motor para indicar la posición sea analógica ( o que lo conectes a una entrada analógica).

    Saludos.
     
    A josete_perez le gusta esto.
  22. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Está pedido ya, pero bueno si me puedo ahorrar hacerle el acople mejor

    Toda ayuda es bien recibida, y aún no he tenido tiempo de mirar el manual
     
    A pasko le gusta esto.
  23. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    Creo que me precipité en mi anterior mensaje.

    La conexión más parecida que he encontrado para arduino está en este artículo:

    https://programarfacil.com/tutoriales/fragmentos/servomotor-con-arduino/#Conexionado_con_Arduino

    Pero como tú lo quieres controlar como paso-a-paso no estoy muy seguro de que te sirva...:( El artículo explica como hacerlo con tres hilos, como tú comentabas que lo tenías más o menos. Permite fijar unos grados de giro y mantener una posición.

    Saludos.
     
    Última edición: 1 Ago 2019
    A josete_perez le gusta esto.
  24. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    Hecha un ojo al artículo de mi anterior post (igual ya lo habías visto) y coméntanos por aquí.;)

    Saludos.
     
    A josete_perez le gusta esto.
  25. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Ufff si le tengo que meter códigos aparte al arduino se me complica la cosa porque el firmware lo tengo intalado desde un archivo hex en la placa y no tengo ni idea de cómo modificarlo para incluirle esos parámetros, esta noche con más calma le doy unas vueltas a ver
     
    A pasko le gusta esto.
  26. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    Ahora entiendo lo del archivo hex en la placa! :)

    La idea que me ha quedado del último enlace que te puse es que el Arduino se usa como driver, es decir:

    Le das ódenes con el hilo de PWM,
    y la respuesta del motor la lees por el puerto serie de la placa Arduino.

    Así cuadran todas las conexiones.

    Lo de andar con el entorno de desarrollo para tocar el software de la placa es sencillo, hasta un torpe como yo con tiempo he conseguido ponerle cosas ;) Sólo hace falta conectarlo con su cable USB al PC y cambiar 4 chorradas.


    Saludos.
     
    A elbader y josete_perez les gusta esto.
  27. elbader

    elbader En Practicas

    Registrado:
    12 Sep 2014
    Mensajes:
    454
    Me Gusta:
    649
    Modelo:
    F31/XJR-SP
    Una cosilla. Yo es que no tengo claro si el problema viene por un error de conexión, configuración del hex o porque está estropeado. Y es que sería una lástima que sea por lo último y no lo devuelvas por otro, porque estoy pensado que añadir otro encoder va a ser un poco berenjenal luego programarlo para que funcione bien.
    Si tu encoder tuviese 5 hilos te pasaba un código para poder leerlo y ver si funciona, pero es que tiene 6 :LOL:

    No se si esto podría servir:
    https://www.instructables.com/id/Motor-With-Encoder-How-to-Read-Input-Value-From-En/

    Por cierto ¿podrías hacer un copia/pega del hex? Igual suena la campana.
     
    A pasko le gusta esto.
  28. josete_perez

    josete_perez Forista Legendario

    Registrado:
    21 Ene 2015
    Mensajes:
    10.629
    Me Gusta:
    12.235
    Modelo:
    Ex 535i E39
    Lo abro pero está en binario y no me entero de na, la historia es que el xloader lo carga en la placa y funciona,pero claro está hecho para leer un encoder y en función de eso mover el motor
     
  29. pasko

    pasko Forista Senior

    Registrado:
    21 Sep 2017
    Mensajes:
    4.203
    Me Gusta:
    10.200
    Modelo:
    F45 - K54
    Hola.

    Una vez que tienes todo montado: ¿porqué no intentas ver si se lee algo en el puerto USB de la placa Arduino desde el PC? Con un programa tipo hyperterminal o parecido debería valerte. A lo mejor el xloader también lo permite, pero no lo conozco.

    Saludos.
     
  30. elbader

    elbader En Practicas

    Registrado:
    12 Sep 2014
    Mensajes:
    454
    Me Gusta:
    649
    Modelo:
    F31/XJR-SP
    aaaaah c**o, vale.
     
    Última edición: 1 Ago 2019
    A pasko le gusta esto.

Compartir esta página