Академический Документы
Профессиональный Документы
Культура Документы
Apostila de Laboratório
Eletrônica Aplicada e Microcontroladores
Versão 2.3 – 2º semestre 2009
Prof. Marcelo do C.C. Gaiotto.
Aluno: ________________________________________________
Desenvolvimento
Equipamentos e materiais necessários:
1 – Protoboard;
1 – Multímetro;
1 – Conjunto de chaves digitais;
1 – Fonte de alimentação;
1 – Chave tipo botão micro táctil;
1 – Relé 12V/10A
4 – Led;
4 – Diodo retificador 1N4007;
4 – Diodo de sinal 1N4148;
2 – Diodo Zener 4V7/500mW
2 – Transistor BC548 ou BC337
1 – Acoplador Óptico 4N25
Resistores de valores variados;
Fios para montagens;
2
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Divisor Resistivo.
3
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
4
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
5
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
6
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
7
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
8
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
9
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
10
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
11
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Circuito com opto acoplador com acionamento da carga com nível lógico “0”.
12
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Circuito com opto acoplador com acionamento da carga com nível lógico “1”.
13
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
EXPERIÊNCIA 2 – Programação em C
Objetivos:
Conhecer os softwares utilizados para efetuar as práticas;
Aplicar os conhecimentos de fluxogramas;
Desenvolvimento
Equipamentos e materiais necessários:
1 – protoboard;
1 – Placa de montagens de ponte de terminais ou placas de circuito impresso
1 – conjunto de chaves digitais;
1 – fonte de alimentação;
1 – microcontrolador PIC 16F877A;
1 – microcontrolador PIC 12F675;
8 – Led’s;
8 – Resistores de 330Ω;
3 – Resistores de 10KΩ;
3 – relés de 12V/10A;
3 – Led’s emissores de Infravermelho;
3 – fototransistores;
3 – transistores BC548 ou BC337;
3 – Diodos 1N4007;
Resistores de valores variados;
Fios para montagens;
1 – gravador para microcontrolador PIC – (ICD2BR do laboratório).
Neste exercício que é o primeiro contato com o microcontrolador, serão realizadas apenas
instruções (funções) de leitura e escrita, ou seja, as informações presentes em um dos ports (portB)
serão transferidas para outro (portD).
Esta transferência se dará maneira paralela, sendo assim, todos os bits serão transferidos ao
mesmo tempo de um port para outro, de maneira transparente, sou seja, bit0 (RB0) de um port no
bit0 do outro (RD0), e assim por diante.
A Figura 1 apresenta um esquema elétrico para este exercício.
14
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
void main()
{
int dados;
dados = 0;
output_D(0);
while(true)
{
dados = input_B();
output_D(dados);
}
}
15
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
while(!input(pin_b0));
output_D(255);
while(input(pin_b1));
}// while
}// main
16
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
17
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
segmentos
Informações necessárias:
Neste exercício deverá ser desenvolvido um decodificador de binário para display de 7
segmentos que represente os símbolos HEXADECIMAIS. A Figura 3.b apresenta um esquema
elétrico para este exercício.
Figura 3.b. Circuito elétrico para o projeto do Decodificador Binário Hexadecimal para 7 segmentos.
18
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Informações necessárias:
Neste exercício será abordada a criação e utilização de funções que permitem que o
programa fique mais eficiente, modular e o código pode ser reaproveitado em diversas outras
aplicações.
A primeira função – void MeuDelay( long tempo) – é responsável em gerar um gasto de
tempo, e pode ser ajustada simplesmente pela passagem de um parâmetro (tempo), que possui uma
faixa de 0 até 65536ms aproximadamente.
Já a segunda função neste primeiro teste – void PiscaPisca(int piscadas); – será
responsável em gerar as piscadas do led de saída, a uma quantidade que pode ser ajustada através
da passagem de parâmetro (piscadas), uma faixa de 0 até 65536ms aproximadamente.
A Figura 3 apresenta o esquema elétrico deste exercício.
– Lembre que S1 está em pull down e S2 pull up
A Figura 4 apresenta um esquema elétrico para este exercício.
void main()
{
while(true)
{
output_D(0);
if(!input(pin_b0));
PiscaPisca(1);
if(!input(pin_b1));
PiscaPisca(2);
19
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
if(!input(pin_b2));
PiscaPisca(3);
}// while
}
void main()
{
while(true)
{
output_D(0);
if(!input(pin_b0));
PiscaPisca(1, 300);
if(!input(pin_b1));
20
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
PiscaPisca(2,600);
if(!input(pin_b2));
PiscaPisca(3,900);
}// while
}
21
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
4. Função 4: seqüencial PingPong: Ao apertar o botão PB3, acionar o led menos
significativo contar um tempo e desligar, acionar o led mais significativo, contar um
tempo e desligar, acionar o próximo led menos significativo contar um tempo e
desligar, e assim por diante seguindo este raciocínio.
– Lembre que os sinais PB0 e PB1 estão em “1” e quando pressionados vão a “0”
A B C EV BO
0 0 0 1 0
0 0 1 1 0
0 1 0 1 1
0 1 1 1 0
1 0 0 X X
1 0 1 X 0
1 1 0 0 1
1 1 1 0 0
Figura 5. Esboço do sistema de Bombeamento.
Sensores :
com água = 1
Sem água = 0
Atuadores :
Ligado = 1 desligado = 0
BO AB EV AB
00 01 11 10 00 01 11 10
0 0 1 1 X 0 1 1 0 X
C C
1 0 0 0 0 1 1 1 0 X
BO=BC/ EV=A/
22
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Pede-se:
– Para cada combinação dos Sensores deve-se ter exatamente o comportamento do
controle de bombeamento apresentado na tabela verdade;
– Confirmar a leitura dos sensores A, B e C para proteger os atuadores das operações de
liga/desliga causado pela oscilação da água nos sensores (ler o sensor, contar um
tempo e realizar novamente a mesma leitura, só então acionar);
– Implementar uma saída para Sinalização de Problemas que deverá ficar piscando nos
casos irrelevantes. Na tabela verdade, não estão apresentados a coluna com a saída
para este caso, nem tão pouco o mapa de Karnaugh;
23
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
24
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Após realizar os testes com o microcontrolador PIC16F877A, alterar a programação para
utilizar agora o PIC 12F675.
//**********************************************************************************************************
// Programa exemplo para INTERRUPÇÃO EXTERNA
//**********************************************************************************************************
//**********************************************************************************************************
// Área de definições de pinos de Saída
//**********************************************************************************************************
#define LED0 pin_d0
#define LED1 pin_d1
//**********************************************************************************************************
// Área de definições de pinos de Entrada
//**********************************************************************************************************
#define PB1 pin_b1
#define PB2 pin_b2
//**********************************************************************************************************
//
// Interrupção externa por borda de descida em rb0
//
//**********************************************************************************************************
//**********************************************************************************************************
//
// Programa principal
//
//**********************************************************************************************************
void main()
{
port_b_pullups(true); // hativa os resistores internos de pullup
// no port B
25
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
while (true)
{
if(input(PB1))
output_high(LED1);
if(input(PB2))
output_low(LED1);
}// while
}// void main
26
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
27
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Desenvolvimento
Informações necessárias:
1. Deverão existir dois fins de curso: um para indicar que a cancela está aberta e outro para indicar
que está fechada. Estes comutam uma tensão de 24V (saída do tipo PNP), sendo assim
necessitam ser acopladas opticamente pois cada uma das entradas do microcontrolador opera
em 5V;
2. A abertura da cancela deverá ser realizada por intermédio de um botão chamado de ABRE;
5. Dois Relés em configuração de ponte H deverão ser acionados para realizar o controle de
funcionamento de um motor DC;
*obs:Convencionar estados das variáveis antes de iniciar o projeto, ligado 1, desligado 0. Facilita bastante!!!!!
ATENÇÃO
*** CÓPIAS DE QUALQUER UM DOS ITENS DOS PROJETOS RECEBERÃO NOTA ZERO!****
29
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
30
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Tabela 1:Combinação das entradas para utilização do módulo AD.
ADC_OFF
ADC_CLOCK_DIV_2
ADC_CLOCK_DIV_4
ADC_CLOCK_DIV_8
ADC_CLOCK_DIV_16
ADC_CLOCK_DIV_32
ADC_CLOCK_DIV_64
ADC_CLOCK_DIV_INTERNAL
//**********************************************************************************************************
// Programa exemplo para CONVERSOR AD
//**********************************************************************************************************
//**********************************************************************************************************
// Interrupção externa por borda de descida em rb0
//**********************************************************************************************************
//**********************************************************************************************************
// Programa principal
//**********************************************************************************************************
void main()
{
setup_adc_ports(RA0_ANALOG); // PORT A0 Analogica
while (true)
{
}//while
}//void main
2. Os Ajustes de mínimo e máximo deverão ter ação quando o botão PB0 for
pressionado, ou seja, os ajustes serão realizados dentro do tratamento da interrupção
externa;
33
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
visualizar o ajuste nos leds do port D. Com a temperatura ajustada, acionar o botão
PB2 novamente e aguardar o Led de indicação de Temperatura Baixa Apagar; Em
seguida deve-se ajustar o valor de Temperatura Máximo, realizando o mesmo
procedimento porém utilizando agora o botão PB1 e o potenciômetro de ajuste de
Mínimo. Pressionando uma vez o botão PB1 o LED de Temperatura Máxima acender
depois de um pequeno tempo, e só então é possível realizar o ajuste do valor para o
Máximo, que também pode ser visualizado nos Leds do portD. Com a temperatura
ajustada, acionar o botão PB1 novamente e aguardar o Led de indicação de
Temperatura Alta Apagar;
6. Se a temperatura medida for maior que a temperatura ajustada para o valor máximo,
deve acender unicamente o indicador de Temperatura Alta e ficar assim enquanto a
temperatura for acima do ajustado.
7. Se a temperatura medida for menor que a temperatura ajustada para o valor mínimo,
deve acender unicamente o indicador de Temperatura Baixa e ficar assim enquanto a
temperatura for abaixo do ajustado.
9. A temperatura medida pelo sensor LM35 será apresentada nos leds do port D
durante a operação normal do sistema.
34
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
//*******************************************************************************************************************
// Programa exemplo para o Termômetro com termostato
// usando o CONVERSOR AD em 8 bits
//*******************************************************************************************************************
//*******************************************************************************************************************
// Área de definições de pinos de Saída
//*******************************************************************************************************************
//*******************************************************************************************************************
// Área de definições de parâmetros
// canais de entrada usados: 0, 1 e 3
//*******************************************************************************************************************
#define Sensor_Temperatura 0
#define Ajuste_Alta 1
#define Ajuste_Baixa 3
//*******************************************************************************************************************
// Área de definições de pinos de Entrada Digitais
//*******************************************************************************************************************
//*******************************************************************************************************************
// Área de variáveis globais
//*******************************************************************************************************************
int Temperatura;
int LimiteTempAlta;
int LimiteTempBaixa;
//*******************************************************************************************************************
// Área com a função de tratamento da interrupção externa
// Interrupção externa por borda de descida em rb0
//*******************************************************************************************************************
while(input(Bt_Ajuste_Baixa));
delay_ms(1000);
output_high(LED_Baixa);
set_adc_channel(Ajuste_Baixa); // Seleciona o potenciômetro de ajuste Míninmo
35
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
delay_us(20);// aguarda o circuito interno do PIC se preparar para realizar a conversão
while(input(Bt_Ajuste_Baixa))
{
LimiteTempBaixa = read_adc(); // realiza a leitura
output_D(LimiteTempBaixa );// apresenta o valor Lido no port D
delay_ms(10);
}
output_low(LED_Baixa);
delay_ms(500);
output_D(0);
while(input(Bt_Ajuste_Alta));
delay_ms(1000);
output_high(LED_Alta);
set_adc_channel(Ajuste_Alta); // Seleciona o Potenciômetro de ajuste de Máximo
delay_us(20);// aguarda o circuito interno do PIC se preparar para realizar a conversão
while(input(Bt_Ajuste_Alta))
{
LimiteTempAlta = read_adc();//Le o valor do Potenciômetro de Máximo
output_D(LimiteTempAlta );// apresenta o valor Lido no port D
delay_ms(10);
}
output_low(LED_Alta);
output_D(0);
delay_ms(500);
output_high(LED_Normal);
delay_ms(500);
output_low(LED_Normal);
delay_ms(500);
output_high(LED_Normal);
delay_ms(500);
output_low(LED_Normal);
delay_ms(500);
}
//*******************************************************************************************************************
// Programa principal
//*******************************************************************************************************************
void main()
{
Temperatura = 0;
LimiteTempAlta = 0;
LimiteTempBaixa = 0;
36
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
enable_interrupts(global); // habilita as chave geral de
// interrupções
while (true)
{
// seleciona a entrada analógica para o circuito do sensor de temperatura
set_adc_channel(Sensor_Temperatura);
if(Temperatura<LimiteTempBaixa)
{
output_high(LED_Baixa);
output_low(LED_Alta);
output_low(LED_Normal);
delay_ms(20);
}
else
if((Temperatura>=LimiteTempBaixa)&(Temperatura<=LimiteTempAlta))
{
output_high(LED_Normal);
output_low(LED_Alta);
output_low(LED_Baixa);
delay_ms(20);
}
else
if(Temperatura>LimiteTempAlta)
{
output_high(LED_Alta);
output_low(LED_Baixa);
output_low(LED_Normal);
delay_ms(20);
}
}//while(true)
}
37
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
38
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Tabela 2. Opções da diretiva #use rs232(opções).
39
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Existem várias funções que podem ser utilizadas em um projeto com comunicação serial,
portanto serão abordadas algumas delas.
Para transmitir apenas um byte ou um caractere: putc(dado);
Exemplo: considere uma variável declarada anteriormente do tipo: char valor; e inicializada
com: valor = ‘A’;
Para utilizar um dado recebido pela interface serial, pode-se utilizar a seguinte função: getc();
40
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Figura 5. Circuito elétrico para o exercício termômetro com o LM35, AD de 10 bits e comunicação
serial utilizando o CI MAX232.
Figura 6. Circuito elétrico para o exercício termômetro com o LM35, AD de 10 bits e comunicação
serial utilizando o módulo HEXIT 232.
41
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Desenvolvimento
Informações necessárias:
1. Todos os sinais gerados pelos sensores, chaves de fim de curso, botões e encoder’s devem ser
isolados opticamente pois são alimentados em tensões diferentes da do microcontrolador;
2. Deverão existir dois fins de curso com contatos NF, um superior e outro inferior para emergência
e parametrização;
3. Deverão existir 8 botões, 1 por andar para solicitar a chamada do elevador, e 4 que representam
os botões internos da cabine(carro) do elevador;
5. Deverão existir 4 saídas em coletor aberto para controlar o inversor de freqüência utilizando
acopladores ópticos (4N25);
8. Todo o funcionamento do sistema deve ser monitorado através de um display de cristal líquido de
4 linhas e 20 colunas e de uma conexão RS232 com um computador ligado a ele, onde
informações de controle e parametrização poderão ser passadas, como por exemplo:
• Velocidade de deslocamento;
• Rampa de freio e aceleração;
42
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
• Tempo de espera para partida;
10. A equipe deverá ser de até 2 componentes, os quais deverão trabalhar em equipe, dividindo
tarefas e trocando informações para a realização do projeto. No caso de um dos integrantes
não cumprir com as tarefas determinadas, este será desqualificado e o grupo deverá se
responsabilizar pelo cumprimento da mesma;
1 – Capa;
2 – Diagrama em blocos;
3 – Descrição sucinta dos blocos;
3 – Esquemático – no EAGLE;
4 – Fluxograma do firmware desenvolvido;
5 – Código fonte com comentários das etapas mais importantes;
6 – Projeto completo gerado no MPLAB.
43
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Projeto Elevador
Protocolo de recebimento de Relatório – esta parte fica com os alunos
Aluno: ___________________________________________________________________________
Aluno: ___________________________________________________________________________
Projeto Elevador
Protocolo de Entrega de Relatório – esta parte deve ser anexada ao relatório
Aluno: ___________________________________________________________________________
Aluno: ___________________________________________________________________________
44
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
45
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
MATERIAL DE APOIO
46
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Sintaxe: input(pino)
Exemplo:
obs: as mesmas dicas de se criar apelidos (#define) para os pinos são válidas aqui
Exemplo:
#define SensorA pin_b0 // definição prévia do pino rb0 como sendo SensorA
Exemplo:
Sintaxe: output_high(pino)
obs: as mesmas dicas de se criar apelidos (#define) para os pinos são válidas aqui
Exemplo:
#define Buzzer pin_b7
Sintaxe: output_low(pino)
obs: as mesmas dicas de se criar apelidos (#define) para os pinos são válidas aqui
Exemplo:
#define Buzzer pin_b7
47
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Exemplo:
48
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
A ponte H pode ser testada em qualquer tensão (VCC), desde que não se utilize o motor.
Para simular o funcionamento do motor e testar o sentido da corrente elétrica alimente a ponte com
uma tensão VCC de 5V ou 12V e conecte o circuito com os dois led’s da figura a seguir no lugar do
motor. Acionando somente o relé K1, o led D1 deverá acender o que simularia o motor Ródano em
um dos sentidos. Ao acionar somente o relé K2, o led D2 deverá acender, o que representa o giro do
motor para o sentido contrário.
No caso dos dois relés estarem desligados ou ligados ao mesmo tempo, nenhum led deverá
acender. Este procedimento ira fazer o motor ser freado, pois suas bobinas ficarão em curto.
OBS: Lembre de dimensionar o resistor R1 para uma corrente de no máximo 15mA
para os led’s, independente da tensão.
Circuito de teste da Ponte H com Relés sem motor – somente com Led’s
Obs1: lembre que este tipo de saída fornece só nível lógico “1” – ou seja – VCC
49
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Este TIMER possui uma diferença bastante interessante, sua contagem não segue de 0 até o
valor de 255, e sim de 0 até o valor que estiver armazenado no registrador PR2, ou seja, o limite de
contagem será exatamente o que estiver armazenado no registrador PR2.
Toda vez que o valor do registrador TMR2 for igual ao valor do PR2, o
contador será resetado e o registrador POSTSCALER é incrementado.
O sinal de incremento do TMR2 é entregue pelo PRESCALER. Este registrador/contador
nada mais é que um divisor de CLOCK (freqüências) que pode ser configurado como sendo:
• 1:1 – divide o sinal de clock por 1, ou seja, o sinal (Fosc/4) é responsável pelo incremento do
TMR2
• 1:4 – divide o sinal de clock por 4, ou seja, são necessários 4 ciclos completos do sinal
(Fosc/4) para que ocorra um incremento do TMR2;
• 1:16 – divide o sinal de clock por 16, ou seja, são necessários 16 ciclos completos do sinal
(Fosc/4) para que ocorra um incremento do TMR2.
O POSTSCALER é um contador de estouros do TIMER 2, ou seja, toda vez que a contagem
do TIMER 2 chegar ao fim, ocorrerá o incremento do POSTSCALER. O valor do POSTSCALER pode
ser escolhido entre 1 e 16.
A interrupção será gerada sempre que o valor escolhido para o POSTSCALER for alcançado.
Tanto o POSTSCALER quanto o PRESCALER são zerados quando ocorre uma das
seguintes operações:
• Operações de escrita envolvendo o TMR2;
• Operação de escrita envolvendo o T2CON;
• Qualquer tipo de reset do PIC;
O TIMER 2 é zerado somente em algum tipo de reset, o que o difere dos outros TIMERS.
Para calcular os valores de configuração do MÓDULO PWM, deve-se determinar os valores
do PRESCALER e do POSTSCALER. Utilizando o Exemplo a seguir:
50
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
Calcular um PWM com freqüência de 78,125KHz, com um PIC rodando com um cristal de 20
MHz e o PRESCALER em 1:1.
PERIODO = (PR2+1)*4*(1/xtal)*PRESCALER
(1/78,125KHz) = (PR2+1)*4*(1/20MHz)*1
12,8us = (PR2+1)*4*50ns*1
PR2 = 63.
SINTAXE: setup_timer2(modo,per,ps)
*** todo este conteúdo desta pequena descrição do módulo do TIMER 2 foi resumido a partir de duas
bibliografias:
CONECATANDO O PIC – RECURSOS AVANÇADOS – Autor: David de Souza - 1° edição Editora
Érica
PROGRAMAÇÃO EM C MICROCONTROLADOR PIC – Autor Fábio Pereira - 1° edição Editora Érica
51
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
52
Centro de Educação Profissional Irmão Mário Cristóvão - Curso Técnico em Mecatrônica: Laboratório
de Eletrônica Aplicada e Microcontroladores – Prof. Marcelo do C.C. Gaiotto
CONJUNTO DE CHAVES DIGITAIS COM 4 BOTÕES
53