¿Problema con PWM y un motor?

Hola a todos,

Aunque la pregunta que hago es una tonteria pero me ha tenido ocupado todo el día y no consigo avanzar. Me he comprado un kit de robot de los que se venden en China (4wd diy smart chassis car kit with uno-r3 + ultrasonic module+motor drive board Sale - Banggood.com) con el que me he puesto a jugar hoy. Quería empezar poco a poco por lo que solo he intentado utilizar los motores y el L298N para controlar la velocidad.

Y es ahí donde tengo el problema. Si quito el jumper de ENA y ENAB para poder permitir el control, independientemente del valor que le envíe con la función analogWrite, los motores no giran. SI por el contrario, vuelvo a poner el jumper, consigo que se muevan, paren o que alteren el giro aunque lógicamente no tengo control de la velocidad.

He probado a utilizar código que he encontrado por Internet pero todos los ejemplos de PWM no me funcionan. Y es aquí mi duda:

¿Todos los motores de DC como los que vienen en el citado kit deberían poder ser contralados con una señal PWM?
¿Puede que esté estropeado mi controlador L298N y sea la causa?

Mil gracias por vuestra ayuda.

Te paso un link a robots-argentina que me parece bastante completo, si ya lo has visto solo ignóralo.

Por otro lado, sí, deberías poder controlarlos, máxime esos motores pequeños.

Si usas una protoboard siempre revisa que no tengas falsos contactos, es algo muy habitual que las fallas pasen por ahí.

Saludos

Gracias por la info. No no uso ninguna protoboard al emplear cables directos desde Arduino al controlador. Adicionalmente, si hubiera algún mal contacto, no debería funcionar cuando el jumper esté instalado, por lo que no creo que ese sea el problema.

Solo veo dos alternativas como ponía en el correo original, ¿o el motor no puede ser controlado con PWM (raro) o el controlador del motor no funciona?

¿Alguna otra teoría o tema que pueda mirar?

Gracias.

Perdón, ¿y si el falso contacto es en el cable que va desde el pin PWM a la entrada de la placa? Porque justamente ese es el cable que no se usa al poner el jumper. :wink:

Saludos

Entiendo que eres nuevo, entiendo que uno compra un kit y se encuentra perdido
Pero buscar en Internet no es dificil.
Si pones L298 y luego vas a imágenes mira que fácil encuentras cosas como esta

Con eso dice que ENA y ENB simplemente activan o no los motores A y B.

DC Motor Enable, lo habilita

Bien, ahora que eso esta resuelto pasemos a lo que tu buscas que es cambiar la velocidad.

Tutorial de Luis Llamas L298, ultimo código tiene control de velocidad.
Mira conexiones y como se controla la velocidad. Se sua analogWrite(pin, velocidad)

Si no publicas código nosotros no podemos saber que haces mal.
En tu caso seguramente el error esta en que usas siempre digitalWrite(pin, HIGH o LOW) y eso no corresponde para la modificación de la velocidad.

Espero

En realidad no está bien ese esquema, ENA y ENB no activan o desactivan los motores, lo que hacen es puentear (o no) la entrada PWM. Por eso cerrando el jumper no se puede controlar la velocidad. Y atención: no mandar pulsos PWM sin sacar el jumper porque se puede quemar el puerto del arduino.
En el tutorial de Luis Llamas que te recomienda @surbyte está más que bien explicado el funcionamiento.

Saludos

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.