Ir ao conteúdo

Arduino Mega R3 Wifi ESP8266 + 74hc595 + PC817 + 2N2222 + Módulo relé.


Ir à solução Resolvido por .if,

Posts recomendados

Postado

Olá, bom dia!, boa tarde! Boa noite!..

 

Amigos, @.if e @Sérgio Lembo, como estão? 

Espero que bem!

 

Preciso de uma ajudinha.. 

 

No outr tópico que conversamos, vai entrar um módulo entre arduino e módulos relés.. 

 

Hoje,  uso assim:

 

IMG-20240906-WA0074(5).thumb.jpg.5489a0e46729232fddff1ac9c0d2ef4e.jpg

 

É bem antigo, primeira versão que fiz, desculpem, não tenho diagrama, mas tentarei explicar. 

 

Nos KRE azuis a direita, entra 5V,  passa por esse filtro (CRTL + C, CRTL + V, (FONTE: WR KITS, Wagner Rambo, YT).

Tudo errado eu sei, mas vamos ao que interessa..

 

1° Arduino:

 

MEGA 2560, R3, e ESP8266 integrado.

b-3.thumb.jpg.a743ff0c6d626d3ee29985f4dc99a09d.jpg

2°: Proteção das portas digitais: 

 

1 Resistor 4K7, em série, polarizando 1 Zener, 5v1, 1/2W, reversamente polarizados, ligados ao GND.

 

IMG-20250212-WA0006.jpg.62614293ac12827786dffd1249448e7f.jpg

 

São eles: 

 

DS, 4K7, Zener 5V1, Arduino. 

RCLK, 4K7, Zener 5V1, Arduino. 

SRCLK, 4K7, Zener 5V1, Arduino. 

SRCLR, 4K7, Zener 5V1, Arduino. 

 

3°: Shift Register: SN74HC595N.

 

  A: VCC: Capacitor eletrolítico 1uF, poliéster 150nF, cerâmico 100nF, cerâmico 22pF,

Paralelos VCC, GND.

 

  B: GND: Zener 5V1, contra reverso.

 

  C : Saída: Q0 a Q7: 1 Resistor, 1K (Para cada saída Q0 a Q7), para a Base Transistor 2N2222A.

 

4°: Transistor 2N2222A: Emissor aterrado,  Coletor, portas, IN1 a IN8, dos módulos relés. 

 

 

Vamos lá!

 

Eu sei tem erros, primeira versão que fiz, mas funciona bem, até hj.. 

 

 

 

Enfim, estou fazendo a versão 2.0.

 

Antes de fazer, para não cometer erros, gostaria da opinião de você's, porém, com diagrama..

 

Mas como o último que fiz da fonte linear, no Proteus funcionou e na prática não, segue:

 

IMG-20250212-WA0008.thumb.jpg.bb1b69e259682c2f4752f3ed6509c007.jpg

 

Primeiro fiz esse teste acima 👆, rodou, mas não é o esquema completo. 

 

Então melhorei:

 

IMG-20250212-WA0009.thumb.jpg.cda50c04c5d48611065b75fe8e982543.jpg

 

OBS: Q1, está invertido, ignorem..

 

Minha lógica: 

 

Resistor entre Shift Register, e Zener 5v1, regulando a tensão, para não passar de 6,(alguns volts), e queimar as portas do arduino. 

 

Shift Register, aciona U2, PC817.

Aqui vem o pulo do gato, do risco preto, para esquerda, fonte de 5V, dedicada a lógica.

 

Do risco preto para direita, outra fonte, outro GND,  12V,  alimentando: bobinas dos módulos relés, também o transistor do optoacoplador, que excita a base do 2N2222A, que joga lógico 0, nas IN1 a IN8, dos módulos.. 

 

Tiro de canhão para matar uma formiga?

 

Foi como eu consegui separar completamente o módulo relé, dá lógica.

 

Talvez alguns comentem que o módulo já tem o optoacoplador... mas nosso amigo @.if, já desmascarou isso, no final, o módulo integra os GND's.

 

Segue diagrama do módulo:

 

esquema-circuito-acionamento-rele-5v-3v3.thumb.jpg.9777b45235aabd97c9031e5c17920fa0.jpg

 

 

 

 

IMG-20250212-WA0005.jpg

  • Curtir 2
Postado

Vamos aos datasheet's..

 

Arduino: 20mV por porta, 300mV total, em todas as portas.

 

Shift Register SN74HC595N:

 

IMG-20250212-WA0013.thumb.jpg.642d2648e42ece1569c38f6a47886293.jpg

 

IMG-20250212-WA0012.thumb.jpg.ed0187550e9cbf418996bd4ce2113b16.jpg

PC817D:

 

IMG-20250212-WA0010.thumb.jpg.d11b6b85e8afe0cf71c636b260eaa3b2.jpg

 

2N2222A:

 

IMG-20250212-WA0015.thumb.jpg.a500a3cb3ed0733e354971b6875b7107.jpg

 

IMG-20250212-WA0016.thumb.jpg.c1b29da38aefe8cadec7b53465905945.jpg

 

IMG-20250212-WA0014.thumb.jpg.82d10fa73a15f628698e8b9202b1c5d4.jpg

 

Módulo Relé 12v, 8 canais. 

 

IMG-20250212-WA0020.thumb.jpg.f6342bc1789a9ceab25dc32c6736e9f9.jpg

 

IMG-20250212-WA0019.thumb.jpg.157358c7614c32f2065d742251ab0d92.jpg

 

IMG-20250212-WA0022.thumb.jpg.3e679298980f3d853bd6262c2fc59e6c.jpg

 

IMG-20250212-WA0021.thumb.jpg.c04ec9e301fa19012db69848a2556212.jpg

 

IMG-20250212-WA0023.thumb.jpg.20eeaa0351c6d91737d8e50f56bd2a46.jpg

 

Continua no próximo post.. 

  • Curtir 1
Postado

Temos: 

 

Arduino: 20mA.

 

Shift Register: 

 

  A: ViH, a VCC 4.5V, para: Input HIGH voltage, precisa de 3.15V, e no máximo 20mA.

 

  B: Já nas saídas, o limite total: Continuous current through VCC or GND = 70mA, ou seja, temos no MÁXIMO 70mA passando entre VCC e GND. Que dariam, 8,75mA, por porta.. (condições extremas, segundo datasheet).

Porém não, há, iéié.. pegadinha do datasheet... 

 

Abaixo segue:

 

Qa - Qh IoH = - 6mA, a VCC = 4,5v, em 25°... 

 

Então, as 8 portas HIGH, com VCC + - 4.5V, em temperatura a 25°, temos 6mA, 3.98V a 4.3V, por porta. 

 

Em VCC a 6V, LIMITE MÁXIMO DO Ci, Todas em HIGH, 7.8mA, 5.48V a 5.8V... 

 

CONDIÇÕES EXTREMAS DE USO..

 

Datasheet avisa, nessas condições, a vida útil diminui...

 

 Optoacoplador:

 

Vf = 1.4V, If = 20mA.  

Vfm = 3V, Ifm = 500mA.

 

VCE(sat) IF = 20mA IC = 1mA, Min. 0.1V Max. 0.2V.

 

CTR = VCE = 5V, IF = 5mA, Hfe Min = 50%, Hfe Max = 600%.

 

 

Temos: 2N2222A:

 

 

VBE Saturation Voltage: 

Min. = 0.6V.

Ic = 150mA, Ib = 15 mA.

 

Max. = 1.2V, 2.0V.

Ic = 500mA, Ib = 50 mA.

 

 

VCE Saturation Voltage: 

 

Min. = 0.3V.

Ic = 150mA, Ib = 15 mA.

 

Max. = 1.0V.

Ic = 500mA, Ib = 50 mA.

 

 

Módulo relé:

 

HIGH => 1.2V. (NC).

LOW <= 1.2V, 0V. (NO).

  • Membro VIP
Postado

Não que seja desimportante mas a matemática dos números soma muito pouco a sua inquietação. Vou desfocar dela e dar meus tradicionais chutes -é+...

Confira se aquele módulo da m.p. é de fato isolado

IMG-20250211-WA0002.jpg

já que como te disse, meu chinês tá enferrujado 😁. Mas digamos que você dê preferência pra este do seu post. Uma ideota é você isolar manualmente os terras. Tipo cortar a trilha GND que corresponde ao fio preto B

IMG-20250212-WA0023.jpg

 

Achei esta imagem mas não sei se de fato o caminho que a trilha faz facilita este corte...

modulo-rele-5v-10a-8-canais-com-optoacop

 

A isolação adicional proporcionada pelo opto obviamente é uma boa soma pro seu projeto apesar quê os relés geralmente já proporcionam a isolação necessária. Perceba a placa acima até mesmo com os cortes fresados? Mas de novo, o opto calha bem..

 

Uma outra alternativa é você (deixar de ser preguiçoso e) fazer uma pci com os 595 acionando os npn's dos relés. Neste caso bastam 3 optos a isolar os 3 sinais de controle dos 595. Mas claro, só quis registrar a alternativa mesmo... usar módulos prontos é de fato mais prático mas (sempre tem um mas) haverá a dificuldade da manutenção pois vai ficar um emaranhado conexões... mas (ainda bem que tem mais mas) se fizer bem feitinho com documentações simples e fartas deve ficar menos difícil

  • Haha 1
Postado
  Em 13/02/2025 às 12:53, .if disse:

Não que seja desimportante mas a matemática dos números soma muito pouco a sua inquietação. Vou desfocar dela e dar meus tradicionais chutes -é+...

Confira se aquele módulo da m.p. é de fato isolado

IMG-20250211-WA0002.jpg

já que como te disse, meu chinês tá enferrujado 😁. Mas digamos que você dê preferência pra este do seu post. Uma ideota é você isolar manualmente os terras. Tipo cortar a trilha GND que corresponde ao fio preto B

IMG-20250212-WA0023.jpg

 

Achei esta imagem mas não sei se de fato o caminho que a trilha faz facilita este corte...

modulo-rele-5v-10a-8-canais-com-optoacop

 

A isolação adicional proporcionada pelo opto obviamente é uma boa soma pro seu projeto apesar quê os relés geralmente já proporcionam a isolação necessária. Perceba a placa acima até mesmo com os cortes fresados? Mas de novo, o opto calha bem..

 

Uma outra alternativa é você (deixar de ser preguiçoso e) fazer uma pci com os 595 acionando os npn's dos relés. Neste caso bastam 3 optos a isolar os 3 sinais de controle dos 595. Mas claro, só quis registrar a alternativa mesmo... usar módulos prontos é de fato mais prático mas (sempre tem um mas) haverá a dificuldade da manutenção pois vai ficar um emaranhado conexões... mas (ainda bem que tem mais mas) se fizer bem feitinho com documentações simples e fartas deve ficar menos difícil

Expandir  

 

 

Então maninho,  já estou com as peças nas mãos,  minha automação do aquário,  travava quando ligava uma solenoide.. 

 

Achei a solução,  é a versão 1.0,  Frankenstein,  é que no Proteus, não consigo por outro GND, tipo GND2.

 

Mas, do risco preto pra frente,  é outra fonte, de 12V. 

certeza absoluta que vão estar separados.. 

 

Brigue até agora com a maldita lei de ohms.. achei os resistores..

 

Mãos a obra... 

 

Depois, vamos fazer PCB impressa,  com calma,  agora é pra sentir o tranco.. e ver os problemas e falhas.. 

 

Valeu!!!!

  Em 13/02/2025 às 12:53, .if disse:

já que como te disse, meu chinês tá enferrujado 😁. Mas digamos que você dê preferência pra este do seu post. Uma ideota é você isolar manualmente os terras. Tipo cortar a trilha GND que corresponde ao fio preto B

Expandir  

 

Te mandei Traduzido.. kkkkk

 

IMG-20250211-WA0007(1).thumb.jpg.59bb84847a92ee2b9e0ec7b24dc89f96.jpg

  • Curtir 1
  • Membro VIP
Postado
  Em 13/02/2025 às 16:20, Renan Trevisan casini disse:

e mandei Traduzido.. kkkkk

Expandir  

kk boa. Mas a descrição não garante que de fato é isolado. Vide as descobertas terra com terra que fizemos..

esquema-circuito-acionamento-rele-5v-3v3.jpg

 

Mas já que está...

  Em 13/02/2025 às 16:20, Renan Trevisan casini disse:

com as peças nas mãos,

Expandir  
  Em 13/02/2025 às 16:20, Renan Trevisan casini disse:

certeza absoluta que vão estar separados.. 

Expandir  

tens a faca e o queijo na mão. Meça com multímetro terra5 e terra12 e nos conte, ok?

 

Olha este daqui que o carinha fez...

Modulo_Isolador_Optico_EletronicaParaTod

https://eletronicaparatodos.com/diy-modulo-isolador-optico-para-acionamento-de-cargas-de-potência-110v220v/

 

Sim de fato está isolado mas (sempre tem um mas) há uma bela melhoria a ser feita: remover aquele plano de cobre. Ele acaba que por dando uma certa aproximação entre os contatos do relé e entrada do opto. O opto usa ter uns 2KV de isolação e as distâncias entre trilhas meia próximas podem zoar isso. Também a ilha do borne KRE poderia ter sido bem maior pra resistência mecânica.

 

  Em 13/02/2025 às 16:20, Renan Trevisan casini disse:

no Proteus, não consigo por outro GND, tipo GND2.

Expandir  

Pra simulação nem precisa, irmãozinho.

Postado

Se for para ter um gnd compartilhado usar opto para quê? Total inutilidade, quanto mais componentes mais pontos de falha. 

 

Sobre a seleção do transistor 2N2222. Excelente transistor para áudio, foi projetado para áudio, tem um preço diferenciado (o dobro) por conta disso. Como transistor de uso geral, onde se deseja bom ganho e comutação saturada, não tem bom desempenho. Como dificilmente utilizo mais que 12V gosto de adquirir o BC239 na categoria até 100mA. Bom e barato. Os transistores de 40V a 80V custam a mesma coisa mas tem o trade off do desempenho, somente quando o projeto exige tensões mais elevadas.

 

Sobre a proteção do processador contra excesso de tensão: zener de 5V1? com quanto de precisão? 2%? Isso, se encontrar, corresponde a 100mV. Se for o mais comum (10%) corresponde a 500mV. Como se isso não bastasse tem a precisão do regulador de tensão do processador. A tensão máxima nas portas dos processadores é dada por Vcc+0,3V. Assim sendo a proteção de sobretensão nas portas se faz com diodo shottky de baixo Vf (<<300mV) indo da porta para Vcc.

  • Membro VIP
Postado
  Em 13/02/2025 às 23:26, Sérgio Lembo disse:

diodo shottky de baixo Vf (<<300mV) indo da porta para Vcc.

Expandir  

... e pra V negativa um outro indo do gnd pra porta. Mas este á um caso onde não há opto - tipo onde o sinal vem "direto da rua" .. tipo fica como o redutor de pressão que vem opcional com o chuveiro - . Quando há opto nem precisa: as portas já incorporam isso.

Pag33-2.png

Mas entendo o lance das paranóias  😁

 

  Em 13/02/2025 às 23:26, Sérgio Lembo disse:

BC239

Expandir  

! Puts.. nem sabia que ainda fabricavam este contemporâneo das válvulas 😜. Caso o autor tenha dificuldade em achar, considere bc337

Postado

Boa noite pessoal!!

 

Talvez tenha deixado passar um ponto relevante.. 

 

  Em 13/02/2025 às 12:53, .if disse:

Uma ideota é você isolar manualmente os terras. Tipo cortar a trilha GND que corresponde ao fio preto B.

Expandir  

 

Então, a forma que alimento o módulo é assim:

 

IMG-20250214-WA0013.jpg.151fae8816be59eac43b401ada4853af.jpg

 

Branco: GND 12V.

Verde: 5V lógica. 

Vermelho: VCC 12V.

 

Nos pinos IN***, assim:

 

 

IMG-20250214-WA0014.jpg.82449f9e24b6b5f850ebffbfe89254e8.jpg

 

Não faço ligação nos pinos: VCC e GND, deste lado.

 

Aqui, vem dos 2N2222A, Shift Register, Arduino. 

 

Mas as fontes são lineares, enfim, algum ponto os GND's se encontraram. 

 

OBS: PROJETO ANTIGO..

 

Agora estou atualizando para o novo..

 

  Em 13/02/2025 às 12:53, .if disse:

Achei esta imagem mas não sei se de fato o caminho que a trilha faz facilita este corte...

Expandir  

 

No módulo normal, testei continuidade entre os GND's da placa:

 

modulo-rele-5v-10a-8-canais-com-optoacopladores.thumb.jpg.9b9ef7b3a69bf4fcba13c677f1eac5a0.jpg

E sim, estão ligados juntos.. 

 

 

 

Noite Sergião!!

 

 

  Em 13/02/2025 às 23:26, Sérgio Lembo disse:

Se for para ter um gnd compartilhado usar opto para quê? Total inutilidade, quanto mais componentes mais pontos de falha.

Expandir  

 

Na placa, vão estar separados, no diagrama, só tem um GND no Proteus, mas do Opto, para o Arduino é uma fonte 5v.

 

Do Opto pra frente outra fonte 12V.

 

Ou seja dois GND'S..

 

  Em 13/02/2025 às 23:26, Sérgio Lembo disse:

Sobre a seleção do transistor 2N2222. Excelente transistor para áudio, foi projetado para áudio, tem um preço diferenciado (o dobro) por conta disso. Como transistor de uso geral, onde se deseja bom ganho e comutação saturada, não tem bom desempenho. Como dificilmente utilizo mais que 12V gosto de adquirir o BC239 na categoria até 100mA. Bom e barato. Os transistores de 40V a 80V custam a mesma coisa mas tem o trade off do desempenho, somente quando o projeto exige tensões mais elevadas.

Expandir  

 

Obrigado pela orientação, mais a frente esse esquema talvez seja substituído por este:

 

IMG-20250211-WA0007(1).thumb.jpg.52f6abffe43e671fd41f71bd5888ade8.jpg

 

 

IMG-20250214-WA0019.thumb.jpg.e743e46d37aa914463dfd7a8de63a393.jpg

 

Já vêm tudo junto, e com cabo flat.. 

 

Sobre os 2N2222A,  já conhecia eles.. a intenção é trabalhar como chave,  já que precisa de pouca coisa para ligar/desligar, e olha o preço:

 

IMG-20250214-WA0020.thumb.jpg.a941e7d90a1178608f8ce93a66edf2e8.jpg

 

100 peças...

 

Quanto ao schottky, não havia pensado como regulador de tensão,  mas abriu a mente, todo diodo reversamente polarizado, quando valor maior q Vf, passa a conduzir.. Correto? Uns mais rápidos, outros mais lentos, e alguns mais potentes..

 

Zener:

 

IMG-20250214-WA0021.thumb.jpg.b06176dcab7ef8f26f49f69919b28542.jpg

 

1N4733.

 

Valeu a ajuda!!!...

Postado
  Em 13/02/2025 às 00:07, Renan Trevisan casini disse:

risco preto para direita, outra fonte, outro GND,  12V,  alimentando: bobinas dos módulos relés, também o transistor do optoacoplador, que excita a base do 2N2222A, que joga lógico 0, nas IN1 a IN8, dos módulos.. 

Expandir  

 

Achei um erro aqui, talvez isso tenha te confundindo @Sérgio Lembo

 

 

IMG-20250212-WA0009.thumb.jpg.5356630b81fa3291f8e82f751ca1d1a6.jpg

 

 

 

 

 

Postado
  Em 13/02/2025 às 00:07, Renan Trevisan casini disse:

risco preto para direita, outra fonte, outro GND,  12V,  alimentando: bobinas dos módulos relés, também o transistor do optoacoplador, que excita a base do 2N2222A, que joga lógico 0, nas IN1 a IN8, dos módulos.. 

Expandir  

 

Achei um erro aqui, talvez isso tenha te confundindo @Sérgio Lembo

 

 

IMG-20250212-WA0009.thumb.jpg.5356630b81fa3291f8e82f751ca1d1a6.jpg

 

U2, recebe HIGH, de U1, Q0.

 

R4, limita a excitação do led U2, alimentado por uma fonte isolada de 5V. 

 

Assim, o NPN de U2, fecha, e seu emissor, está em outra fonte de 12V,  isolada.

 

Então 12V, no emissor o U2, e pouca excitação do led, passa quase nada para o coletor, então R5, permite chegar pouco mais de 1.5V, na base de Q1.

 

Q por sua vez, está com emissor aterrado ao GND, dos 12V, e R6, libera - 1.6V, o q põem IN1 em LOW, e atraca o relé,  

 

 

Quando U1, Q0, está em LOW, Q1, conduz pouco mais que 1.6V, e põem IN1, em HIGH,  abre o relé..

 

Compliquei?

 

Abraço!!

 

Postado
  Em 16/02/2025 às 13:26, .if disse:

... a saída (emissor) do seu opto pode acionar direto o led do opto do módulo

 

-é+ lembra? 😁.. ok .. +ou- 😜

Expandir  

 

Genius!!!

 

 

Só pra confirmar:

 

Então colocaria GND, no coletor, e um PULLUP, no emissor?

 

porque o módulo aciona com LOW.. 

 

Estou certo?

 

Estou na rua, vou testar...

 

Forte abraço!!..

  • Membro VIP
Postado
  Em 16/02/2025 às 16:22, Renan Trevisan casini disse:

Então colocaria GND, no coletor, e um PULLUP, no emissor?

Expandir  

O transistor do seu opto:

coletor pro vcc. No emissor um resistor em série: a saída pro anodo do led do módulo. GND no catodo do led do módulo.

Cara... confusão mano.  Sorry.. tô sem lápis e papel pra te desenhar 😁. Desenha aí e me fala que falo sim ou não.

 

Postado
  Em 16/02/2025 às 22:39, .if disse:

O transistor do seu opto:

coletor pro vcc. No emissor um resistor em série: a saída pro anodo do led do módulo. GND no catodo do led do módulo.

Cara... confusão mano.  Sorry.. tô sem lápis e papel pra te desenhar 😁. Desenha aí e me fala que falo sim ou não.

 

Expandir  

 

 

Fala malandro!!!!!

 

It work´s!!!!

 

Módulos relés infinitos, completamente ISOLADOS!!!!

Ahhh, sem transistor...

 

Ficou assim:

 

PC817.thumb.jpg.c090cd12aad8a277b11ced928ddefc33.jpg

 

 

WhatsAppImage2025-02-21at15_18_11.thumb.jpeg.f52b49dc4c0ca5f76fd22b3b5a07598d.jpeg

 

 

valeu!!

  • Membro VIP
Postado

Da hóra irmão. Mas você sabe que seu opto está polarizado totalmente errado né? NÉ? Se sim então porque não colocou certo uai? Fala sério .. 🤨

A qualquer momento faço no proteus o lance dos 3 sinais de controle isolados pra ver que merdadá. 1/2 que comecei. O lance é que a freq que pelos optos vai ser 1/2 alta... pero no mucho... deve optar por passar sim 😜

  • Amei 1
  • Membro VIP
Postado
  Em 22/02/2025 às 11:43, .if disse:

O lance é que a freq que pelos optos vai ser 1/2 alta...

Expandir  

De fato minha teoria estava correta. Freq de deslocamento alta não passa direito pelo 4n25. Nem o proteus deixou passar.  Nada que um simples atraso não resolva.

https://i.imgur.com/zTNP7ws.mp4

Extremamente minimalista com zero biblioteca por fora...

#define ds A0
#define sh_cp A1
#define st_cp A2
#define led1 A3
#define led 13

void setup() {
   pinMode(ds, OUTPUT);
   pinMode(st_cp, OUTPUT);
   pinMode(sh_cp, OUTPUT);
   pinMode(led, OUTPUT);
   pinMode(led1, OUTPUT);

}

void shift(unsigned int dado)
{
for(unsigned char i=0;i<16;i++)
{
digitalWrite(ds, dado&1);
delayMicroseconds(30);
digitalWrite(st_cp,1);
delayMicroseconds(30);
digitalWrite(st_cp,0);
delayMicroseconds(30);
dado>>=1;
}

digitalWrite(sh_cp,1);
delayMicroseconds(30);
digitalWrite(sh_cp,0);
delayMicroseconds(30);
}

bool b;
unsigned int a;
void loop() {

for (a=0;a<16;a++)
{
shift(1<<a);delay(20);
b^=1;
digitalWrite(LED_BUILTIN, b);
}
//digitalWrite(led1, ((a>>3)&1));
}

O esquema abaixo...

readeTransferncia02.png.aa7c80d8fe61b9d8b980636cc87042a6.png

Observa-se que o mc - ou arduino com atmega2560 que pretendes usar - tem muitas portas disponíveis o que torna a expansão acima muito desnecessária ou próxima à insanidade 🤪 . No entanto se fores usar o esp32, de fato ele pode ter pinos insuficientes. De fato, teorizo que com esta expansão maluca, apenas o esp32 pode ser suficiente.. nem precisa do arduino mega em paralelo. O esp32 possui wifi, blue tooth e afins...

 

A ideota acima foi só um teste tolo conceitual pra isolar apenas os sinais de controle e fazer uma minieconomia de optos. De fato pode-se optar por optos  múltiplos tipo tlp281-4 ou similar

images?q=tbn:ANd9GcShy7uuCO5JgHFxv8jh82Q

Avalie-se o custo/benefício, óbvio...

 

Postado

Boa tarde, amigo!!

 

Veja como uso os 595:

 

Após as bibliotecas:

 

IMG-20250224-WA0000.thumb.jpg.eccc84b25c68e033f691cb6b0dac333e.jpg

 

Após Void Loop:

 

IMG-20250224-WA0082.jpg.2a7535e52b3de2acf4b11a87bcba3e35.jpg

 

Então, todas as portas do Shift Register,  trabalham como se fosse: digitalWrite (0, LOW); ou digitalWrite (0, HIGH);. 

 

Porém:

 

ciWrite(0, HIGH); ou LOW.

Até infinitos 595..

 

Aqui:

 

IMG-20250224-WA0075.thumb.jpg.b8fa056473fcc9504a237a49f0d39d5d.jpg

 

 

Portas Mega: 7, 6, 5, com o zener 5V1, 1W, 1%, para GND, 5V, em série com resistor (R1, R2, R3), 4K7, 1/4, 1%.

 

O lance é  que se os Optos ficarem antes dos 595, terei que alimentar os 595, com 5V, da fonte lógica ( Meus relés são 12V.) Por isso essa salada...

 

Os 595, estão nos 5V, os Optos:

 

PC817C: Ânodo, vem de U1, Q*, em série com resistor de 470R (R4), Chegou 8.11mA e 1.14V, no Ânodo.

 

Catodo, GND, da fonte 5V, da lógica,  dedicada.

 

IMG-20250224-WA0074.thumb.jpg.7eb9df2f7dd7a4a88d5249ecda49b08f.jpg

 

 

Já o transistor do PC817C:

 

 Coletor: GND, do step down, ( @.if, aquele que falamos no outro post, chegou).

 

Emissor: em série com (R5, 1K), e porta IN***, do módulo relé.

 

IMG-20250224-WA0077.thumb.jpg.367ea30c6f48d3631a32eac707f7f718.jpg

 

No módulo relé, alimentei com os 12V, (step down), GND, VCC, JVCC.

 

Q1, Em HIGH, usa o transistor do Opto, (step down 12V),  e atraca o relé. 

 

20250224_202051.thumb.jpg.a41dce53dae385ce819e436b0eafbd0d.jpg

 

Q1, Em LOW, Desliga o relé. 

 

20250224_202024.thumb.jpg.6657464a6135bf126c8c4bd06eae886c.jpg

 

 

Não deu continuidade entre os GND's, (12V, 5V). 

fiz na protoboard, funcionou..

 

Não liguei nada da fonte de 5V, pra frente do PC817C. 

 

OBS: (NOTEI QUE INVERTI COLETOR, E EMISSOR)...

 

 

  Em 13/02/2025 às 23:26, Sérgio Lembo disse:

Sobre a proteção do processador contra excesso de tensão: zener de 5V1? com quanto de precisão? 2%? Isso, se encontrar, corresponde a 100mV. Se for o mais comum (10%) corresponde a 500mV. Como se isso não bastasse tem a precisão do regulador de tensão do processador. A tensão máxima nas portas dos processadores é dada por Vcc+0,3V. Assim sendo a proteção de sobretensão nas portas se faz com diodo shottky de baixo Vf (<<300mV) indo da porta para Vcc.

Expandir  

 

Noite Sergião!!

 

Entendi sobre o schottky, mas, não os tenho aqui. 

Por hora fiz a proteção com o Zener que tenho aqui:

1N4733.

 

Datasheet: 

 

IMG-20250224-WA0081(1).thumb.jpg.7de49bc7e91fe7b057818476a087c46f.jpg

 

Não sei interpretar completamente e comparar com seu comentário,  mas o datasheet diz ser: Vf = 1.2V, at Ir = 200mA.

 

Pelos prints que mandei, a porta A7, estava com: 4,8V, 6.60mA.

 

Após R3, 4K7, zerou no Proteus.. enfim.. fiz alguma  Bruxaria.. kkkkk

 

 

Pessoal, desculpem erros, inversões, nomeação e etc..

Aceito bem críticas, fiquem a vontade, sei q pode não ser a melhor forma,  mas estou aprendendo bastante com você's..

 

OBRIGADO!!!

 

A placa ficará assim:

 

MEGA - SHIFT REGISTER:

 

IMG-20250224-WA0058.thumb.jpg.0355ccdf707e698800b1201e7398b731.jpg

 

IMG-20250224-WA0070.thumb.jpg.1289c4033179ab446d5d37cc657c90d7.jpg

 

IMG-20250224-WA0063.thumb.jpg.e9a8da7e588784478892e5b97d3e3989.jpg

 

IMG-20250224-WA0059.thumb.jpg.8d3ca05efa3b39464327c347b2658e5b.jpg

 

 

IMG-20250224-WA0062.thumb.jpg.937bb923ab7bb546efd4af164a93b850.jpg

 

IMG-20250224-WA0065.thumb.jpg.6c8f664422af43821be483d29c18cff4.jpg

 

IMG-20250224-WA0068.jpg

 

IMG-20250224-WA0071.thumb.jpg.ae76997f897e1c7c109b8ddf82a440b6.jpg

 

IMG-20250224-WA0072.thumb.jpg.4c672ab9f4fef1ca9f79d29d2070f0a4.jpg

 

IMG-20250224-WA0073.thumb.jpg.b5a1001646a5837ac364e893e63c5e15.jpg

 

IMG-20250224-WA0061.thumb.jpg.575ee7d919ac2a127de5a608eccbf97d.jpg

 

IMG-20250224-WA0067.thumb.jpg.ddc659894827fc1f3d6c885b0ec9801b.jpg

 

 

FORTE ABRAÇO!!! VALEU!!!!!

 

@.if, tá liberado, desce a lenha!!!

 

  • Curtir 1
Postado
  Em 24/02/2025 às 14:20, .if disse:

De fato minha teoria estava correta. Freq de deslocamento alta não passa direito pelo 4n25. Nem o proteus deixou passar.  Nada que um simples atraso não resolva.

https://i.imgur.com/zTNP7ws.mp4

Extremamente minimalista com zero biblioteca por fora...

Expandir  

 

Irmão, saquei sua ideia, e aprendi um jeito diferente de usar o Opto.. 

 

também uso os 595 por fora, sem bibliotecas. 

Nossos scripts são semelhantes, porém, detesto usar: "delay", "while" e "for", só em último caso... 

Para não segurar o Loop..

Abuso do millis();.

 

Mas agora, deu para alinharmos a visão.. compreendeu onde estava meu problema?

 

Te ouvi, e removi o 2N2222A, e separei definitivamente o módulo relé, da lógica, outra fonte, outra tensão, outro circuito, mas interligados..

 

De uma forma errônea, consegui o que queria.. 

(Formiguinha, estagiária, querendo ser "Junior").

 

Os PC817C, funcionaram, vou usar o osciloscópio, como você fez, e posto aqui, para vermos.. 

 

 

  Em 24/02/2025 às 14:20, .if disse:

arduino com atmega2560 que pretendes usar - tem muitas portas disponíveis o que torna a expansão acima muito desnecessária ou próxima à insanidade 🤪 . No entanto se fores usar o esp32, de fato ele pode ter pinos insuficientes. De fato, teorizo que com esta expansão maluca, apenas o esp32 pode ser suficiente.. nem precisa do arduino mega em paralelo. O esp32 possui wifi, blue tooth e afins...

Expandir  

 

Uso bastante portas, para ter retorno dos sensores e dos comandos, sou "noiado" com isso, mas,, como @Sérgio Lembo diz: Segurança, redundância, confiabilidade em um ambiente industrial, ainda estou me desapegando do "pecado por excesso", e entrando no mundo do - é +.

 

Porém, tudo isso está servindo de bagagem, pois como falamos lá em cima,  e no pv, próximos projetos, achei tudo pronto... sem Frankenstein..

Queimou, tira, joga fora, põem outro no lugar.. 

 

Sobre o ESP32, é uma janela, um caminho a ser desbravado também.. 

Mas sou apegado a esse danado MEGA 2560 e ESP8266, integrado.. 

 

Como dizem, tenho uma jornada ainda pela frente...

 

"Sou um Plâncton", me alimento de luz.. 

 

😆😆😅😅🤪🤪

 

Forte abraço!

 

  • Membro VIP
Postado
  Em 25/02/2025 às 00:04, Renan Trevisan casini disse:

as portas do Shift Register,  trabalham como se fosse: digitalWrite (0, LOW); ou digitalWrite (0, HIGH);. 

 

Porém:

 

ciWrite(0, HIGH); ou LOW.

Expandir  

Há alternativa ligeiramente avançada e simples pra setar/resetar bit a bit da variável que vai no meu (meu) argumento do

  Em 24/02/2025 às 14:20, .if disse:
void shift(unsigned int dado)
Expandir  

que usa as mais sinistras entidades do c : struct & union e campos de bit... mas acho que nem vou te explicar. Afinal não sou do ramo pedagógico, lembra? Mas tentemos uma mais "simples":

Digamos que o bit 13 da variável unsigned int rele seja o solenoide_saída

#define setbit(var,bitno) ((var) |= 1 << (bitno))
#define clrbit(var,bitno) ((var) &= ~(1 << (bitno)))
#define xorbit(var,bitno) ((var) ^= 1 << (bitno))
#define solenoide_saida 13

setbit(rele,solenoide_saida);//liga
clrbit(rele,solenoide_saida);//desliga
shift(rele);

ok... semi inútil mas eu quis registrar uma maneira manêra de se usar o c puro.

 

  Em 25/02/2025 às 00:04, Renan Trevisan casini disse:

tá liberado, desce a lenha!!!

Expandir  

você inverteu o soquete e não pressionou direito o opto no soquete só pra me irritar, né?!

  Em 25/02/2025 às 00:04, Renan Trevisan casini disse:

INVERTI COLETOR, E EMISSOR)...

Expandir  

E funcionou invertido?!

 

  Em 25/02/2025 às 04:49, Renan Trevisan casini disse:

detesto usar: "delay"

Expandir  

Té eu. delay é uma literal perda de tempo.

 

  Em 25/02/2025 às 04:49, Renan Trevisan casini disse:

Para não segurar o Loop..

Expandir  

.. pra isso o mc trabalha com interrupções. São uma mão na roda. E claro, saber como funciona, como, quando usar e etc. Qualquer errinho faz variáveis criar vida própria e o sistema tomar decisões erradas. .. olha este artigo do G.T. semi tudo a ver...

 

  Em 25/02/2025 às 04:49, Renan Trevisan casini disse:

Queimou, tira, joga fora, põem outro no lugar.. 

Expandir  

A ideia é boa. Num ambiente industrial quem queima primeiro é a parte de potência. Fazendo modular de fato fica menos difícil a manutenção.

 

  Em 25/02/2025 às 04:49, Renan Trevisan casini disse:

Uso bastante portas, para ter retorno dos sensores e dos comandos

Expandir  

Nada contra não usar as portas do mc mas já que não vai elas, penso que vale a pena pensar num mc com menos portas pra justificar o uso de expansões. A ideia continua sendo -é+.

 

  Em 25/02/2025 às 04:49, Renan Trevisan casini disse:

sou "noiado" com isso,

Expandir  

Já eu, tenho nóia por eficiência/baixo custo. Há algum tempo publiquei um Vídeo com um pic10f2xx acionando um display lcd 16x2 com um (pasme.. 01) pino apenas. Foi só um autodesafio pessoal mas ideia minha (minha) 100% original que nosso amigo @aphawk por pouco creditou a outra pessoa. Preguiça de procurar.. Aliás o amigo Paulão tá vivo! Ocupado e desmotivado a retornar mas tá vivo!  + uns abraços aí meu velho!

 

  Em 25/02/2025 às 04:49, Renan Trevisan casini disse:

"Sou um Plâncton", me alimento de luz.. 

Expandir  

"©️" !. Esqueceu de completar: todo mundo come você e você não come ninguém 😁

Postado
  Em 25/02/2025 às 12:29, .if disse:

que usa as mais sinistras entidades do c : struct & union e campos de bit... mas acho que nem vou te explicar. Afinal não sou do ramo pedagógico, lembra? Mas tentemos uma mais "simples":

Digamos que o bit 13 da variável unsigned int rele seja o solenoide_saída

Expandir  

 

Buenos dias!!!

 

Então, esse script que postei, também permite nomear os pinos do 595, Ex.

 

#define solenoide_1 20 (Digamos que seja D20).

E também:

#define solenoide_2 20 (Pino 20 dos 595).

 

A diferença é no comando para chamar/executar,  Ex:

 

digitalWrite (solenoide_1, HIGH);

 

E também posso chamar:

 

ciWrite (solenoide_2, HIGH); ou LOW.

 

A única diferença é que no Setup, não dá para definir: pinMode (solenoide_2, INPUT); ou OUTPUT. 

 

Porém, você consegue nomear todos os pinos dos 595. (Só adendo)...

 

  Em 25/02/2025 às 12:29, .if disse:

você inverteu o soquete e não pressionou direito o opto no soquete só pra me irritar, né?!

Expandir  

😂😂😂😂😂..

 

Estava na pré montagem, só alguns pinos do soquete soldados, para visualizar o layout.. 

Ainda estou Workando por baixo.. trabalho da Po***, jumpear tudo isso.. kkk

 

 

  Em 25/02/2025 às 12:29, .if disse:

E funcionou invertido?!

Expandir  

 

Sim cara! Chaveou todos os relés, esqueci de filmar antes de passar para a pcb, e atracou com força ainda..!!.. quase um contator... kkkk..

 

O melhor foi: GND 5V, continuidade para: GND 12V, do step down, nada, zero apito e para GND 24V, zero apito!!

Em breve termino,  e posto a engenharia maluca reversamente.... kkkkkk

 

  Em 25/02/2025 às 12:29, .if disse:

Té eu. delay é uma literal perda de tempo.

Expandir  

Tiro no pé!!

 

 

  Em 25/02/2025 às 12:29, .if disse:

pra isso o mc trabalha com interrupções. São uma mão na roda. E claro, saber como funciona, como, quando usar e etc. Qualquer errinho faz variáveis criar vida própria e o sistema tomar decisões erradas. .. olha este artigo do G.T. semi tudo a ver...

Expandir  

 

Sim!! Uso elas também, tipo, contador de garrafas, é um sensor infravermelho, passou garrafa ali, tem que contar, prioridade. Mas realmente,  tem que ter sabedoria para usar, se não vira salada.. (Aqui cabe um argumento sobre uso dos 595, PWM, e portas INT, são limitadas, apesar das PWM's não,  dá para editar.

 

Só analógicas q detesto!!! Coisa instável da po**... kkk.. mesmo usando (AREF EXTERNAL), tirrando média, não me desce.. detesto... kkkkk

 

 

  Em 25/02/2025 às 12:29, .if disse:

Já eu, tenho nóia por eficiência/baixo custo. Há algum tempo publiquei um Vídeo com um pic10f2xx acionando um display lcd 16x2 com um (pasme.. 01) pino apenas. Foi só um autodesafio pessoal mas ideia minha (minha) 100% original

Expandir  

 

Eu chego lá ainda.. kkk 

Ando brincando com os TFT's da vida,  16 pinos.. kkkk...

 

  Em 25/02/2025 às 12:29, .if disse:

"©️" !. Esqueceu de completar: todo mundo come você e você não come ninguém 😁

Expandir  

 

Boa!!! Kkkk Boaa!!

 

Haa, tentei rodar o osciloscópio no Proteus,  meu I5, 6°gen, 12Gb DDR4, SSD NVMe, arregou.. kkkk fico nas casas de 80% de CPU.. 

Mas saiu uns prints, vou postar.. 

 

Abrass, vou ler o artigo.. 

  • Membro VIP
Postado
  Em 25/02/2025 às 12:29, .if disse:

Preguiça de procurar..

Expandir  

Não achei e não procurei mas fiz outro Vídeo pro c v...

https://i.imgur.com/ix9l5P9.mp4

 

De fato usei o conceito das sinistras struct & union & campos de bit

struct l_b0
{
unsigned _dummy:2;
unsigned l_rs:1;
unsigned l_en:1;
unsigned l_dt:4;
};

union 
{
struct l_b0 sb;
unsigned char lcd8;
} lcd_bus;

#define LCD_DATA lcd_bus.sb.LCD_DATA //4 bits: dados pro display
#define LCD_RS lcd_bus.sb.l_rs //1 bit : comando/dado
#define LCD_EN lcd_bus.sb.l_en //1 bit : enable
#define PORT8 lcd_bus.lcd8

... mas acho que o fonte todo é desimportante.. a não ser que você insista muito muito muito 😜 afinal ninguém em sã consciência deve querer fazer um mc tão pequeno acionar o display. . Além de ter aqueles filtros malucos pra separar dados que algo me diz que pouquíssima gente vai entender/interessar:

readeTransferncia02.png.e2dfb25f1143d99b4bd7bcc16349e34d.png

 

  Em 25/02/2025 às 13:37, Renan Trevisan casini disse:

zero apito e para GND 24V, zero apito!!

Expandir  

Isso é bom. Só não te esqueças de distanciar os circuitos o máximo que der no layout. Afinal não dar apito não significa boa isolação. Teste de isolação é xatinho de fazer. Tem-se que possuir um megômetro. Pra medir a R ele gera alta tensão de alguns kv. Se sua nóia atingir este nível, cogite possuir um. Bem carinho... dá até pra fazer um gerador de alguns kv só pra teste mas.. de novo, depende do nível da nóia...😜

  Em 25/02/2025 às 13:37, Renan Trevisan casini disse:

rodar o osciloscópio no Proteus,  meu I5, 6°gen, 12Gb DDR4, SSD NVMe, arregou.. kkkk fico nas casas de 80% de CPU.. 

Expandir  

Isso é otimizável.. p.ex. não simular peças óbvias, p.ex. reguladores de tensão, capacitores, indutores - se desnecessários pra simulação, configurar peças como digitais - p.ex. leds, colocar porta lógica no lugar de transistor, usar resistores de pullup/down que são digitais, e alguns muitos etc obtidos por empirismos ...

  Em 25/02/2025 às 13:37, Renan Trevisan casini disse:

Só analógicas q detesto!!! Coisa instável da po**... kkk.. mesmo usando (AREF EXTERNAL), tirrando média, não me desce.. detesto...

Expandir  

Bem.. pra cada desafio, uma solução. A instabilidade pode ser contornada por filtros R & C, sw - sua odiosa média - mas o que você não sabia: o layout do circuito tem que ser bem projetado de modo a evitar, ruídos, correntes parasitas e alguns etc...

  Em 25/02/2025 às 13:37, Renan Trevisan casini disse:

Eu chego lá ainda.. kkk 

Expandir  

neste caso.. é melhor mesmo você esperar kk

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!