Rele controlado via HSNet | André Novelli
Home » Rele controlado via HSNet
Rele controlado via HSNet
Como parte de um projetinho de automação residencial, eu queria controlar uns Reles On/OFF. A rede que eu escolhi para tal foi o RS485 e o protocolo, o HSNet. Este protocolo é muito interessante e simples, estou aprendendo muito com ele.
Porque RS485 ?
O RS485 é um barramento muito robusto, largamente utilizado na indústria e de implementação muito simples. São apenas 2 fios de dados em par trançado e os limites de distância são bem altos e suficientes para uso dómestico.
Porque HSNet ?
A resposta é simples! Vale à pena! Vale à pena para aprender como funciona e melhorar o meu nível de programação, vale à pena proque é um protocolo rápido, vale à pena porque a implementação é muito simples. É a primeira vez que eu utilizo um protocolo tão simples e funcional! Outra coisa muito bacana é que o HSNet funciona em controladores pequenos e baratos. Compensa muito usar para tarefas simples, como ligar ou desligar um simples Relê!
Uma vez definido o barramento e o protocolo, bora montar o hardware!
O esqueminha é simples e muito fácil de se fazer em casa, com técnicas DIY:
No meu caso, fiz as placas utilizando o processo de transferência térmica de tonner (aka "esquema do ferro de passar roupa").
No lugar dos CI's IC1 e IC2, eu soldei soquetes DIP 8 pinos para facilitar a montagem e o processo de gravação do pic, que no caso é um 12F683.
Uma vez montado o Hardware, bora programar o PIC!
<link para o firmware>
Testando a plaquiha
Para botar a plaquinha pra funcionar, eu me utilizei de um conversor USB > RS485 com controle automático de fluxo. Ele emula através do CI FT232RL, uma portas serial virtual no SO e através do CI MAX485, converste o sinal para RS485.
Com a ajuda do Diego, autor do protocolo HSNet, eu montei um pequeno script em python para testar a funcionalidade do protocolo e em breve irei disponibilizá-lo aqui.
<link para o script> - Em breve
<fotos e prints dos testes> Em breve
Um pouco sobre a configuração do protocolo.
No arquivo relay_node.c, estão as configurações básicas do módulo.
#define DEFAULT_MODULE_ID 0x00030000 // Module Id ( 16bit what are you?) (16bit who are you?) 0003 One chanel relay board
#define DEFAULT_ADDRESS_HIGH 0x19
#define DEFAULT_ADDRESS_LOW 0x37
A primeira linha define o tipo de módulo, no caso 0003 é um rele
A segunda e terceira linha definem o endereço do módulo e devem ser alterados de acordo com a documentação do protocolo para permitir a utilização de mais de um nó HSNet no mesmo barramento.