Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
-
Upload
nicolas-vilaverde-lencastre -
Category
Documents
-
view
241 -
download
0
Transcript of Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
![Page 1: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/1.jpg)
Aula 1
Prof. Ricardo TeixeiraTecnologia em Mecatrônica Industrial
SENAI
![Page 2: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/2.jpg)
Modelo da disciplina
• Aulas teórica e práticas em hardware e simuladas.• Programação em C• Microcontrolador PIC18F4550
![Page 3: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/3.jpg)
Modelo da disciplina
• Avaliação 1:– 5 atividades ao longo das 10 primeiras aulas. – Todas devem ser entregues na data especificada.– Todas as atividades deverão conter os arquivos para simulação e
execução do projeto.• Avaliação 2:
– Projeto em grupo.• Descrição do projeto (o que vai ser feito).• Pode compor com outras disciplinas (ex.: controlar um motor em
eletrônica de potência etc.).• Esquema elétrico e código fonte.• Apresentação funcionando no kit didático.
![Page 4: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/4.jpg)
Modelo da disciplina
• Avaliação Final:– Prova teórica aberta com 5 questões.– Tipo de questão:
• Criar um código dado um problema.• Criar um circuito dado o código.• Questões discursivas.
– Prova sem consulta e individual realizada em papel pautado.
![Page 5: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/5.jpg)
Introdução
• O microcontrolador é pequeno computador em um único chip.
• Neste mesmo chip temos o core de processamento, memória e periféricos de E/S programáveis.
• Os modelos mais novos não necessitam de outros componentes para funcionar, são autossuficientes.
• Estão disponíveis em diversos encapsulamentos, variadas famílias e modelos com características próprias (conversores AD, USB, tipo de arquitetura etc.).
![Page 6: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/6.jpg)
Introdução
Diagrama em blocos do microcontrolador PIC16F877. Fonte: http://www.mikroe.com/
![Page 7: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/7.jpg)
Aplicações
• Processos Industriais;• Automóveis;• Dispositivos eletrônicos (smartphones, brinquedos,
eletrodomésticos etc.);• Aplicações médicas;• Redes de Sensores Sem Fio (RSSF);• Robótica etc.
![Page 8: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/8.jpg)
Aplicações
![Page 9: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/9.jpg)
Aplicações
![Page 10: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/10.jpg)
Modelos
• Diversos fabricantes:–Microchip (PIC e dsPIC);–ATMEL (8051, AVR);–ARM (série Cortex);–Texas Instruments (série MSP)
![Page 11: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/11.jpg)
Dúvida
• E onde fica o Arduino nessa história?–Trata-se de uma plataforma de
desenvolvimento opensource.–Utiliza microcontroladores ATMEL (ex.:
Arduino Uno utiliza ATMEGA328).
![Page 12: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/12.jpg)
Microcontroladores PIC
![Page 13: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/13.jpg)
Microcontroladores PIC
• Desenvolvidos pela Microchip• Chips com características
semelhantes mesmo em famílias diferentes (ex. PIC16F877A e PIC18F4550).
![Page 14: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/14.jpg)
Alguns Chips
• PIC16F628A – 8 bits, 2 KB de FLASH, 20 MHz, USART.
• PIC 16F877A–8 bits, 8 KB de FLASH, 20 MHz, SPI, I²C.
• PIC 18F4550–8 bits, 32 KB de FLASH, 48 MHz, USB.
• dsPIC30F4013 –16 bits, 48 KB de FLASH, 40 MHz, CAN BUS, DSP.
![Page 15: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/15.jpg)
PIC 16F877A
![Page 16: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/16.jpg)
PIC 18F4550
![Page 17: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/17.jpg)
PIC18F4550
• Clock de até 48 MHz• 32 KB de memória FLASH• 35 E/S, • 13 canais A/D 10 bits, • Protocolos de comunicação USB, UART, SPI e I²C,• 1 PWM• 4 Timers• SPI, I²C, USART• Boot-loader, necessita de gravador apenas na
primeira gravação
![Page 18: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/18.jpg)
PIC18F4550
• 5 portas digitais de entrada e saída: A, B, C, D, E – cada uma com capacidades diferentes.
• USB 2.0 – HID (Human Interface Device): é reconhecido como um novo dispositivo no Windows por exemplo.
![Page 19: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/19.jpg)
ArquiteturaPIC18F4550
• Arquitetura Harvard (memórias separadas com barramentos independentes);
• Porta A e B: 8 bits;• Porta C: 7 bits, RC3 não
está disponível;• Porta D e E: 4 bits;• Apenas um barramento
de dados;• Circuito de geração de
clock interno.
![Page 20: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/20.jpg)
Ferramentas de Desenvolvimento
• CCS – compilador para a linguagem C• MPLAB – gratuito para download em www.micrcochip.com
– Permite programação em assembly e C, além da gravação dos dispositivos
– Pode ser usado para programação em C por meio de plugins– Também podem ser usados para programação o PicKit 2 Programmer,
PICKit 3 Programmer entre outros.• Mikro C – compilador para a linguagem C com diversas ferramentas
integradas• Proteus – simulador de circuito elétrico e código digital de
microcontroladores– Possui limitações de simulação importantes que podem inviabilizar a
simulação ou não prever completamente o funcionamento do circuito real.
![Page 21: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/21.jpg)
Material de Estudo
• Materiais de aula no site www.ricardoteix.com• Livros:
– Dogan Ibrahim, ADVANCED PIC MICROCONTROLLER PROJECTS IN C: From USB to RTOS with the PIC18F Series, Newnes, 2008. (mikroC)
– David José de Souza, Desbravando o PIC, ed. Érica – 12ª Ed, 2009. (Assembly)
– D. J. de Souza e Nicolás Cesar Lavinia, Conectando o PIC, recursos avançados. Ed Érica, 4ª Ed., 2007.
– Fábio Pereira, Microcontroladores PIC, programação em C (CCS). ed Érica, 7ª Ed, 2007.
![Page 22: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/22.jpg)
Material de Estudo
• Outros materiais:– Datasheet do PIC18F4550.– PIC18F4XXX Family Programming Specification– Microchip website– Manual do compilador utilizado (F1)– Apostilas e tutoriais em geral na internet sobre
microcontroladores PIC em C e Proteus.
![Page 23: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/23.jpg)
Kit Didático MacMaster 2
• Displays 7 segmentos• LCD• LEDs• Teclado matricial• Memória serial (I²C)• RTC etc.
![Page 24: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/24.jpg)
Kit Didático McMaster 2
![Page 25: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/25.jpg)
Kit Didático McMaster 2
![Page 26: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/26.jpg)
Um pouco do Proteus• Entradas:
– 1: botão pressionado gera zero– 2: botão pressionado gera 1– 3: Arranjo com barra de resistor e dip switch (repare no uso da
ferramenta label)– 4: gerador lógico apenas para simulação (logic state)– 5: botão de três terminais
VDD
R101k
SW9SW-SPST-MOM
VDD
SW10SW-SPST-MOM
R111k
labe
l label
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
SW11SW-DIP8
2 3 4 5 6 7 8 91
RP2RESPACK-8
VDD 0
1 2 3 4
SW1
SW-SPDT
5
![Page 27: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/27.jpg)
Um pouco do Proteus• Saídas:
– 1: Controlando o LED– 2: Arranjo com barra de LEDs– 3: mostrador lógico apenas para simulação (logc probe)
1 2 3
R10560
D1LED-RED
Pino de saida
?
12345678
2019181716151413910
1211
U3
LED-BARGRAPH-GRN
R12470R
R13470R
R14470R
R15470R
R16470R
R17470R
R18470R
R19470R
![Page 28: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/28.jpg)
Um pouco do Proteus
• Teste seus códigos– Hardware de teste – disponível no material de aulas– Atenção:
• à velocidade, • ao arquivo .hex,• ao relógio da simulação• à sinalização de níveis lógicos:
– vermelho = 1– Azul = 0– Amarelo = curto circuito– Cinza = desconectado ou indefinido (zona proibida)
![Page 29: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/29.jpg)
Dica importante - 1
• O arquivo de configuração 18F4550.h possui a sintaxe as configurações de várias funcionalidades do controlador.
• Para visualizar quais as opções disponíveis:– Abra o projeto (Exemplo_01),– Compile (F9)– Botão direito sobre #include<PIC164550.h>– Opção: open file at cursor– Ou apenas na aba Files dê duplo clique no arquivo.
![Page 30: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/30.jpg)
Dica importante - 2
• O arquivo .lst que mostra o código em assembly permite a visualização da área de código.
• Para visualizar o arquivo .lst:– Abra o programa (Exemplo_01)– Compile (F9)– Clique na aba Files– Output/Exemplo_01.lst
![Page 31: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/31.jpg)
Dica importante - 3
• Ao abrir e compilar um programa no CCS é criado automaticamente um projeto associado.
• Caso você abra um segundo programa e tente compilar, o projeto aberto (com o primeiro programa aberto) é o que será compilado.
![Page 32: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/32.jpg)
Dica importante - 4
• A diretiva #use delay (clock = 20M) apenas informa ao compilador qual a velocidade do clock que será implementado em hardware
• Se houver diferença entre o cristal escolhido no Proteus ou na placa e o informado na diretiva as temporizações serão erradas.
![Page 33: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/33.jpg)
Programação em C
• Compilador CCS• ANSI C mais as especificações do uC
– Ver arquivo 18F4550.h• Atenção aos tipos de dados
![Page 34: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/34.jpg)
Programação em C
• Cada tipo comporta uma quantidade de bits• O estouro do valor pode acarretar em perda dos
dados
![Page 35: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/35.jpg)
Programação em C
• Alguns tipos são equivalentes
![Page 36: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/36.jpg)
Estrutura básica
#include <18F4550.h> // inclui arquivo de bibliotecas do dispositivo#use delay (clock = 20000000)// Isso apenas informa para o compilador // qual a frequencia do clock será utilizada // para os calculos de tempo do compilador// bits de configuração #fuses HS, NOWDT, NOPROTECT, NOPUT, NOBROWNOUT, NOLVP
void main () {// rotina principal
//instruções que irão ser executadas apenas uma vez while(true) { // loop infinito // Área de código em loop que será executada indefinidamente }}
![Page 37: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/37.jpg)
Os bits de configuração
• XT,HS,INTRC – Selecionam a velocidade do cristal – datasheet página 121
• NOWDT,WDT – Watchdog Timer (cão de guarda) - datasheet página 131
• NOPUT,PUT – Power-up timer – datasheet página 124• PROTECT, NOPROTECT – Protege o código, não permite a
sua leitura (tem na internet como quebrar de algumas famílias)
• DEBUG,NODEBUG
![Page 38: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/38.jpg)
Os bits de configuração
• NOBROWNOUT,BROWNOUT – Reset com tensão baixa• LVP,NOLVP – Programação em baixa tensão
![Page 39: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/39.jpg)
Principais arquivos gerados pelo compilador
• Xxx.cof – código em linguagem de máquina para ser carregado no
controlador ou no Proteus – permite debug no Proteus• Xxx.hex
– código em linguagem de máquina para ser carregado no controlador ou no Proteus
• Xxx.lst– código em assembly
• Para visualizar os arquivos, acesse a aba files após compilar.
![Page 40: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/40.jpg)
Configurando o simulador proteus
• Clique com o botão direito sobre o controlador – propriedades• Carregue o programa .hex ou .cof e configure a velocidade
![Page 41: Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.](https://reader033.fdocuments.net/reader033/viewer/2022061608/5706386f1a28abb8239069e3/html5/thumbnails/41.jpg)
Primeiro Programa em C
• Leitura e escrita de portas– input_x () – output_x ()
• Manual de referência pág. vii (via sumário)– Value = input_a () //lê a porta A e carrega na variável value
(byte ou inteira)– Output_a (value) //escreve a variável value na porta a.