Go Down

Topic: Automação residencial em módulos (Read 80215 times) previous topic - next topic

mardden

LegendBR,

pull-up
http://www.fourstar-dy.com/Uploadfile/20081110104055769.gif

http://www.fourstar-dy.com/en_view.asp?id=176

LegendBR

Esse "pull-up/down" (Failsafe Bias Resistors) eu conheço, mas o que o Hugo falou é que eu poderia fazer um pull-up na alimentação, para resolver o problema de perdas (de potência - ddp) por resistividade.

HugoPT

Ok se calhar a palavra pull-up será exagerada mas a ideia é a seguinte.Imaginemos ter uma bateria de 12V, se medir logo há saída dela terei la os 12V(considerando que esta carregada claro) e agora ligo-lhe um cabo com 300metros.Vou a correr para a outra extremidade do cabo e claro que quando vou medir não tenho la os 12V que tinha na bateria devido á resistividade do cabo ao longo dos 300 metros.Suponhamos que nesses 300 metros tenho uma queda de 4V, como as minhas placas usam um 7805 necessito no mínimo de ter a entrar nas placas uns 7V,logo estou em risco eminente de a minha alimentação falhar nos nós.
Uma simples solução pode passar por puxar esses 8V nesse ponto colocando uma outra fonte paralela e assim voltar a tensão aos 12V.
O que dara para mais uns valentes metros.
   ______^^^^-----300metros--------________º
  |                                                             Neste ponto coloco uma alimentação paralela e reforço a alimentação elevando-a
_|_ 12V DC                                                para 12V novamente                                             
-                                                         
|
|_____________________________________

No final podes descobrir medindo as perdas em de quanto em quantos metros  é que tens de puxar a alimentação.
Um transformador de 12V com uma boa filtragem será uma boa solução.

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

bubulindo

Alguém tem experiência em perdas de sinal com redes RS485?

Isto porque eu tenho ideia que a rede aguenta com centenas de metros (dependendo do baud). Em todo o caso podes sempre baixar o valor das resistências de 1k para 680 por exemplo.
Dá uma vista aqui:

http://www.maximintegrated.com/app-notes/index.mvp/id/3884
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

LegendBR

#274
Aug 22, 2013, 03:52 am Last Edit: Aug 22, 2013, 05:55 am by LegendBR Reason: 1
HugoPT,

Imaginei que era algo nesse sentido mesmo, é uma ideia, mas de qualquer forma não vou utilizar os conectores RJ-45, vou deixar a conexão de todos os fios independentes, por um outro motivo que vou citar abaixo.


Finalmente consegui um código que funciona legal. Ainda estou tendo alguns erros de timeout, mas pelo menos agora consigo comunicação com 57600 de baud rate, e também acho que o debug por serial atrapalha. Agora o tempo entre comando e resposta está entre 8 e 10 ms. Alguns ajustes nos delays também deve melhorar.

Também tive problema com algum componente do conversor DC-DC, pois ele está passando cerca de 4,8 V ao invés dos 5V, e isso está fazendo com que seja bloqueada a comunicação de toda a rede (master e 2 slaves). Porém, quando eu desligo a alimentação (VCC) do nó com problema, o outro consegue se comunicar sem problemas. Por isso acho mais prudente ter uma forma de tirar a alimentação de somente um nó, para no caso de falha do sistema ter como desligar nó a nó para verificar qual falhou (espero que não falhe, mas vai saber! xD).

Segue em anexo os novos arquivos da biblioteca MasterSlaveFuji. Para o usuário, o que muda é que foi removido o sinal (Positive / Negative, não tinha muito sentido) e a forma de verificar se tem mensagem nova, que sào:

Code: [Select]

boolean MasterSlaveFuji::checkForMessage()


Verifica se já há alguma mensagem. Melhor utilizado nos slaves, que não precisam ficar aguardando mensagem, ou seja, podem executar outras ações enquanto não recebe algum comando.

Code: [Select]

boolean MasterSlaveFuji::waitForMessage(long timeout)


Fica aguardando enquanto não recebe mensagem. Melhor utilizado no master, que fica aguardando a resposta do slave depois de mandar um comando.

Agora é redesenhar as PCBs. Será que um dia chego em uma versão final? XD

edit: revisão 2 do slave em anexo.

LegendBR

Estava pensando em fazer uma mudança um tanto drástica na rede... tipo, estive fazendo umas cotações de componentes para a conversão DC-DC utilizando o LM2576 (que me parece ser a forma mais simples de fazer a conversão sem utilizar um conversor linear, que eu teria que utilizar um dissipador de calor para dissipar os possíveis 3W de potência dissipada), e o custo dos componentes somente para esse circuito seriam uns US$ 6,00 (US$ 2,50 do LM2576, US$ 2,00 do indutor e US$ 1,00 do diodo, sem contar os capacitores). Existem no mercado fontes AC-DC 5v prontas por quase metade desse preço, comprando em quantidade. E dessa forma criar uma rede wireless com nRF24L01 acaba ficando mais interessante, pois fica mais fácil implementar/expandir (basta adiciona nós) e mais barato (o transceiver nRF24L01 é mais barato que um MAX48* original). Sem contar que não precisaria passar mais eletrodutos, fios, etc.

Só fica a dúvida: será que o nRF24L01 tem capacidade de se comunicar através da casa? Sei que o nRF24L01 funciona em "mesh" (tree branch), mas ainda fico meio receoso sobre a efetividade da comunicação, estando os nós dentro das paredes.

E aí, o que acham?

bubulindo

Acho que encontraste um parceiro nesta tua busca com o nRF24L01... :)

Eu desenhei uma plaquinha para o nRF24L01... mas acabou por ser uma development board e não propriamente um nó que possa usar numa rede caseira. O meu problema é diferente do teu já que poucos nós serão precisamente iguais para as minhas necessidades e não me dediquei a desenhar shields ainda. 

Até agora deparei-me com um problema chato com o nRF, aliás, com o Arduino Mega. A fonte de alimentacão do Arduino Mega tem ruído a mais para estes rádios... logo isso é algo a ter em conta, ou seja, quando fizer um módulo tem de ter uma muito boa fonte DC para não dar problemas com isto.
Sem fazer nada no Arduino Mega não consigo comunicar entre processadores. Ao adicionar o único condensador que tinha na minha caixa (um muito baixinho), consegui fazer comunicacão com o Mega apenas numa direccão. Ou seja, o Arduino manda dados, mas não recebe a resposta e assume que houve uma falha na comunicacão, quando na realidade o outro recebeu dados.
Na Coreia não é simples de encontrar condensadores por isso vou ter de esperar um pouco para resolver isso. Já vi quem tenha soldado condensadores no módulo nRF24L01 para resolver este problema.

Quanto à fonte de alimentacão, eu comprei esta http://www.ebay.co.uk/itm/330987790542?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
Eu estou a planear usar tudo em 3,3V já que o nRF precisa de 3,3 de forma bem precisa. E eu não tenho necessidade de grandes velocidades no Arduino, estou até a pensar usar um clock de 1MHZ para muito do que vou fazer e usar pilhas. Daí o conversor buck/boost. 
Neste campo, o melhor que encontrei foi isto: http://www.pololu.com/catalog/product/2119 mas é um pouco caro.

No campo do software, estou a olhar para as bibliotecas do ManiacBug.

http://maniacbug.github.io/RF24/
http://maniacbug.wordpress.com/2011/11/02/getting-started-rf24/

Ele tem um driver para o nRF (usado na minha experiência), e tem também uma classe para fazer uma rede com estes bichinhos. Nota que a rede que ele implementou é em árvore. O que, não é impedimento nenhum, mas tem problemas de redundância. Se desligares um módulo intermédio, os módulos inferiores ficam inacessíveis.
Um problema que estou a ver com esta biblioteca é que ele tem um bloating relativamente grande. Ainda não limpei tudo, mas em funcões de print (para troubleshooting) e strings deve ir um pedaco de espaco de código.

Se ele tem capacidade de comunicar dentro de casa?? Isso tens mesmo de esperar até eu poder experimentar na minha, que poderá ser daqui a semana e meia. Mal tenha resultados, posso meter aqui.

Eu estou a ver na mesma módulos para medir a temperatura e humidade na casa... contador de electricidade, gas e água e um interruptor wireless para a luz da garagem.

Outro ponto interessante, há quem já tenha adaptado esta mesma biblioteca para usar na raspberry pi... se bem que podias fazer o mesmo com nós RS-485

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

LegendBR

Pois é, estou achando que vou acabar indo no nRF24L01 mesmo... mas achei estranha uma informação que você postou. Na página de um módulo no DX, diz que a alimentação é entre 1,9 V e 3,6 V. Não será este módulo que você está usando que tem essa limitação? Porque eu estava pensando em utilizar um conversor AC-DC para 5V e um LM7833 para alimentar o nRF24L01 (ainda fico um pouco incomodado em alimentar tudo com 3,3 V e ficar limitado, devo colocar um jumper para selecionar a alimentação do ATMega328).

Você vai colocar algum módulo dentro de parede? Este é meu medo, acho que isso vai diminuir bastante o sinal... será que colocando o master mais potente, com antena e etc., elimina a necessidade de topologia de árvore? Ou o master só pode se comunicar com 6 nós?

bubulindo

3,3V é mesmo por conveniência.

Eu não tenho um osciloscópio para ver o que a fonte de alimentacão do Arduino Mega está a fazer... mas o facto da alimentacão não ser estável pode provocar problemas no chip e não propriamente o nível a que está. Em todo o caso, sem osciloscópio apenas me posso guiar pelo que li na net.

http://projectsfromtech.blogspot.kr/2013/05/nrf24l01-arduino-communication-on.html
http://forum.arduino.cc/index.php/topic,71574.0.html

Vi algures outro site com formas de onda mas não encontro agora. :\

A mim incomoda-me comprar uma fonte XPTO para uma placa e depois espetar lá um 7833 para ficar com outro nível. É preferível ficar tudo no mesmo. Como tu pretendes alimentar tudo com um barramento DC, não tens problemas na parte de accionamento de relés ou relés de estado sólido metendo um opto-isolador no circtuito.

Não estou a pensar em colocar nada na parede. Primeiro as paredes são finas, não são muito boas e a esposa (e eu, para ser sincero) não ia gostar muito de ver uma tampa para ter um módulo dentro da parede.
Prefiro esconder por trás dum móvel ou algo do género e como não tenho uma rede de alimentacão teria sempre de ter um carregador para alimentar o sistema. Ou baterias.

Um nRF só consegue comunicar com 6 nós ao mesmo tempo. Ou seja, podes receber dados em 6 pipes ao mesmo tempo aparentemente. Mas nada te impede de mudar o endereco dos nós para comunicares com mais nós creio. Isso ainda não experimentei para ver as limitacões. Se fizeres uma comunicacão polled, creio que não haverá problemas nisso.
A rede em árvore dá-te um alcance maior... já que cada módulo faz relay para outros.

Vou tentar ler um pouco mais sobre essa possibilidade. Para mim, creio que os 6 nós chegam... Tenho de ver melhor.
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

LegendBR

A ideia de alimentar tudo com barramento DC está sob análise. Se o módulos forem se comunicar sem fio, a fiação passando pelos módulos perde um pouco o sentido...

LegendBR

Estava vendo no MercadoLivre (eBay latino-americano xD), e tem uma fonte AC/DC (5v) por um preço razoável. O problema é que ela não é regularizada. Será que ela + um AMS1117 ficaria legal? Alguém consegue analisar alguma coisa dessa fonte através das imagens (componentes, modo que deve funcionar, etc.), para saber a qualidade / eficiência da mesma?

bubulindo

Não faço mesmo ideia de como essa fonte é feita. :\
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

HugoPT

Já alguma vez abriste um carregador dos chineses?
Essa foto é o que la iras encontrar  :smiley-mr-green:
Já reparaste no tamanho do condensador do secundário?
O funcionamento dessa fonte é super simples.
Tem uma ponte rectificadora, um condensador para alisar o ripple onde resultará uma tensão de perto 300V, um oscilador PWM a comutar um transístor em serie com o primário da"amostra de transformador  XD"
No secundário um "misero" condensador de filtragem com um díodo a fazer rectificação de meia onda.
Do mais basico que existe.Nem deve ter informação de retorno do secundário para decteçao de overload ....
Eu fugia dessa "fonte"
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

bubulindo

Isto é capaz de ser interessante então.

http://www.eevblog.com/2012/11/20/eevblog-388-apple-clone-usb-charger-teardown/

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

LegendBR

Acho que vou ficar com a alimentação em 12 mesmo, então, e usar um step-down LM2596 desse que o bubulindo postou. Mas certamente esses componentes são chineses, não são originais (só o LM2596 custa US$ 2), será que não terá problema?

Go Up