collapse

* Posts Recentes

+ LASERs por dropes
[20 de Junho de 2025, 16:01]


Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]


Identificar Diodo Zenner por filjoa
[01 de Maio de 2025, 23:07]


Meu novo robô por dropes
[18 de Março de 2025, 14:51]


JBL partybox On-The-Go por almamater
[21 de Fevereiro de 2025, 23:32]


Talking Reverse Engineering with an Absolute Legend! por SerraCabo
[13 de Fevereiro de 2025, 09:56]


Motoserra Stihl 120C por brunus
[11 de Fevereiro de 2025, 16:29]

Autor Tópico: alimentacao telemovel  (Lida 8707 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.034
alimentacao telemovel
« 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.


Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.986
  • NERD!
Re: alimentacao telemovel
« Responder #1 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.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: alimentacao telemovel
« Responder #2 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...
Avr fanboy

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.034
avr + siemens C45
« Responder #3 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++;}

}
« Última modificação: 19 de Abril de 2015, 15:38 por dio123 »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: alimentacao telemovel
« Responder #4 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?
Avr fanboy

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.034
Re: alimentacao telemovel
« Responder #5 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.


Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: alimentacao telemovel
« Responder #6 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?
Avr fanboy

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: alimentacao telemovel
« Responder #7 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?

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.034
Re: alimentacao telemovel
« Responder #8 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

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.273
Re: alimentacao telemovel
« Responder #9 em: 20 de Abril de 2015, 15:06 »
Definiste a porta como saída?

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.034
Re: alimentacao telemovel
« Responder #10 em: 21 de Abril de 2015, 09:30 »
 fiz copy pasfe de tutorial user Senso. Sera que  e alguma coisa no avr studio.

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.034
Re: alimentacao telemovel
« Responder #11 em: 23 de Abril de 2015, 13:44 »
resolvido todos os problemas.
quanto o nao fazer chamada faltava \r   ficando char cmdat[]="ATD9912\r";