Mueve el servo en relación con la posición actual (analógica)

6

Tengo 3 sensores que se alimentan en un par de comparadores que determinan si mover el servo o no. Solía moverme con un microcontrolador, pero necesito liberar algunos pines, así que estoy tratando de lograr esto sin software.

El circuito del sensor tiene dos clavijas de salida que me dicen si debo moverme en sentido horario o en sentido antihorario o detenerse. Tenga en cuenta que este es un movimiento relativo, por lo que no conoce la posición actual del servo. Todo lo que sabe es si debe moverse y en qué dirección, si no es posible realizar más movimientos, simplemente se debe ignorar.

Pensé que podría lograr esto usando 555 temporizadores, ¡pero no pude pensar en una solución! Calculo que podría usar un motor paso a paso o un motor ordinario, pero no encajan en la junta. ¿Hay alguna forma de lograr un movimiento servo "relativo" con solo circuitos analógicos (y sin desordenar las entrañas del servo)? ¿Alguna sugerencia?

    
pregunta Mel

2 respuestas

10

Todavía intentaría usar un microcontrolador, esa será la solución más fácil. ¿Planea eliminar las entradas del sensor y la salida del servo del controlador? Eso te dará 4 pines extra. ¿No hay un dispositivo en la misma familia de microcontroladores con algunos pines más?

Alternativamente, podría usar un pequeño microcontrolador separado para manejar los datos del sensor y el servo. Eso será más compacto, más barato y más fácil de controlar que las soluciones que involucran a los 555 y qué más.

    
respondido por el stevenvh
7

Creo que esto cae en lo que Horowitz y Hill podrían llamar "híbrido" y no necesariamente analógico, pero aquí va:

Supongamos que tiene una señal PWM para controlar la posición del servo (A) y una olla en el servo, que se usa para controlar el ancho de pulso de un circuito temporizador (como un servo de aeronave modelo) cuya salida es B .

Utiliza XOR simple entre el pulso de comando y el pulso de salida para determinar cualquier error (A xor B). El pulso de salida será del mismo ancho (error cero), más ancho o más estrecho que el pulso de comando. Luego, (A xor B) AND A y (A xor B) AND B representarán las señales PWM para las rotaciones de CW y CCW que puede usar para el servocontrol --- invierta el canal apropiado (en el sentido analógico, es decir, x - 1), sumarlas (solo una de esas señales puede ser distinta de cero a la vez) y usarla como señal de error. O simplemente use cada canal directamente para conducir las patas opuestas de un puente en H

Unos cuantos detalles quedan pendientes, como hacer coincidir las ganancias del comando PWM con el PWM de salida y demás, pero este es el enfoque general (con una caricatura para el ajuste de ancho de pulso en el 555-- necesitará un < circuito de temporización em> real para un 555 en modo monoestable con ancho de pulso variable).

Peroestoydeacuerdo,unucontrollerporsatélitepodríaserlarutamásrápida.Creoqueelenfoqueanalógico/hybirdtienemásestilo!Sinduda,seinsertaaunnivelmuydiferente:cuandohacesesto,tuservosoloestábuscandounanchodepulsoy,apartedeeso,estásolo.Podríaservircomounmejor"bloque de construcción".

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas