Campo Grande / MS2015
Centro Universitário Anhanguera de Campo Grande – Unidade IIENGENHARIA DE CONTROLE E AUTOMAÇÃO
DIEGO SILVA SANTOS
RELATÓRIO DE ESTÁGIO SUPERVISIONADO I
RESUMO
Este relatório foi elaborado visando à conclusão da disciplina estagiosupervisionado I. O estagio foi realizado na empresa Hiperon, localizada em CampoGrande MS que atua no desenvolvimento de softwares e sistemas eletrônicosmicrocontrolados.
Neste período de estagio as atividades foram voltadas para a área deprogramação em microcontroladores, desenvolvimento de placas de circuito emáquinas CNC.
Palavras-Chave: Programação. Microcontroladores. Softwares embarcados.Circuito impresso. Fresa CNC. Comando Numérico Computadorizado. ComponentesEletrônicos. PCI. Circuito Impresso.
LISTA DE FIGURAS
FIGURA 1 – DISPARO TRIAC...............................................................................................10
FIGURA 2 – ZERO CROSS...................................................................................................11
FIGURA 3: DRIVE TB6560..................................................................................................13
FIGURA 4: ARDUINO GRBL................................................................................................13
FIGURA 5: MOTOR DE PASSO............................................................................................14
FIGURA6: FUSOS CNC.......................................................................................................14
FIGURA7: FONTE CHAVEADA.............................................................................................15
FIGURA 7: CNC..................................................................................................................16
FIGURA 8: CNC2................................................................................................................17
FIGURA 9: CNC3................................................................................................................17
FIGURA 10: CABO PORTA PARALELA..................................................................................18
FIGURA 11: DISPLAY..........................................................................................................19
FIGURA 12: DISPLAY 2.......................................................................................................20
LISTA DE ABREVIATURAS E SIGLAS
CNC Comando Numérico Computadorizado
PCI Placa de Circuito Impresso
CCS Custom Computer Services
PIC Peripherical Interface Controller
RISC Reduced Instruction Set Computer
IDE Integrated Development Environment
TRIAC Triode for Alternating Current
USB Universal Serial Bus
AC Alternating current
SUMÁRIO1INTRODUÇ OÃ ............................................................................................6
2MICROCONTROLADORES.........................................................................7
2.1MICRO CONTROLADORES PIC.................................................................................72.2PLATAFORMA DE DESENVOLVIMENTO ARDUINO.........................................................7
3DESENVOLVIMENTO DOS PROJETOS NO ESTÁGIO.................................9
3.1DIMMER MICROCONTROLADO...................................................................................93.1.1Funcionamento do dimmer microcontrolado.................................................9
3.2FONTE: O PRÓPRIO AUTOR.MAQUINAS CNC..........................................................113.2.1Definiç o de maquinas CNCã .......................................................................113.2.2Uma maquina CNC microcontrolada...........................................................12
3.2.2.1O firmware GRBL..................................................................................123.2.2.2Desenvolvimento do projetos................................................................12
4CONCLUS OÃ ............................................................................................17
5CONSIDERAÇ ES FINAISÕ ........................................................................22
REFER NCIASÊ ...........................................................................................23
ANEXOS.....................................................................................................24
ANEXO A – CÓDIGO DIMMER PIC............................................................................24
6
1 INTRODUÇÃO
Grande parte das atividades realizadas no período de estagio foi voltada para
programação em microcontroladores da família PIC e também para placas Arduino,
uma plataforma de desenvolvimento de código e hardware aberto. Tudo isso com o
intuito de aprender sobre programação em microcontroladores e fixar conceitos de
relevância dentro desse assunto.
Utilizou-se em quase todos os projetos linguagem de programação C,
utilizando a IDE CCS C compiler também o Atmel Studio para editar e criar
bibliotecas para o ambiente de desenvolvimento da plataforma arduino.
Será descrito nos próximos itens conceitos sobre microcontroladores, a
plataforma Arduino, linguagens de programação e também os projetos realizados no
período correspondente ao tempo de estágio.
7
2 MICROCONTROLADORES
Um microcontrolador é um pequeno computador em um único circuito
integrado que contém um núcleo de processamento, memórias e saídas e entradas
de periféricos (sensores, botões, etc).
Hoje em dia esses dispositivos estão escondidos em boa parte dos aparelhos
que são utilizados diariamente pelas pessoas. Os microcontroladores tornaram o
processo de lavar roupas em uma máquina de lavar ou esquentar um alimento em
um micro-ondas muito mais simples e sofisticado, imagine ter que usar um relógio
para marcar um tempo toda vez que fosse esquentar um alimento.
Existem vários tipos, modelos e vários fabricantes de microcontroladores,
cada um tem suas particularidades e dependendo da aplicação um modelo e marca
se encaixa melhor que o outro. Os utilizados nos projetos desenvolvidos no período
de estagio foram microcontroladores da família ATMEL juntamente com a plataforma
arduino e também microcontroladores da família PIC 16f e 18f.
2.1 MICRO CONTROLADORES PIC
Fabricados pela Microchip Technology, os microcontroladores PIC possuem
geralmente arquitetura RISC (Computador com conjunto de instruções reduzido) e
processam dados de 8 e 16 bits. São controladores de baixo custo, fácil
programação e também têm uma alta velocidade de execução além de contar com
muito material virtual o que torna mais fácil a pesquisa e o aprendizado.
2.2 PLATAFORMA DE DESENVOLVIMENTO ARDUINO
A plataforma Arduino foi criada para facilitar o desenvolvimento de projetos
microcontrolados de baixo custo e fácil utilização. É também uma plataforma open
source e open hardware, ou seja, pode modificada e utilizada por qualquer pessoa
sem a necessidade de pagar nenhum direito autoral.
Uma das grandes sacadas da plataforma arduino foi colocar todo o hardware
necessário para seu funcionamento em uma única placa, tornando assim a vida do
desenvolvedor mais fácil pelo fato de não precisar montar todo o circuito eletrônico
8
em uma proto board.
Existem vários modelos dessa plataforma, o que permite ao desenvolvedor
realizar tarefas das mais simples as que exigem um pouco mais de processamento.
Além disso o ambiente de desenvolvimento Arduino IDE conta com varias
bibliotecas para facilitar determinadas tarefas que demandariam mais tempo e
conhecimento do desenvolvedor. Possui ainda grande acervo virtual e muitos
exemplos.
A plataforma arduino é uma grande ferramenta tanto para projetos simples
como para os que são mais complexos.
9
3 DESENVOLVIMENTO DOS PROJETOS NO ESTÁGIO
Foram desenvolvidos no período de estágio dois projetos relevância para o
processo de aprendizagem na área de programação em microcontroladores. Esses
projetos serão descritos a seguir.
3.1 DIMMER MICROCONTROLADO
Figueredo (2009, p48) define dimmer da seguinte maneira
O dimmer é um interruptor do tipo variador de luminosidade. Através dele épossível aumentar ou diminuir a iluminância de um ambiente, dentro doslimites da lâmpada. Nas escolas, podem ser utilizados nos auditórios e emsalas de vídeo, permitindo criar diferentes cenários. (FIGUEREDO, 2009, p.48).
Um dimmer microcontrolado tem a mesma função de variar a luminosidade de
uma lampada, porem realiza isso através de um microcontrolador, enquanto o
comum usa dispositivos eletrônicos em conjunto com um resistor variável
(potenciômetro) para realizar esse controle, o que limita seu uso, visto que não há
outra maneira de alterar a luminosidade do aparelho a não ser mecanicamente,
girando o potenciômetro do dimmer. Um dimmer microcontrolado no entanto, como
se trata de um dispositivo programável, pode ser utilizados das mais diversas
formas, desde controlado remotamente ou até mesmo automático.
3.1.1 Funcionamento do dimmer microcontrolado
O controle de potência proporcionado pelo dimmer se da pelo atraso de fase
criado pelo chaveamento de um dispositivo chamado TRIAC. Esta atraso ocorre no
momento em que a tensão da rede passo por zero, visto que se trata de uma tensão
alternada.(STMicroelectronics, 2009, pg. 1).
Essa passagem por zero é entendida pelo micro controlador atraves de um
circuito que chamamos de Zero Cross. Esse circuito manda a informação para o
microcontrolador de qual deve ser o momento para disparar o terminal de gatilho do
TRIAC liberando assim a tensão sobre a carga.
10
Uma senoide possui 16,666 ms, sabendo dessa informação e sabendo
quando ela começou (passagem por zero) pode-se definir um valor em porcentagem
para a potencia, por exemplo quando disparado o TRIAC a 8,33ms teremos 50% da
tensão maxima na carga. (STMicroelectronics, 2009, pg. 4).
A figura 1 mostra 3 gráficos sendo o primeiro (Input sine wave) a senoide da
rede, o segundo (Triac gate trigger) o disparo no gatilho do TRIAC e o terceiro (Triac
output) a saida para a caraga. O controle de atraso de fase se da pelo atraso do
disparo do gatilho do TRIAC, o alfa da figura 1. Esse disparo só corre quando o
microcontrolador entende que a senoide passou por zero, só depois então contado
um determinado tempo.
Figura 1 – Disparo TRIAC
Fonte: LAZARIDIS (2009)
A figura 2 mostra o circuito de identificação de passagem por zero (zero
cross).
11
Figura 2 – Zero Cross.
Fonte: O próprio autor.
3.2 FONTE: O PRÓPRIO AUTOR.MAQUINAS CNC
O segundo projeto desenvolvido no primeiro período de estagio teve relação
com maquinas do tipo CNC, pois a empresa em questão, a Hiperon Tecnologia
LTDA, possui projetos nessa área, logo materiais e conhecimentos foram de grande
proveito no processo de aprendizagem e compartilhamento de informações.
3.2.1 Definição de maquinas CNC
A sigla CNC significa: Comando Numérico Computadorizado. Uma maquina
CNC se trata de uma maquina comandada por computador, onde o computador
através de um código indica à maquina as posições, as quais ela deverá se
movimentar.
Esse tipo de maquina substitui o homem no processo de usinagem de peças,
tornando o processo mais rápido, uniforme e com menos erros de fabricação.
O coração de uma maquina desse tipo é computador, encarregado de
interpretar determinados códigos e transformá-los em impulsos elétricos que vão
12
comandar os motores da maquina gerando assim o movimento desejado.
3.2.2 Uma maquina CNC microcontrolada
O projeto de uma maquina CNC microcontrolada proposto nesse período de
estágio tinha a ideia de substituir o computador por um simples microcontrolador, o
que reduziria custos e otimizaria o espaço em uma maquina.
3.2.2.1 O firmware GRBL
O interpretador de códigos para maquinas CNC que tomou a função do
microcomputador foi o firmware da Benger AS., o GRBL . A Benger AS. desenvolveu
um código para microcontroladores capaz de fazer o trabalho de um
microcomputador na interpretação de códigos para maquinas CNC e comando
dessas maquinas.
O GRBL é um firmware interpretador que é instalado em um microcontrolador
e recebe os dados de códigos de maquina através de uma comunicação serial e
envia impulsos elétricos aos drives dos motores da maquina através de seus pinos
de saída. Integrando esse sistema a um display gráfico com menu de configurações
é possível criar uma maquina CNC controlada apenas por microcontroladores, não
necessitando de softwares proprietários custosos e dispensando um
microcomputador geralmente grande.
3.2.2.2 Desenvolvimento do projetos
Para o desenvolvimento do projeto utilizou-se um drive para motores de
passo modelo TB 6560, um microcontrolador ATMEGA 328 e um micro controlador
PIC 16f628A.
13
Figura 3: Drive TB6560
Fonte: O próprio autor
Figura 4: Arduino GRBL
Fonte: O próprio autor
14
Figura 5: Motor de passo
Fonte: o próprio autor
Figura6: Fusos CNC
Fonte: O próprio autor
15
Para a alimentação do circuito e da máquina utilizou-se uma fonte chaveada
de 12V e 10A.
Figura7: Fonte Chaveada
Fonte: O próprio autor
16
4 CONCLUSÃO
Os teste indicaram boa precisão. O sistema foi montado operando apenas um
motor de passo operando um eixo, o qual possuía uma chave de fim de curso de
cada lado para evitar danos caso o sistema fosse indevidamente movido.
Figura 7: CNC
Fonte: O próprio autor
17
Figura 8: CNC2
Fonte: O próprio autor
Figura 9: CNC3
Fonte: O próprio autor
18
Figura 10: Cabo porta paralela
Fonte: o próprio autor
Utilizou-se, em um ambiente de desenvolvimento, um display gráfico para
implementar o projeto, esse porem não foi implementado da pratica.
O display foi comandado por um microcontrolador da família PIC, o 16f628A.
A função desse sistema é poder mandar códigos CNC gerados por um sistema
computacional para a maquina através de uma comunicação USB utilizando um
pendrive por exemplo.
19
Figura 11: Display
Fonte: O próprio autor.
20
Figura 12: Display 2
Fonte: O próprio autor
21
5 CONSIDERAÇÕES FINAIS
O período de estagio realizado na empresa Hiperon Tecnologia LTDA,
mostrou uma visão da realidade do trabalho voltado ao desenvolvimento de novas
tecnologias. Muitos dos conceitos teóricos visto em sala de aula puderam ser fixados
durante esse período.
Os supervisores tiveram um papel fundamental de apoio e incentivo a
pesquisa nas áreas tecnológicas.
Por fim o estágio agregou conhecimento e experiência profissional para o
futuro, trazendo uma visão mais abrangente sobre o mercado de trabalho que
aguarda o futuro engenheiro.
22
REFERÊNCIAS
FIGUEREDO, Chênia Rocha Figueiredo. Equipamentos elétricos e eletrônicos. Brasilia: Universidade de Brasília, 2009.
STMicroelectronics. AN392 Application note. Microcontrollers and TRIAC-based dimmers. 2009. Dispoinvel em: <http://www.st.com/web/en/resource/technical/document/application_note/CD00003820.pdf>. Acessado em: Outubro/2015.
LAZARIDIS, Giorgos Lazaridis. Dimmer Theory. What is a dimmer?. 2009. Disponível em: <http://pcbheaven.com/wikipages/Dimmer_Theory/>. Acesso em: outro/2015.
23
ANEXOS
ANEXO A – Código Dimmer PIC
#include <16F877A.h>
#use delay (clock=4000000)
#fuses HS,NOWDT,PUT,NOLVP
/*===================================================
Dimmer AC utilizando interrupção de timer 0 e interrupção externa RB0
Setembro de 2014
Diego Silva Santos
Hiperon engenharia
===================================================
Calculos de TMR 0
tempo timer0
T= 4/Fosc
T=4/4M = 1us
Termpo de estouro do TMR0
Tes=256*T (contador de 8 bits = 256 posições)
Tes=256*1us
Tes=256us
O tempo de estouro do TMR seria nesse caso 256us, prorem para essa
aplicação
necessito de um tempo superior, preciso de um tempo que seja metade de
uma senoide
de 60Hz que é de 8.33 ms, por isso utilizo um divisor(prescaler) que sera de
32, pois
24
256*32 = 8.1 que é mais proximo de 8,33
*/
int tempo=195; //começa o TMR0 em 195 e vai até no maximo 255
int a=0;// variavel que controla quantidade de vezes que botao1 e 2 foi
apertado
//====================================================
#define botao1 input(pin_b1) //botão de incremento
#define botao2 input(pin_b2)//botão de decremento
#define saida (pin_c2) //Pino de saida para o circuito de potência
#define desliga output_low //muda o estado do pino para ligado
#define liga output_high //muda o estado do pino para desligado
//====================================================
#int_ext
void Passagep0() //identifica se houve uma interupção no pino b0, se a
senoide passo por zero
{
set_timer0(tempo); //seta o tempo do timer
desliga saida; //começa a onda com a saida desligada
enable_interrupts(INT_TIMER0); //abilita a contagem de tempo TMR0
}
//=====================================================
#INT_TIMER0
void TIMER0 (void) //Estouro do tempo do TMR0
{
liga saida; //quando estourar o tempo liga a saida
}
25
//=====================================================
void main()
{
set_tris_b(0b00000111); //seta os pino B0, B1, B2 como
entradas e B3,4,5,6,7 como saida
SETUP_TIMER_0(RTCC_INTERNAL| RTCC_DIV_32); //divida o
clock interno por 32, dessa forma posso term mais tempo em TMR0
enable_interrupts(GLOBAL);//necessario habilitar int. globais para que
TMR0 e INT_EXT funcione
enable_interrupts(INT_EXT);//habilitar interrupção externa(RB0)
disable_interrupts(INT_TIMER0);// incia o programa com TMR0
desabilitado para que ele so comece a
//contagem apartir da interrupção INT_EXT
//=====================================================
while(1) //loop infinto
{
if(botao1) //incrementa avarialvel tempo que é usada para valores de
TMR0
{
if(a < 30) // limite de incrementos, essa condição so permite que seja
{ // apertado o botão 1 30 vezes
a++; //controlando isso atraves da variav tempoel 'a'
tempo = tempo + 2; //incrementa 2 navariavel tempoenhuma tarefa
while (input(pin_b1)==1) {}//enquanto estiver apertado nao realiza
nenhuma tarefa
}
}
if(botao2)
{
26
if(a > 0)//condição de limite de apertos descrito acima
{
a--;//decremeta 2navariaveltempo
tempo = tempo - 2;//decrem
while (input(pin_b2)==1){}//enquanto estiver apertado nao realiza
nenhuma tarefa
}
}
}
}
Recommended