Índice:

Painel de controle e monitor de bateria da bicicleta elétrica (EBike): 12 etapas (com fotos)
Painel de controle e monitor de bateria da bicicleta elétrica (EBike): 12 etapas (com fotos)

Vídeo: Painel de controle e monitor de bateria da bicicleta elétrica (EBike): 12 etapas (com fotos)

Vídeo: Painel de controle e monitor de bateria da bicicleta elétrica (EBike): 12 etapas (com fotos)
Vídeo: Como ligar e desligar a bicicleta elétrica | Como remover a bateria 2024, Julho
Anonim
Painel de controle de bicicleta elétrica (EBike) e monitor de bateria
Painel de controle de bicicleta elétrica (EBike) e monitor de bateria

Este projeto é um circuito Arduino que monitora a tensão e a corrente da bateria com um módulo ACS 712. As medições são comunicadas por Bluetooth com um módulo HC-05 a um dispositivo Android. Basicamente, você reconecta a conexão negativa entre o controlador e a bateria para passar pelo módulo ACS712.

O aplicativo Android exibe o status da bateria, bem como a velocidade atual e a distância percorrida do GPS Android

O Android pode ser montado na bicicleta em uma bolsa à prova d'água. O circuito do Arduino é permanentemente montado em uma caixa à prova de intempéries na bicicleta perto da bateria.

O código do Android e do Arduino está disponível no github. (https://github.com/edj2001/BikeDashArduino e

github.com/edj2001/BikeDashAndroid. Você também precisará das bibliotecas https://github.com/edj2001/AndroidBluetoothLibrar… e

Existem versões comerciais de produtos semelhantes disponíveis, se isso for mais do que você pode suportar. Você pode encontrá-los facilmente no Google "medidor de watt bluetooth 36v". Se você olhar algumas das fotos, verá um Arduino Pro Mini, uma fonte de alimentação DC-DC e um módulo HC-05 (ou -06) na parte traseira.

Se você já se perguntou quanta bateria ainda resta, ou quanto mais você pode ir com a bateria, ou se você precisa pedalar ou reduzir o acelerador para chegar onde está indo, isso é o que você precisa.

Outra vantagem potencial é que você pode decidir remover o computador da bicicleta do guidão, liberando espaço, embora agora o telefone seja montado na bicicleta.

Como sempre, essas informações são fornecidas no estado em que se encontram, sem garantia de qualquer tipo, expressa ou implícita. Você é responsável por tudo o que fizer com essas informações. Eu não serei responsável ou responsabilizado de forma alguma por quaisquer danos. Consulte a seção de isenções de responsabilidade nos Termos de Serviço.

Etapa 1: atualizações instrutíveis

PeterB476 me mostrou que eu tinha esquecido de incluir uma etapa para inicializar o Arduino EPROM, então eu adicionei isso ao instrutível.

Também adicionei 2 novas versões do aplicativo a uma etapa posterior. Eles não foram totalmente testados, mas você pode experimentá-los.

Etapa 2: Instale o aplicativo Android

Não adianta continuar com o resto deste projeto se o aplicativo Android não funcionar no seu dispositivo. As versões do github têm o apk android anexado. O arquivo apk também está anexado aqui. Certifique-se de que pelo menos a parte GPS do aplicativo funciona e você pode tentar se conectar a um dispositivo bluetooth.

Se você deseja construir o aplicativo sozinho, sugiro que comece com um ponto de "lançamento" porque provavelmente estava funcionando em algum ponto, enquanto o branch "master" mais recente pode ter atualizações que não foram testadas.

Copie o arquivo apk para o seu dispositivo. Você terá que permitir "Fontes desconhecidas" nas configurações de segurança do seu dispositivo, uma vez que o apk não veio do Google Play. Em seguida, basta tocar no arquivo apk no seu dispositivo para instalá-lo.

Obviamente, o aplicativo requer permissões de bluetooth para se comunicar com o Arduino e as permissões de GPS para determinar sua velocidade e distância percorrida.

Pressione o botão "remoto" para tentar se conectar a um dispositivo bluetooth. Pressione "reset" para redefinir a distância percorrida para 0. Segure o campo Ah usado da bateria para redefini-lo depois de carregar a bateria. O valor Ah usado será salvo se você desligar e ligar a bateria sem carregá-la.

Etapa 3: coletar peças

Coletar peças
Coletar peças
Coletar peças
Coletar peças
Coletar peças
Coletar peças

Observe que essas peças são para uma bateria de 36V. Se você tiver uma bateria de 48 V, precisará alterar o resistor de 10 K para 11 K ou 12 K e precisará de um conversor DC-DC diferente.

1 Caixa à prova de intempéries. Usei uma caixa elétrica de PVC de 4x4x2 polegadas.

1 peça do seu stripboard ou protoboard favorito

1 Arduino Pro Mini, 5 V 16 MHZ. Você também pode construir facilmente um arduino de prancha, já que não precisa de um regulador de tensão ou interface USB. Tudo que você precisa é o ATMEGA328P, um cristal de 16 MHz e alguns capacitores. Você também pode usar um Arduino Nano se tiver espaço em seu gabinete. O Nano é maior do que as duas primeiras opções, mas tem a interface USB embutida se você não tiver um conversor serial.

1 módulo ACS712 para corresponder à gama de corrente da sua bateria. Usei um módulo 20A para minha bateria 8A.

1 módulo bluetooth HC-05. Gosto da variedade ZS-040, do tipo de 6 pinos com botão de pressão. Ele será identificado como ZS-040 na parte traseira.

1 Fonte de alimentação de 50 V a 5 V DC-DC se sua bicicleta tiver uma bateria de 36 V, que terá cerca de 42 V totalmente carregada. Se você tiver uma bateria de 48 V, ela será de 56 ou 57 V totalmente carregada, portanto, pode ser necessária uma fonte de alimentação diferente. Informe-nos o que você usa se encontrar algo para 60V. Algumas pessoas dizem que a maioria das verrugas de parede usb funcionam em 48VDC (e superior), mas eu não tentei.

Resistores de 1 / 4W: 1 x 2K, 1 x 10K, 2 x 1K (aumente 10K se sua bateria for superior a 36V).

Porta-fusível em linha e fusível 2A.

Tiras de cabeçalho em ângulo reto e reto

Blocos de terminais de 5,08 mm, 2 x 2

Fio trançado 16AWG para interconexão dos módulos.

Fio sólido 22AWG para o circuito Arduino

Faixa do bloco de terminais para as conexões da bateria e da bicicleta

Ferro de solda

solda

Uma forma de montar o seu dispositivo Android na sua bicicleta.

Para programar o módulo Arduino e HC-05, você também precisará de um conversor serial USB 3.3V para ttl (ou pelo menos um programador ISP) e o ide Arduino de https://www.arduino.cc/en/Main/Software. Este projeto foi feito com a versão 1.6.13, diferentes versões podem ou não funcionar sem modificação.

Etapa 4: inicializar o Arduino EPROM

Esqueci de incluir esta etapa no instrutível original. A área da EPROM usada pelo esboço precisa ser inicializada para que o esboço funcione corretamente. O esboço poderia ser escrito para fazer isso automaticamente, mas neste momento não o faz.

Se não estiver trabalhando com o código-fonte do arduino, você pode baixar o arquivo hex anexado a esta etapa para o seu arduino para inicializar a EPROM.

Se você estiver trabalhando com o código-fonte do arduino, há duas linhas na seção setup () que se parecem com isto:

// inicializa a EEPROM na primeira vez que o programa é executado.

// updateEPROM ();

Se você descomentar a segunda linha para que fique assim:

// inicializa a EEPROM na primeira vez que o programa é executado.

updateEPROM ();

Baixe esse esboço para o arduino e deixe-o rodar. A EPROM será inicializada. Em seguida, recomente a linha para a próxima etapa.

A EPROM é usada para lembrar quanto da bateria foi usada para que você possa andar de bicicleta, parar e desligar a bateria e, ao ligá-la novamente, ela começará de onde você parou.

Etapa 5: configurar o Arduino

Baixe o código do Arduino (arquivo hexadecimal anexado) para o Pro Mini usando o IDE do Arduino ou o avrdude sozinho. Normalmente, você usaria o conversor usb para serial para isso, mas também poderia usar um programador ISP.

Novamente, se você quiser compilá-lo sozinho, comece com um "lançamento". O último branch "master" pode ter alterações não testadas.

Se você alterou o resistor de 10K para algo mais alto, também precisará alterar a constante do divisor de tensão da bateria no esboço. Altere 11.0 na linha "double VBmultiplier = 11.0;" para corresponder ao que você instalou.

Etapa 6: configurar o módulo HC-05

Configurar Módulo HC-05
Configurar Módulo HC-05
Configurar Módulo HC-05
Configurar Módulo HC-05

Você precisa configurar a taxa de transmissão no módulo HC-05. Também é bom dar um nome que você possa reconhecer facilmente mais tarde (como "BICICLETA").

Você também pode usar o módulo conversor serial usb para ttl para isso. Se você não tiver um conversor serial, você pode escrever um esboço para um arduino para configurá-lo, ou eu acho que se você tiver 2 módulos HC-05, você poderia conectá-los e usar um para programar o outro (talvez).

Há um excelente artigo sobre este módulo em

Você precisa configurar a taxa de transmissão para 4800 para corresponder ao esboço do Arduino e alterar o nome para "BIKE" ou algo que você reconheça.

Assim que o módulo estiver configurado, você pode emparelhá-lo com seu dispositivo Android nas configurações de bluetooth.

Etapa 7: montar o circuito

Anexei uma varredura do meu diagrama de fiação desenhado à mão para referência, se alguém for ambicioso o suficiente para redesenhar bem, por favor me avise:)

Faça as seguintes conexões:

(+) Bateria de bicicleta em um lado do fusível e controlador de bicicleta.

O outro lado do fusível para o terminal IN do conversor CC (+) e o resistor de 10K para a entrada da tensão da bateria no Arduino.

(-) Bateria para bicicleta para (-) IN no conversor e um terminal de alimentação ACS712.

Neste ponto, certifique-se de ter 5 V de seu conversor DC ao ligar a bateria, se ainda não o fez.

Desligue a bateria e conclua as conexões:

(+) OUT do conversor Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT do conversor para Arduino GND, HC05 GND, ACS712 GND, Arduino pino A2.

HC05 TXD para Arduino pino 7

HC05 RXD do divisor de resistor bluetooth.

Arduino pino 8 para divisor de resistor bluetooth.

ACS712 OUT para Arduino pino A3

Divisor de tensão da bateria para o pino A1 do Arduino

(-) do controlador de bicicleta para o segundo terminal de alimentação no ACS712.

O botão de reinicialização extra não é realmente necessário, pode ser conveniente apenas quando você deseja fazer o download para o arduino depois de instalado em sua bicicleta. Você pode conseguir acessar o botão de redefinição no arduino ou pode redefini-lo a partir da interface serial, se o seu pro mini for compatível.

Verifique suas conexões.

Etapa 8: Verificação Preliminar

Neste ponto, você pode ligar o circuito e verificar se está obtendo leituras no aplicativo Android.

Você deve ser capaz de conectar o bluetooth à bicicleta e ver a tensão da bateria e, com sorte, perto da corrente zero da bateria. Se você puder girar a moto e ver a mudança na leitura atual, então tudo está funcionando.

O aplicativo assume que a corrente positiva está drenando a bateria, então se a leitura mostrar uma corrente negativa quando você girar a bicicleta, troque os dois fios de corrente no módulo ACS712.

Se você não vir nenhuma leitura no aplicativo, pode olhar as luzes no módulo bluetooth para se certificar de que ele está conectado e transmitindo dados. Você pode instalar um aplicativo de terminal bluetooth no seu dispositivo para ver os dados que estão sendo enviados do circuito. Você deve ver cerca de 10 linhas por segundo de leituras de corrente e uma linha por segundo de tensão e quantidade de bateria usada. Se você não vir nada, verifique novamente a configuração do módulo HC05 e as conexões entre o arduino, o divisor do resistor e o terminal TXD HC05.

Por fim, execute a bicicleta por tempo suficiente para que um valor diferente de zero seja exibido no visor de bateria usada. Em seguida, pressione e segure esse número até que apareça o brinde que o uso foi redefinido. O número deve retornar a zero. Se isso não acontecer depois de tentar algumas vezes, verifique novamente as conexões do terminal RXD HC05 para o Arduino.

Etapa 9: Montagem final

Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final

Instale todo o hardware de montagem e monte o circuito Arduino em sua bicicleta. Monte seu dispositivo Android em uma bolsa ou outro suporte e você está pronto para começar!

As fotos mostram as batidas da bateria na minha bicicleta e a bolsa do meu dispositivo Android.

Você pode ver a pequena placa para as conexões do divisor de tensão da bateria e o ACS712 montado de forma que eu pudesse alcançar os parafusos do bloco terminal depois de montar tudo. O módulo bluetooth HC-05 está de volta no canto direito.

A barra de terminais branca contém todas as conexões da bateria e do controlador da bicicleta com o circuito.

Se eu tivesse que fazer de novo, definitivamente combinaria o divisor de tensão da bateria e o ACS712 na mesma placa-filha. Também posso tentar montar o módulo bluetooth em uma placa-filha embaixo do arduino.

Etapa 10: Etapas Futuras

O aplicativo Android poderia dar muito trabalho. Eu gostaria de adicionar algumas mudanças de cor com base em intervalos para as medidas. Eu também gostaria de adicionar uma indicação de que uma medição não está sendo atualizada no aplicativo. Você também pode adicionar alguns medidores gráficos. Mesmo um ícone legal seria uma grande melhoria.

O melhor recurso seria uma "estimativa para esvaziar", que diria a distância que você poderia viajar com a bateria restante e se isso é mais do que a distância até o seu destino. Como normalmente vou para o trabalho ou para casa, meu pensamento é ter "waypoints" de GPS armazenados no aplicativo que tenham a distância restante até casa e quanta bateria é usada em média nesse waypoint. Você provavelmente também poderia fazer algo com uma conexão de dados, mas normalmente não tenho uma.

Eu gostaria de mudar da biblioteca bluetooth neste aplicativo para uma mais desenvolvida que tenha reconexão automática, por exemplo.

Se você construir isso, você pode considerar adicionar um filtro passa-baixo de hardware na corrente medida e medi-lo separadamente para usar para o cálculo da carga total usada. Em cargas baixas, menos de 4A ou mais, a medição varia amplamente, +/- 1A. Não tenho certeza se é apenas um problema de medição ou se a corrente muda tanto quanto a roda gira. Em qualquer caso, uma medição separada da corrente média durante um ou dois segundos pode ajudar na precisão. Você poderia apenas amostrar a corrente mais rápido e fazer isso no software, mas não sei quão rápido você teria que amostrar. Acho que colocar um osciloscópio no sinal pode ajudar a descobrir a rapidez de amostrá-lo.

Você pode adicionar coisas como um tubo pitot para medir a velocidade do vento (já existe um instrutível para isso).

Você pode adicionar controle de aceleração de loop fechado do arduino.

Se você sempre quis uma fonte de alimentação USB em sua bicicleta, pode facilmente conectar um cabo do conversor 5V DC para o arduino até onde precisar da conexão de alimentação USB.

Etapa 11: Perguntas e comentários

Se você tiver perguntas gerais sobre qualquer um dos itens aqui, é melhor apenas pesquisar no Google em vez de fazer perguntas aqui. Nenhum dos itens é crítico, você quase certamente pode substituir por outra coisa e fazer o trabalho.

Não me peça para enviar o código, está tudo no github. Pegue a partir daí. Você nem mesmo precisa de uma conta no github.

Por favor, não me pergunte como fazer algo no Android Studio ou no Arduino. Provavelmente não sei. Novamente, basta pesquisar no Google.

Realmente não me pergunte sobre nenhum produto da Apple, não tenho a menor ideia.

Se o aplicativo não funcionar no seu dispositivo, sinto muito. Mas provavelmente não sei como consertar isso. Funciona no meu telefone, é tudo de que preciso.

Embora sugestões de melhorias sejam bem-vindas, provavelmente nunca as implementarei, tenho outras coisas para prosseguir. Provavelmente nunca implementarei minhas próprias sugestões. Sua melhor aposta é bifurcar o código no github e adicionar coisas você mesmo. Se você fizer isso, informe as pessoas aqui para que possam usar o seu código em vez do meu.

Se você já criou uma versão melhor, poste uma referência a ela aqui para que outras pessoas saibam sobre ela. Eu não vou ficar ofendido. Terei o maior prazer em pegar sua versão e começar a usá-la.

Etapa 12: atualização do aplicativo para teste

Estas são versões atualizadas do aplicativo.

Os números são muito maiores. Existe um novo ícone. Não há mais o botão "conectar". Use a opção "conectar - proteger" no menu do canto superior direito.

Esta versão também deve funcionar no Android versão 2.3 gingerbread. Ele funciona no meu LG P500 Optimus One.

A versão "app-settings-debug.apk" possui um menu de configurações que permite definir a capacidade da bateria para que o cálculo da porcentagem restante seja correto. Não foi completamente testado.

Recomendado: