microcontroladores no radioamadorimso -...
TRANSCRIPT
MICROCONTROLADORES
NO
RADIOAMADORISMO
CT2KAV – CARLOS SOUSA
Almeirim, 17 de Setembro de 2016
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
MICROCHIP PIC 18F
• Linguagem de programação C
• Compilador MikroC
• Programador PicFlash
CT2KAV - Almeirim, 17 de Setembro de 2016
NO RADIOAMADORISMO
CT2KAV - Almeirim, 17 de Setembro de 2016
Comutadores de antenas Medidores de potência
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
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
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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