collapse

* Posts Recentes

Três pequenas palestras fantásticas de Rust na RustConf 2021 por blabla
[16 de Setembro de 2021, 08:44]


Meu novo robô por josecarlos
[13 de Setembro de 2021, 21:58]


localizador carro. por dropes
[13 de Setembro de 2021, 21:00]


Fonte para Circuito - Qual escolher? por almamater
[12 de Setembro de 2021, 00:07]


Limpeza por ultra-sons por KammutierSpule
[10 de Setembro de 2021, 09:08]


Programação assíncrona Async e Await em Rust com Tokio. por blabla
[08 de Setembro de 2021, 14:46]


My arm por josecarlos
[06 de Setembro de 2021, 21:56]


Digitalização 3D por senso
[05 de Setembro de 2021, 14:45]


Opinião - Projector LED para Natal por senso
[05 de Setembro de 2021, 14:35]


APN - localizador GPS/GSM por jm_araujo
[31 de Agosto de 2021, 19:19]

Autor Tópico: localizador carro.  (Lida 1571 vezes)

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

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.009
localizador carro.
« em: 07 de Fevereiro de 2021, 00:29 »
Boa noite,
Sempre quis fazer um alarme para o meu carro com localização, Agora com o virus uma pessoa pode-se dedicar-se um pouco mais.
A uns anos comprei o keetec com uma app que funciona bem mas quando recebo link desde 2019 que não abre directo no google maps, nem o link da no browser como antigamente. Updates da google.
Abri o meu keetec e tentei toda a informação possível e vou tentar reproduzir a coisa.
A nivel de codigo consegui reproduzir na totalidade e continuar a usar app keetec.

O Hardware é o pior mas tentei basear-em nos datasheets e comprando depois com esquemas adafruit e afins, acrescentando mais componentes.
Neste caso hardware não consigo testar, porque não tenho material, fui simulando no multisim, a minha ideia é mandar vir componentes lcsc e fazer placa ljcpcb, montar tudo e ver se não falha.

Anexei o schematic e agradeço muito desde já a quem me possa dar uma vista de olhos e ver se esta a falhar alguma coisa.

Em resumo.
No stm32 fica ligado.
1-  modulo sim808 da itead chamadas /sms  e gps.
1-  mpu 6050 acelerômetro/giroscópio para medir o carro em inclinação e em batida.ftp://
1 - eemprom 4mb guardar dados e textos.
3 - saidas para activar relays e ligar dashcam em caso toque. Usei ULN 23003.
3 - entradas 1 estado da bateria , ligação chave, 1 livre. No multisim aguenta 350v entrada 3.57v no stm32 e  14v. entrada e 2.85v no stm.
« Última modificação: 07 de Fevereiro de 2021, 00:34 por dio123 »

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.776
  • NERD!
Re: localizador carro.
« Responder #1 em: 07 de Fevereiro de 2021, 15:04 »
Assim de repente (estou no tlm) R9 e R24 não me parece que estejam a fazer nada. E os diodos de clamping não faz muito sentido que sejam diferentes.EDIT: já viste o BAT54S? Tens os.2 diodos no mesmo package
Para proteção de entradas eu gosto mais de em vez  de ligar ao micro com muita proteção mas "direto", passar por um NPN que liga ao micro. A base de um NPN aguenta com muito mais abuso que os MOS de um micro, e se pifar é fácil de diagnosticar e substituir.
Os 12V do ULN devias ir buscar depois do fusível, ficas melhor protegido que com o zenner e poupas um componente.
« Última modificação: 07 de Fevereiro de 2021, 16:48 por jm_araujo »

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.009
Re: localizador carro.
« Responder #2 em: 08 de Fevereiro de 2021, 09:37 »
Bom dia,
Inicialmente fiz com 1n4148 mas depois passei bat54 e não troquei os debaixo.
Aqui na protecção é que li no eevblog e uns documentos da littelfuse sobre electrónica automóvel, em que a voltagem inicial gerada no momento pelo motor de arranque pode ter um pico superior 120v, dai ter colocado o diodo tvs a entrada.

Das depois pensei sobre também proteger a entrada dos adc que também ficam ligadas aos 12v, e encontrei quem usa-se diodos tvs mas recomendavam os diodos clamping ou com 1n4148 os bat.
 
Em relação ao diodo uln2303 é para fazer com anulação freewheeling diode, se calhar até nem perciso pois é só relays que vai actuar.

 

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.009
Re: localizador carro.
« Responder #3 em: 28 de Fevereiro de 2021, 22:37 »
A pcb já esta a ganhar forma 6.5 x 5.1cm, pensei que fosse pior.
Feito no easyEDA  que mais gostei foi  simulador 3d.

Fotos em anexo

Online dropes

  • Mini Robot
  • *
  • Mensagens: 2.016
Re: localizador carro.
« Responder #4 em: 03 de Março de 2021, 19:17 »
Aqui na protecção é que li no eevblog e uns documentos da littelfuse sobre electrónica automóvel, em que a voltagem inicial gerada no momento pelo motor de arranque pode ter um pico superior 120v, dai ter colocado o diodo tvs a entrada.

O zener D12 (12V) não vai fazer nada a não ser queimar quando for ligado em paralelo á bateria.
A mim o que está em falta é uma resistência de baixo valor em série com os 12V, mesmo assim não colocaria um zener.

A seguir, um conversor dc/dc estável, é que a linha de alimentação pode ser bastante ruidosa.

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.009
Re: localizador carro.
« Responder #5 em: 10 de Junho de 2021, 09:10 »
O step-down ACT4070 segui o datasheet, e como estava la um esquema tipico 5v 3A e uma tabela para outras voltagens, então montei 5v 3A com os mesmos componentes.

Liguei-lhe os 12v e a saída esta-me a dar 7.45v. Meti um led com uma resistência 100R. mas a voltagem manteve se.

Porque será que os valores nao bateram certo, será por nao ter consumo, ou o led nao foi suficiente?

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.009
Re: localizador carro.
« Responder #6 em: 17 de Julho de 2021, 21:42 »
Bem mandei fazer a pcb na jlcpcb e nem chegou a 2 semanas e já tinha em casa. Para mim veio com uma qualidade muito top.
No entanto a eeprom que projectei ficou sem stock que era a : AT45DB161E e procurei em todo o lado e sem stock.

Fui ao ebay mandei vir o  at45db011b-su aparentemente só com 1Mb. Agora que olho para o datasheet a algumas coisas diferentes.
Este trabalha com paginas de 256 bytes, nao tem Manufacturer ID nem chip id que dificulta o teste, se estou a comunicar certo com a eeprom ou não.
Como tenho um código/projecto de  ler ids depois escrever um texto e voltar a ler esse texto AT45DB161E , agora para o at45db011b-su nas page address sao diferentes.

A minha duvida é como adapto o pageAddr com Shift Operators para a nova eeprom. E que andei a ver o datasheet para tentar perceber onde foram buscar o 0xFE e 0x1F e nao encontrei nem percebi nada.


Citar
uint8_t wcmd[4];
// opcode
wcmd[0] = 0x82; // 0x82 for buffer 1

// for 512 bytes/page chip address is transfered in form:
 wcmd[1] = (pageAddr >> 7) & 0x1F;
 wcmd[2] = (pageAddr << 1) & 0xFE;
 wcmd[3] = 0x00;

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.009
Re: localizador carro.
« Responder #7 em: 05 de Setembro de 2021, 11:14 »
Continuo a luta com o dataflash, há alguma coisa que me esta a escapar mas já virei o Google inteiro e não encontro nenhum exemplo pratico.

AT45DB011B-SU no datasheet do site mouser pagina 27. Tenho 2 maneiras de para gravar os dados.
Ou por buffer  e depois mando gravar para a main memory  ou escrever directamente na main memory.  E no final dizer se auto page rewrite  apaga a pagina previamente ou escreve logo  por cima .

Agora o que acontece é que escrever no buffer e voltar a ler consigo sem qualquer problema.
Gravar do buffer para a  main memory depois desligar o hardware voltar a ligar e correr:
 main memory para o buffer e voltar ler buffer aparece  tudo a 255.

No entanto as transmissão spi com os comandos nao me retorna nenhum erro.

Anexo o codigo


Online dropes

  • Mini Robot
  • *
  • Mensagens: 2.016
Re: localizador carro.
« Responder #8 em: 13 de Setembro de 2021, 21:00 »
Só agora é que reparei neste tópico  :o

Tanto o AT45DB161E como o AT45DB011B-SU são memórias FLASH e não EEPROM, embora este último tenha uma emulação eeprom para comunicação caso se pretenda.

Pelo menos a identificação do chip deves conseguir ler, 3 bytes, antes de prosseguir.
Agora que li melhor os comandos, a memória de 1M não apresenta ID... coitadinho deve ser órfão

Os comandos parecem semelhantes, apesar de terem nºs de sectores, blocos, páginas e bytes por página diferentes, o que implica uma revisão no código.

Montei há pouco tempo em breadboard um programador de flash para clonar uma memória https://sourceforge.net/projects/flashprog/

Funciona perfeitamente, apesar de ser muiiiito lenta 1MB/Min, entretanto faz o serviço, também lê a assinatura (se tiver LoL)
Antes de gravar qualquer memória, esta tem de ser apagada, parcialmente ou na totalidade.