Automação residencial em módulos

Eu vi, depois passa mas detalhes dos seus módulos. Mas pelo menos no meu caso vou fazer tudo do zero mesmo, dá mais gosto. Mas umas idéias são sempre bem vindas :D.

Pessoal, artigo interessante para reduzir o consumo do arduino

Tenho mais detalhes do Módulo Switch em: Módulo para automação residencial com ScadaBR - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Viva malta,

Isto tem estado um pouco parado e hoje tive um tempinho para começar a testar algumas coisas.

Antes de mais, a tal fonte comutada que estavamos a falar no outro dia é baseada no LM2577... Não estou a ver aquilo a servir de Buck/Boost, mas para ser sincero ainda não testei e, pior, não tenho acesso a um osciloscópio para ver a saída. :frowning: No entanto, fica a informação.

Quanto aos módulos nRF24L01, creio que a alimentação das placas do Arduino não é limpa o suficiente para eles. O mega está fora de questão para usar com estes módulos sem filtragem adicional e o nano tem funcionado mas ocasionalmente falha. Estou com as placas a cerca de 60 cm uma da outra e vai falhando. Dito isto, ainda não percebi exactamente se isto é problema de software.
A biblioteca que estou a usar tem imensa "merda" que só estorva e enquanto não limpar aquilo e mergulhar dentro das bibliotecas não estou a ver que seja muito usável (ela também ocupa uma quantia jeitosa de Flash).

Quando tiver um tempinho ligo outro computador num canto da casa e levo o outro para o outro canto para termos uma ideia da distância a que se pode usar isto. Isto, claro, com paredes pelo meio.

Para terem uma ideia, com os módulos afastados um do outro cerca de um metro tive isto:

Now sending 5986689...ok...Got response 5986689, round-trip delay: 25
Failed feedback = 40
Failed sent =9
Transmitted =5793
Now sending 5987717...ok...Got response 5987717, round-trip delay: 23

O numero a ser enviado é o millis e cada telegrama é enviado sensivelmente de segundo a segundo.

Bom... estou a ver que existe um motivo muito bom para estes chips serem tão baratos... e o motivo é mesmo serem uma merdinha.

Usar qualquer biblioteca é um pesadelo. Parece que só o exemplo funciona... e mesmo assim só às vezes. Se tentar fazer seja o que for sem ser na temporização e na ordem da biblioteca o sistema deixa de funcionar.

Estou a ponderar se vale a pena perder tempo a escrever um driver para isto... :\

Agora até eu fiquei com duvida. Será que vale a pena? e meu quarto tem muita interferência, esse módulo não serviria em nada.

Bom... decidi perder mais algum tempo com a biblioteca do maniacbug e reparei que a função de write colocava o chip em power down (não imagino porque car**** lá estava essa função) e após retirar essa função a comunicação fica bem mais estável pois o chip está acordado e envia os pacotes de forma confiável.

Não sei como será para comunicar com mais módulos em rede, mas para já quero testar isto dum lado ao outro da casa e depois então faço um programa que ligue a dois ou mais nós.

Vou testar com um contador e ver do outro lado quantos números da sequência (n+1) falharam do outro lado da comunicação. Primeiro na mesa, depois dum lado ao outro da casa.

Deixei dois nós a comunicar um para o outro (uma direcção) e houve um pacote que falhou em cerca de 5000. Isto dum lado para o outro da casa que será qualquer coisa como uns 7 a 8 metros talvez.

Apesar de ter ficado de férias nas últimas 3 semanas (voltei no final da semana passada), acabei não tendo tempo nem cabeça para fazer nada com relação à automação (só passar os eletrodutos comunicando as caixas 4x4, finalmente primeira laje concretada! :stuck_out_tongue_closed_eyes:).

Estou com uns módulos nRF24L01+ em casa, vou ver se ainda essa semana começo a mexer neles. bubulindo, depois que você corrigiu o problema da biblioteca, testou novamente os módulos no Arduino Mega/Uno? Funcionaram sem problemas? O problema estava na biblioteca mesmo ou os módulos são muito sensíveis à variação de tensão mesmo?

Estava pensando em comprar um módulo com antena externa com amplificador de sinal (nRF24L01 + PA + LNA), para ver se consigo uma comunicação boa entre um módulo com e sem antena externa. Mas pelo o que entendi, esse módulo com antena externa só aumenta a distância de transmissão do módulo, mas não de recepção. É isso mesmo? Porque se for, não adianta muito utilizar esse módulo no master, pois os slaves mais distantes também precisariam de uma antena dessas.

Viva,

Eu estava a testar com um Seeeduino (prefiro aos Arduinos originais) e um Arduino Nano dos chinocas.
Ainda não testei de novo com o meu mega (que também é dos chinocas), mas acredito que o problema nele fosse mesmo da fonte de alimentação e não do software.

Posso dar mais uma tentativa... mas se calhar vai demorar porque tenho paredes para pintar e daqui a dias saio para mais um mês de trabalho.

A minha modificação foi no método write(), onde comentei a linha que chamava a função powerdown.

E quanto ao módulo com antena externa com amplificador de sinal (nRF24L01 + PA + LNA), será que ele além de ter mais potência de transmissão também tem um maior alcance de recepção?

Pois... isso não sei.

Só tentando ver a sensibilidade do chip e da antena ou testando. :\

No meu caso a antena não é precisa, por isso não me preocupei com isso.

Olá a todos, depois de ler este topico e outros forums tambem estou como voces a tentar descobrir qual a solução ideal para uma automação residencial.
Em tempo já trabalhei com uma empresa portuguesa que fazia a implementação de domotica em casas em fase de construção o que parede ser o caso de alguns.
Pois bem em minha opiniao e pela experiancia que tive a melhor opção é sem sombras de duvida um barramento rs485 e alimentação de caixa em caixa eles utilizavam um cabo com 2x1mm preto e vermelho para os 12V e dois 0,5 entrelançados para os dados. Uma fonte de 12v para todos os modulos e posso dizer-vos que a maior parte das casas já funcionam a mais de 5 anos sem problemas, as vezes uma ou outra fonte vão ao ar mas isso é normal.
A grande entrave era o preço, daí eu andar por aqui a tentar desenvolver o sistema para a minha casita que tem que ser uma coisa low-cost.

cumps

Holdman-2004

holdman_2004,

bem-vindo ao clube :smiley:

holdman_2004:
Olá a todos, depois de ler este topico e outros forums tambem estou como voces a tentar descobrir qual a solução ideal para uma automação residencial.
Em tempo já trabalhei com uma empresa portuguesa que fazia a implementação de domotica em casas em fase de construção o que parede ser o caso de alguns.
Pois bem em minha opiniao e pela experiancia que tive a melhor opção é sem sombras de duvida um barramento rs485 e alimentação de caixa em caixa eles utilizavam um cabo com 2x1mm preto e vermelho para os 12V e dois 0,5 entrelançados para os dados. Uma fonte de 12v para todos os modulos e posso dizer-vos que a maior parte das casas já funcionam a mais de 5 anos sem problemas, as vezes uma ou outra fonte vão ao ar mas isso é normal.
A grande entrave era o preço, daí eu andar por aqui a tentar desenvolver o sistema para a minha casita que tem que ser uma coisa low-cost.

Eu não discordo do que dizes que uma rede com fios é melhor que uma rede wireless. Prova disso é o facto que aplicações wireless ainda não são muito utilizadas na indústria e sempre que possível é usado um profibus ou semelhante baseado no RS-485.
Mas para algumas aplicações ou em casas velhas, passar canalizações novas incorre num custo que pode ser proibitivo para o benefício que se tira do sistema.

Esta solução dos rádios nRF24L01 creio ser boa... mas ainda não vi como funciona em rede. Até agora só usei de ponto a ponto.

No meu caso a aplicação é nova, estou colocando eletrodutos entre todos os nós, então o RS-485 possível sem muitos problemas. Mas me assustei quando fiz o teste de bancada com 3 nós (1 master e 2 slaves) e a falha de um nó (na alimentação) causou falha na comunicação dos outros dois nós. Não sei se o fato de eu estar utilizando o CI SN17576, que é bem antigo, foi o problema, mas fiquei com um pé atrás em utilizar o RS-485, pois se for dessa forma mesmo, uma falha em um nó vai causar toda a rede a parar de funcionar, e descobrir qual é o nó problemático vai ser complicado.

Por conta disso e pensando deixar a rede mais "robusta" (mais facilmente expansível e com mais possibilidades), estou começando a estudar o nRF24L01+, que é um padrão wireless relativamente seguro e difundido, com bastante possibilidades e barato (o módulo sai por pouco mais de 1 dólar!). Vou começar a fazer alguns experimentos essa semana, já encomendei um módulo com antena externa, vamos ver qual a capacidade de comunicação desses bichinhos. Mas de último caso, existem bibliotecas que implementam rede mesh com comunicação full duplex. Há limitações, mas acredito que é uma boa solução.

Finalmente tive tempo. Esta aí minha primeira versão da placa de interruptor Simples (caixa 4x2).
Tem controle de duas cargas, 2 molex para botão touch + led e 3 molex para sensores analógico ou digital.
Ainda falta a malha GND.

Sugestões?

Parabéns, mardden, ficou muito organizado! Queria conseguir organizar desse jeito xD.

Também consegui um tempo, no meu caso fiz experimentos com o nRF24L01+. Depois de quebrar a cabeça para entender porque o exemplo só funcionava quando queria (linhas comentadas demais), achei o resultado bem satisfatório. O alcance foi melhor do que eu esperava, para módulos tão pequenos. Essa semana deve chegar o módulo com antena, daí testo tanto o alcance de transmissão quanto de recepção.

E se o módulo com antena não resolver o problema, devo utilizar o RF24Network. Mas mesmo que o alcance seja bom com a antena, e não seja necessário fazer uma rede (o master consegue se comunicar diretamente com todos os slaves), a vantagem de utilizar a RF24Network é que o master não vai precisar questionando sempre os slaves sobre os estados: quando houver algum evento, o slave pode se reportar diretamente ao master, o que com o RS485 não é possível.

Gostei tanto que fiz uma outra PCI, dessa vez utilizando o nRF24L01+ e um módulo LM2596 externo para fornecer 3.3V para o sistema (não me senti muito confortável com o LM2576, uma de minhas placas já estava com problema no step-down, e o custo iria sair maior do que comprar essas placas prontas).

Depois de uma revisão nas placas, devo encomendar algumas para teste :D.

edit: testei a classe RF24Network, e pelo menos a comunicação entre dois pontos funciona muito bem! Tempos pequenos entre comando e resposta, biblioteca simples de usar, estou cada vez mais decidido a ficar no nRF24L01+ mesmo :D.

LegendBR:
E quanto ao módulo com antena externa com amplificador de sinal (nRF24L01 + PA + LNA), será que ele além de ter mais potência de transmissão também tem um maior alcance de recepção?

Respondendo minha própria pergunta: acho que esses módulos só funcionam com alcance estendido em par/rede. Testei comunicar um módulo com antena e outro sem, e o alcance é praticamente o mesmo se estivesse utilizando dois módulos sem antena. Então vai na topologia de árvore mesmo, mas não devo ter problema.

O próximo passo é testar essa topologia. Depois vou testar três módulos (raiz - tronco - folha) para ver se a biblioteca funciona bem mesmo.

Opa LegendBR, Obrigado. Fiz o roteamento manualmente módulo por módulo. Primeiro a fonte, depois os triacs+moc, rs485 e por último o atmel. No início você acha que não vai caber tanto componente na plaquinha, mas no final consegui deixando as trilhas em apenas uma face. Fiz uns testes com dryfilm na confecção da pcb e gostei muito do resultado. Acho que eu mesmo vou confeccionar as pcb's. No final de semana vou fazer uma com esse layout e posto as fotos aqui.

A proposta do nRF24L01 é muito boa, principalmente para usar em casas já construídas. Não precisa fazer muita mudança na estrutura.

Como estou construindo praticamente do zero, tive mais liberdade na distribuição dos eletrodutos. Atualmente a parte de conduítes, reboco esta tudo pronto. O pedreiro começou a colocar o revestimento hoje. Ou seja, estou bem atrasado no projeto :frowning:

Vou continuar seguindo o raciocínio da rede RS485 e fonte chaveada com LM2576. Alias já comprei todos os componentes menos os atmel. Minha idéia é alimentar os circuitos com uma fonte de computador (de boa qualidade claro) pegando a saída de 12V. Caso uma fonte não seja suficiente por causa da distância, colocarei outra no meio do caminho (deixei espaço para isso).

LegendBR, você tem exemplo ou fez algum documento sobre a última versão de sua lib do rs485?

Sobre sua placa, a luz do led não vai atrapalhar a iluminação dos botões touch? O espelho é outra coisa que estou pensando em como fazer. Acho que vou desenhar e levar para alguma gráfica que faz plotagem com vinil. A liberdade na criação esta limitada apenas na imaginação. Vi um conceito muito interessante de interruptor que tinha o formato da planta da casa. Cada cômodo seria um botão. Pensei em fazer uma outra pcb onde iria os leds smd + antena touch e colar atrás do espelho.

LegendBR, não tiveste problemas com falhas de comunicacão?

Eu usando a biblioteca do ManiacBug de quando em vez tinha pacotes que chegavam, outras que o feedback não chegava.
Quando me aventurei em fazer código com a biblioteca tinha um pacote que chegava e perdia prai uns 20 para esse chegar. Foi quando percebi que a funcão de envio desligava o chip e aí, depois de mudar a lib, as coisas melhoraram mas ainda caíam pacotes.
Tu notaste isso?

O que eu reparo é que estes chips são algo difíceis para estabelecer uma comunicacão bidireccional uma vez que o chip ou fala ou ouve a cada instante. Então numa configuracão como a que vocês estão a criar vai ser um desafio interessante de conseguir escalonar isso. :slight_smile: