Você está na página 1de 6

Sistemas Digitais

Avaliação 2 - Trabalho dissertativo


Nome: Gabriel Roberto Pendiuk Matrícula: 1703510
Nome: Gustavinho Hotweiler Matrícula: 6969696

Histórico do kit Arduino:

Segundo o site felipeflop.com o Arduino foi criado em 2005 por um grupo de 5


pesquisadores, sendo eles Massimo Banzi, David Cuartilles, Tom Igoe, Gianluca
Martino e David Mellis e tinha como objetivo elaborar um dispositivo que fosse ao
mesmo tempo barato, funcional e fácil de programar, tendo como principal publico
estudantes e projetistas amadores.
O site embarcados.com descreve que as primeiras placas para plataforma
Arduino se iniciaram com comunicação serial e componentes discretos sendo vendidas
apenas desmontadas em kits ou apenas a PCB, sendo que essas placas utilizavam o
padrão RS232 para interface com o computador e precisavam de alimentação externa
a partir do plug Jack.
Após pouco tempo foi visto que devido ao grande uso do USB e possibilidade de
alimentar a placa diretamente através do cabo de comunicação deveria ser criada uma
modificação, assim foi criada a placa Arduino USB, que utilizava a porta USB porém
como erro de montagem tinha a pinagem do conector USB, que foi apenas corrigida no
lançamento da placa Arduino USB v2.0, que mantinha a maioria dos componentes
discretos e utilizava do conversor USB serial do chip FT232BM da FTDI, tendo como
outro pró a existência de um jumper para seleção de alimentação no USB ou adaptador
esterno, podendo assim testar projetos diretamente pelo computador sem utilizar uma
fonte externa de alimentação. Logo após foi criado a Arduino Extreme que trouxe
componentes em montagem SMD e utilizava conectores femêa, que futuramente
seriam conhecidos como o padrão Arduino, tendo após ainda o padrão V2 da Arduino
extreme que teve apenas um melhor layout e um terra mais elaborado, outra
curiosidade é que este trouxe pela primeira vez a URL Arduino.cc impressa
diretamente na placa.
Após todos esses projetos, a Arduino lançou o Arduino NG, que tinha como
novidade o conversor USB-Serial e também a troca do microcontrolador ATmega8 para
o novo ATmega168 que redobrava a capacidade de memória para 16KB, tendo como
sucessores o Arduino Diecimila e o Arduino Duemilanove, que era fabricado com o
ATmega328 que tinha o dobro de memoria do Atmega168(32KB) e logo após o grande
sucesso da Arduino, o Arduino UNO, que utilizava o microcontrolador ATmega8U2 ou
no rev3 ATmega16U2 com entradas e saídas melhor identificadas;

Arduino serial (1º Arduino) Arduino Uno rev3.0

Resumo sobre o microcontrolador ATmega328:

O microcontrolador ATmega 328 fabricado pela empresa microchip combina


32KB de memoria Flash com capacidade de ler e gravar, 1KB de memória EEPROM,
2KB de memoria SRAM e 23 entradas ou saídas(I/0), 32 registradores para propósitos
gerais e 3 timers flexíveis com comparadores de modelos, interruptores internos e
externos, uma USART serial programável, interface serial “dois cabos orientadas pelo
byte”, porta serial SPI, conversor A/D 6canais de 10bits e um watchdog programável
com oscilador interno, o dispositivo opera entre 1.8 e 5.5Volts.
Os ATmegas são comumente usados em projetos e sistemas autônomos pois
trata-se de um microcontrolador simples, de baixo curso e baixa potência, a principal
aplicações industriais é vista nos modelos Arduino Uno e Arduino Nano.
Tratando-se do custo é visto que o modelo fabricado pela microchip custa em
torno de 24 reais nos sites de compra de eletrônicos mais utilizados do mercado
brasileiro.

Sobre o conversor AD interno ao microcontrolador ATmega:

Os ATmega48A/PA/88A/PA/168A/PA/328/P fazem uso de um conversor AD de


10 bits que é conectado a um multiplexador analógico de 8 canais, ambos têm
como principais características o circuito “sample and hold” que mantem a tensão
de entrada constante, pois o pino de fonte analógica não pode diferenciar mais que
0.3V que a Vcc(os motivos serão ditos a seguir), tendo a tensão de referencia de
aproximadamente 1.1V.
Para realizar uma conversão é necessário desabilitar o bit de redução de
potência, escrevendo um 0 na mesma ou um 1 no bit de conversão inicial
ADC/ADSC, o mesmo vai continuar em 1 até que a conversão seja completa,
alternativamente a conversão pode ser forçada por várias fontes, por exemplo
quando ocorre uma curva positiva no sinal de trigger selecionado, que impulsiona o
ADC prescaler a um reset e então a conversão é iniciada, o que é uma grande
ferramenta para fornecer conversões em períodos fixados ainda considerando que
caso uma curva positiva ocorra durante uma conversão ela será ignorada, é
interessante lembrar que a flag de interrupção deve estar limpa antes de fazer o
trigger para uma nova conversão pois utilizar a ADC interrupt flag como uma trigger
source faz com que outra conversão comece logo após que a decorrente termine,
fazendo com que o ADC entre em modo livre e faça testes constantes dando update
constante no registrador de data do ADC.
Por default, a aproximação sucessiva requer um input clock entre 50kHz e
200kHz para conseguir a máxima resolução, caso uma resolução menor que 10bits
for necessário o input clock do ADC pode ser maior eu 200kHz para conseguir uma
maior taxa de sampling.
Para utilizar o prescaler do modulo ADC é necessário que o trigger do ADC seja
feito pelo set do ADEN bit no ADCSRA, isso faz com que o o prescaler funcione
enquanto o bit ADEN ficar setado, e caso o nível do ADEN seja baixo o circuito
ficará em constante reset.
O prescaler caso o bit ADSC seja setado no ADCSRA começa a conversão na
próxima curva de subida do ciclo de clock da ADC, sendo que uma conversão
normal toma cerca de 13 ciclos de clock do conversor, e a primeira conversão após
o ADC seja ligado toma cerca de 25 ciclos de clock para inicializar o circuito
analógico. É importante referenciar que caso uma tensão diferente da de referência
e fora da gap permitida for usada como input no ADC irá levar algum tempo para a
tensão estabilizar, caso não estabilizada o primeiro valor lido após a primeira
conversão pode ser errado.
Considerando o sample and hold, o mesmo toma cerca de 1.5 ciclos de clock
depois de começar uma conversão normal e 13.5 ciclos de clock após o começo da
primeira conversão, quando a conversão é completa o resultado fica escrito nos
registradores de data do ADC e o ADIF é setado, no modo de conversão única o
ADSC é limpado simultaneamente, o software pode setar o ADSC denovo, e assim
uma nova conversão sera iniciada na primeira curva de subida do clock do ADC.
O uso do autotrigger pode ser usado como uma segurança para arrumar o delay
de iniciar a conversão, nesse modo o sample e hold toma 2 ciclos de clock depois
da curva de subida do sinal da fonte, e 3 ciclos de clock adicionais são tomados
para utilizar a lógica de sincronização.

Explicação diagrama de tempo do Autotrigger:


Como explicito nas explicações acima para ativar o autotriger é necessário
enviar um pulso alto no ADATE, como é mostrado na figura acima, logo após ocorre a
ativação do trigger Source (sendo qualquer uma das escolhidas) e no mesmo intervalo
ocorre o reset do prescaler seguida na primeira curva de subida do clock do ADC por
um update do MUX e do REFS, levando então um ciclo e meio de clock para que o
Sample e hold seja ativado.
Tendo o ADIF em estado baixo até que a primeira conversão finalize
aproximadamente no 13º ciclo de clock e como resultado logo após a assinatura e o
Byte mais significativo serão mostrados no ADCH seguidos pelo byte menos
significativo do resultado mostrado no ADCL.
Após isso a ADIF muda para o nível alto e o trigger source fica em nível baixo
até que comece a nova conversão, tendo um novo prescaler reset demostrado no
gráfico e iniciando a próxima conversão a partir do autotrigger.

Teste de tensão de saída usando Arduino:

Esse simples circuito feito pelo usuário Ian Etheridge no fórum create.arduino.cc faz
uso de apenas um Arduino,3 leds um potenciômetro e resistores de 220ohms para criar
uma diferenciação visual entre tensões de saída, podendo por exemplo mostrar caso
conectado á entrada positiva de um cabo p2 as tensões produzidas por diferentes
frequências de som a partir de resposta luminosa, é uma forma simples de verificar se
as tensões produzidas pela fonte secundaria de entrada independente de qual
seja(fonte, cabo p2, cabo de guitarra ou mesmo alimentação de servo motor) estão
sendo maiores que certa margem possível, tendo assim uma resposta simples se os
mesmos serão passíveis de uso sem danificar o projeto designado utilizando apenas
coisas que meramente qualquer pessoa que tenha um Arduino provavelmente tem
acesso ou caso não tem consegue comprar a custo baixo fazendo uso do conversor
AD do próprio Arduino uno.

Referencias:

 https://www.filipeflop.com/blog/o-que-e-arduino/
 https://www.embarcados.com.br/placas-arduino/
 https://www.microchip.com/wwwproducts/en/atmega328
 https://moodle.utfpr.edu.br/pluginfile.php/1365126/mod_resource/content/0/Cap.
%2024%20-%20ATmega.pdf
 https://create.arduino.cc/projecthub/ian-etheridge/led-display-with-arduino-adc-
and-pwm-982c6d

Você também pode gostar