LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: nonnux em 03 de Agosto de 2012, 18:41
-
boas tardes!
procurei pelo fórum e não encontrei nada parecido.
estou a fazer um sistema de rega para poder ir de férias descançado :)
- liguei o arduino duemilanove a um LCD de 16x2. tudo funciona perfeito.
- liguei o meu sensor de humidade que são apenas 2 arames ligados ao arduino. tudo funciona perfeito. vejo no LCD a percentagem de humidade do vaso.
- liguei um relay de 220V (SRD-05VDC-SL-C) - o relay está num módulo completo, é só ligar ao arduino. tudo funciona perfeito. no LCD vejo ON quando a luz do led pisca, e OFF quando desliga. o valor da humidade tb é apresentado correctamente.
o problema: assim que ligo a tomada eléctrica à corrente, entre cada piscadela ON/OFF o LCD começa a apresentar caracteres estranhos. com reset tudo volta ao normal, até que assim que desliga o relay a primeira vez, lá começam a aparecer mais caracteres estranhos...
mais dados:
- o sensor de humidade está no PIN A0, com uma resistencia entre o ground e o PIN
- o LCD está nos pins D2, D3, D4, D5 e D11, D12 (os erros acontecem com ou sem o backlight ligado no PIN D13) - tenho ainda um potenciometro para regular o contraste
- o relay está no PIN D7
- o ground é partilhado por todo o circuito (liguei o ground do lado analog)
- o sistema esta a ser alimentado por USB (para já)
não faço a mínima ideia do que é que se está a passar, e tenho medo pois é só quando ligo a tomada 220V. será a placa do relay mal construída? será algum defeito no relay? será que o circuito consome demasiada energia?
-
O circuito é algo deste género ?
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Finteractive.usc.edu%2Fmembersmedia%2Fphoberman%2FrelayCircuit.gif&hash=d59ecb42dd20873b8ee2bac182c01f00a3850533)
É necessário colocar o transístor e o diodo!
-
sim! o circuito do relay é pré-fabricado e foi comprado no ebay
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg2.buyincoins.com%2Fsinedya%2Fone-channel-5V-relay-module_01.jpg&hash=f23286d899813a74dda15992e5a2d9f8382183f7)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg2.buyincoins.com%2Fsinedya%2Fone-channel-5V-relay-module.jpg&hash=ebedc358ce2e98b65c8fc2a0848592ffb5971ccf)
-
Tens aí uma foto de todo o sistema, em que se veja o arduino, o relé e o LCD?
-
normalmente estes reles ao dares estado 0, ou seja saída do arduino ligada, o rele fica desligado, e ao dares 1 na saída o rele desliga, e isso pode ser corrente insuficiente para trabalhar tudo ao mesmo tempo, ou então tens flutuações na massa entre arduino e rele,
-
Não percebi bem o que andre_f_carvalho disse, mas tenta ligar a uma fonte de alimentação em vez do usb.
-
aqui vai uma fotografia onde se pode ver tudo... não sei o quanto poderá ajudar :)
link directo para a foto: https://picasaweb.google.com/lh/photo/P5UMxBQBKy3ZxdEzQQqdStMTjNZETYmyPJy0liipFm0?feat=directlink (https://picasaweb.google.com/lh/photo/P5UMxBQBKy3ZxdEzQQqdStMTjNZETYmyPJy0liipFm0?feat=directlink)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh4.googleusercontent.com%2F-P3fspWmGwH0%2FUBwU_MKTp6I%2FAAAAAAAAL4w%2FqbrQ4gQHKOE%2Fs800%2F2012-08-03%252019.12.58.jpg&hash=773bb656c63f69f0b49e228999716deb75853cb2)
entretanto vou testar com uma fonte de alimentação em vez do USB
-
testei com uma fonte de 12V 800mA - dá os mesmos erros no LCD
-
Já tive problemas com cabos de comprimentom enor que esse para LCDs, mas vá.
Experimenta meter um díodo entre os 5V e a alimentação da placa do relé.
-
mas não será redundância? visto a placa do relay já o ter? não terá nada a ver com o relay deficiente? vou testar...
-
A placa tem um diodo em série com os 5V da alimentação? Não me parece.
-
o que está por baixo do C logo a seguir às resistências não será um diodo? parece...
-
o que quis dizer e que o rele pode estar a consumir em demasia a corrente da fonte, ja me aconteceu uma coisa parecida
-
Creio que o Njay estava a falar de um diodo para outra função....
-
o que está por baixo do C logo a seguir às resistências não será um diodo? parece...
E consegues ver que está em série com a alimentação do relé :D? Esse não será o díodo de "freewheeling" da bobina do relé :D? É por isso que esquemas é que é, análise de circuitos é com esquemas.
-
já coloquei um diodo em série com o vcc da place de relay. continuam a aparecer caracteres estranhos no LCD.
o circuito do LCD é este: http://arduino.cc/en/Tutorial/LiquidCrystal (http://arduino.cc/en/Tutorial/LiquidCrystal)
a esse circuito acrescentei apenas o relay e o sensor de humidade que fiz. este sensor liga ao VCC e ao tal PIN A0 com uma resistência para o ground. neste momento vou manter o diodo, pois parece-me que é uma proteção extra para o resto do circuito, pois estou com medo dos 220V :)
talvez até consiga fazer um desenho do circuito... vou tentar... até porque depois queria partilhar toda esta experiência!
-
esses fios de ligação ao LCD são autenticas antenas RF, o problema pode ser ruído ou algum fio trocado
-
os fios do LCD são fios de cabo de rede. não há nenhum fio trocado, além de já ter feito outros projectos com esse circuito, tudo funciona bem até ligar a tomada 220V. parece mesmo ruído já que os caracteres estranhos variam constantemente
-
Não é por serem cabos de rede que são melhores que outro fio qualquer, para fazerem o seu serviço têm de estar entrançados e ou tens sinais diferenciais em cada par ou tens massa e sinal em cada par, no primeiro caso é para minimizar ruido comum aos dois sinais diferenciais e no segundo é para o sinal ter sempre uma massa de retorno o mais proxima possivel.
Adiciona um condensador de 100nF soldado aos terminais do lcd, para tentar minimizar algum do ruido injectado na alimentação, mas o melhor era mesmo ligares o lcd directo na breadboard, que tem tanto espaço livre.
-
antes de mais, obrigado a todos!
adiccionei um condensador de 100nF ao VCC do LCD
liguei o LCD à breadboard
agora há mais distância entre o relay e o LCD
isto está cada vez mais estranho: após 1 ou 2 cliques no relay, o LCD só apresenta caracteres estranhos quando o Relay está com o led ligado, quando desliga o relay o LCD como que se apaga, nada é apresentado!
como fazer para entrançar os fios do LCD?
-
Coloca tambem um condensador de 100nF nos terminais de Vcc e Gnd do relé, do lado em que o ligas ao arduino portanto e mostra uma foto da montagem actual.
-
Já meti o condensador no lado do relé. o resultado é que ao segundo clique (após ligar os 220V), aparecem os caracteres estranhos, e depois o LCD não mostra mais nada...
Link directo para a foto: https://picasaweb.google.com/lh/photo/hszjGFmm5W1Scy8V9PhcU9MTjNZETYmyPJy0liipFm0?feat=directlink (https://picasaweb.google.com/lh/photo/hszjGFmm5W1Scy8V9PhcU9MTjNZETYmyPJy0liipFm0?feat=directlink)
(https://lh3.googleusercontent.com/-0_pA6OBW2Nk/UB0sSaAQWiI/AAAAAAAAL5I/20mzRUqlxmA/s800/2012-08-04%252015.05.40.jpg)
-
Vídeo que mostra os caracteres estranhos:
arduino + LCD + relay (http://www.youtube.com/watch?v=0OiC4ZaOb_U#ws)
depois e desligar os 220V com reset volta ao estado normal...
-
Experimenta encurtar os fios do LCD para metade do tamanho. Mete mais um condensador de 1 a 10uF na alimentação do relé (5V), depois do díodo (de preferência soldado mesmo no PCB). E tenta meter um díodo em série com a alimentação de 5V do arduino, ou seja, como fizeste para o relé. O díodo para o arduino e o díodo para o relé têm que "partir" do mesmo ponto.
-
encurtei os fios para 1/3 do tamanho, têm agora menos de 5cm - reconheço que ficou com muito melhor aspecto! no entanto não resolve o problema.
não posso soldar no PCB...
quanto a um diodo em série com a alimentação 5V do arduino, não sei a que te estás a referir... eu alimento o arduino com USB ou com uma fonte de alimentação externa... referes-te ao PIN 5V?
o circtuito está muito mais complexo, se bem que mais arrumadinho. vou tentar mesmo fazer um esquema para que se perceba melhor o que é que estou a fazer mal :)
-
Os fios estão soldados ao LCD ??? é que já tive um problema semelhante. Havia um mau contacto entre os fios. Tive de soldar tudo e depois começou a funcionar bem.
-
sim, os fios estão soldados por mim. não sou grande especialista, mas pelo menos tem funcionado com todos os prototipos que fiz.
aliás, volto a referir que, apenas quando ligo a ficha eléctrica que vai alimentar o motor aos 220V é que o LCD se passa dos carretos. todos os testes feitos foram com o USB e também com alimentação externa 12V 800mA
estou desesperado, queria tanto que as minhas plantas sobrevivessem às férias... todos os anos é a mesma história, e tenho pelo menos 6 plantas que não queria que morressem!
acho que vou desistir do LCD, vejo os valores que pretendo por serial no portátil, depois afino o que tiver a afinar por código em vez de botões e potênciometros... mas será que o arduino não se vai passar dos carretos também? seja como for, mesmo que haja reset, as plantas estando secas é para regar :)
-
Faz lá o esquema disso então ... aposto que ainda não colocaste o diodo que o Njay falou !
-
o diodo para o arduino não entendi o que é que ele sugeria... refere-se ao PIN dos 5V?
o esquema farei mais logo à noite, neste momento estou na varanda, já sem LCD :(
pode ser que se consiga solucionar este problema e um dia faço o upgrade!
-
pelo que percebi o diodo é entre a fonte de alimentação e os 5v da placa do relé ....
Mas acho que ele falou noutro rele entre a fonte de alimentação e o arduino.
Percebeste ?
Faz algum sentido (digo eu) , para que não haja nada a ir do arduino para o lcd (e vice-versa), pela alimentação.
Um esquema rápido demora menos de 5 minutos !!!
-
eu tenho o relé a ser alimentado via arduino... não via fonte de alimentação
e o arduino é que está alimentado via USB ou fonte de alimentação... como faço para meter um diodo entre o USB e o arduino? e mesmo que use a fonte de alimentação, é preciso componentes que não tenho, pois ligo directamente a ficha da fonte à entrada do arduino.
eu de certeza que demoro mais de 5 minutos a desenhar o circuito eheh!
-
Bom ... precisas de uma fonte de alimentação e de pelo menos dois diodos, e uns condensadores como o Njay falou ...
O esquema são só uns riscos para se perceber como tens isso ligado, não é preciso desenhares nada no eagle ou autocad!
-
eu tenho o relé a ser alimentado via arduino... não via fonte de alimentação
Pode ser daí que vêm as interferências. Alimenta o relé a partir duma fonte à parte (como os 5V duma porta USB). Tens que unir o GNG dessa fonte externa com o GND do arduino.
-
Muito obrigado! faz todo o sentido separar, mas também deve fazer sentido que sou um noob nestas andanças!
apesar de ser muito teimoso e persistente, acabei por desistir mesmo do LCD... e ainda bem que não perdi mais tempo com isso, pois acabei por encontrar mais 2 problemas com o meu sistema de rega. não tinham nada a ver com o arduino nem com a electrónica. só hoje tudo ficou a funcionar direito: tinha um motor muito fraco para a altura a que precisava de enviar a água e o sistema de distribuição de água pelas várias plantas precisou de um ajuste.
no entanto, não vou desistir de integrar o LCD neste projecto. aliás, depois das férias, pretendo até integrar o meu painel solar para alimentar o arduino (e o relé) - mesmo que de noite não haja energia, também não será necessário regar, podendo esperar pela manhã seguinte para activar o relé e dar uma regadela pela fresca :)
---
obrigado pela ajuda, já aprendi mais umas coisas!
...e, já posso ir de férias 8)
-
Tive o mesmo problema ao acionar uma contatora
arduino acionando um relê que acionava a contatora.
com a contatora ligada apareciam os caracteres estranhos, sem a contatora tudo ok.
a solução foi ligar outro relê na saída do primeiro.
parece que a contatora puxava muita carga e acabava interferindo no arduino.
No meu caso resolveu
-
E estão a colocar condensadores nas alimentações.E o Diodo no relay.
Que aconteceu me muitas vezes, e colocar os condensadores vem juntinhos ao LCD resolve.
-
4 anos!!! Deve ser o record!!!