Sunteți pe pagina 1din 17

UNIVERSIDADE FEDERAL DE CEAR

CAMPUS SOBRAL
DEPARTAMENTO DE ENGENHARIA ELTRICA

ELEVADOR DIDTICO CONTROLADO POR MOTOR


DE PASSO + ARDUINO

Equipe - Matrcula:
Antonio Jefferson Cavalcante Arajo - 0310021
Francisco Edgleice Siqueira Rodrigues - 0310043
Halleno Vasconcelos Prado - 0310051

Disciplina: Eletrnica Digital

Sobral, Setembro de 2012

1. JUSTIFICATIVA
Este trabalho corresponde uma das notas de avaliao parcial da disciplina de
Eletrnica Digital, ministrada pelo professor Rmulo Nunes de Carvalho Almeida,
pertencente matriz curricular do curso de Engenharia Eltrica da Universidade Federal
do Cear. Atravs do mesmo, visa-se aprimorar o desenvolvimento de projetos prticos,
bem como fixar o conhecimento acerca do software de simulao ISIS Proteus.
2. METODOLOGIA
O projeto consiste em um elevador didtico movido por um motor de passo, que
por sua vez controlado atravs da plataforma Arduino, mais especificamente o
Arduino Duemilanove. Para realizar o controle foi utilizado tambm o
microcontrolador ULN 2003, no qual conectado um diodo Zener. A caixa do elevador
bem como o mesmo foram construdos com madeira, sendo o elevador suspenso por um
fio leve e inextensvel.
3. OBJETIVOS
Este projeto tem como objetivo encerrar a disciplina supracitada e introduzir a
disciplina de Microprocessadores, proporcionando aos alunos o desenvolvimento de um
projeto prtico, que sirva para o enriquecimento do conhecimento dos mesmos.

4. INTRODUO
4.1

Motores

Os motores, de uma forma geral, so dispositivos que convertem uma


determinada forma de energia em energia mecnica. Este trabalho dedica-se ao estudo
dos motores eltricos, mais especificamente ao estudo dos motores de passo.
Como o prprio nome sugere, os motores eltricos transformam energia eltrica
em energia mecnica. Esse tipo de motor pode ser classificado em quatro grupos
principais: os motores CA ou de corrente alternada, os motores CC ou de corrente
contnua, os servomotores e os motores de passo.
4.1.1 Motores CA
Neste tipo de motor, o fluxo magntico do estator gerado nas bobinas de
campo pela corrente alternada da fonte de alimentao monofsica ou trifsica, portanto
trata-se de um campo magntico cuja intensidade varia continuamente e cuja polaridade
invertida periodicamente.
A Fig. 01 mostra um exemplo de motor CA, especificando a localizao de cada
um de seus componentes.

Fig. 01 Exemplo de motor CA

Os motores de corrente alternada dividem-se em trs grupos principais: os


sncronos, os assncronos e os de induo. Detalhes acerca destes grupos de motores no
constam neste trabalho.
4.1.2 Motores CC
Os motores de corrente contnua, basicamente, so constitudos pelos seguintes
elementos:
Armadura ou rotor: parte girante da mquina, montada sobre o eixo da
mquina, constituda de um material ferromagntico envolto em um
enrolamento chamado de enrolamento de armadura e o anel comutador;
Comutador: parte responsvel por realizar a inverso adequada do sentido das
correntes que circulam no enrolamento de armadura;
Escovas: peas de carvo responsveis por conduzir a energia para o circuito
do rotor;
Bobina ou Im de Campo: parte responsvel pela gerao do campo
magntico que faz o motor girar.
A Fig. 02 mostra um motor CC, especificando a localizao de seus componentes.

Fig. 02 Exemplo de um motor CC

O motor CC funciona da seguinte forma: ao se aplicar uma tenso de corrente


contnua, a corrente passa pelas escovas e depois pelo comutador, o qual faz o eixo
girar.
A principal caracterstica deste tipo de motor no a preciso, mas sim a
velocidade. Eles podem ser encontrados geralmente em brinquedos, para-brisas, bombas
de aqurio, ventiladores, e em vrios outros dispositivos.
Quanto sua forma construtiva, os motores CC podem ser classificados como:
motores em srie, motores em paralelo ou Shunt e motores compostos ou mistos. A
descrio de cada um destes tipos no objeto de interesse deste estudo.
4.1.3 Motores de Passo
Estes motores so empregados em aplicaes que necessitam de medio e
controle. Aplicaes usuais desses motores so encontradas em impressoras de jato de
tinta, mquina com controle numrico e bombas volumtricas.
H diversas
caractersticas comuns a estes motores que vai depender da finalidade de nossa
aplicao. Entre elas destacamos:
Inexistncia de escovas: Os motores de passo no possuem escovas. Os
comutadores e escovas dos motores convencionais so os componentes que
apresentam a maioria das falhas e ainda apresentam caractersticas que podem
criar arcos dependendo do ambiente podem tornar algo indesejvel.
Independncia da Carga: Os motores giram com uma determinada velocidade
independente da carga, desde que a carga no ultrapasse o torque do motor.
Posicionamento em malha aberta: Os motores de passo se movem com
incrementos ou passos que podem ser quantificados.
Torque estacionrio: Os motores de passo podem manter o seu eixo
estacionrio, desde que o seu torque seja respeitado.
H basicamente trs tipos de motores de passo: Im permanente, relutncia varivel e
hbrido.
I. Motor de m Permanente
Os motores de m permanente possuem passos de 45 a 90 graus e caracterizam
por apresentarem torque elevado.
O rotor deste tipo de motor constitudo por um material ferrite sem dentes e
magnetizado perpendicularmente ao eixo.
Para que o motor funcione corretamente, necessrio energizar as 4 fases em
sequncia para o rotor girar de acordo com a atrao dos polos magnticos. A Fig. 03
mostra um motor de m permanente, onde as bobinas AA, BB, CC e DD so as fases
do motor.

Fig. 03 - Motor de m permanente

II. Motor de Relutncia Varivel


Os motores de relutncia varivel possuem de 3 a 5 bobinas conectadas a um terminal
comum. A Fig. 04 mostra o corte de um motor com 3 bobinas, com 30 graus por passo.

Fig. 04 - Motor de Relutncia Varivel

III.

Motor Hbrido
Os motores hbridos utilizam princpios de operao dos motores de im
permanente e os motores de relutncia varivel. O rotor do motor de passo hbrido
multidentado como um motor de relutncia varivel e contem um im concntrico ao
redor de seu eixo. (veja a figura 2). O dente do rotor prov um caminho que auxilia a
guiar o fluxo magntico para localizaes de preferncias do air gap. O im concntrico
aumenta o torque dinmico do motor quando comparado com os motores de relutncia
varivel e de irm permanente.
A Fig. 05 Mostra um exemplo de motor de passo hbrido.

Fig. 05 - Motor de passo hbrido

4.1.4 Servomotores
Os servomotores assemelham-se aos motores de passo, porm contm um
sistema de controle interno que verifica a posio de entrada e a posio de sada e um
motor de corrente contnua. Apesar de possurem certa preciso, os servos no tm uma
fora to elevada quanto os motores de passo.
A Fig. 06 mostra a estrutura interna de um servomotor.

Fig. 06 Estrutura interna de um servomotor

Os servomotores so comumente utilizados em aeromodelismos, robtica e


mecanismos de automao que no necessitam de muita fora. Geralmente os
servomotores aplicados a aeromodelismo, giram apenas 180 graus. Mas pode-se
modific-los para que girem 360 graus.
4.2

Arduino

4.2.1 Origem
Visando um melhor ensino de eletrnica e programao de computadores a seus
alunos de design para que eles usassem em seus projetos de arte, interatividade e
robtica, o professor italiano Massimo Banzi teve, em 2005, a idia de construir o
Arduino. Porm, ensinar conceitos de eletrnica e robtica para pessoas leigas no
assunto era uma tarefa difcil, e outra dificuldade era a inexistncia de placas poderosas
e de baixo custo no mercado.
Foi pensando nisso que Massimo e David Cuartielles decidiram criar sua placa
prpria, com a ajuda do aluno de Massimo, David Mellis, que ficou responsvel por
criar a linguagem de programao do Arduino.
4.2.2 Plataforma
Arduino uma placa de controle de entrada de dados (IN), como sensores, e
sadas de dados(OUT), como motores e LEDs, com cristal oscilador de 16Mz, um
regulador de tenso de 5V, boto de reset, um plugue de alimentao, pinos
conectores, e alguns LEDs para facilitar a verificao do funcionamento. A porta
USB j fornece a alimentao enquanto estiver conectado ao computador, e a tenso de
alimentao quando desconectado pode variar de 7V a 12V, graas ao regulador de
tenso na placa.
No Arduino informaes ou ordens so transmitidas de um computador para a
placa atravs de Bluetooth, Wireless, USB, infravermelho, etc. Essas informaes
devem ser traduzidas utilizando a linguagem Wiring baseada em C/C++.

4.2.3 Arduino Duemilanove


O Arduino Duemilanove por no ter diferenas de software com o do UNO
100% compatvel para qualquer situao que o UNO possa enfrentar. Na pratica, so
exatamente iguais. Ele extremamente similar ao Arduino UNO, porm com um preo
inferior.
A Fig. 07 mostra o Arduino Duemilanove, especificando a localizao de seus
componentes.

Fig. 07 Arduino Duemilanove


Resumindo as caractersticas tcnicas do Arduino, pode-se apontar:
Microcontroller ATmega168
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB
used by bootloader
SRAM 1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed 16 MHz

4.3

ULN 2003
O ULN utilizado como um driver de Potncia. Um driver de potncia
utilizado sempre quando precisamos acionar um equipamento mais potente atravs de
um microcontrolador, no caso o equipamento o motor de passo. O Arduino fornece
50mA em suas sadas s que os motores de passo consomem perto de 0,5 A, ento para
resolver esse problema, usamos esse CI que composto por 7 transistores darlington.
Como podemos constatar esse CI funciona como uma espcie de Chave, pois assim que
ele detecta o nvel de 5V na sada do microcontrolador, ele "fecha" o contato entre a
fonte de 12 V e o motor, o que faz com que a potncia da fonte fornea os 0,5 A (o
mximo que esse CI aguenta em regime permanente, sendo que suporta 0,6 A em
regime transitrio), e faz com que a bobina dentro do motor se polarize,e seu eixo se
alinhe (gire) com o campo induzido por essa bobina.
O diagrama dos pinos de conexo do ULN 2003 mostrado na Fig. 08.

Fig. 08 Diagrama dos pinos de conexo

4.4

Diodo Zener
Diodo Zener (tambm conhecido como diodo regulador de tenso , diodo de
tenso constante, diodo de ruptura ou diodo de conduo reversa) um dispositivo
ou componente eletrnico semelhante a um diodo semicondutor, especialmente
projetado para trabalhar sob o regime de conduo inversa, ou seja, acima da tenso de
ruptura da juno PN, neste caso h dois fenmenos envolvidos o efeito Zener e o efeito
avalanche.
O diodo Zener difere do diodo convencional pelo fato de receber uma dopagem
(tipo N ou P) maior, o que provoca a aproximao da curva na regio de avalanche ao
eixo vertical. Isto reduz consideravelmente a tenso de ruptura e evidencia o efeito
Zener que mais notvel a tenses relativamente baixas (em torno de 5,5 Volts).

5. PROJETO
O projeto apresentado neste trabalho consiste em um elevador didtico com
cinco andares construdo a partir da aplicao de conhecimentos adquiridos na
disciplina de Eletrnica Digital, tendo como os seguintes equipamentos envolvidos na
construo e montagem do mesmo: motor de passo unipolar tenso de 5Volt e corrente
de 0,55A fornecida por uma cabo de carregador de celular antigo, Arduino verso
Duemilanove, CI ULN 2003, diodo Zener alm de uma estrutura em madeira.
O motor controlado pelo Arduino, tendo como drive o ULN 2003, conforme
mostra a Fig. 09.

Fig. 09 Eletrnica envolvida no projeto

Foi realizada tambm uma simulao no software ISIS Proteus, conforme mostrado
na Fig. 10. Para realizar tal simulao foi utilizada a IDE do Arduino no Proteus.

Fig. 10 Simulao do Projeto

A programao responsvel pelo controle do motor mostrada no algoritmo abaixo:


/* Elevador controlado com motor de passo
* --------------------------------------*
* Programa para acionar um motor de passo no
* controle de um bloco
*
* @author: Edgleice Rodrigues, Jefferso Cavalcante e Halleno Prado
* @date: 19 Set 2012
*/
int entrada = 0;
int passo = 1;
void setup(){
// Inicializa a Porta Serial
Serial.begin(9600);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT); // Definio dos Pinos de Comunicao
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
Serial.println("Universidade
Federal
do
Ceara\nCurso
Eng.
Eletrica/Sobral\n\n''Elevador Controlado com Motor de passo''\n\n");
Serial.println("Integrantes da Equipe:\n\nJefferson Cavalcante\n Halleno Prado\n
Edgleice Rodrigues");
}
void loop(){
// Teste se a Serial est dsponivel
if ( Serial.available() > 0){
// L os dados da porta Serial armazena na variavl "entrada"
entrada = Serial.read();
// Condies
if (entrada == 'e'){
esquerda();
} else if ( entrada == 'd'){
direita();
} else {
parar();
}
}
passo = 0;
}
void esquerda(){
while ( passo !=70){
digitalWrite(3,HIGH);
delay(30);
digitalWrite(3,LOW);
delay(30);

digitalWrite(4,HIGH);
delay(30);
// Motor esquerda
digitalWrite(4,LOW);
delay(30);
digitalWrite(5,HIGH);
delay(30);
digitalWrite(5,LOW);
delay(30);
digitalWrite(6,HIGH);
delay(30);
digitalWrite(6,LOW);
delay(30);
passo = passo + 1;
}
}
void direita(){
while ( passo !=70){
digitalWrite(6,HIGH);
delay(30);
digitalWrite(6,LOW);
delay(30);
digitalWrite(5,HIGH);
delay(30);
// Motor direita
digitalWrite(5,LOW);
delay(30);
digitalWrite(4,HIGH);
delay(30);
digitalWrite(4,LOW);
delay(30);
digitalWrite(3,HIGH);
delay(30);
digitalWrite(3,LOW);
delay(30);
passo = passo + 1;
}
}
void parar(){
digitalWrite(3,LOW);
delay(10);
// Motor Para
digitalWrite(4,LOW);
delay(10);
digitalWrite(5,LOW);
delay(10);
digitalWrite(6,LOW);
delay(10);
}

-Explicao do cdigo:
Toda linguagem de programao, inclusive a linguagem do Arduino, possui
regras na escrita (codificao) que devem ser respeitadas. Muita ateno deve ser dada
se a palavra reservada da linguagem possuir caracteres maisculos ou minsculos.
No universo Arduino, um programa chamado de sketch. Todo sketch possui
uma estrutura mnima para poder funcionar. Devemos inserir primeiramente dois blocos
ou funes: setup() e loop().

setup() :

Este bloco executado logo aps o inicio do sketch. O que estiver no bloco
setup(), executado apenas uma vez, ou toda vez que o Arduino for reiniciado
(pressionando um boto especfico na placa ou quando da falta de energia).

loop() :

Aps a execuo do bloco setup(), o controle do programa vai para o bloco


loop() e como o nome sugere, fica eternamente neste bloco. Aqui, efetivamente,
instrumos o Arduino a fazer o que queremos.

digitalWrite( pino , HIGH|LOW ):

Esta funo envia um nvel alto (high) ou baixo (low) para o pino informado.
Toda a lgica que comanda o Arduino e os circuitos digitais dada atravs de nveis de
tenso que vo indicar nvel alto ou baixo. Por exemplo: se enviarmos um nvel alto
para um pino, teremos neste pino 5V e se enviarmos um nvel baixo, teremos 0V. Ento
a declarao: digitalWrite(3, HIGH); envia para o pino 3 uma tenso de 5V para o
acionamento da bobina do motor.

int :
Um tipo int (inteiro) pode manipular nmeros na faixa de -32.768 at 32.767.

delay( tempo ):

Esta funo pausa a execuo do sketch durante o tempo informado. O


parmetro tempo em mili segundos, ou seja, a declarao delay(30); pausa a execuo
por 30 mili segundos.

if() :

if( condio verdadeira ) {


}
else {
}
Esta estrutura avalia a condio estabelecida no comando. Caso ela seja
verdadeira, isto , se o resultado da avaliao atender a condio colocada por voc, as
declaraes que estiverem dentro do bloco sero executadas. A estrutura if() possui um

elemento auxiliar, opcional, que a condio contrria a avaliao feita pelo if(), ou
seja, se a condio for falsa as declaraes que estiverem dentro do bloco else sero
executadas.

Comunicao Serial:

usado para comunicao serial entre a placa Arduino e o computador ou at


mesmo outro dispositivo que aceite comunicao serial. Quando em uso, o Arduino
utiliza os pinos digitais 0(RX) e 1(TX) para a comunicao, portanto no podemos
utilizar esses pinos como entrada ou sada quando estamos utilizando a comunicao
serial.
No bloco setup(), Serial.begin(9600), inicia a comunicao com os pinos seriais
a uma velocidade de 9600 bps (bits por segundo). Esta a velocidade que a placa
Arduino ir enviar os dados para o computador. Os valores comuns so: 300, 1200,
2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, ou 115200. Porm, pode-se
colocar outro valor caso o dispositivo com o qual voc quer comunicar exija uma
configurao diferente.
J o Serial.println( valorLido ), exibe no monitor serial, ou envia para algum
dispositivo, o contedo da varivel valorLido. E no caso da Serial.avalailable() a funo
retorna o nmero de bits disponveis para a leitura do buffer da porta serial, retornado
0 quando no existe nenhuma informao a ser resgatada na porta serial.
A Serial.read() a responsvel pela a leitura do Byte que est no buffer da porta
serial, o valor -1 retornado quando no h nenhum valor para ser resgatado. E a
Serial.println. Essa funo envia para a porta serial um caracter ASCII.
- Explicao do seu funcionamento:
O elevador, constitudo por um bloco de madeira suspenso por um fio, movido
para pelo motor at uma posio (andar) selecionado pelo usurio, sendo esta ao
possvel graas programao realizada no Arduino.
As Fig. 11, Fig. 12 e Fig. 13 mostram o projeto prtico desenvolvido, a vista
frontal do prottipo e o sistema de controle, respectivamente.

Fig. 11 Projeto prtico desenvolvido

Fig. 12 Vista frontal do prottipo

Fig. 13 Sistema de Controle Arduino Duemilanove

REFERNCIAS
WIKIPDIA. Arduino. Disponvel em: < http://pt.wikipedia.org/wiki/Arduino>. Acesso
em: 10 de setembro de 2012.
Arduino.cc. Arduino Duemilanove. Disponvel em:
< http://arduino.cc/en/Main/arduinoBoardDuemilanove>. Acesso em: 10 de setembro de
2012.
Labdegaragem. Qual o Arduno certo para mim?. Disponvel em:
<http://www.labdegaragem.com.br/wiki/index.php?title=Qual_Arduino_
%C3%A9_o_certo_para_mim%3F>. Acesso em: 30 de agosto de 2012.
Apostila do curso ps-tcnico em automao industrial. Captulo 08. Motores Eltricos.
Netsaber. Apostila de Comandos e Motores Eltricos. Disponvel em
http://apostilas.netsaber.com.br/apostilas/1077.pdf.> Acesso em: 30 de agosto de 2012.
Apostila Introduo a Paltafora Arduino Equipe EADuino (http://www.eaduino.com.br)
curso de Arduino onlaine. Acesso em 19/09/2012.

S-ar putea să vă placă și