Esquema de control del ROV de Beaglebone Black

3

Estoy buscando algunos consejos con respecto a la configuración de mi control para un ROV y cómo hacerlo lo más suave posible. Actualmente, tengo dos joysticks de estilo arcade con micro interruptores estándar dentro. La forma en que imagino que el sistema funciona es así: Joystick genera 3.3V o lógica 1 equiavalente a una entrada GPIO en el BBB. Tengo una configuración de script para ejecutar en el arranque para el BBB que configura inmediatamente los pines de entrada, y establece los pines de salida en bajo (temporalmente) para evitar cualquier alto flotante. Una serie de bucles while o equivalentes designan qué entrada en qué pin corresponderá al BBB que genera un valor ALTO en otro pin, que luego pasa a una placa de relé de 16 canales, que a su vez se alimenta a 8 (máximo) bomba de achique de 12 V motores

Este es mi problema: ¿Cómo hago para que el joystick emita una señal que tenga el voltaje / amperaje adecuado para no dañar el BBB al dañar el sustrato al hacer que un GPIO consuma demasiada corriente? He visto algunos reguladores de 3.3V por ahí, y supongo que con una resistencia limitadora de corriente adecuada, el sistema funcionaría correctamente sin dañar el Beaglebone. Sin embargo, no estoy seguro de si esto funcionaría y cómo se configuraría para una función óptima. Por ejemplo, ¿debería tener una alimentación de regulador de 3.3 V para los microinterruptores y tener el interruptor de palanca de mando de 3.3 V? Parece que esto funcionaría en teoría, pero realmente me gustaría estar seguro antes de hacer cualquier daño al tablero.

Si aún no está seguro de cuál es mi pregunta, permítame que le haga esta pregunta: ¿Cuál sería la configuración óptima que utiliza los componentes anteriores para producir un sistema que sea seguro para el BBB y funcional para el propósito previsto? (Controlando los motores de la bomba de achique de 12V conduciendo un tablero de relés) Para ser claros, no estoy pidiendo a nadie que diseñe esto para mí, sino que solo busco comentarios y críticas constructivas para ver si hay algo que pueda mejorar. Avíseme si necesita alguna aclaración.

    
pregunta t72

1 respuesta

1

Hay varias cosas que comentar aquí.

Primero, si el joystick emite 3.3v, no dañará el BBB. Si puede controlar el cableado de las palancas de control (supongo que son solo microinterruptores y que puede modificar el cableado), entonces un mejor plan sería conectar una señal de tierra a un lado del interruptor j / s y la BB para el otro. Los chips Atmel tienen detectores incorporados. No puedo imaginar que el BBB tenga esa característica. En cuyo caso, conecte la señal a Vcc a través de una resistencia de 10K o 47K. Agrega un pequeño condensador para rebotar.

En funcionamiento normal, el interruptor está abierto. La resistencia lleva su entrada de señal a un estado alto. Cuando se opera el interruptor, la resistencia se cortocircuita a tierra y su entrada disminuye. El condensador simplemente quita el "borde" de la señal para evitar los bordes ásperos que obtiene con su interruptor promedio.

Yo secundaría el comentario de otra persona sobre el uso de relés. Sus bombas de sentina funcionan con + 12v con una corriente de alrededor de 2A (más o menos). Puede utilizar un MOSFET de canal N para impulsar la bomba. Conecte el + a + 12v, y - al drenaje del MOSFET. Conecte la fuente a tierra y la puerta a la BBB. Más barato, más pequeño y mejor que un relé. También ponga un diodo de derivación a través de él.

Asegúrese de usar un MOSFET que tenga un umbral de puerta compatible con la salida BBB o no se encenderá.

La otra ventaja del MOSFET es que puedes pulsar el paso a paso bastante rápido. Para evitar que las bombas "pateen" cuando están encendidas, las encendería en el software durante un milisegundo (por ejemplo) y luego las dejaría apagadas durante 9 ms. Enciéndalos en 2 y en 8, etc., hasta que estén completamente encendidos. De esa manera, mientras manejas el joystick, los motores se acelerarán, en lugar de patear con fuerza y dificultar los movimientos pequeños, si no imposibles.

    
respondido por el dtynan

Lea otras preguntas en las etiquetas