¿Hackeando una cinta con Arduino?

3

Me gustaría escribir una aplicación de escritorio que pudiera leer automáticamente todas las mediciones de mi cinta de correr y controlar completamente la cinta de correr en lugar del tablero de instrumentos nativo.

Desafortunadamente, no sé casi nada sobre ingeniería eléctrica, y esperaba que alguien pudiera indicarme la dirección correcta en cuanto a cómo construir la interfaz entre mi computadora y la cinta de correr.

Primero déjame describir la configuración. La máquina para correr tiene dos partes principales: el tablero de instrumentos y la parte mecánica con la superficie de rodadura. Se unen a través del conector de 8 pines que se muestra aquí:

Eltablerodeinstrumentostienevarioscontrolesquepuedenconfigurarlavelocidadylainclinacióndelasuperficiedecarrera.Tambiéntienelasasasquemidenlafrecuenciacardíaca.

Esperabarealizarunanálogodeun"ataque de hombre en el medio" en la conexión entre el tablero de instrumentos y la parte mecánica, e insertar mi propio controlador entre ellos que podría leer las medidas y controlar la superficie de carrera.

Me imagino que uno podría comprar un divisor de 8 pines y conectarlo a Arduino que a su vez se conectaría a mi escritorio. ¿Es ese un enfoque razonable?

Si puedo "interceptar" la comunicación entre el tablero de instrumentos y la superficie en ejecución, probablemente podría aplicar ingeniería inversa al protocolo de comunicación, y luego podría falsificar los comandos del tablero desde mi aplicación.

En este punto, no sé si la comunicación entre el tablero de instrumentos y la superficie de ejecución es unidireccional o no. Puede darse el caso de que la velocidad y la inclinación que se muestran en el tablero de instrumentos sean los valores "objetivo", en lugar de los valores medidos directamente en la parte mecánica y comunicados de nuevo al tablero de instrumentos. Sin embargo, también podría darse el caso de que la velocidad se mida directamente en la superficie de ejecución, se comunique al tablero de instrumentos, el tablero de instrumentos lo compare con el valor objetivo y, en caso de discordancia, envíe un aumento de velocidad o el comando de reducción de velocidad a la superficie de rodadura.

He encontrado este video de Youtube donde un tipo parece haber podido conectar a Arduino con su cinta de correr , y controlar la velocidad de la cinta de correr desde su laptop. Desafortunadamente, el video no proporciona detalles sobre cómo se logró exactamente esto.

    
pregunta user6236

3 respuestas

4

Si sabes poco o nada de ingeniería eléctrica, entonces no lo hagas. Arduino es una plataforma para fines de hobby, no para sistemas que requieren un mínimo de seguridad. Si el Arduino (software o hardware) se vuelve loco, pueden ocurrir accidentes y usted podría lesionarse.

La ingeniería inversa tampoco es la forma más segura de hacer las cosas. Nuevamente, si no lo haces correctamente, puedes hacer las cosas mal y te puedes lastimar.

Pero no todo está perdido. La cinta de correr es un dispositivo bastante simple de controlar: usted configura la velocidad a través del tablero de instrumentos, ya sea fija o siguiendo un programa. Esa es la salida. Las entradas son la lectura del latido del corazón y los botones del tablero, incluida la parada de emergencia. Elija un SBC industrial confiable para el hardware y conecte las E / S a él. Nota: la parada de emergencia debe detener el motor en hardware , no en el software.

    
respondido por el radagast
4

Este proyecto va a necesitar mucha ingeniería inversa, y quizás incluso un alcance. También puede ser muy difícil hacerlo sin hacer que el panel de control sea inútil, o piratear que también.

ADVERTENCIA: hazlo bajo tu propio riesgo. Si se maneja incorrectamente, podría freír tanto su Arduino como su cinta de correr. Proceda con precaución. Cuando realice ingeniería inversa, asegúrese de cambiar el circuito lo menos posible para evitar un aumento de voltaje o una caída que pueda dañar su equipo. Cuidate. Usa el sentido común. Si no estás seguro, pregunta. Desenchufe todo antes de modificar la electrónica. Revisa tus conexiones a triple. Rehacer algo si no estás seguro de que está bien. La seguridad debe ser su primera prioridad.

[Me siento como un abogado ahora ... :P ]

Ingeniería inversa:

Este puede ser uno de los pasos más difíciles, especialmente si no tiene un osciloscopio, ya que necesitará uno o dispositivos similares. Son útiles, pero caros. Nunca he necesitado uno, así que no tengo uno, y estoy adivinando. Todas las correcciones son bienvenidas.

Si tiene suerte, su alcance tendrá una función que puede grabar y "congelar" la pantalla, y tal vez incluso editarla en la computadora.

Por lo tanto, desenchufe la máquina para correr. Desconecte el cable. Personalmente cortaría los conectores y soldaría algunos cables, probablemente del mismo tamaño para que sepa que puede manejar el amperaje, con la menor cantidad de resistencia. Luego, también conectaría los cables de alguna manera con firmeza, para que pueda conducir, y use una pequeña cinta adhesiva para que alguien no toque los cables accidentalmente. Sin embargo, necesitarás una descubierta en todo momento. La que sea variará según la línea que desee probar. Tendrá que adjuntar los clips a cada cable. (Solo tendrá que encontrar una solución similar con cinta o pinza de ropa si tiene una sonda).

Activa el alcance. Disfrutar. Estudiaría los patrones de cada uno y presionaría todos los botones. Algunos lo harán y otros no responderán. Prueba ambos amperios y voltaje. Es posible que puedas imitar esto con un Arduino.

Si parece una tontería: hacer un pulso que es proporcional a la velocidad con la que el motor está funcionando, entonces puede ser más difícil. Probablemente es un motor paso a paso.

Una forma más sencilla es this ; Es una cafetera, pero la información es buena. Le muestra cómo modificar los botones para "presionarlos" con Arduino.

Aparte de eso, sin más información, realmente no puedo ayudarte sin hacer un libro completo. Si necesita ayuda con problemas más simples en el futuro cuando descubra más, no dude en publicar una nueva pregunta . El "empuje" sería ideal, y creo que todavía podría usar el panel de control y la computadora también podría presionar los botones, aunque si lo presiona a 3 y lo quiere en 5 y piensa está en 0, estaría en la velocidad 8. Es casi como una reacción en una máquina CNC. (Salta eso si no sabes qué es eso).

Creo que esto es suficiente para que comiences. Buena suerte.

    
respondido por el Anonymous Penguin
0

Me doy cuenta de que esta es una respuesta bastante tardía, pero trabajo para una compañía relacionada con equipos de acondicionamiento físico. Hay una buena posibilidad de que esto sea RS-485 o algún otro serial. Trate de encontrar datos + y datos; utilice un alcance y luego comience a obtener capturas de datos y comenzará a ver los diferentes comandos y sus valores que van entre la interfaz del usuario y el controlador del motor. Le sugiero que primero capture exactamente lo que la interfaz de usuario envía al controlador del motor y luego haga que su aplicación o lo que sea que haga lo mismo. Una vez que esto funcione, puede modificar los comandos para obtener lo que desea. Quizás lo más importante, probablemente habrá una serie de comandos de inicio que necesitarás imitar o no funcionarán. Buena suerte!

    
respondido por el cburf

Lea otras preguntas en las etiquetas