Aula 1 Prof Ricardo Teixeira Tecnologia em Mecatrnica

  • Slides: 42
Download presentation
Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Aula 1 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Modelo da disciplina • Aulas teórica e práticas em hardware e simuladas. • Programação

Modelo da disciplina • Aulas teórica e práticas em hardware e simuladas. • Programação em C • Microcontrolador PIC 18 F 4550

Modelo da disciplina • Avaliação 1: – 5 atividades ao longo das 10 primeiras

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. –

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

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 PIC 16 F 877. Fonte: http: //www. mikroe.

Introdução Diagrama em blocos do microcontrolador PIC 16 F 877. Fonte: http: //www. mikroe. com/

Aplicações • Processos Industriais; • Automóveis; • Dispositivos eletrônicos (smartphones, brinquedos, eletrodomésticos etc. );

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

Aplicações

Aplicações

Modelos • Diversos fabricantes: –Microchip (PIC e ds. PIC); –ATMEL (8051, AVR); –ARM (série

Modelos • Diversos fabricantes: –Microchip (PIC e ds. PIC); –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

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 ATMEGA 328).

Microcontroladores PIC

Microcontroladores PIC

Microcontroladores PIC • Desenvolvidos pela Microchip • Chips com características semelhantes mesmo em famílias

Microcontroladores PIC • Desenvolvidos pela Microchip • Chips com características semelhantes mesmo em famílias diferentes (ex. PIC 16 F 877 A e PIC 18 F 4550).

Alguns Chips • PIC 16 F 628 A – 8 bits, 2 KB de

Alguns Chips • PIC 16 F 628 A – 8 bits, 2 KB de FLASH, 20 MHz, USART. • PIC 16 F 877 A – 8 bits, 8 KB de FLASH, 20 MHz, SPI, I²C. • PIC 18 F 4550 – 8 bits, 32 KB de FLASH, 48 MHz, USB. • ds. PIC 30 F 4013 – 16 bits, 48 KB de FLASH, 40 MHz, CAN BUS, DSP.

PIC 16 F 877 A

PIC 16 F 877 A

PIC 18 F 4550

PIC 18 F 4550

PIC 18 F 4550 • • Clock de até 48 MHz 32 KB de

PIC 18 F 4550 • • 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

PIC 18 F 4550 • 5 portas digitais de entrada e saída: A, B,

PIC 18 F 4550 • 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.

Arquitetura PIC 18 F 4550 • • • Arquitetura Harvard (memórias separadas com barramentos

Arquitetura PIC 18 F 4550 • • • Arquitetura Harvard (memórias separadas com barramentos independentes); Porta A e B: 8 bits; Porta C: 7 bits, RC 3 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 –

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 Pic. Kit 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:

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 PIC 18 F Series, Newnes, 2008. (mikro. C) – 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 PIC 18 F 4550. –

Material de Estudo • Outros materiais: – Datasheet do PIC 18 F 4550. – PIC 18 F 4 XXX Family Programming Specification – Microchip website – Manual do compilador utilizado (F 1) – Apostilas e tutoriais em geral na internet sobre microcontroladores PIC em C e Proteus.

Kit Didático Mac. Master 2 • Displays 7 segmentos • LCD • LEDs •

Kit Didático Mac. Master 2 • Displays 7 segmentos • LCD • LEDs • Teclado matricial • Memória serial (I²C) • RTC etc.

Kit Didático Mc. Master 2

Kit Didático Mc. Master 2

Kit Didático Mc. Master 2

Kit Didático Mc. Master 2

Um pouco do Proteus • Entradas: – 1: botão pressionado gera zero – 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 1 2 3 4 5

Um pouco do Proteus • Saídas: – 1: Controlando o LED – 2: Arranjo

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

Um pouco do Proteus • Teste seus códigos – Hardware de teste – disponível

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 18 F 4550. h possui

Dica importante - 1 • O arquivo de configuração 18 F 4550. 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 (F 9) – Botão direito sobre #include<PIC 164550. 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

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 (F 9) – Clique na aba Files – Output/Exemplo_01. lst

Dica importante - 3 • Ao abrir e compilar um programa no CCS é

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 = 20 M) apenas

Dica importante - 4 • A diretiva #use delay (clock = 20 M) 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 u.

Programação em C • Compilador CCS • ANSI C mais as especificações do u. C – Ver arquivo 18 F 4550. h • Atenção aos tipos de dados

Programação em C • Cada tipo comporta uma quantidade de bits • O estouro

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

Programação em C • Alguns tipos são equivalentes

Estrutura básica #include <18 F 4550. h> // inclui arquivo de bibliotecas do dispositivo

Estrutura básica #include <18 F 4550. 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

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,

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

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 –

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 () –

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 inteiro) – output_a (value) //escreve a variável value na porta a.

Exemplo 01 #include <18 F 4550. h> #FUSES NOWDT #FUSES INTRC #FUSES NOMCLR #use

Exemplo 01 #include <18 F 4550. h> #FUSES NOWDT #FUSES INTRC #FUSES NOMCLR #use delay(crystal=4 MHz) #define LED PIN_B 0 #define DELAY 1000 void main() { while(true){ output_low(LED); delay_ms(DELAY); output_high(LED); delay_ms(DELAY); } } //No Watch Dog Timer //Internal osc //Master Clear pin desabled