17
MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA www.meccomeletronica.com página 1 Em poucas palavras, PWM (Pulse Width Modulation) refere-se ao conceito de pulsar rapidamente um sinal digital em um condutor. Além de várias outras aplicações, esta técnica de modulação pode ser utilizada para simular uma tensão estática variável e é comumente aplicada no controle de motores elétricos, aquecedores, LEDs ou luzes em diferentes intensidades ou frequências. Um dispositivo digital como um microcontrolador pode trabalhar com entradas e saídas que possuem apenas dois estados: ligado e desligado. Assim, você pode facilmente usá-lo para controlar o estado de um LED por exemplo ligando ou desligando o mesmo. Da mesma forma que você pode usá-lo para controlar qualquer dispositivo elétrico usando dispositivos adequados (transistor, triac, relés etc). No entanto, às vezes você precisa de mais do que apenas “ligar” e “desligar” no controle de dispositivos. Caso você deseje controlar o brilho de um LED (ou qualquer lâmpada) ou a velocidade de um motor elétrico CA, simplesmente não será possível aplicando somente o controle (ligar/desligar). Para contornar esta situação, habilmente foi desenvolvida a técnica chamada PWM ou Pulse Width Modulation. PWM é a técnica usada para gerar sinais analógicos de um dispositivo digital como um Microcontrolador e ela é tão eficiente que hoje em dia quase todos os Microcontroladores modernos possuem hardware dedicado para a geração de sinais PWM. O CONTROLE ANALÓGICO Um sinal analógico é aquele que possui o seu valor variando continuamente com resolução infinita em tempo e magnitude. Uma bateria de 9 volts é um exemplo de um dispositivo analógico em que sua tensão de saída não é precisamente 9V, mudando ao longo do tempo e podendo assim, ter qualquer valor real numérico. O que quero dizer aqui é que a quantidade de corrente extraída de uma bateria não está limitada a um conjunto finito de valores possíveis (0 ou 1 por exemplo). Os sinais analógicos são distinguíveis dos sinais digitais pois estes últimos sempre tomam valores de um conjunto finito de possibilidades predeterminadas, como o conjunto (0V, 5V). Neste caso, ou está ligado (5V) ou desligado (0V). Tensões e correntes analógicas podem ser utilizadas para controlar sistemas diretamente, como o volume de um rádio. Em um rádio analógico simples, o botão de volume é conectado a uma resistência variável. Ao girar o botão, a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do resistor também aumenta ou diminui. Isso altera a quantidade de corrente que flui para os alto-falantes, aumentando ou diminuindo o volume. Um circuito analógico é como o rádio, em que a saída é linearmente proporcional à sua entrada.

MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

Embed Size (px)

Citation preview

Page 1: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 1

Em poucas palavras, PWM (Pulse Width Modulation) refere-se ao conceito de pulsar rapidamente um sinal digital em um condutor. Além de várias outras aplicações, esta técnica de modulação pode ser utilizada para simular uma tensão estática variável e é comumente aplicada no controle de motores elétricos, aquecedores, LEDs ou luzes em diferentes intensidades ou frequências.

Um dispositivo digital como um microcontrolador pode trabalhar com entradas e saídas que possuem apenas dois estados: ligado e desligado. Assim, você pode facilmente usá-lo para controlar o estado de um LED por exemplo ligando ou desligando o mesmo. Da mesma forma que você pode usá-lo para controlar qualquer dispositivo elétrico usando dispositivos adequados (transistor, triac, relés etc).

No entanto, às vezes você precisa de mais do que apenas “ligar” e “desligar” no controle de dispositivos. Caso você deseje controlar o brilho de um LED (ou qualquer lâmpada) ou a velocidade de um motor elétrico CA, simplesmente não será possível aplicando somente o controle (ligar/desligar). Para contornar esta situação, habilmente foi desenvolvida a técnica chamada PWM ou Pulse Width Modulation.

PWM é a técnica usada para gerar sinais analógicos de um dispositivo digital como um Microcontrolador e ela é tão eficiente que hoje em dia quase todos os Microcontroladores modernos possuem hardware dedicado para a geração de sinais PWM.

O CONTROLE ANALÓGICO

Um sinal analógico é aquele que possui o seu valor variando continuamente com resolução infinita em tempo e magnitude. Uma bateria de 9 volts é um exemplo de um dispositivo analógico em que sua tensão de saída não é precisamente 9V, mudando ao longo do tempo e podendo assim, ter qualquer valor real numérico. O que quero dizer aqui é que a quantidade de corrente extraída de uma bateria não está limitada a um conjunto finito de valores possíveis (0 ou 1 por exemplo). Os sinais analógicos são distinguíveis dos sinais digitais pois estes últimos sempre tomam valores de um conjunto finito de possibilidades predeterminadas, como o conjunto (0V, 5V). Neste caso, ou está ligado (5V) ou desligado (0V).

Tensões e correntes analógicas podem ser utilizadas para controlar sistemas diretamente, como o volume de um rádio. Em um rádio analógico simples, o botão de volume é conectado a uma resistência variável. Ao girar o botão, a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do resistor também aumenta ou diminui. Isso altera a quantidade de corrente que flui para os alto-falantes, aumentando ou diminuindo o volume. Um circuito analógico é como o rádio, em que a saída é linearmente proporcional à sua entrada.

Page 2: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 2

Mesmo parecendo intuitivo e simples, o controle analógico nem sempre é economicamente viável ou de certa forma prático. Adicionalmente, os circuitos analógicos tendem a variar ao longo do tempo e, portanto, podem ser passíveis de ajustes. Devido a este problema, foram criados circuitos analógicos de precisão que resolvem isso mas por outro lado são muito grandes, pesados e caros (basta lembrarmos de como eram os equipamentos antigos).

Outra questão é que os circuitos analógicos podem sofrer por aquecimento pois a potência dissipada neles é proporcional à tensão entre os elementos ativos multiplicada pela corrente que flui através do circuito. Por fim, os circuitos analógicos podem ainda serem sensíveis ao ruído e devido à sua resolução infinita, qualquer perturbação ou ruído em um sinal analógico necessariamente altera o seu valor.

O CONTROLE DIGITAL

Ao controlar os circuitos analógicos digitalmente, os custos do sistema e o consumo de energia podem ser drasticamente reduzidos. Isso, devido à eficiência deste tipo de controle, muitos microcontroladores e DSPs já incluem controladores PWM on-chip, facilitando esta implementação. O PWM nada mais é do que uma maneira de codificar digitalmente níveis de sinal analógico. Nesta técnica, através do uso de contadores de alta resolução, o ciclo de trabalho de uma onda quadrada é modulado para codificar um nível de sinal analógico específico para que então ele atenda os requisitos de uma aplicação desejada.

O sinal PWM é totalmente digital porque, em qualquer dado instante de tempo, a alimentação CC ou está totalmente ligada ou completamente desligada. A fonte de tensão ou de corrente é fornecida à carga analógica por meio de uma série repetitiva de impulsos de ligar e desligar.

O tempo de ativação é o tempo durante o qual a alimentação CC é aplicada à carga e o tempo de desativação é o período durante o qual a alimentação é desligada. Dada uma largura de banda suficiente, qualquer valor analógico pode ser codificado com PWM.

A Figura abaixo mostra três sinais PWM diferentes sendo que:

� Figura (a) mostra uma saída PWM a um ciclo de trabalho de 10%. Ou seja, o sinal está ligado para 10% do período e desligado nos outros 90%.

� As Figuras 2b e 2c mostram as saídas PWM a ciclos de trabalho de 50% e 90%, respectivamente. Estas três saídas PWM codificam três diferentes valores de sinal analógico, a 10%, 50% e 90% da energia de entrada. Se, por exemplo, a alimentação for 9V e o ciclo de trabalho for 10%, teremos um sinal analógico 0.9V.

Page 3: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 3

EXEMPLO

A Figura abaixo mostra um circuito simples que poderia ser controlado usando PWM. Uma bateria de 9V alimenta um diodo emissor de luz (LED) e se fecharmos o interruptor que liga a bateria no LED durante 50ms, o LED recebe 9V durante esse intervalo. Por outro lado, se abrimos o interruptor para os próximos 50ms, o LED recebe 0V. Se repetirmos este ciclo 10 vezes por segundo, o LED ficará aceso como se estivesse ligado a uma bateria de 4.5V (50% de 9V). Dizemos que o ciclo de trabalho é de 50% e a frequência de modulação é de 10Hz.

A maioria das cargas indutivas e capacitivas requerem uma frequência de modulação muito maior do que 10Hz. Imagine que nossa lâmpada foi ligada por cinco segundos, depois desligada por cinco segundos e este ciclo se repetindo sucessivamente. O ciclo de trabalho ainda seria de 50%, mas a lâmpada pareceria brilhantemente iluminada durante os primeiros cinco segundos e desligada para os próximas.

Para que a lâmpada tenha uma tensão média de 4,5 volts, o período do ciclo deve ser curto em relação ao tempo de resposta do LED com a mudança no estado de comutação. Para conseguir o efeito desejado de uma lâmpada dimmer (sempre acesa variando somente sua intensidade), é necessário aumentar a frequência de modulação. O mesmo é verdade em outras aplicações de PWM sendo que frequências de modulação comuns variam de 1kHz a 200kHz. Na Figura abaixo, você pode ver uma animação do brilho do LED variando a largura do pulso.

Page 4: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 4

DEFINIÇÃO

� Ciclo ou Período – o intervalo de tempo entre a subida de um pulso (dado em segundos); � Frequência – a taxa de bordas de subida de um pulso (dado em Hz ou ciclos por

segundo). É simplesmente o inverso do período; � Taxa de Ciclo – tempo no período em que o pulso está ativo ou alto dividido pelo tempo

de ciclo (é dado em porcentagem do período completo)

Page 5: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 5

GERANDO SINAIS ANALÓGICOS

A técnica de modulação é utilizada em dispositivos como o inversor de frequência no controle de motores elétricos sendo que neste caso, ele opera com eficiência em frequências acima de 20-30 kHz. Esta eficiência é conseguida porque a corrente (indução) nos enrolamentos do motor não colapsa completamente durante o curto período de desativação do PWM e este colapso leva uma certa quantidade de tempo que depende das especificações do motor. Seguindo este conceito, controlar motores elétricos em altas frequências de PWM mantém a corrente de indução em todo o processo de operação do motor, resultando em eficiências elevadas.

Os sinais PWM também podem ser usados para gerar sinais analógicos que variam no tempo e em conjunto a filtros passa-baixa podemos obter sinais analógicos fieis a um sinal que seja de fato analógico. O tipo de filtro mais básico é simplesmente um capacitor conectado entre o sinal e o terra.

Um exemplo de tal alisamento é mostrado no gráfico da abaixo, onde com a variação PWM de um ciclo de aproximadamente 25% a 75%, temos uma onda próxima de uma onda senoidal. Veja que saída real, em azul, não imita perfeitamente uma onda senoidal mas forma um conjunto de médias locais que atuam como uma onda senoidal.

Um método simples para obter as características do sinal PWM é dividir o sinal analógico em um número de segmentos discretos iguais ao comprimento do período PWM. Então, o ciclo para este período pode ser ajustado igual à média do sinal analógico durante este mesmo intervalo.

Page 6: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 6

VANTAGENS E CONSIDERAÇÕES

Uma das vantagens de aplicar o PWM é que o sinal permanece digital em todo o percurso desde o processador até o sistema controlado e nenhuma conversão de digital para analógico é necessária. Ao manter o sinal digital, os efeitos de ruído são minimizados pois um ruído só pode afetar um sinal digital se ele for forte o suficiente para alterar uma lógica 1 para uma lógica 0 ou vice-versa.

Maior imunidade ao ruído é mais um benefício desta técnica se comparada ao controle analógico. Esta é a principal razão pela qual o PWM é utilizado para a comunicação pois mudar um sistema de sinal analógico para PWM pode aumentar drasticamente o comprimento de um canal de comunicações. Assim, quando o sinal chega na extremidade receptora, uma rede RC (resistor-capacitor) ou LC (indutor-capacitor) adequada pode remover a onda quadrada modulada de alta frequência e retornar o sinal para a forma analógica.

Encontramos aplicações PWM em uma variedade de sistemas. Como um exemplo concreto, considere um freio controlado por modulação. Em termos simples, um freio é um dispositivo que age duramente sobre algo de forma a parar seu movimento. Em muitos freios, a quantidade de pressão (ou potência de parada) é controlada com um sinal de entrada analógico sendo que quanto mais tensão ou corrente for aplicada ao freio, maior será a pressão exercida pelo freio.

A saída de um controlador PWM pode ser conectada a um interruptor entre a alimentação e o freio. Para produzir mais pressão de parada, é utilizado um software de controle que aumenta o ciclo de trabalho da saída PWM. Além de regular o freio para uma quantidade específica de pressão de frenagem, é possível considerar medições para determinar a relação matemática entre o ciclo de trabalho e a pressão. (Estas medições podem ser a temperatura de funcionamento, desgaste de superfície, e assim por diante).

Para ajustar a pressão sobre o freio para, digamos, 100 psi, o software de controle faria uma consulta inversa para determinar o ciclo de trabalho que deve produzir essa quantidade de força. Ele então ajustaria o ciclo de trabalho de PWM para o novo valor e o freio responderia adequadamente. Se um sensor estiver disponível no sistema, o ciclo de trabalho pode ser ajustado, sob controle de malha fechada, até que a pressão desejada seja alcançada com precisão.

Page 7: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 7

CONTROLE DE SERVOS

Utilizando o conhecimento de programação de microcontroladores para controlar dispositivos a distância, como por exemplo, carrinhos de controle remoto. Logicamente, com os servos apropriados ao trabalho, muita coisa pode ser feita. Em outros casos podemos aplicar os sinais PWM para controlar antenas de transmissão (rotação da antena), ajuste de posicionamento de parabólicas para sintonizar satélites diferentes (de forma pré-programada), acionamento de câmeras de vigilância a distância, etc.

A ideia se baseia no controle de servos pelo padrão PWM, em que um pulso de 1ms corresponde a posição inicial do servo. Se for colocado 1,5 ms de pulso, o servo se deslocará para a posição central e com 2ms irá para o extremo oposto. Valores intermediários irão resultar em posições proporcionais.

Page 8: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 8

FORMAS DE ONDA

Analise para obtenção do valor da posição dos potenciômetro.

Page 9: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 9

CONVERSOR A/D

O Atmega328 possui internamente um conversor A/D de aproximação sucessivas de 10 bits de resolução com precisão de ± 2 LSBs. Possui até 8 canais de entradas multiplexados, dependendo do encapsulamento. No caso do Atmega328 PDIP, do Arduino UNO, apresenta apenas 6 canais, como pode-se verificar na placa. Por existir apenas 1 conversor A/D, só poderá ser selecionado 1 canal por vez para conversão, isso é feito através da configuração dos registradores internos.

o bloco do conversor A/D possui fonte separada para a parte analógica, o pino AVcc. Essa tensão não pode variar mais do que +/-0,3V de Vcc. O Atmega328 possui tensão de referência interna de 1,1 V, que pode ser selecionada por software. Apresenta também um pino externo para uma tensão de referência diferente de VCC ou a referência interna de 1,1 V. O valor de tensão de entrada deve estar entre 0V e o valor de tensão de referência, não ultrapassando o valor de VCC.

Ao final da conversão pode ser gerada uma interrupção, caso a mesma esteja habilitada. A conversão gera um resultado de 10 bits, necessitando assim de 2 registradores, ADCH e ADCL.

CONFIGURAÇÃO

O conversor A/D do Atemega328 possui 10 bits de resolução, ou seja, os valores entre 0 e Vref serão convertidos entre 0 e 1023.

O clock máximo recomendado para essa resolução é 200 KHz, que dará uma taxa de amostragem de aproximadamente 15KHz.

No application Note AVR120:Characterization and Calibration of the ADC on an AVR, encontramos a seguinte declaração:

“The ADC accuracy also depends on the ADC clock. The recommended maximum ADC clock frequency is limited by the internal DAC in the conversion circuitry. For optimum performance, the ADC clock should not exceed 200 kHz. However, frequencies up to 1 MHz do not reduce the ADC resolution significantly.

Operating the ADC with frequencies greater than 1 MHz is not characterized.”

Isso significa que pode-se aumentar o clock acima de 200 KHz até 1MHz sem obter degradação na precisão do valor convertido. Para verificar esta afirmação, vamos testar a aquisição para alguns valores de prescaler, ou seja, aumentando o clock do conversor A/D.

Page 10: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 10

LEITURA PADRÃO DO A/D NO ARDUINO

Para testarmos a taxa de amostragem que vem configurada por padrão no Arduino vamos utilizar o código a seguir, que consiste em os valores de conversão marcando o tempo de início e o tempo de fim da leitura, exibindo o valor e o tempo decorrido para cada leitura.

Utilizando o prescaler com 128, provendo um clock de 125 KHz para o ADC, já que o Arduino roda com um cristal de 16MHz. Com um clock de 125 KHz a taxa de amostragem será: 125 KHz / 13 = 9600 amostras por segundo.

Page 11: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 11

RETORNO NA SERIAL PORT

O tempo decorrido em cada leitura está entre 108 us e 116 us. Se pegarmos o valor de 0,116 ms teremos uma frequência de amostragem de aproximadamente 8600 Hz, bem próximo de 9600 calculado como demostrado acima. TIPOS DE DADOS As variáveis podem assumir diferentes tipos de dados, tais tipos determinarão sua capacidade e numeração que poderá ser utilizada. Os tipos básicos de dados são apresentados a seguir: Void

• void : tipo vazio (não tem tipo)

A palavra reservada void é usada em declarações de funções. Este tipo indica que a função não retorna nenhum valor quando é executada.

Page 12: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 12

Boolean

• boolean : valor verdadeiro ( true ) ou falso ( false )

O tipo boolean pode representar valores booleanos, verdadeiro(true) ou falso(false). Um tipo boolean ocupa um byte da memória.

Page 13: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 13

Char

• char : um caractere

O tipo char armazena valres de 1 byte. Caracteres são codificados em um único byte e são especificados na tabela ASCII. O tipo char é sinalizado e representa números de -128 a 127. Para números não sinalizados usa-se o tipo byte.

Int

• int : número inteiro de 16 bits com sinal (-32768 a 32767)

Inteiros são tipos primários de armazenamento. No Arduino Uno( e em outras placas baseadas em ATMEGA) um int armazena valores de 16 bits(2 bytes). Esse tipo compreende valores de -32768 a 32767. Já no Arduino Due, um int armazena valores de 32 bits( 4 bytes) que compreende valores de -2147483648 a 2,147483647.

Page 14: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 14

float

• float : número real de precisão simples (ponto flutuante)

O tipo float armazena valor em ponto flutuante, ou seja, um valor que possui casas decimais. O tipo float armazena valores de 32 bits(4 bytes) e compreendem a faixa de -3,4028235 E+38 a 3,4028235 E+38.4. A matemática em ponto flutuante requer muito processamento, por exemplo, se for feita uma operação em ponto flutuante dentro de um loop, ocorrerá um atraso maior, do que se fosse feita uma operação com inteiros. Deve-se ficar atento ao uso do tipo float tanto na questão de espaço de memória quanto no processamento. As funções de manipulação do tipo float requerem muito processamento. TIPOS DE MEMORIAS O espaço disponível para os sketches é limitado e por isso temos que nos preocupar com o código (tamanho e qualidade) para que não tenhamos a desagradável surpresa de ver o nosso projeto naufragar por este pequeno e importante detalhe. Nos microcontroladores que equipam os Arduinos, temos três grupos de memória e seus respetivos tamanhos (por exemplo, microcontroladores ATMEGA328 – Duemilaenove e UNO):

� FLASH = 32KB, onde o sketch é armazenado.

� SRAM (Static Random Access Memory) = 2KB, onde o sketch cria e manipula as variáveis.

� EEPROM (Electrically-Erasable Programmable Read-Only Memory ) = 1KB, espaço de

memória livre destinado aos programadores. E é neste tipo de memória que daremos um exemplo de uso mais adiante.

CARACTERÍSTICAS DAS MEMÓRIAS As memórias Flash e EEPROM são do tipo não volátil, ou seja, a informação persiste após a alimentação ser desligada. A memória SRAM é volátil e os dados serão perdidos quando não houver energia. Segundo o datasheet da ATMEL os ciclos de escrita e apagamento são de 10.000 para memórias Flash e 100.000 para memórias EEPROM. Há também o fator temperatura. Os dados são retidos nestas memórias por 20 anos a 85 graus centigrados e 100 anos a 25 graus centigrados.

Page 15: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 15

ORGANIZAÇÃO DA MEMÓRIA EEPROM Tomando como exemplo uma memória de 1KB, teremos 1024 posições com espaço de um byte cada. Então, cada posição pode armazenar valores inteiros de 0 a 255. No sketch teremos que controlar em qual posição faremos a leitura ou gravação deste byte. O exemplo a seguir vai deixar mais claro. EXEMPLO PRÁTICO Vamos supor o seguinte projeto: Monitor de Temperatura. O objetivo é monitorar a temperatura ambiente, exibindo esta temperatura e a máxima anterior registrada na console serial. A máxima anterior registrada está na posição 0 da EEPROM. Somente atualizamos esta posição se temperatura atual for maior que a máxima anterior registrada. O exemplo aqui foi realizado em um Arduino compatível com o Duemilaenove, IDE 1.0 e o sensor de temperatura LM35. O esquema é bem simples: o terminal Vs do LM35 conectar no pino +5V do Arduino, o terminal Vout do LM35 conectar no pino analógico 0 (zero) do Arduino e o terminal GND (terra) do LM35 conectar no pino GND do Arduino.

Page 16: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 16

Antes de vermos o exemplo prático veremos os dois métodos responsáveis pela escrita e leitura: write() e read(). Precisamos também incluir a biblioteca EEPROM.h no sketch. EEPROM.write( endereço, valor) escreve um byte (valor) no endereço. EXEMPLO

INT RETORNO EEPROM.READ( ENDEREÇO )

Retorna um valor inteiro armazenado em endereço

Page 17: MICROPROCESSADORES E MICROCONTROLADORES … · ... a resistência aumenta ou diminui e quando isso acontece, a corrente que flui através do ... o período do ciclo deve ser curto

MICROPROCESSADORES E MICROCONTROLADORES MECATRÔNICA

www.meccomeletronica.com página 17

UNIFICANDO PROGRAMAÇÃO