Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
-
Upload
nicolas-vilaverde-lencastre -
Category
Documents
-
view
237 -
download
0
Transcript of Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Aula 1
Prof. Ricardo TeixeiraTecnologia em Mecatrônica Industrial
SENAI
Modelo da disciplina
• Aulas teórica e práticas em hardware e simuladas.• Programação em C• Microcontrolador PIC18F4550
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.
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.
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.).
Introdução
Diagrama em blocos do microcontrolador PIC16F877. Fonte: http://www.mikroe.com/
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.
Aplicações
Aplicações
Modelos
• Diversos fabricantes:–Microchip (PIC e dsPIC);–ATMEL (8051, AVR);–ARM (série Cortex);–Texas Instruments (série MSP)
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).
Microcontroladores PIC
Microcontroladores PIC
• Desenvolvidos pela Microchip• Chips com características
semelhantes mesmo em famílias diferentes (ex. PIC16F877A e PIC18F4550).
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.
PIC 16F877A
PIC 18F4550
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
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.
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.
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.
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.
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.
Kit Didático MacMaster 2
• Displays 7 segmentos• LCD• LEDs• Teclado matricial• Memória serial (I²C)• RTC etc.
Kit Didático McMaster 2
Kit Didático McMaster 2
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
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
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)
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.
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
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.
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.
Programação em C
• Compilador CCS• ANSI C mais as especificações do uC
– Ver arquivo 18F4550.h• Atenção aos tipos de dados
Programação em C
• Cada tipo comporta uma quantidade de bits• O estouro do valor pode acarretar em perda dos
dados
Programação em C
• Alguns tipos são equivalentes
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 }}
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
Os bits de configuração
• NOBROWNOUT,BROWNOUT – Reset com tensão baixa• LVP,NOLVP – Programação em baixa tensão
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.
Configurando o simulador proteus
• Clique com o botão direito sobre o controlador – propriedades• Carregue o programa .hex ou .cof e configure a velocidade
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.