Tabla de contenido:

Tablero de instrumentos de bicicleta eléctrica (EBike) y monitor de batería: 12 pasos (con imágenes)
Tablero de instrumentos de bicicleta eléctrica (EBike) y monitor de batería: 12 pasos (con imágenes)

Video: Tablero de instrumentos de bicicleta eléctrica (EBike) y monitor de batería: 12 pasos (con imágenes)

Video: Tablero de instrumentos de bicicleta eléctrica (EBike) y monitor de batería: 12 pasos (con imágenes)
Video: NUNCA HAGAS ESTO CON TU BATERIA DE TU BICICLETA ELÉCTRICA // ERRORES EMTB // EBIKE 2024, Mes de julio
Anonim
Tablero de instrumentos de bicicleta eléctrica (EBike) y monitor de batería
Tablero de instrumentos de bicicleta eléctrica (EBike) y monitor de batería

Este proyecto es un circuito Arduino que monitorea el voltaje y la corriente de la batería con un módulo ACS 712. Las medidas se comunican a través de Bluetooth con un módulo HC-05 a un dispositivo Android. Básicamente, vuelve a cablear la conexión negativa entre su controlador y la batería para pasar por el módulo ACS712.

La aplicación de Android muestra el estado de la batería, así como la velocidad actual y la distancia recorrida desde el GPS de Android.

El Android se puede montar en la bicicleta en una bolsa resistente a la intemperie. El circuito Arduino está montado permanentemente en una caja resistente a la intemperie en la bicicleta cerca de la batería.

El código de Android y Arduino está disponible en github. (https://github.com/edj2001/BikeDashArduino y

github.com/edj2001/BikeDashAndroid. También necesitará las bibliotecas https://github.com/edj2001/AndroidBluetoothLibrar… y

Hay versiones comerciales de productos similares disponibles si esto es más de lo que podría manejar. Puede encontrarlos fácilmente buscando en Google "bluetooth 36v watt meter". Si observa algunas de las imágenes, verá un Arduino Pro Mini, una fuente de alimentación DC-DC y un módulo HC-05 (o -06) en la parte posterior.

Si alguna vez se pregunta cuánta batería le queda, o cuánto más puede ir con la batería, o si necesita pedalear o reducir el acelerador para llegar a su destino, esto es lo que necesita.

Otra ventaja potencial es que puede decidir quitar la computadora de la bicicleta de su manillar, liberando algo de espacio, aunque ahora su teléfono estará montado en su bicicleta.

Como siempre, esta información se proporciona tal cual, sin garantía de ningún tipo, expresa o implícita. Usted es responsable de todo lo que haga con esta información. No seré responsable de ninguna manera por ningún daño. Consulte la sección de exenciones de responsabilidad en los Términos de servicio.

Paso 1: Actualizaciones instruccionables

PeterB476 me mostró que me había olvidado de incluir un paso para inicializar el Arduino EPROM, así que lo agregué al instructable.

También agregué 2 nuevas versiones de la aplicación a un paso posterior. No han sido probados a fondo, pero puedes probarlos.

Paso 2: instala la aplicación de Android

No tiene sentido continuar con el resto de este proyecto si la aplicación de Android no funciona en su dispositivo. Los lanzamientos de github tienen adjunta la apk de Android. El archivo apk también se adjunta aquí. Asegúrese de que al menos la parte de GPS de la aplicación funcione, y puede intentar conectarse a un dispositivo bluetooth.

Si desea crear la aplicación usted mismo, le sugiero que comience con un punto de "lanzamiento" porque probablemente estuvo funcionando en algún momento, mientras que la última rama "maestra" puede tener actualizaciones que no han sido probadas.

Copie el archivo apk a su dispositivo. Deberá permitir "Fuentes desconocidas" en la configuración de seguridad de su dispositivo, ya que la aplicación no proviene de Google Play. Luego, simplemente toque el archivo apk en su dispositivo para instalarlo.

Obviamente, la aplicación requiere permisos de bluetooth para comunicarse con Arduino y permisos de GPS para determinar su velocidad y distancia recorrida.

Presione el botón "remoto" para intentar conectarse a un dispositivo bluetooth. Presione "restablecer" para restablecer la distancia recorrida a 0. Mantenga presionado el campo Ah usado de la batería para restablecerlo después de cargar la batería. El valor de Ah usado se guardará si apaga y enciende la batería sin cargarla.

Paso 3: Recoja las piezas

Recoger piezas
Recoger piezas
Recoger piezas
Recoger piezas
Recoger piezas
Recoger piezas

Tenga en cuenta que estas piezas son para una batería de 36 V. Si tiene una batería de 48 V, deberá cambiar la resistencia de 10 K a 11 K o 12 K, y necesitará un convertidor CC-CC diferente.

1 Recinto resistente a la intemperie. Usé una caja eléctrica de PVC de 4x4x2 pulgadas.

1 pieza de tu Stripboard o Protoboard favorito

1 Arduino Pro Mini, 5V 16 MHZ. También puede construir fácilmente un arduino bareboard ya que no necesita un regulador de voltaje o una interfaz USB. Todo lo que necesita es el ATMEGA328P, un cristal de 16MHZ y algunos condensadores. También puede usar un Arduino Nano si tiene espacio en su gabinete. El Nano es más grande que las dos primeras opciones, pero tiene la interfaz USB incorporada si no tiene un convertidor en serie.

1 módulo ACS712 para adaptarse al rango actual de su batería. Usé un módulo de 20A para mi batería de 8A.

1 módulo bluetooth HC-05. Me gusta la variedad ZS-040, el tipo de 6 pines con botón. Llevará la etiqueta ZS-040 en la parte posterior.

1 fuente de alimentación de 50 V a 5 V CC-CC si su bicicleta tiene una batería de 36 V, que será de aproximadamente 42 V completamente cargada. Si tiene una batería de 48 V, será de 56 o 57 V completamente cargada, por lo que es posible que necesite una fuente de alimentación diferente. Háganos saber qué usa si encuentra algo para 60V. Algunas personas dicen que la mayoría de las verrugas de pared USB funcionan con 48 VCC (y más), pero no lo he probado.

Resistencias de 1 / 4W: 1 x 2K, 1 x 10K, 2 x 1K (aumente los 10K si su batería supera los 36V).

Portafusibles en línea y fusible 2A.

tiras de encabezado rectas y en ángulo recto

Bloques de terminales de 5,08 mm, 2 x 2

Cable trenzado de 16 AWG para interconectar los módulos.

Cable sólido 22AWG para el circuito arduino

Regleta de bloque de terminales para las conexiones de la batería y la bicicleta

Soldador

soldar

Una forma de montar su dispositivo Android en su bicicleta.

Para programar el módulo Arduino y HC-05, también necesitará un convertidor serial de 3.3V usb a ttl (o al menos un programador isp) y el ide de Arduino de https://www.arduino.cc/en/Main/Software. Este proyecto se realizó con la versión 1.6.13, diferentes versiones pueden o no funcionar sin modificaciones.

Paso 4: inicializar Arduino EPROM

Olvidé incluir este paso en el instructivo original. El área de la EPROM que utiliza el boceto debe inicializarse para que el boceto funcione correctamente. El boceto podría escribirse para hacerlo automáticamente, pero en este punto no es así.

Si no está trabajando con el código fuente de arduino, puede descargar el archivo hexadecimal adjunto a este paso en su arduino para inicializar la EPROM.

Si está trabajando con el código fuente de arduino, hay dos líneas en la sección setup () que se ven así:

// inicializa la EEPROM la primera vez que se ejecuta el programa.

// updateEPROM ();

Si quita el comentario de la segunda línea para que se vea así:

// inicializa la EEPROM la primera vez que se ejecuta el programa.

updateEPROM ();

Descarga ese boceto al arduino y déjalo correr. Se inicializará la EPROM. Luego recomiende la línea para el siguiente paso.

La EPROM se utiliza para recordar la cantidad de batería que se ha utilizado para que pueda montar en bicicleta, detener y apagar la batería, y cuando la vuelva a encender, comenzará desde donde la dejó.

Paso 5: configurar Arduino

Descargue el código Arduino (archivo hexadecimal adjunto) al Pro Mini utilizando el IDE de Arduino o avrdude por sí mismo. Normalmente, usaría el convertidor de usb a serie para esto, pero también podría usar un programador isp.

Nuevamente, si desea compilarlo usted mismo, comience con una "versión". La última rama "maestra" puede tener cambios no probados.

Si cambió la resistencia de 10K a algo más alto, también deberá cambiar la constante del divisor de voltaje de la batería en el boceto. Cambie el 11.0 en la línea "double VBmultiplier = 11.0;" para que coincida con lo que haya instalado.

Paso 6: Configurar el módulo HC-05

Configurar el módulo HC-05
Configurar el módulo HC-05
Configurar el módulo HC-05
Configurar el módulo HC-05

Debe configurar la velocidad en baudios en el módulo HC-05. También es bueno darle un nombre que pueda reconocer fácilmente más adelante (como "BICICLETA").

También utiliza el módulo convertidor de serie de usb a ttl para esto. Si no tiene un convertidor en serie, podría escribir un boceto para un arduino para configurarlo, o supongo que si tiene 2 módulos HC-05, podría conectarlos y usar uno para programar el otro (tal vez).

Hay una excelente reseña sobre este módulo en

Debe configurar la velocidad en baudios en 4800 para que coincida con el boceto de Arduino y cambiar el nombre a "BIKE" o algo que reconozca.

Una vez que el módulo está configurado, puede emparejarlo con su dispositivo Android en la configuración de su bluetooth.

Paso 7: ensamblar el circuito

He adjuntado un escaneo de mi diagrama de cableado dibujado a mano como referencia, si alguien es lo suficientemente ambicioso como para volver a dibujarlo bien, hágamelo saber:)

Realice las siguientes conexiones:

(+) Batería de bicicleta a un lado del fusible y controlador de bicicleta.

El otro lado del fusible al terminal de entrada del convertidor de CC (+) y la resistencia de 10K para la entrada de voltaje de la batería en Arduino.

(-) Batería de bicicleta a (-) IN en el convertidor y un terminal de alimentación ACS712.

En este punto, asegúrese de tener 5 V de su convertidor de CC cuando encienda la batería, si aún no lo ha hecho.

Apague la batería y complete las conexiones:

(+) SALIDA del convertidor Arduino 5V, HC05 VCC, ACS712 VCC.

(-) SALIDA del convertidor a Arduino GND, HC05 GND, ACS712 GND, pin A2 de Arduino.

HC05 TXD al pin 7 de Arduino

HC05 RXD del divisor de resistencia bluetooth.

Pin 8 de Arduino al divisor de resistencia bluetooth.

ACS712 OUT al pin A3 de Arduino

Divisor de voltaje de la batería al pin A1 de Arduino

(-) del controlador de bicicleta al segundo terminal de alimentación del ACS712.

El botón de reinicio adicional no es realmente necesario, podría ser conveniente cuando desee descargar al arduino después de que esté instalado en su bicicleta. Es posible que pueda alcanzar el botón de reinicio en el arduino, o puede reiniciarlo desde la interfaz en serie si su pro mini lo admite.

Verifique sus conexiones.

Paso 8: Verificación preliminar

En este punto, puede encender el circuito y verificar que está obteniendo lecturas en la aplicación de Android.

Debería poder conectar el bluetooth a la bicicleta y ver el voltaje de la batería y, con suerte, cerca de la corriente de batería cero. Si puede girar la bicicleta y ver que cambia la lectura actual, entonces todo está funcionando.

La aplicación asume que la corriente positiva está agotando la batería, por lo que si la lectura muestra una corriente negativa cuando enciende la bicicleta, simplemente cambie los dos cables de corriente en el módulo ACS712.

Si no ve ninguna lectura en la aplicación, puede mirar las luces en el módulo bluetooth para asegurarse de que esté conectado y transmitiendo datos. Puede instalar una aplicación de terminal bluetooth en su dispositivo para ver los datos que se envían desde el circuito. Debería ver aproximadamente 10 líneas por segundo de lecturas de corriente y una línea por segundo de voltaje de batería y cantidad de batería usada. Si no ve nada, vuelva a verificar la configuración del módulo HC05 y las conexiones entre el arduino, el divisor de resistencia y el terminal HC05 TXD.

Finalmente, haga funcionar la bicicleta el tiempo suficiente para que se muestre un valor distinto de cero en la pantalla de batería usada. Luego, mantenga presionado ese número hasta que aparezca el brindis de que el uso se ha restablecido. El número debería volver a cero. Si no es así después de intentarlo varias veces, vuelva a verificar las conexiones desde el terminal HC05 RXD al Arduino.

Paso 9: Montaje final

Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final

Instale todo el hardware de montaje y monte el circuito arduino en su bicicleta. ¡Monte su dispositivo Android en una bolsa u otro soporte y estará listo para comenzar!

Las imágenes muestran las puñaladas de la batería en mi bicicleta y la bolsa para mi dispositivo Android.

Puede ver la pequeña placa para las conexiones del divisor de voltaje de la batería y el ACS712 montado para que pudiera alcanzar los tornillos del bloque de terminales después de montar todo. El módulo bluetooth HC-05 está nuevamente en la esquina derecha.

La regleta de terminales blanca tiene todas las conexiones de la batería y del controlador de la bicicleta al circuito.

Si tuviera que hacerlo de nuevo, definitivamente combinaría el divisor de voltaje de la batería y el ACS712 en la misma pieza de placa hija. También podría intentar montar el módulo bluetooth en una placa hija debajo del arduino.

Paso 10: Pasos futuros

La aplicación de Android necesitaría mucho trabajo. Me gustaría agregar algunos cambios de color basados en rangos para las medidas. También me gustaría agregar una indicación de que una medición no se actualiza en la aplicación. También puede agregar algunos indicadores gráficos. Incluso un buen icono sería una gran mejora.

La mejor característica sería una "estimación de vaciado" que le indicaría la distancia que podría viajar con la batería restante y si es mayor que la distancia hasta su destino. Como normalmente viajo al trabajo o a casa, mi idea es tener "waypoints" GPS almacenados en la aplicación que tengan la distancia restante hasta casa, y cuánta batería se usa en promedio en ese waypoint. Probablemente también podría hacer algo con una conexión de datos, pero normalmente no tengo una.

Me gustaría pasar de la biblioteca de bluetooth en esta aplicación a una más desarrollada que tenga reconexión automática, por ejemplo.

Si construye esto, puede considerar agregar un filtro de paso bajo de hardware en la corriente medida y medirlo por separado para usarlo en el cálculo de la carga total utilizada. Con cargas bajas, menos de 4 A aproximadamente, la medida varía ampliamente, +/- 1A. No estoy seguro de si es solo un problema de medición o si la corriente cambia tanto a medida que gira la rueda. En cualquier caso, una medición separada de la corriente promedio durante uno o dos segundos podría ayudar con la precisión. Podrías muestrear la corriente más rápido y hacerlo en el software, pero no sé qué tan rápido tendrías que muestrear. Supongo que poner un osciloscopio en la señal podría ayudar a determinar qué tan rápido muestrearla.

Puede agregar cosas como un tubo de pitot para medir la velocidad del viento (ya hay un instructivo para eso).

Puede agregar el control del acelerador de bucle cerrado desde el arduino.

Si siempre ha querido una fuente de alimentación USB en su bicicleta, puede pasar fácilmente un cable desde el convertidor de 5 V CC para el arduino hasta donde necesite la conexión de alimentación USB.

Paso 11: Preguntas y comentarios

Si tiene preguntas generales sobre cualquiera de los elementos aquí, es mejor que lo busque en Google en lugar de hacer preguntas aquí. Ninguno de los elementos es crítico, es casi seguro que puede sustituirlo por otro y hacer el trabajo.

No me pidas que te envíe el código, todo está en github. Consíguelo desde allí. Ni siquiera necesitas una cuenta de github.

Por favor, no me pregunte cómo hacer algo en Android Studio o en Arduino. Probablemente no lo se. Nuevamente, solo búscalo en Google.

Realmente no me preguntes sobre ningún producto de Apple, no tengo ni idea.

Si la aplicación no funciona en su dispositivo, lo siento. Pero probablemente no sé cómo arreglarlo para que así sea. Funciona en mi teléfono, eso es todo lo que necesito.

Aunque las sugerencias de mejoras son bienvenidas, probablemente nunca las implemente, tengo otras cosas a las que pasar. Probablemente nunca implementaré mis propias sugerencias. Tu mejor opción es bifurcar el código en github y agregar cosas tú mismo. Si es así, avísele a la gente aquí para que puedan usar su código en lugar del mío.

Si ya ha creado una versión mejor, publique una referencia aquí para que otros sepan. No me ofenderé. Estaré encantado de tomar tu versión y empezar a usarla.

Paso 12: Actualización de la aplicación para probar

Estas son versiones actualizadas de la aplicación.

Los números son mucho mayores. Hay un nuevo ícono. Ya no existe el botón "conectar". Utilice la opción "conectar - seguro" del menú de la esquina superior derecha.

Esta versión también debería funcionar con la versión 2.3 de Android Gingerbread. Funciona en mi lg P500 Optimus One.

La versión "app-settings-debug.apk" tiene un menú de configuración que permite configurar la capacidad de la batería para que el cálculo del porcentaje restante sea correcto. No ha sido completamente probado.

Recomendado: