Paso 8: Hackear el controlador de carga
Hackear el cargador: Aparte tomamos el cargador desenroscando los lados y estallido de la tapa superior. Encontramos que había un alambre de la cinta los 4 botones de conexión a la placa de circuito. Había 5 cables en el cable de cinta, así que pensamos que podría ser un cable de "referencia" y los otros cuatro cables a los botones. Conecta el cable de "referencia" a cualquiera de los otros alambres del cuatro botón equivalía a apretar un botón. Tomamos un multimetro y había probado nuestra teoría, y es válido. Para un botón, debemos conectar uno de los cables con el cable de "referencia". A continuación, agregamos los cables a cada una de las cinco terminales donde el alambre de la cinta se utiliza para conectar a. Los cables fueron conducidos fuera el controlador de carga por taladrar un agujero a través del panel lateral y tirar a través. Estos cables conducen a nuestro escudo de arduino, que nos permitirá pulsar los botones y el botón de arranque autónomo mediante un relé de control.
Botones externos: Hemos utilizado 4 botones en nuestro escudo para volver a crear los botones en el controlador para propósitos de prueba y en caso que queríamos cambiar configuración en el controlador de carga.
Uso de un relé: Utilizamos un relé OMROM G5V-1 "pulsar" el botón de inicio con nuestro arduino. La imagen de arriba muestra cómo conectamos cada una de las patillas del relé. El pin de salida digital de arduino que está conectado al relé indica la presión en la tecla cuando está establecido en alto. Dos otros pernos en el relé conectan el botón start y el hilo de "referencia", completar la conexión. Tenemos que conectar un otro relay a tierra. Por precaución, ponemos un diodo de señal y tierra de nuestro relevo porque no queremos corriente que fluye en nuestro arduino al conecta la clavija de salida digital a bajo (botón de inicio está apagado). Ahora el arduino tiene la capacidad de pulsar el botón start autónomamente.
El inicio de la programación: Aunque sabemos Cómo obtener el arduino a presionar start, no sabemos cuándo decirlo a hacerlo todavía. Nos gustaría que presione start unos segundos después de que el usuario ha sido pedalear durante unos 10 segundos. ¿Cómo vamos a saber que un usuario pedalea? Queremos que nuestro arduino para leer el voltaje de C.C. de nuestro motor que estará presente cuando una persona es ciclismo. Sin embargo, nuestra tensión es más de 5V, por lo que nuestro arduino no puede leerlo directamente ya que tiene un límite de 5V. Hemos utilizado este artículo para crear un divisor del voltaje adecuado para el arduino lee el voltaje del motor.
Un sencillo bosquejo de este divisor de tensión está en la foto de arriba. Incluyo todo el código de arduino en otro paso. Utilizamos una resistencia 3,9 K y 1K para reducir la tensión va en el arduino por un factor de 5. Tenemos todo para el pedal lo suficiente para conseguir el motor para ir encima de 17V, así que debemos estar seguros. Por lo general, estamos salir menos de 15V de nuestro motor. El divisor de voltaje se pone en una entrada analógica en el arduino que permite calcular la tensión del motor el arduino.
Psudo código:
void loop() {}
{while(!Started)}
startCharger();
}
void startCharger() {}
Si (motorVoltage > 12 & & hasBeenOnForLong) {}
digitalWrite (cachés, HIGH); que es equivalente a presionar Start
Iniciado = true;
}
else if (motorVoltage > 12) {}
decir ha sido el de más
}
Else {}
restablecer hasBeenOnForLong al principio
}
}