collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

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

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

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
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.947
  • 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.032
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.032
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.032
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.189
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.032
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.032
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";