collapse

* Posts Recentes

O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


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


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]


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

Autor Tópico: Bi-directional Logic Level Converter  (Lida 14130 vezes)

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

StarRider

  • Visitante
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #15 em: 01 de Novembro de 2014, 12:46 »
Boas,

Eu penso que o da esquerda é o Master a julgar pela utilização do díodo, se assim for a
porta MOSI (Master Out) -> MOSI (Server In) está bem, mas já o MISO (Master In) da
esquerda vai levar com o 5 Volts do MISO (Server Out) da direita ... e pufff, sem duvida
se não for uma porta 5V tolerante.

Por outro lado, se o o server é efectivamente o da esquerda, está todo mal, pois o único
cuidado devia ser mesmo no MISO, não percebo a função do díodo nem das resistências
sem ser a do CS que serve de pull-up.

Se o server é o da direita ... isso nunca vai funcionar, o díodo é um zener de 3V volts?

Abraços,
PA

De qualquer modo, é sem duvida um

Offline Electropepper

  • Mini Robot
  • *
  • Mensagens: 116
    • Electropepper
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #16 em: 01 de Novembro de 2014, 14:32 »
Pois nem reparei no lado direito que devia de ser um Micro, está marcado mal o MISO e o MOSI, mas ainda assim se repararem o diodo será um simples 4148, do lado do micro(direita) quando o micro está a 5v a linha do lado mais do diodo fica a 3.3V por causa do pull-upp, mas quando o micro fica a gnd, então a linha toda fica a gnd porque a corrente já passa pelo micro metendo a linha no nivel lógico 0.
Espero que me tenha feito perceber.
Portanto do lado direito está um despositivo a 3.3V em que a linha que sai direto para o outro dispositivoé o TX, a linha com o diodo e pull-up é o RX o resto das linhas é irrelevante, no teu caso só precisas de RX e TX.
É preciso tambem ter em conta um pequeno/grande pormenor, o dispositivo de 5V precisa de aceitar 3.3v ou menos como nivel lógico 0.

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #17 em: 03 de Novembro de 2014, 09:17 »
Boas.
Sobre a mudança de níveis lógicos ja vi aqui varias soluções.
Eu na altura em que soube, ainda ponderei usar  uns Logic converters que existem no ebay,
Mas não encontrei nenhum de 6 canais (o mínimo que eu preciso para cada modulo)
E depois de procurar no ebay sao bem caros que a solução (divisor de tensao 6 cêntimos para duas resistências) / fixador (10 cêntimos para um zener e uma resistência. Logo optei por usar este esquema com um zener para obter os 3.3v

Vou analisar esses circuitos integrados que me falam.
Ja agora alguém tem alguns disponíveis que me possa emprestar/vender para eu experimentar?

Agradeço tambem a explicação sobre o funcionamento dos zeners, vai ajudar certamente.


Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #18 em: 03 de Novembro de 2014, 09:44 »
http://www.ti.com/product/sn74lvc245a

Podes mandar vir samples, chegam num instante!

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #19 em: 03 de Novembro de 2014, 20:56 »
Não ha nenhum DIP em sample para poder testar.  :( ja agora se fosse mesmo necessario usar um chip que não ha em versão dip como é que se "testa"?

E esses (SN74LVC245A) ate me interessaram.
Mas ainda não percebi porque é que acham que ter um chip é complicar menos do que meter 6 resistências e 6 zeners (Isto não é eficiente)?

Ou para testar aconselham-me usar este sistema e depois quando for fazer no final a pcb opto por usar o:
SN74LVC245A (8 canais, preciso de 6)
ou
2 x SN74LVC3G17DCTR (3 canais, preciso de 6)



Assumimos que :
- tensao de alimentacao: 5V
- o Zener para manter os 3.3V consome: ~3mA
- consumo do circuito a alimentar: ~20mA

Entao, a resistencia que fica em serie tem q permitir a corrente para 20+3=23mA
Pela lei de Ohm, chegamos a :
(5V-3.3V) / 23m = ~73.9Ohm -> mais proximo ha 68 Ohm e 82 Ohm
Usar 82Ohm para limiter a corrente, assim teremos ~20.7mA disponiveis.
Asena
Eu não sei quanto é que o modulo consome (precisa para transmissão de sinal), mas o meu zener é um BZX55C
Sendo que testei fiz o seguinte:

GND - Zener - x - 340ohm - 5V

E me deu 3.4V posso assumir que qualquer resistência a baixo de 340 ohm serve?
 
« Última modificação: 03 de Novembro de 2014, 20:58 por Kristey »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #20 em: 03 de Novembro de 2014, 21:11 »
Compras breakouts no ebay, só as placas, tipo isto:
http://www.ebay.com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xsmd+to+dip+breakout&_nkw=smd+to+dip+breakout&_sacat=0

Se não, meia duzia de fios e dead-bug, um ou outro para prototipagem serve bem.

Mas porque é que não corres tudo a 3.3v e evitas voltagens diferentes?
Avr fanboy

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #21 em: 03 de Novembro de 2014, 21:26 »
Asena
Eu não sei quanto é que o modulo consome (precisa para transmissão de sinal), mas o meu zener é um BZX55C
Sendo que testei fiz o seguinte:

GND - Zener - x - 340ohm - 5V

E me deu 3.4V posso assumir que qualquer resistência a baixo de 340 ohm serve?


Nao eh bem assim, ha q ter cuidado com a potencia maxima q o Zener pode suportar. Esse 55 suporta maximo continuo de 500mW, ou seja ~150mA.
Pelo datasheet, a resistencia termica eh de 300°C/W... se estiver no maximo de corrente, estah a 150°C... eh tudo muito por alto, mas as contas sao +- estas.

O melhor eh sempre usar o Zener na mnor dissipacao possivel, logo tem q regular o menos possivel.
Eh calcular a resistencia apenas p a corrente necessaria e nao mais do q isso pq senao o Zener vai estar a queimar energia p regular a tensao extra q tem q ser mantida.


Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #22 em: 04 de Novembro de 2014, 00:27 »
Compras breakouts no ebay, só as placas, tipo isto:
http://www.ebay.com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xsmd+to+dip+breakout&_nkw=smd+to+dip+breakout&_sacat=0
Obrigado, não conhecia isto!

Mas porque é que não corres tudo a 3.3v e evitas voltagens diferentes?
Realmente posso meter o bootloader de 3.3V. JA tinha pensado nisso mas acho que tinha um handicap qualquer no meu circuito/objectivo. Vou ver se me lembro porque eu perdi o meu bloco de notas onde tinha estas coisas apontadas :/

Contudo agora fiquei com curiosidade para ver como funciona esta questao dos Zenners
asena pelo que vejo nesta Imagem
A corrente maxima que o modulo usa é 30mA Mas eu não sei se é em todos os pinos ou não. Na datasheet não consegui encontrar mais informação de corrente: datasheet
O maximo de corrente que tenho na posta do uC penso que seja 150mA que dá o atmega.
« Última modificação: 04 de Novembro de 2014, 00:30 por Kristey »

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #23 em: 04 de Novembro de 2014, 09:20 »
Realmente posso meter o bootloader de 3.3V. JA tinha pensado nisso mas acho que tinha um handicap qualquer no meu circuito/objectivo. Vou ver se me lembro porque eu perdi o meu bloco de notas onde tinha estas coisas apontadas :/

Deves, eh sempre a melhor opcao usar a mesma tensao p todo o circuito quando tal eh possivel.



Contudo agora fiquei com curiosidade para ver como funciona esta questao dos Zenners
asena pelo que vejo nesta Imagem
A corrente maxima que o modulo usa é 30mA Mas eu não sei se é em todos os pinos ou não. Na datasheet não consegui encontrar mais informação de corrente: datasheet
O maximo de corrente que tenho na posta do uC penso que seja 150mA que dá o atmega.

O ATmega nao te consome 150mA, mas sim permite q o total das portas possam consumir no maximo esse valor. A corrente de operacao deve andar entre os 1..5mA. Veh o datasheet for operating current ah frequencia q tu estahs a usar. Provavelmente 1mA ou menos @ 1MHz.

Soh tens q calcular a resistencia para a corrente total q vais necessitar 30m+1m+1m(zener),

(5V-3.3V)/32m = ~53 Ohm, usar 62 Ohm
A essa corrente maxima, a resistencia vai dissipar ~60mW.

Sao tudo contas muito simples e redondas. Adapta p os teus usos.


Ha um livro muito bom de fontes de alimentacao lineares do Eng. Joao Caninas.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #24 em: 04 de Novembro de 2014, 12:33 »
Mas porque é que estamos a falar de 20 ou 30mA numa entrada lógica CMOS?

O consumo máximo do módulo é definido pelo amplificador RF basicamente, e pela lógica de controlo, não são 30mA que ele consome nas entradas digitais para saber se é um 0 ou 1, acho que nem ECL é assim tão power hungry..
Avr fanboy

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #25 em: 04 de Novembro de 2014, 13:01 »
Mas porque é que estamos a falar de 20 ou 30mA numa entrada lógica CMOS?

O consumo máximo do módulo é definido pelo amplificador RF basicamente, e pela lógica de controlo, não são 30mA que ele consome nas entradas digitais para saber se é um 0 ou 1, acho que nem ECL é assim tão power hungry..


Ele vai alimentar um modulo de radio com consumo de picos 30mA ......



Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #26 em: 04 de Novembro de 2014, 13:12 »
E vai alimentar o módulo pelos pinos do SPI?
Ou me escapou algum post, ou não se continua só a falar de usar zeners como conversores de nivel, ou agora estamos a falar em usar zeners para gerar os 3.3v?
A meu ver não sei se é a melhor opção, um 1117 em SOT-23 chega bem para isso e terá melhor regulação e PSRR que um zener.
Avr fanboy

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #27 em: 04 de Novembro de 2014, 13:20 »
E vai alimentar o módulo pelos pinos do SPI?
Ou me escapou algum post, ou não se continua só a falar de usar zeners como conversores de nivel, ou agora estamos a falar em usar zeners para gerar os 3.3v?
A meu ver não sei se é a melhor opção, um 1117 em SOT-23 chega bem para isso e terá melhor regulação e PSRR que um zener.


Eu continuei a falar do Zener pois me parece q ele poderah querer alimentar o circuito com isso.

E sim, o 1117 eh o minimo a usar: cheap-good-enough for the job :)


Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #28 em: 06 de Novembro de 2014, 04:44 »
senso, eu perguntei pelos zenners porque as soluções que vi aqui e que eu pesquisei são:
-SN74LVC245A (8 canais, preciso de 6)
-2 x SN74LVC3G17DCTR (3 canais, preciso de 6)
e agora o
-1117 (SOT-23)

E a minha questão foi a regulação para os 3.3V. Sei que nos logical converters que se sompram no ebay tens que alimentar 5V de um lado e 3.3V de outro, nestes é necessário?
Acrescentando que os CI's ainda tinha de esperar por eles e os zeners e resistências é o que não falta ali na loja de electrónica da esquina :D
Dai a minha pergunta, é mesmo necessario e relevante usar um conversor logico em CI?

Se sim, estaria mais inclinado para o SN74LVC245A visto que é so um componente (embora sobrem 2 portas), mas ao ler a datasheet fiquei na duvida se a comunicação era bidirecional.

Sobre a utilização de zeners
O que é para alimentar é isto: nRF905, e eu falei dos zeners porque é o exemplo que vi a ser usado aqui:
http://blog.zakkemble.co.uk/nrf905-avrarduino-librarydriver/

As correntes que meti aqui para o asena foi o que eu vi no datasheet como corrente maxima que o modulo precisa (meti la o link para poderem conferir se estava a dizer alguma babuzeira)

Posso tentar investigar a corrente de cada porta de comunicação e VCC (VCC, TXE, CE, PWR, SI, SCK e CSN ) e faço as contas individuais. Ou vejo a máxima e uso o mesmo valor de resistências para todos os pinos.

Agora tenho de decidir se uso os CI's ou os ZENERS, e se forem os zeners tenho de ver como fazer o calculo da resistencia a inserir com o zener. Visto que no datasheet so tem a corrent maxima e não a corrente por porta:
Datasheet

Isto é claro que se puder meter o bootloager de 3.3V, fica resolvido (como disse, ja não me lembro qual o motivo que me levou a não faze-lo do inicio, e sei que havia um)
Mas mesmo assim gostei da explicação do asena para a questao dos zeners e desenvolvi mais essa solução. Mesmo que não a use, aprendi algo :D
« Última modificação: 06 de Novembro de 2014, 04:49 por Kristey »

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: Problemas entre diferentes arduinos para a mesma função
« Responder #29 em: 25 de Dezembro de 2014, 16:41 »
Pelo que leio na datasheet do SN74LVC245A não dá para o que preciso.
Uma vez que é desenhado para comunicações assicronas, e eu quero usar isto com um nRF905
E também porque tenho de seleccionar um pino em função da direcção de comunicação


Encontrei isto, acho que serve para o que eu quero.
http://www.ti.com/product/TXB0108/description
« Última modificação: 26 de Dezembro de 2014, 01:48 por Kristey »