Bom dia senhores, estou tentando fazer o acionamento de um 74hc595 por meio de três optoacopladores. porem não esta funcionando corretamente estou montando o circuito conforme a imagem a seguir.

Alguém sabe me dizer o que pode estar errado ?ou me sugerir um circuito diferente?

Exibições: 1890

Responder esta

Respostas a este tópico

Elcids muito obrigado pela ajuda vou montar aqui e testar. Me desculpe não responder pelo chat mas estava fora de casa e não consigo abrir ele no celular 

ok Paulo.

      Embora vc esteja usando o ULN, veja que se for acionar apenas os Optos, então as saídas do Arduino são capazes de fazer isso diretamente sem precisar do ULN. Claro, estou supondo que vc esteja usando um Arduino para fazer estes acionamentos (já que vc não disse detalhe algum sobre isso).

      O ULN é um driver para 500mA (em cada saída), ou seja, é meio "canhão" para os Optos.

      E se caso use o Arduino para acionar (ao invés do ULN), selecione a lógica no código (positiva ou negativa), de forma a fazer a cadência correta dos sinais do HC595. A lógica resultante dependerá de como vc liga os Opto ao Arduino, e se está ou não usando os Buffers Schmitt-Trigger (que recomendo expressamente).

      Note também que na Simulação no Proteus, usei a mesma alimentação em ambos os lados da Isolação, por uma questão de facilidade apenas. Mas isto NÃO deveria ser feito na no seu circuito final, do contrário, a isolação não terá sentido, e poderá resultar em um circuito "perigoso" (dependendo da origem das tensões usadas em cada lado da isolação).

      Abrçs,

      Elcids

Ola,

Vi que você criou uma rotina para usar o 74hc595 em vez de usar a função do próprio arduino a ideia é você controlar o tempo entre os pulsos correto? se eu usar o a acoplador que você sugeriu consigo usar a rotina sem os delay? 

tenho essa duvida pq pretendo utilizar o acoplador em uma comunicação serial posteriormente

olá Paulo.

      Observe que a função original do Arduino ("shiftOut"), não permite vc especificar a velocidade da transferências dos bits. Ou seja, ela assume que vc está usando um Hardware que seja mais rápido do que a velocidade do processamento da própria função, o que garantiria a transferência correta dos bits.

      Para o Arduino UNO por exemplo, essa taxa pode ser até cerca de 100 vezes mais rápida que o PC817. Ou seja:  o PC817 não vai conseguir acompanhar o envio de dados. Sem chance.

      Assim no exemplo que te mostrei, eu cadenciei o envio dos bits em uma velocidade que o PC817 irá acompanhar, mesmo para o pior caso descrito no datasheet (cerca de 18us). Este pior caso é estatístico (segue a curva gaussiana): a maioria dos PC817 fabricados (uns 60%) ficaram dentro da velocidade típica descrita no datasheet, mas uma parcela deles (um pouco abaixo de 10%), ficará no pior caso. Assim, apesar da maioria ter velocidade maior, vc tem que fazer o projeto para o pior caso.

      Sobre o "controlador" que vc se refere, está claro que está usando um compatível com a IDE do Arduino, mas qual deles?  Veja que mesmo trabalhando com 3.3V, ainda é perfeitamente possível acionar os OPTOs. Isto pode ser feito diretamente por uma saída do Processador (que vc não diz qual é), se as saídas destes tiverem capacidade de driver de uns 10mA. Mas pode usar uma enormidade de drivers externos facilmente encontrados no mercado (74HC04, 74HC367, 74HC368, 74HC244, e mais um monte, etc).

      Sobre usar o 6N137 ou HCPL2630 (este último é "dual", ou seja são dois Opto em um encapsulamento), eles conseguem tranquilamente transferir a 10Mbps, que é pelo menos 40 vezes mais rápido que o PC817. Mesmo assim aconselho usar uma função como a do exemplo que te mostrei, para sempre poder adequar a velocidade para seu caso).

     Mas vc também não informou qual a Tensão de Isolação que realmente precisa. O PC817 é para 5000V. É isto que vc realmente necessita?

      E qual é o seu ambiente? É industrial? É muito ruidoso, com máquinas potentes ligando e desligando quase o tempo todo?

      Como informações mais precisas, é possível ter soluções mais adequadas.

      Abrçs,

      Elcids

muito obrigado por explicar, não falei o controlador pois ainda não decidi, estou usando para protótipo uma arduino due, a corrente máxima somada em todos os pinos não pode ultrapassar 400mA, por isso o driver, vou trocar o PC817 pelo que você sugeriu, não há necessidade do isolamento, estava utilizando esse acoplador pois já tenho vários.

bom dia Elcids,

testei o circuito no osciloscópio e não ficou tão ruim quanto no Protheus e deu mapa medir exatamente qual a duração mínima do pulso que preciso usar para dar certo

mas uma vez obrigado pela ajuda

olá Paulo.

      Legal que atendeu o que vc precisava.

      Sobre o fato de ter resultado melhor (ou seja, com um "TW" menor que o obtido no Proteus), isso pode ocorrer sim, pois na simulação o lado "esperto" do simulador tende a usar parâmetros de forma a ter uma tendência para o pior caso. Por isso lembre-se deste detalhe, uma vez que ele representa uma variabilidade em relação à fabricação dos componentes eletrônicos.

      Veja também que usei na simulação o 4N25, ao invés do PC817.

      Fechando, gostaria mais uma vez de lembrar vc da possibilidade de usar na saída dos Optos, drivers "Schmitt trigger" (como o 74HC14 neste link: HC14 ONSemi). Se eu estivesse usando aquele circuito com os HC595, certamente eu usaria drivers "Schmitt trigger" na saída dos Optos. Então lembre-se bem disto, pois se o ambiente em que seu circuito estiver for muito ruidoso (ruído elétrico), poderá ser necessário pra evitar falhas nos sinais de controle.

      Se possível, post uma foto da temporização que vc obteve no Osciloscópio, e também detalhes de qual topologia de circuito e qual configuração do código do Arduino vc usou. Isto ajudará outros garagistas.

      Abrçs,

      Elcids

vou tirar a foto na sexta que vem então que é quando tenho acesso  ao equipamento. Infelizmente não tenho um em casa. o bom é que já vai ter entregue os HCPL-2630 e vou  poder comparar

ok Paulo.

      Posso te adiantar o resultado, pois eu já usei muito o HCPL2630, e ele é muito mais rápido que o PC817 ou 4N25 (enquanto estes são para frequências de comutação em torno de 100kHz, o HCPL é para 10MHz, ou seja, uma diferença imensa na velocidade de comutação). E como são muito mais rápidos, vc pode até dispensar drivers "Schmitt trigger" nas saídas. E claro, aproveite o fato de que o HCPL2630 tem dois canais de Opto (ou seja, substitui dois Optos convencionais).

      Uma coisa muito importante: não esqueça de colocar um Capacitor Cerâmico de 100nF (ou 100kpF) entre os pinos de alimentação do HCPL2630 (entre os pinos 5 e 8). Este Capacitor deve estar o mais próximo possível do HCPL (ou seja, "colado" ao mesmo). Se puder usar de 470nF (ou 470kpF), melhor ainda. Cada HCPL deve ter um Capacitor. E tem que ser do tipo Cerâmico!!!

      E no design final, faça um bom e cuidadoso traçado das trilhas na PCI, garantindo a isolação entre cada lado, ou seja, cuidado para não aproximar as trilhas de cada lado em menos que 9 mm (isso é para garantir 4000V de isolação). Logo, não passe trilhas logo abaixo do "footprint" do Opto, justamente para não corromper essa regra (esse é um erro comum que vejo muito por aí).

      Abrçs,

      Elcids

Estou usando o ulm pq é mais fácil de soldar do que varios bc e foi o primeiro que lembrei. Não estou usando direto pois a tensão de saída do meu controlador é 3v3

Boa noite, 

O Elcids já identificou o erro do seu circuito.

As duas tensões de alimentação são 5V ?

Recomende que polarize o acoplador ótico, seguindo a orientação do datasheet:

http://www.sharp-world.com/products/device/lineup/data/pdf/datashee...

Input 

Forward voltage VF para IF=20mA = 1.2 1.4 V

Output 

Collector current Ic para IF=5mA, VCE=5V   =  2.5 - 30 mA (min/max) 

Sim ainda não montei para testar mas acredito que sim. Minha dúvida é só referente a frequência máxima do sinal pois quero usar o circuito em uma comunicação serial

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço