domando ruedas locas

Entonces no luches contra la corriente, busca potenciometros mejores. Que tal los joystick del mando de la Play?

Te dejo los datos "en bruto" de mi montaje por si te sirve.

El controlador era este

Espero te sirva

Gracias Surbyte, me encantaría robar una Play muy cercana a mí, pero mi prototipo es para usar por un minusválido y ese es un joystick dificil de manejar en esas circunstancias, me resigno a usar uno como el mío pero mas caro (ergo mas fiable).

Jopapa impresionante el trabajo, muy bueno, dan ganas de darse una vuelta por el centro. Te leí el pensamiento porque ese controlador con hall me está vieniendo de China (que gran nación) así que me alegro de saber que me va a funcionar. Mi prototipo tendrá movimiento de giro tipo tanque de guerra por lo que las ruedas se controlan diferenciadas, pero no será un problema, solo un poco mas de código. Gracias por los aportes.

Por que no colocas todo el código. Es mas probable que tengas problemas por estructuras bloqueantes. ¿usas Delays en el resto del código?
Saludos

NO se donde vives pero en mi pais en un sitio de ventas online se consiguen mandos PS2/PS3 para respuestos que tienen los joystick que buscas x precios irrisorios.

Solo para que veas, cuestan 10 y 15 veces mas pero este esta nuevo

Tambien estan los Joystick de Atari o de sega, tienes tantas opciones que no vale la pena ponerlo.

Solo lo comento como alternativas para probar. No los he usado como para garantizar establidad pero estamos de acuerdo que serán mejores que los que se venden para Arduino.

Gracias PeterKantTropus, no pongo el código simplemente porque está a medio hacer, no hay mucho mas que lo que puse. Estoy en fase de pruebas y estoy verificando el funcionamiento de los componentes. Entiendo tu duda sobre las estructuras bloqueantes (fue lo primero que me he planteado) pero seguro que no hay, no porque programe perfecto sino porque como comentaba, he hecho también un programa solo con la instrucción analogWrite(pwmPin, 80) en el bucle sin ninguna otra cosa mas y la rueda giraba pero el problema de la inestabilidad persistía, incluso probando con esa instrucción y un delay eterno el problema persiste, he hecho varias trazas por puerto serie y observo que el bucle no para, no hay bloqueos visibles (e invisibles lo dudo con una sola instrucción) pero gracias por la observación.

Gracias Surbyte, debo haberme explicado mal, sin dudas un mando Play tendrá una fiabilidad muy superior a la de mi joystick, pero me refería a que un minusválido con problemas motrices no puede manipular palancas pequeñas, tiene que ser algo robusto y seguro (hasta basto diría) la de atari a lo mejor puede servir, en su momento compré el joystick que tengo porque parecía robusto y por el tercer potenciómetro que incorpora en la palanca que me daba mas juego para incorporar otro tipo de frenado por ejemplo, pero esta claro que no acerté. Gracias por la data, vivo en España y sí tengo acceso a todo lo que me comentas, probaré palancas, atari incluida a ver que pasa (aunque si mal no recuerdo funcionan por contacto simple no con potenciómetros, no estoy seguro) aunque seguramente al final de todo tendré que terminar con una buena tipo la que manejan los carritos elevadores, están pensadas para el maltrato y son muy fiables.

Vere en primera instancia si pruebo un controlador decente como el que usó Jopapa y si responde bien al pwm ya habré ganado mucho para todo lo demas y me olvidaré por fin de la manipulación electrónica de potenciómetros. Tengo en unos días una reunión con un grupo de electrónicos especialistas en ruedas (yo soy especialista pero en ruedas de reconocimiento) a ver si me orientan, si me entero de algo que pueda servir de aporte lo pondré por aquí. Gracias.

benitoycam:
Gracias PeterKantTropus, no pongo el código simplemente porque está a medio hacer, no hay mucho mas que lo que puse. Estoy en fase de pruebas y estoy verificando el funcionamiento de los componentes. Entiendo tu duda sobre las estructuras bloqueantes (fue lo primero que me he planteado) pero seguro que no hay, no porque programe perfecto sino porque como comentaba, he hecho también un programa solo con la instrucción analogWrite(pwmPin, 80) en el bucle sin ninguna otra cosa mas y la rueda giraba pero el problema de la inestabilidad persistía, incluso probando con esa instrucción y un delay eterno el problema persiste, he hecho varias trazas por puerto serie y observo que el bucle no para, no hay bloqueos visibles (e invisibles lo dudo con una sola instrucción) pero gracias por la observación.

Nadie te va a criticar por un código a medio hacer, pero nos dificulta ayudarte, porque tenemos que adivinar. Por ejemplo no se que Arduino usas y al no tener el código, no puedo descartar lo obvio, como que utilices un pin incorrecto para generar PWM. Coloca el código simplificado y toda la información que puedas .
Saludos

Gracias por los comentarios PeterKantTropus disculpa por adelantado si no me explique bien, pero lo de no poner todo el código no es por temor a las críticas (si vieras como estoy vestido) es que de verdad no creí que fuera a aportar nada, el flujo no esta bien definido ni optimizado porque voy haciendo pruebas parciales sobre la marcha y lo tengo lleno de flags que ni yo mismo se para que son, sinceramente no se entendería gran cosa con todo ese masacote de momento inconsistente. Siempre intento ser exhaustivo desde un comienzo para acotar las respuestas (valoro el tiempo de los demás) por eso comenté desde el principio en el primer post, que un programa solo con la instrucción analogWrite(pwmPin, 80) tampoco funcionaba y a partir de ahí juzgué innecesario pegar mas código que el que puse. De todos modos seguramente no me explique bien en el primer post o me faltaron datos y no se me entendió lo del código, me tomo nota y lo replanteo de otra manera:

tengo un arduino mega 2560 y con éste código:

const int pwmPin = 2;  //el timer usado inhabilita 3 y 5
void setup() {  
   pinMode(pwmPin , OUTPUT);  //definir pin salida
}
void loop() {
   analogWrite(pwmPin, 80);
}

funciona mal la rueda.
Con este otro también:

const int pwmPin = 2;  //el timer usado inhabilita 3 y 5
void setup() {  
   pinMode(pwmPin , OUTPUT);  //definir pin salida
}
void loop() {
   analogWrite(pwmPin, 80);
   delay(50000);
}

Puede que me equivoque pero esto me hace pensar que no es un tema de código (ni de arduino) sino de controlador, aunque nunca se sabe dicen que los caminos de un microcontrolador son inescrutables.

Hi,
Pregunta: Porque ese delay de 50,000 = 5 segundos?

Nada importante tauro0221, los 50000 (50 segundos) es para evitar el bucle y verificar el funcionamiento sin entrar en el segundo ciclo, por supuesto que teóricamente no debería afectar absolutamente en nada el hecho de entrar en el segundo ciclo a la instrucción del pwm pero es por rizar el rizo, no sea que arduino chequee algo a escondidas y el loop produzca un retraso, como verás ya estoy en el último paso antes de pasar a las teorías sobrenaturales y las conspiraciones arduino-masonico-bolcheviques.

Hi,
Gracias, lo que pasa es que me estrano mucho el porque del delay porque cuando haces un pwm el se queda permanente con ese output hasta que no le mandes otro comando.

Viendo la foto de la placa que pusiste ¿cerraste el swich que esta indicado 0-5 V analog & PWM input?

Sí, con el jumper puesto trabaja el potenciómetro y sin el jumper trabaja pwm, de hecho alguna vez me olvidé de quitarlo y se autobloquea. Saldré de dudas sobre si es el controlador el problema, cuando me llegue el que a Jopapa le funcionó; me parece normal que un controlador genérico de 10 euros como el que tengo no pueda ser apto para todo tipo de ruedas, los algoritmos que gestionan la alimentación de los bobinados ya sea con retroalimentación hall o contraelectromotríz son muy complejos, hasta el grosor del hilo del bobinado influye. Yo estuve tentado en un primer momento de hacer mi propio algoritmo (la inocencia no conoce límites) pero investigando un poco me di cuenta que tenía que abandonar los opiáceos.

Hablamos del mimo jumper? No me refiiero al que esta al lado del potenciometro interno, que sirve para seleccionar si se utiliza ese potenciometro o la regleta. Me refiero el que en la foto aparece para soldar. Si esta abierto, se utiliza un control analógico, esta pensado para colocar un potenciometro externo ( 10 k generalmente) entre los terminales marcados como GNG, 0-5 v , 5 v y si esta cerrado se utiliza PWM y GND

No, ahí me perdí Peter, yo me refería al potenciómetro/regleta, el que vos me indicas nunca me imaginé que tendría que soldarlo, ¿es eso? ¿Hay que soldarlo? ¿Trae un jumper para potenciómetro/ regleta pero para potenciómetro/pwm tenés que esperar el envío armado con un soldador? Si van por ahí los tiros Peter voy a donar 500 jumpers a la embajada China y a vos te haré un monumento, dame un poco de luz.

Para que funcione como PWM tienes que cerrar con soldadura el punto marcado

EN los drivers es mas común comandarlos por potenciometros, por eso esa placa viene de fabrica para utilizar un potenciometro externo. Si optas por el menos común PWM, hay que soldar.

Mañana saco el soldador a la cancha (espero encontrarlo) y te cuento, me parece que de ser ese el problema, lo que pasaba es que mientras yo me imaginaba que le estaba metiendo pwm al controlador él en realidad recibía lo que consideraba señal de potenciómetro 0 y X aleatoreamente por eso funcionaba a trompicones, puede que lo estuviera volviendo loco. En fin, no puedo entender que no tenga un jumper ahí, puede que en china limiten el número de hijos y de jumpers. Mañana mas, gracias Peter

Bueno gracias a la colaboración del foro y al click de Peter (ya encargué el mármol para la estatua) se ha solucionado. Tuve una reunión con unos ruedófilos y tal como decía Peter me soldaron un bonito jumper (en el lugar donde me indicó la soldadura) va perfecto el pwm. Efectivamente multitud de chinos para sus transportes conectan un potenciómetro externo y el pwm es minoritario (de momento). Me falta completar el programa, calibrar las ruedas y alguna prueba de stress para ver como responde, pero lo importante es que va de un modo potable. Peter estoy evaluando localización para el monumento, entrada del Bernabeu (te lo pueden grafitear) o Paseo del prado (mas clase) ya me dirás.