quinta-feira, 25 de maio de 2017

Controle PWM de Motor com Arduino ou Teste de Servo com Arduino

Olá, hoje vou mostrar um circuito simples e muito didático para controlar um motor DC via PWM e Arduíno.

O controle por PWM (Pulse Width Modulation) ou Modulação por Largura de Pulso, é um tipo de controle bastante utilizado em automações. Com esse controle podemos variar velocidades, luminosidades e potências em geral. Basicamente conseguimos um resultado de controle analógico através de pulsos digitais.
O PWM funciona da seguinte maneira - Dentro de um certo período, podemos controlar o tempo em que um pulso digital fica em nível alto. A duração do pulso em alto dentro desse período é chamada de Duty Cycle ou Largura de Pulso.



A função que vamos utilizar é a analogWrite() que varia de 0 a 255, com 255 representando o PWM em 100% de Duty Cycle. Os valores intermediários representam proporcionalmente o PWM em % de Duty Cycle, por exemplo, o valor 127 representa o PWM em 50% de Duty Cycle.
No nosso caso vamos estar pegando o valor lido pelo pino do potenciômetro ( que vai de 0 a 1023) e dividindo por 4 para dar valores entre 0 e 255.

Vamos utilizar um Transistor para controlar a potencia e chaveamento do motor, visto que o Arduíno não fornece alta corrente em seus pinos de I/O. O transistor desse exemplo será um TIP41, um transistor darlington fácil de encontrar.

Lista de Materiais:

  • 1x Arduino
  • 1x Potenciômetro ( pode ser qualquer valor, acima de 1k de preferência)
  • 1x resistor 2k2ohm *
  • 1x Transistor TIP41
  • 1x Motor DC 12v
  • 1x Diodo 1N4148

* Obs: O resistor será utilizado na base do transistor e pode variar conforme a corrente no coletor, depende da resistência e do tipo do motor utilizado. Este resistor deve estar dimensionado para que o transistor atue como chave.

As ligações são feitas conforme mostrado abaixo, mas temos que tomar cuidado ao alimentar o Arduíno pelo pino correto, pois a tensão do cooler é 12V, caso contrário podemos queimar o Arduino. Os GNDs devem estar conectados. O Pino de saída escolhido foi o pino D10 que possui um PWM.



É recomendável colocar um diodo para proteger o circuito contra tensão reversa proveniente do motor, pois, quando este é desligado, a inercia o faz virar um gerador. :



Após feito as conexões conforme visto acima, segue o programa para enviarmos ao Arduino:

/*
// Programa :Controle PWM de Motor DC
// Autor : Fernando Moreira
//Controla a velocidade de um motor conforme o valor do potenciômetro
*/

int motPin = 10; // pino do motor 1
int analogPin = 0; // pino para leitura do potenciômetro
int val = 0; //variável para armazenar o valor lido

void setup()

    pinMode(motPin, OUTPUT); // configura pino 10 como saída
}

void loop()
{
    val = analogRead(analogPin);  // lê o valor analógico no pino do potenciômetro
    analogWrite(motPin, val / 4);   // aciona motor com o valor analógico lido (0-1023)
                                                            //dividido por 4 para ajustar ao valor ( 0- 255)                     
}


Após fazer o upload do código para o Arduíno é só testar. Variando o potenciômetro veremos o motor variar a velocidade. Esse programa também serve para controlar outras cargas como Servo motor, LEDs, Lampadas, Resistências, etc.

Um exemplo para testar servos utilizado em aeromodelos e robôs:

É só alimentar o servo com 5V e ligar o fio de sinal do servo na saída pino 10 conforme a imagem acima.

Espero que tenham gostado deste post e que ele seja útil para vocês implementarem outros tipos de controle.

Se inscrevam no meu canal no youtube, Obrigado!
https://www.youtube.com/channel/UCh_d8IZS0gB68gJGoZ8d6Qg
Obrigado!

terça-feira, 2 de maio de 2017

Regras da ANAC para uso de drones

ANAC cria normas para utilização de Drones:

As regras se aplicam a veículos acima de 250 gramas que deverão ser cadastrados. Veículos abaixo de 250g não necessitam de Licença.
Mais detalhes confira na norma abaixo:
Confira aqui

Geralmente a maioria dos Drones DIY se encaixam na Classe 3 e devem seguir as orientações abaixo segundo a ANAC (Agência Nacional de Aviação Civil):

Para operar aeronaves não tripuladas da Classe 3 (com peso máximo de de­colagem maior que 250g e até 25 kg), além de seguir as regras da ANATEL e de utilização do espaço aéreo do DECEA, é necessário:


  • Ter no mínimo 18 anos de idade para pilotar ou para auxiliar a operação como observador.
  • Possuir seguro com cobertura de danos a terceiros.
  • Operar apenas em áreas distantes de terceiros (no mínimo 30 metros horizontais). Essa restrição está dispensada caso haja anuência das pessoas próximas à operação ou exista uma barreira mecânica capaz de isolar e proteger as pessoas não envolvidas e não anuentes com a operação.
  • Operar apenas um único sistema de RPA por vez.
  • É possível trocar o piloto remoto em comando durante a operação.
  • As operações só poderão ser iniciadas se houver autonomia suficiente da aeronave para realizar o voo e para pousar em segurança no local previsto, levando-se em conta as condições meteorológicas conhecidas.
  • Fixar a identificação (número obtido no processo de cadastramento) do equipamento em local visível na aeronave e com material não inflamável.
  • Portar o comprovante do cadastro junto à ANAC, do seguro e da avaliação de risco e o manual de voo do equipamento.

Abaixo segue um exemplo do da certidão de cadastro:

Lembrando que a foto deve mostrar o numero de série ou uma característica que o diferencie de outros modelos semelhantes.

Fonte: Site da ANAC  - http://www.anac.gov.br/assuntos/paginas-tematicas/drones/aeronaves-nao-tripuladas-da-classe-3-com-peso-maximo-de-deco-lagem-maior-que-250g-e-ate-25-kg