Infelizmente a bateria de 4200mah esta ruim, passou o dia inteiro carregando e ainda esta com 4.5Volts.
Novidades
Controle de Bateria
Hoje implementei o controle de carga automática do módulo base.
A bateria é o módulo que inicia, desta forma se o robô estiver desconectado da fonte ele consegue dar partida.
O problema é quando a bateria esta baixa. Mas é assim que irá ficar!
Carga Automática
O Controle de Carga automática testa a tensão da bateria, abaixo de 9Volts, ele desliga automaticamente.
De 10V até 9.0V ele dá avisos sobre a bateria, também inclui um pino 6, que pode ser conectado um led, e irá piscar quando a bateria estiver baixa.
Quando a bateria acima de 10V o led ficará aceso.
Quando a bateria estiver abaixo de 9V, ficará apagado.
Proteção de carregamento
Inclui também um controle, para que toda vez que chavear para bateria, o carregador de bateria irá desligar. Desta forma, evito quebrar o carregador.
Carga automática de Bateria
Implementei, também o controle de carga automática caso a bateria esteja na alimentação externa, e a bateria estiver baixa. Desta forma, dou alguma inteligência ao circuito.
Ontem chegou o sensor de tensão e conector da bateria de lipo.
Com estes dois últimos equipamentos, agora eu consigo finalizar a montagem da base.
Devido a pouca memória, estarei retirando o modulo do GPS da Base, e incluindo no módulo do meio.
Infelizmente nem tudo dá para fazer com o arduino nano. Com esta modificação, o espaço do processador esta em 39%, o que garante um funcionamento coerente.
Criei um novo comando VBAT, e mudei o VOLTS para leitura da voltagem do sistema.
Ficando o VBAT, para leitura apenas da bateria. A diferença entre o VBAT e o VOLTS, é que o VBAT esta lendo a tensão antes do relê. Desta forma, quando o relê estiver chaveado para a alimentação externa, ainda sim, o VBAT lerá a bateria.
Estou em um dilema, pois quando a bateria estiver totalmente descarregada, o sistema não conseguirá inicializar. Pois o primeiro start é sempre com a bateria.
Talvez, inverta a entrada, deixando o padrão para Externa.
Agora, comecarei a implementar a verificação da necessidade de recarga.
Desta forma, quando o sistema verificar que a bateria esta descarregada, automáticamente chaveia a recarga da bateria. Deixando para alimentação externa.
A questão da Bateria, ainda tem uma ultima duvida. Preciso incluir um diodo para evitar medir a tensão da externa, quando ambas estiverem ativas no sensor da bateria.
Outra atividade que melhorei foi a impressão do suporte Laser.
Hoje foi um dia longo, escrevi praticamente do zero, o módulo MBase.
Hardware
Hardwares instalados na Base:
Ponte H
Sensor de Voltagem
Sensor de Corrente
Reles para chaveamento
Bluetooth
GPS
Sensor Humidade e Temperatura (DHT11)
Pinout da placa
O pinout é o posicionamento dos pinos, representando as ligações com o processador.
//Motor define PINO_ENA 6 define PINO_IN1 8 define PINO_IN2 9 define PINO_IN3 10 define PINO_IN4 11 define PINO_ENB 7 int pinHumidade = A2; //ok int pinVoltagem = A5; int pinAmp = A4; int pinReleVago= 4; int pinReleChave = A0; int pinReleCarregador= 5; int pinLedGreen = 6; //Aviso de bateria int pinBTTX = A7; int pinBTRX = A6; int pinVoltagemBat = A1;
Comandos
Os comandos disponíveis de ação, permitem realizar as leituras ou ações no dispositivo:
Serial.println("MAN - Manual de comandos"); Serial.println("VOLTS - Leitura de voltagem do sistema"); Serial.println("VBATT - Leitura de voltagem da bateria"); Serial.println("AMPS - Leitura de corrente da bateria"); Serial.println("FRENTE - Avança o robô"); Serial.println("PARAR - Para o robo"); Serial.println("GIRADIR - Gira a direita"); Serial.println("BATERIA - Chaveia P Bateria"); Serial.println("EXTERNA - Chaveia P alim. externa"); Serial.println("LE_ALIMENTACAO - Verifica alimentacao "); Serial.println("GIRAESQ - Gira a esquerda"); Serial.println("CARR_ON - Ativa o carregador"); Serial.println("CARR_OFF - Desativa o carregador"); Serial.println("VAGOON - Ativa o Rele Vago"); Serial.println("VAGOOFF - Desativa o Rele Vago"); Serial.println("DHT11 - HUMIDADE/TEMPERATURA");
Leituras continuas
O Arduino, permite um ciclo constante de Leituras para os devices. Algumas são constantes, outras sazonais.
Corrigi a versão do firmware do FelineSrv.ino, com esta correção garanto que o envio e recebimento de dados do TCP <-> Serial, foi corretamente estabelecidos.
Criação de agrupamento de componentes TCP, Serial Parâmetros.
Ajuste das abas
Implementação do String de Inicialização, para permitir inclusão de parâmetro para reconhecer que a conexão Serial esta pronta para ser usada, desta forma permitir subir o Socket de forma automática.
Bloco Hexa String, permite incluir um string de fim de bloco, permitindo o controle do bloco. Tambem utilizado para marcar fim de linha.
Tem as mesmas funcionalidades da aba Serial, porem permite visualizar os dados do Socket.
Isolamento entre informações de conexão Serial e TCP.
Aparência do browser melhorada, com opção de coloração para indicação de status de conexão.
Inclusão de negrito nos blocos de status.
Maurin
Nota: A Inteligencia Artificial pode cometer erros, então check a informação antes de utiliza-la.