LusoRobótica - Robótica em Português

Electrónica => Electrónica Geral => Tópico iniciado por: dio123 em 09 de Abril de 2015, 21:45

Título: alimentacao telemovel
Enviado por: dio123 em 09 de Abril de 2015, 21:45
O trabalho deixa sem tempo e vontade para fazer alguma coisa, recentemente encontrei um siemens me45 peguei nele soldei fios meti o arduino abri hyper terminal at e voilá. Um teste rapido e fiz chamada.

Apesar de ainda não ter ideia do que fazer com ele, e a bateria está morta, preciso de passar 5v de 7805 para 3.7v vou alimentar o telemovel pelos pinos onde ligava a bateria, mas da melhor maneira possivel (eficiencia - consumo).

1- Usar lm358 como regulador de voltagem
2- Low-dropout /regulador (voltagem se existir  para 3.7v)
3- USB LiPo Battery Charger do ebay ( nao sei se será solução)
4- outra ideia.

Estou virado para a 2ª opção mas aceito sugestões.

Obrigado.

Título: Re: alimentacao telemovel
Enviado por: jm_araujo em 09 de Abril de 2015, 21:58
Mete uns bons condensadores nisso: o rádio manda uns picos de corrente jeitosos a transmitir que podem aninhar a fonte se não for tido em conta.
Título: Re: alimentacao telemovel
Enviado por: senso em 09 de Abril de 2015, 22:48
Um 358 é um op-amp.
Pensa em ter capacidade para 2-3A, só para jogar pelo seguro...
Título: avr + siemens C45
Enviado por: dio123 em 19 de Abril de 2015, 15:15
Boa tarde, peguei no LM317 calculei as resistências para dar 3.7v ao telemóvel --> ok
Pinos TX, RX do telemovel com diodo zener 3.3V. --> ok
Abri o arduino Serial begin(9600); SerialPrintln("ATD123456"); e telemóvel faz chamada. --> ok
Circuito está ok

Agora o problema é: fui aos tutoriais do user Senso avr-gcc, vi  codigo USART copiei para avr studio, abri o datasheet fiz as alterações para correspondentes para atmega8 e upload e o telemóvel não faz chamadas.

O que esta aqui a falhar no codigo?
Citar
#define F_CPU 16000000UL  // 16 MHz

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

// Define baud rate
#define BAUDRATE 9600
#define BAUD_PRESCALLER (((F_CPU / (BAUDRATE * 16UL))) - 1)

//declaração das nossas funções
void USART_Init(void);
void USART_send( unsigned char data);
void USART_putstring(char* StringPtr);

char String[]="ATD9666";

int main(void){
USART_Init();      //Inicializar a usart

while(1){      //Loop infinito
   USART_putstring(String);   //Passamos a nossa string á função que a escreve via serial
   _delay_ms(5000);      //E a cada 5s
   }

return 0;
}

void USART_Init(void){
   UBRRL = (uint8_t) (BAUD_PRESCALLER);
   UBRRH = (uint8_t)(BAUD_PRESCALLER >> 8 );
   UCSRB = ((1<<TXEN)|(1<<RXEN) | (1<<RXCIE));
   UCSRC = (3<<UCSZ0);
}

void USART_send( unsigned char data){

   while(!(UCSRA & (1<<UDRE)));
   UDR = data;

}

void USART_putstring(char* StringPtr){

while(*StringPtr != 0x00){
   USART_send(*StringPtr);
   StringPtr++;}

}
Título: Re: alimentacao telemovel
Enviado por: senso em 19 de Abril de 2015, 15:23
Tens um smilley no meio do código.
Isso não está a dar erro a compilar?
Título: Re: alimentacao telemovel
Enviado por: dio123 em 19 de Abril de 2015, 15:43
smilley é 8. mas já corrigi. (bug ao copiar para o forum).
No avr studio não dá erros - Build succeeded with 0 Warnings...

comparando com outros exemplos de codigo que há pela net, nao vejo nada de diferente.

Título: Re: alimentacao telemovel
Enviado por: senso em 19 de Abril de 2015, 15:46
Começar pelo básico..
Blink a led, liga isso a uma porta serial e confirma que está a funcionar.
Como é que estão os fuses?
Título: Re: alimentacao telemovel
Enviado por: metRo_ em 19 de Abril de 2015, 15:53
Começar pelo básico..
Blink a led, liga isso a uma porta serial e confirma que está a funcionar.
Como é que estão os fuses?

Em vez de ligares o atmega ao telemovel, liga directamente ao hyper terminal e ve o que recebes. Estas a mandar os caracteres de finalizacao, 'cr' e assim?
Título: Re: alimentacao telemovel
Enviado por: dio123 em 20 de Abril de 2015, 12:39
Ha aqui alguma coisa que esta mal, pois peguei no atmega328p  novo, meti os fuses,  meti bootloader do arduino e a seguir o blink. O led pisca.

 Entao abri o avr studio meti o blink , o led fica a piscar mas quase nem se ve
Título: Re: alimentacao telemovel
Enviado por: dropes em 20 de Abril de 2015, 15:06
Definiste a porta como saída?
Título: Re: alimentacao telemovel
Enviado por: dio123 em 21 de Abril de 2015, 09:30
 fiz copy pasfe de tutorial user Senso. Sera que  e alguma coisa no avr studio.
Título: Re: alimentacao telemovel
Enviado por: dio123 em 23 de Abril de 2015, 13:44
resolvido todos os problemas.
quanto o nao fazer chamada faltava \r   ficando char cmdat[]="ATD9912\r";