microcontroladores no radioamadorimso -...

20
MICROCONTROLADORES NO RADIOAMADORISMO CT2KAV – CARLOS SOUSA Almeirim, 17 de Setembro de 2016

Upload: lynguyet

Post on 09-Nov-2018

239 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

MICROCONTROLADORES

NO

RADIOAMADORISMO

CT2KAV – CARLOS SOUSA

Almeirim, 17 de Setembro de 2016

Page 2: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

O MICROCONTROLADOR

Único circuito com

• Processador

• Memória

• Ram, E2Prom, Flash

• Periféricos

• ADC, USART, USB

• Comparadores, Timers,

• Portos In e Out

• I2C, SPI, PWM

• Etc

• ISCP, ICD

• Possibilidade de programação em serviço

• Possibilidade de debug em serviço

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 3: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

MICROCHIP PIC 18F

• Linguagem de programação C

• Compilador MikroC

• Programador PicFlash

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 4: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

NO RADIOAMADORISMO

CT2KAV - Almeirim, 17 de Setembro de 2016

Comutadores de antenas Medidores de potência

Page 5: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

NO RADIOAMADORISMO

Medidores de frequência

Geradores de CW

Sistemas de APRS

Controladores de amplificadores RF

Viva a necessidade e imaginação....

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 6: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CONTADOR DE FREQUÊNCIA

FUNDAMENTO TEÓRICO

• A frequência de um sinal periódico é o número de vezes que o mesmo se repete

num segundo.

• Um sinal periódico é um sinal cuja amplitude se repete ao longo do tempo. Sabendo

a forma de um período, conhecemos a amplitude do sinal em qualquer instante de

tempo pois ele repete-se.

• As grandezas de um sinal periódico

• Amplitude A, o período T e a fase φ – a frequência f é 1/T

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 7: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CONTADOR DE FREQUÊNCIA

CONDICIONAMENTO DE SINAL

O papel do microcontrolador é contar o número de repetições do sinal no

intervalo de tempo de um segundo, mas.....

• O microcontrolador trabalha com sinais digitais, neste caso com valores entre 0 e

5V.

• Há que condicionar (transformar) o sinal a medir para que oscile entre 0 e 5 V, mas

não perca as características de frequência.

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 8: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CONTADOR DE FREQUÊNCIA

CONDICIONAMENTO DE SINAL

• Um pequeno amplificador baseado num transístor 2N3904 é suficiente para

condicionar o sinal.

• Usar máximo de 5W sobre 50Ohm para excitar o condicionador.

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 9: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CONTADOR DE FREQUÊNCIA

USO DO

MICROCONTROLADOR

O periférico indicado para contar tempo num microcontrolador é o temporizador.

O periférico indicado para comtar repetições ou impulsos de 0 para 5V de um sinal é

um contador.

Com estes dois periféricos é possível calcular a frequência do sinal.

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 10: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CONTADOR DE FREQUÊNCIA

USO DO

MICROCONTROLADOR

• A diferença entre um contador e um temporizador tem a ver com o uso que se lhes dá e

também com a fonte de clock que se usa.

• Um temporizador é um contador usado para contar tempo. Um contador é usado para

contar impulsos originados numa fonte externa.

• Nos microcontroladores PIC existem Timers que podem ser usados como

temporizadores ou contadores.

• Neste projecto usam-se dois Timers de 16 bit cada, um como temporizador (Timer 0) e

outro como contador de impulsos externos (Timer 1). Estes impulsos são os impulsos do

sinal a medir a frequência.

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 11: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CONTADOR DE FREQUÊNCIA

USO DO

MICROCONTROLADOR

• O Timer 0, é usado para contar meio segundo. Neste meio segundo contam-se os

impulsos originados na entrada do Timer 1 pelo nosso sinal depois de condicionado.

• A frequência é o dobro destes impulsos.

• Programa-se o Timer 0 com fonte de clock o sinal de clock do microcontrolador dividido

numa primeira fase por 4 e depois por 64.

• 16Mhz / 4 / 64 = 62500 ou seja temos 62500 contagens num segundo, mas como só

usamos meio segundo temos 31250. Quando o registo do Timer 0 chegar a 65535-

31250 passou meio segundo (pois gera overflow quando passar de 65535 para 0.

• O Timer 1 vai ser usado para contar impulsos durante meio segundo. Com 30Mhz,

temos 15M impulsos em meio segundo. Este valor não cabe em 16bit, logo temos

de usar outra técnica.

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 12: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CONTADOR DE FREQUÊNCIA

USO DO

MICROCONTROLADOR

• Os Timer tem um bit de overflow, que gera interrupt quando passar de 65535 para 0000.

Assim, há que, no firmware, usar este interrupt para incrementar o que vai ser a parte

mais alta do número de 32 bit formado por uma variável em memória (16 bits mais altos)

e pelo valor do Timer 1 (16 bits mais baixos).

• O Timer 0 é programado com o valor que é a diferença de 65535 (máximo) para 31250

que é 34285, ou seja, passados 31250 ticks além de 34285 passa de 65535 para 0

gerando também o interrupt de overflow. Sabemos assim que aquando do interrupt do

Timer 0 que passou meio segundo. Neste interrupt basta averiguar o valor de 32 bit da

variável em memória (16 bit altos) e do valor do Timer 1 (16 bit baixos) e multiplicar por

2 tendo a frequência do sinal.

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 13: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CONTADOR DE FREQUÊNCIA

FIRMWARE BASE

CT2KAV - Almeirim, 17 de Setembro de 2016

• Para além das incializações, dos pormenores do WIFI, do módulo USB e do módulo LCD, é constituído por

uma máquina de três estados:

• Estado 0 em que se reinicia o Timer 0 e o Timer 1 e os colocam a correr.

• Estado 1 em que não faz abolutamnte nada, pois quando o Timer 0 der interrupt coloca a máquina no

estado 2 e pára os Timers.

• Estado 2 em que se calcula a frequência e escreve-se o seu valor no LCD e se envia por WIFI.

Page 14: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CT2KAV - Almeirim, 17 de Setembro de 2016

CONTADOR DE FREQUÊNCIA

FIRMWARE BASE

• O módulo WIFI ESP8266 é configurado por comandos AT e o envio da informação para a rede é feito

através de um comando AT que abre uma ligação UDP para o endereço de broadcast. Os comandos AT

passam via porta UART do microcontrolador para o módulo ESP8266 (115200bps, 8 bit, no parity, no

flow control).

• O módulo LCD 16X2 é trabalhado usando a biblioteca do MikroC, modo 4bit.

• A porta USB é trabalhada usando o módulo USB do microcontrolador, a biblioteca HIDdo MikroC.

• Tanto a comunicação com a porta USB como com o módulo WIFI como com o LCD não são acções

prioritárias. Só quando a contagem de frequência está disponível se entra na parte de comunicação

USB, WIFI e LCD.

Page 15: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

LEITURA DA FREQUÊNCIA NA PLACA

Módulo Lcd 2X16

• Comunicação paralela a 4 bit com o microcontrolador

• Biblioteca LCD da MikroC

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 16: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

COMUNICAÇÃO USB

Módulo hardware HID USB

Permite via aplicação PC

• Configuração da placa

• Reset de fábrica

• Ler a frequência

Desenvolvida em Delphi

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 17: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

COMUNICAÇÃO WI-FI

Módulo Esp8266 configurado como

estação.

Comunicação com o microcontrolador via

Uart 115200bps, 8bit, no parity, no flow

control (default)

Comunicação Rede via Sockect Udp/Tcp.

Usa comandos formato AT para operação

com o microcontrolador.

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 18: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

APLICAÇÃO ANDROID

Permite receber o valor da frequência medida no smartphone/tablet

Desenvolvida em Android Studio

CT2KAV - Almeirim, 17 de Setembro de 2016

Page 19: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

CARACTERÍSTICAS DO FREQUENCY COUNTER

Alimentação : 5V DC via fonte externa

Consumo aproximado: 1,75W

Configuração por porta USB

• SN, IP, Máscara Sub Rede,

• Gateway, porta de escuta

• SSID e password de WIFI

Visualização por Lcd

Visualização por aplicação PC via porto USB

Visualização por aplicação Android via Wi-Fi

CT2KAV - Almeirim, 17 de Setembro de 2016

Ainda em breadboard

Page 20: Microcontroladores no radioamadorimso - CT1ARRct1arr.org/wp/wp-content/uploads/2016/09/ct2kav_pics-1.pdf · MICROCHIP PIC 18F •Linguagem de programação C • Compilador MikroC

BIBLIOGRAFIA

www.microchip.com (Fabricante do Pic)

www.mikroe.com (mikroC Compiler)

https://developer.android.com/index.html (Android studio developpers )

https://www.embarcadero.com/br/products/delphi (Embarcadreo Delph) www.http://stackoverflow.com (fórum geral de programação)

www.ct1arr.org (Antenna switch e digimeter)

www.foxdelta.com (Kits de radioamadorismo)

http://microcontrolandos.blogspot.pt/2012/09/programando-no-mikroc-pro-pic.html (tutoriais)

http://www.esp8266.com (informação sobre ESP8266)

Contacto : [email protected]

CT2KAV - Almeirim, 17 de Setembro de 2016