Introdução à programação do microcontrolador Atmega128 / 328

O Atmega128 /328 é um microcontrolador potente utilizado em diversos campos de aplicação. É um microcontrolador de 8 bits altamente integrado com uma ampla gama de periféricos e recursos. Nesta publicação do blog, vamos dar uma olhada nos diferentes recursos do Atmega128 / 328, sua configuração de pinos, técnicas de programação e aplicações. Também discutiremos as vantagens do microcontrolador Atmega128 / 328 em relação a outros microcontroladores e forneceremos algumas práticas recomendadas para trabalhar com ele.

O que é Atmega128 / 328?

O Atmega128 / 328 é um microcontrolador de 8 bits fabricado pela Atmel Corporation. É baseado na arquitetura AVR e é um dos microcontroladores mais populares usados em sistemas embarcados. Está disponível em vários pacotes e configurações, incluindo um PDIP de 40 pinos, um TQFP de 44 pinos e um VQFP de 64 pinos. O Atmega128 / 328 é baseado na arquitetura RISC e possui uma ampla gama de periféricos, incluindo um conversor A/D de 8 canais e 10 bits, três temporizadores de 16 bits, uma porta serial e uma porta SPI. Possui um total de 128 Kbytes de memória de programa e 2 Kbytes de EEPROM.

Atmega128
Atmega128

Visão geral do Atmega128 / 328

Características

O Atmega128 / 328 possui uma ampla gama de recursos, tornando-o um microcontrolador versátil e poderoso. Ele possui uma arquitetura RISC de 16 bits, que permite executar instruções de forma rápida e eficiente. Ele pode operar a 8 MHz, 16 MHz ou 20 MHz, tornando-o adequado para uma ampla gama de aplicações. O Atmega128 / 328 também possui uma ampla gama de periféricos, incluindo um conversor A/D de 8 canais e 10 bits, três temporizadores de 16 bits, uma porta serial e uma porta SPI. Ele também possui 128 Kbytes / 328 Kbytes de memória de programa e 2 Kbytes de EEPROM, permitindo armazenar grandes quantidades de dados.

O Atmega128 / 328 também é altamente integrado, tornando-o ideal para uso em sistemas embarcados. Ele possui um oscilador no chip, um circuito de reinicialização no chip e regulação de tensão no chip. Ele também possui um circuito de reinicialização ao ligar no chip, que garante que o microcontrolador seja reinicializado quando a energia for aplicada. Além disso, o Atmega128 possui uma ampla gama de portas de E/S, permitindo a interface com uma variedade de dispositivos externos.

Configuração do pino

O Atmega128 / 328 tem um total de 64 pinos, dispostos em duas fileiras. Os pinos são divididos em duas categorias: pinos de E/S digitais e pinos de E/S analógicos. Os pinos de E/S digitais são usados para controlar sinais digitais, enquanto os pinos de E/S analógicos são usados para controlar sinais analógicos. O Atmega128/328 também possui uma porta serial, uma porta SPI e uma porta I2C.

Pin Configuration of Atmega128
Pin Configuration of Atmega128

Aplicações

  • Projetos de robótica, como braços robóticos e robôs autônomos.
  • Projetos de comunicação, como módulos Bluetooth e Wi-Fi.
  • Sistemas de aquisição de dados e sistemas incorporados para registro e controle de dados.
  • Aplicações automotivas, como sistemas de controle de motores e sistemas de entretenimento e informação veicular.
  • Produtos de consumo, como controles remotos, câmeras digitais e eletrodomésticos.

Programação do Atmega128 / 328

O IC Atmega128 / 328 pode ser programado usando linguagem C ou assembly. Ele possui uma ampla gama de recursos que facilitam a programação, incluindo uma ampla variedade de portas de E/S, um oscilador no chip e um regulador de tensão no chip.

Se você deseja programar o Atmega128 / 328, precisará de um programador. Um programador é um dispositivo usado para transferir o código do programa de um computador para o Atmega128 / 328. Depois que o código do programa é transferido, o IC pode ser programado usando o software apropriado. Todas as etapas podem ser divididas em 4 partes, conforme abaixo:

  • Parte 1: Preparando os componentes necessários.
  • Parte 2: Construção de circuitos Arduino em uma placa de ensaio.
  • Parte 3: Gravar o bootloader no IC Atmega128 / 328.
  • Parte 4: Programação do IC Atmega128 / 328.

Parte 1: Preparando os componentes

Atmega128 / 328: O componente principal na placa de ensaio e seu diagrama de pinagem são apresentados acima.

Placa de ensaio (LM7805): Um dispositivo sem solda para conectar componentes eletrônicos com fios jumper.

Osciladores (16 MHz): Fornecem os relógios para o IC, conectados aos pinos 23 e 24.

Capacitor (10uF): Usado nas seções de entrada e saída do LM7805 para desviar quaisquer componentes CA para o terra.

Fio jumper: Um fio metálico que conecta dois pontos em uma placa de circuito ou placas de ensaio.

Parte 2: Construindo circuitos Arduino em uma placa de ensaio sem solda

Passo 1: Primeiro, conecte a seção de alimentação conforme mostrado no diagrama do circuito e teste-a com a fonte de alimentação externa do LM7805. Fica assim:

Connecting the power to LM7805 breadboard

Passo 2: Em seguida, conecte a parte do microcontrolador conforme mostrado no diagrama do circuito.

Connecting the Atmega128 / 328 IC to breadboard

Passo 3: Agora, use jumpers de fio para conectar a fonte de alimentação e a seção do microcontrolador.

Connecting the power supply and the Atmega128 / 328 IC by wire jumpers

Parte 3: Grave o bootloader no IC Atmega128 / 328

Um bootloader é um pequeno pedaço de código executável armazenado permanentemente na memória do microcontrolador. Ele ocupa menos de 1Kb de memória. Um bootloader permite que o IC aceite código do computador e o coloque na memória do microcontrolador.

Quando você compra um novo Atmega128 / 328 no mercado, ele não tem um bootloader. Portanto, para programá-lo usando o Arduino IDE, você deve primeiro fazer o upload do bootloader.

Para carregar o bootloader, temos dois métodos:

  • Usando o programador USBasp
  • Usando uma placa Arduino UNO

Em comparação com o primeiro método, o segundo método é mais fácil. Porque requer menos conexões e as versões mais recentes do Arduino IDE são menos compatíveis com programadores USBasp.

Portanto, neste tutorial, usaremos a placa Arduino UNO para carregar o bootloader.

Passo 1: Abra o Arduino IDE. Vá para o menu: Arquivo -> Exemplos -> ArduinoISP. Em seguida, escolha ArduinoISP.

Opening Arduino IDE and Choose ArduinoISP Examples

Passo 2: Agora, você deve carregar este código na sua placa Arduino. Selecione a porta COM e a placa no menu Ferramentas e clique no botão Carregar.

Passo 3: Após concluir o upload, desconecte a placa Arduino do computador. Em seguida, conecte a placa Arduino ao IC Atmega128 / 328, conforme mostrado na imagem abaixo.

Connecting the Arduino board with the Atmega128 / 328

Passo 4: Abra o Arduino IDE depois de conectar a placa Arduino ao computador. Em seguida, vá para o menu: Ferramentas -> Placa: "Arduino/Genuin0 Uno" e selecione a porta correta para sua placa. Em seguida, selecione Programador: como "Arduino como ISP".

Choosing Board Arduino or Genuine Uno and Programmer as Arduino as ISP

Passo 5: Agora, vá para a barra de menu Ferramentas novamente e clique em Gravar Bootloader na opção Programador. Após alguns segundos, o bootloader será carregado com sucesso. Se houver algum erro no carregamento, verifique a conexão.

Burning Bootloader to Atmega128 / 328

Parte 4: Programação do IC Atmega128 / 328

O chip Arduino Atmega128 / 328 pode ser programado de diferentes maneiras, incluindo:

  1. Use uma placa Arduino sem o IC Atmega128 / 328.
  2. Use o módulo de conversão USB para serial TTL (módulo FTDI).
  3. Usar um programador USBasp (se houver muitas conexões).

Aqui, apresentamos a primeira e a segunda maneiras de programar o IC Atmega128 / 328.

4.1 Programando o IC Atmega128 / 328 usando uma placa Arduino

Passo 1: Pegue uma placa Arduino sem chip Atmega128 / 328. Em seguida, conecte a placa Arduino à nossa placa de ensaio, conforme mostrado.

Connecting the Arduino board with the breadboard

Passo 2: Conecte a placa Arduino ao computador e abra o Arduino IDE. Selecione Arduino Uno no menu Board em Tools, Programmer como USBasp e a porta com correta da placa.

Passo 3: Começaremos carregando o programa Blink. Então, selecione o programa blink nos exemplos e clique no botão upload.

Uploading the Blink program to Atmega128 / 328

Agora você pode ver o LED na placa de ensaio começar a piscar.

4.2 Programação do Atmega128 / 328 usando um conversor USB-para-serial

Esta é a melhor maneira de programar o Atmega128 / 328 se você não tiver uma placa Arduino.

Passo 1: Configure as conexões do conversor USB para serial da seguinte maneira:

Pino RXD do FTDI -> Pino Tx do Atmega128 / 328 (pino 3)

Pino TXD do FTDI -> Pino Rx (pino 2) do Atmega128 / 328

GND -> GND (pino 8)

5v -> Vcc (pino 7)

Alguns módulos FTDI têm um pino Reset, também conhecido como pino DTR, que precisa ser conectado ao pino Reset (pino 20) do Atmega128 / 328.

Passo 2: Agora, conecte o FTDI ao computador e abra o gerenciador de dispositivos no painel de controle. Você verá a seção Portas, expanda-a. Se o driver tiver uma marca amarela na frente, o driver do módulo deve ser atualizado.

Connecting the FTDI with computer and open Device Management in Control Panel

Se não estiver marcado, anote o número da porta COM e abra o IDE do Arduino. Vá para Ferramentas -> Portas -> Selecione a porta COM que você anotou.

Etapa 3: No final, carregamos o programa Blink para nossa placa de ensaio Arduino. Vá para Arquivo -> Exemplos -> Noções básicas -> Blink. No menu Placa em Ferramentas, selecione Arduino Uno, Programador como USBasp e a porta COM correta da placa.

Em seguida, clique no botão de upload.

(Observação: se o seu módulo FTDI não tiver um pino DTR, pressione o botão de reinicialização na placa de ensaio e clique no botão de upload. Se aparecer "Compilando esboço…", mantenha pressionado até que "Uploading…" apareça e, em seguida, solte o botão.)

Agora, o programa será carregado com sucesso no chip Arduino Bootloader Atmega128 / 328.

Atmega128 / 328 vs Outros Microcontroladores

O Atmega128 / 328 é um microcontrolador potente e versátil, mas existem outros microcontroladores disponíveis que podem ser mais adequados para determinadas aplicações. Por exemplo, o processador ARM Cortex-M é mais adequado para aplicações que exigem um desempenho superior. O processador ARM também é mais eficiente em termos energéticos e mais adequado para aplicações de baixo consumo.

O Atmega128 / 328 também é mais caro do que alguns outros microcontroladores. No entanto, é um microcontrolador poderoso e versátil, adequado para uma ampla gama de aplicações. Portanto, é importante considerar os requisitos da aplicação ao escolher um microcontrolador.

Melhores práticas para trabalhar com Atmega128 / 328

O Atmega128 / 328 é um microcontrolador potente e versátil, e existem algumas práticas recomendadas para trabalhar com ele. É importante manter o microcontrolador em um ambiente livre de estática, pois a eletricidade estática pode danificá-lo. Também é importante garantir que o microcontrolador receba a tensão correta e que o regulador de tensão no chip esteja funcionando corretamente. Além disso, é importante garantir que o oscilador no chip esteja funcionando corretamente, pois ele é usado para gerar o sinal do relógio.

Também é importante garantir que as ferramentas de desenvolvimento estejam atualizadas e que o código de programação seja exaustivamente testado antes de ser usado no microcontrolador. Além disso, é importante seguir as normas de segurança apropriadas ao trabalhar com o microcontrolador.

Compartilhar em:

Rolar para cima

Instant Quote