Detectar corrente com Arduino

Boas.
Precisava de uma ajuda vossa.
Preciso de criar um circuito (com arduino) para detectar se existe corrente eléctrica ou não (a partir de um transformador de 9V).
Se não houvesse corrente (falha na rede), preciso de ativar um servo.
Nunca fiz nenhum projecto com o Arduino e por isso não sei se posso fazer como estou a pensar.
A minha dúvida é: Posso ligar um transformador de 9V a um pino input do arduino para saber se existe corrente?
Se sim, posso usar esses dados para programar o arduino para quando deixar de ter corrente, ativar um servo?

Obrigado desde já,
Ricardo

Precisas de algo deste género... e baixar a tensão que vai entrar no pino do Arduino para menos de 5 V. Eu apostaria em algo como 3V.

Também convém adicionares um díodo e um condensador para alisar a onda que sai do transformador.

NOTA: Estou a assumir que o transformador vai alimentar o Arduino. Se esse não é o caso, tens de usar algo que isole o sinal. Um Amplificador operacional, ou um fototransistor será o ideal e nesse caso, podes esquecer o divisor de tensão. Não ligues esse circuito se o transformador não está a alimentar o Arduino.

Pergunta idiota, se não tens corrente, que vais usar para actuar o servo?

A minha ideia era ter algo como uma pilha de 9V a alimentar o servo / arduino.
Depois reduzia a corrente do transformador de 9V para 5V, esses 5V iam para um pin input do arduino.
Se deixasse de ter os 5V, significava que tinha perdido corrente da rede, e com os 9V da pilha ativava o servo.
Mas como disse, nunca fiz nada com o arduino, por isso isto é só teoria.
Queria saber se é possível.

Não sei se a pilha alimentaria o servo durante muito tempo.

Queres explicar um pouco mais a aplicação?

Olá!

A sua idéia esta certa.

Adicionalmente o que precisa fazer é ligar uma fonte de 5V dessas de celular a uma tomada 110/220 V.

Depois leva os 5v para uma porta analógica do arduino.
coloque um resistor entre os 5 V eo arduino.

Lembre-se de interligar o GND do arduino com o da fonte.

Você também pode deixar o arduino ser alimentado pela fonte e quando faltar energia ele muda automaticamente para a bateria de 9V. Isso se seu arduino não for dos modelos antigos que tem um "jumper" para selecionar a fonte de alimentação.

Neste caso nem precisa baixar a tensão de 9 para 5 V.

O programa fica mais ou menos assim:

const int pino_analogico = A0;
const int pino_servo = 10;

void setup()
{
  pinMode(pino_servo,OUTPUT);
}
void loop()
{
  if(analogRead(pino_analogico) < 400)
  {
    digitalWrite(pino_servo, HIGH);
  }
  if(analogRead(pino_analogico) > 400)
  {
    digitalWrite(pino_servo, LOW);
  }
}

Abraço.

FernandoGarcia:
Adicionalmente o que precisa fazer é ligar uma fonte de 5V dessas de celular a uma tomada 110/220 V.

E ele vai ligar isto ao mesmo sítio onde o transformador vai estar ligado?

bubulindo:

FernandoGarcia:
Adicionalmente o que precisa fazer é ligar uma fonte de 5V dessas de celular a uma tomada 110/220 V.

E ele vai ligar isto ao mesmo sítio onde o transformador vai estar ligado?

Olá!
Não se entendi bem a sua pergunta mas, aqui no Brasil transformador e fonte é a mesma coisa.

Os componentes da montagem que sugeri são:

Arduino;
Servo;
Resistor;
Fonte (ou transformador) 110/220 V AC para 5 V DC.
Bateria(ou pilha) 9 V.

O servo e o arduino serão alimentados pela bateria (ou pilha) em caso de falta de energia na rede pública.

A fonte (ou transformador) ficará sem energia em caso de falha na rede pública logo, o valor lido na porta analógica será menor que 400.

Abraço.

É isso mesmo FernandoGarcia.
Vc entendeu o meu projeto (peço desculpa por não conseguir explicar bem).
Vc sugeriu uma coisa que eu já tinha pensado: alimentar o arduino enquanto houver energia, e quando a energia faltar, ele muda automaticamente para a bateria de 9V.
Mas como posso fazer isso?

bubulindo:
Não sei se a pilha alimentaria o servo durante muito tempo.

Queres explicar um pouco mais a aplicação?

A aplicação será, em caso de quebra de corrente, o servo (ou Solenoid ainda estou a pensar) irá ligar um interruptor (neste caso um gerador).

Ok... O gerador não tem já essa função? Existem geradores com um contacto que falhando a electricidade, iniciam automaticamente.

Em todo o caso... isso é algo que fazes com um relé de forma mais segura, barata e sem teres grandes problemas. :\

FernandoGarcia:
Olá!
Não se entendi bem a sua pergunta mas, aqui no Brasil transformador e fonte é a mesma coisa.

Eu entendi que transformador e fonte são a mesma coisa... mas se o transformador que ele falou inicialmente estiver ligado no mesmo ponto onde vais colocar a fonte de alimentação de telemóveis, o sistema não funcionaria, né?

Para ultrapassar isso, o Arduino faz um sistema com um comparador de tensão que comuta entre ambas as fontes. No entanto, duvido que isso funcione como uma UPS e o Arduino mantenha o processamento sem problemas. Creio que o que poderá acontecer é o Arduino fazer reset quando a fonte comuta.

Um chip que fazia isso são os que são usados para carregar baterias. Eles normalmente fazem essa gestão automaticamente e efectivamente para o chip que está a ser alimentado, a alimentação nunca é interrompida.

Em todo o caso, um relé, provavelmente faz o que pretendes de forma mais barata e simples. :\

bubulindo:
Ok... O gerador não tem já essa função? Existem geradores com um contacto que falhando a electricidade, iniciam automaticamente.

Sim, existem geradores com essa função, mas a diferença de preço é muito grande. (fica muito mais barato fazer este sistema)

bubulindo:
Em todo o caso... isso é algo que fazes com um relé de forma mais segura, barata e sem teres grandes problemas. :\

Peço desculpa mas não sei o que é um relé.
Mas pelo que percebi um "relé", é o que eu chamei Solenoid.
Esses Solenoides que falo são de 5V.

bubulindo:
Eu entendi que transformador e fonte são a mesma coisa... mas se o transformador que ele falou inicialmente estiver ligado no mesmo ponto onde vais colocar a fonte de alimentação de telemóveis, o sistema não funcionaria, né?

A ideia era o transformador alimentar o arduino enquanto houver energia. A ideia (que não sei se é possivel) era, assim que a rede falhar, o arduino passa a ser alimentado por uma pilha de 9V. Por sua vez o arduino ativa o Solenoid.
Peço desculpa pela confusão.

Isto é um relé.

Solenóide é o que está dentro do relé que faz activar os contactos do mesmo. Ou seja, solenóide + contactos = relé. :slight_smile:

O que eu digo é teres uma bateria e um relé com o contacto normalmente fechado ligado ao gerador. Se a corrente falhar, o relé fecha o contacto e o gerador, com a corrente vinda da bateria, inicia. Isso é um sistema contra falhas, porque com o Arduino não consegues garantir (ou consegues, mas com muito trabalho) que o gerador vai iniciar, porque o Arduino vai estar a processar.

Podes arranjar relés para todas as tensões e como tal tens menos problemas do que com o Arduino... e muito mais barato. :\

Entendi.
A ideia de usar o arduino era para puder ativar o relé 3 ou 4 vezes.
Porque o gerador inicia com o carregar num botão (tipo isqueiro).
E carregando 3 ou 4 vezes, tinha a certeza quase absoluta que o gerador inciava.
Mas pelo que vc está a dizer, não é possível ter o arduino a trabalhar com a corrente da rede e quando esta falhar, o arduino passar a trabalhar com a pilha?

O relé ficava sempre ligado... Sendo mais eficaz que o Arduino... digo eu.

É possível... mas tens de ter um circuito externo que garanta que o Arduino não perde alimentação. Isso é que é mais complicado...

Estou a perceber que apenas com o relé seria mais fácil / eficaz.
Mas penso que iria-me limitar. Por exemplo, quando a corrente voltasse, para desligar o gerador.

E se o arduino fosse alimentado apenas por uma pilha de 9V?
O arduino iria descarregar a pilha rapidamente, ou a pilha alimentaria o arduino por dias / semanas?

Ok...

Nunca referiste que o Arduino iria actuar o botão para desligar o gerador. Eu apenas posso comentar com base no que dizes. O gerador tem um ou dois contactos para ligar/desligar o gerador? Se só tiver um, provavelmente o relé ainda serve.

Se insistes em ter o Arduino (ou um controlador) a controlar o gerador, eu optaria por um chip que não o do Arduino. A ATMEL faz chips compatíveis com o que vem no Arduino com características especiais para consumir menos corrente. Ainda assim, o grande problema do Arduino é a sua frequência... um processador a correr a 16MHz não é muito "poupado" em energia.

O que podes fazer para minimizar isso é usar os modos de Sleep do Arduino e usar a mudança de estado num pino para acordar o Arduino e fazer o que pretendes. Afinal de contas, ele não tem de fazer nada a não ser ligar e desligar pinos quando falha a energia e para isso podes ter o microcontrolador a dormir.

Uma pilha de 9V não será o ideal... Repara que para transformares os 9V em 3,3, vais sempre perder energia, o que é contra o que a tua aplicação necessita. Então, seria melhor usar um conjunto de pilhas de 1,5V em série (para criares 3V) e depois meter mais umas 4 ou 6 pilhas em paralelo para poderes fornecer mais corrente ao circuito. Infelizmente não consigo calcular quanto conseguirias manter o circuito a funcionar com as pilhas porque está dependente do chip, frequência, número de activações do relé e, mais importante, a programação que é feita.

No entanto, vai haver sempre uma situação de black-out onde vais instalar isto... e nalguns casos é sempre preferível arrancar o gerador manualmente do que fazê-lo automaticamente. Estou apenas a levantar a questão... só isso.

E, também terás de andar em cima das pilhas para garantires que as pilhas ainda estão a funcionar quando o gerador falha.

bubulindo:
No entanto, vai haver sempre uma situação de black-out onde vais instalar isto... e nalguns casos é sempre preferível arrancar o gerador manualmente do que fazê-lo automaticamente. Estou apenas a levantar a questão... só isso.

O problema é quando não há ninguém para ligar o gerador. xD
Era isso que este projecto viria a solucionar.

bubulindo:
E, também terás de andar em cima das pilhas para garantires que as pilhas ainda estão a funcionar quando o gerador falha.

Pois, também pensei nisso...isso não seria nada pratico.

Acabei de ter uma ideia aparentemente simples.
Vou tentar ser o mais explicito possível.
Com um carregador de pilhas de 1,5V (quatro pilhas = 6V), com as pilhas colocadas no carregador, e o carregador na tomada elétrica.
Enquanto houver energia, se fizer do carregador + pilhas um circuito em serie, penso que terei 12V.
Sem energia, terei apenas a corrente das pilhas, ou seja, 6V.
Será que posso transformar tanto os 12 como os 6V em 5V para alimentar o arduino?
Se isso fosse possível....problema resolvido

Sim... foi isso que tinha dito no início.

Testa muito bem a mudança de tensões com um multímetro ou osciloscópio antes de ligares o Arduino.

Ok.
E como sugere reduzir a corrente?
Com resistências?

Li acerca de uns reguladores de voltagem.
Será que posso solucionar o problema com eles?