基于ATMEGA8的Arduino Nano(UNO)开发板

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ATMEGA8的Arduino Nano(UNO)开发板相关的知识,希望对你有一定的参考价值。

简 介: 测试是否可以应用Arduino对其进行编程开发。实验证明,利用Arduino的 IDE无法对于MEGA进行ISP下载Bootloader。同时在后面的测试中,也没有能够利用原来的Bootloader完成对MEGA8的程序下载。具体原因不详。

后来经过对原来的MEGA328 Bootloader程序进行改进,可以进行正常的下载程序了。

关键词 MEGA8ArduinoISP

  为什么想使用Arduino IDE对于ATMEGA8进行编程,在 Programming ATmega8 Using Arduino IDE - Arduino Project Hub 给出了如下的理由:

  • Using a cheaper AVR microcontroller
  • Require an AVR microcontroller with more or even less pins than ATmega328
  • You have all kinds of AVR except ATmega328 😄

  需要说明的是,本文下面虽然没有能够直接利用Arduino对MEGA8进行编程,但在上面的网文中给出了正确的设置方式。

 

§01 计 Arduino实验板


   从0 开始 DIY你的Arduino UNO 测试了基于ATMEGA328制作的ARduino UNO开发板的过程。手边有比较多的ATMEGA8的芯片,下面通过实验过程验证:

  • 是否可以使用相同的方式获得基于MEGA8的Arduino UNO,或者Nano的开发板;
  • 是否运用Arduino所产生的HEX,通过传统的下载程序完成对于ATMEGA8程序的更新预下载。

▲ 图0-1 Arduino管脚功能定义

▲ 图0-1 Arduino管脚功能定义

1、实验电路设计1

(1)管脚功能定义

  下图是在 Grove Beginner Kits基础实验 Arduino 给出的关于Arduino UNO的数字与模拟接口定义。设计ATMEGA8测试板,也根据下面这种定义协议安排对应的管脚输出。

▲ 图1-1 Arduino 数字接口管脚定义

▲ 图1-1 Arduino 数字接口管脚定义

▲ 图1-2 Arduino模拟接口关键;yi560
▲ 图1-2 Arduino模拟接口关键;yi560

(2)设计原理图

▲ 图1-3 测试板的原理图设计

▲ 图1-3 测试板的原理图设计

【表1 测试板PIO功能定义】

PIN1PIN2PIN3PIN4PIN5PIN6PIN7PIN8PIN9PIN10PIN11PIN12
+5VGNDRXDTXDRSTD2D3D4D5D6A0A1

(3)制作PCB

▲ 图1-4 快速制版铺设的PCB以及焊接后的PCB

▲ 图1-4 快速制版铺设的PCB以及焊接后的PCB

2、初步调试

  由于焊接的是已经设置了Bootloader的ATMEGA8,所以焊接之后,它便可以在16MHz工作了。

   工作测试:
工作电压:+5V
工作电流:20.3mA
晶振频率:16MHz

▲ 图1-5 测量OSC1的波形

▲ 图1-5 测量OSC1的波形

3、下载Bootloader

▲ 图1-6 利用Arduino IDE 下载Bootloader

▲ 图1-6 利用Arduino IDE 下载Bootloader

▲ 图1-7 下载过程中出现的错误提示

▲ 图1-7 下载过程中出现的错误提示

  通过上面的测试,可以看到利用Arduino IDE下载Bootloader是无法进行的

 

§02 用MAX232下载程序


  接利用已经上载的MEGA8的自行设计的Bootloader,使用普通的のMAX3232接口即可。

1、下载接口定义

【表2 下载MAX3232与MEGA8测试版连接】

管脚PIN1PIN2PIN3PIN4PIN5
MAX3232VCC11129GND
功能定义VCCT1INR1OUTT2INGND
连接MEGA8VCCTXDRXDRSTGND
测试电路PIN1PIN4PIN3PIN5PIN2

▲ 图2-1 下载MAX232接口

▲ 图2-1 下载MAX232接口

2、连接MAX3232与测试MEGA8

  在面包板上连接下载模块与测试MEGA8电路板。

▲ 图2-2 在面包板上连接下载模块与测试测试版

▲ 图2-2 在面包板上连接下载模块与测试MEGA8电路板

3、下载结果

  使用上述电路,利用MEGA328BOOTLOADER无法下载。经过更换MEGA8MCU,也无法下载程序。

▲ 图2-2 下载程序出现错误

▲ 图2-2 下载程序出现错误

 

§03 ATMEGA8 DIP-28


   ATMEGA8 DIP-28面包板实验 给出了在面包板上搭建基于ATMEGA8-DIP28的实验电路。

▲ 图3-1 AT DIP-28管脚功能定义

▲ 图3-1 ATMEGA8DIP-28管脚功能定义

1、搭建实验电路板

  参考下面的连接方式在面包板上搭建实验电路板。

▲ 图3-2 识别AT 管脚对其的标志点

▲ 图3-2 识别ATMEGA8管脚对其的标志点

2、下载结果

  很可惜,在面包板上搭建的MEGA8依然无法下载。

▲ 图3-3 搭建的的实验电路板

▲ 图3-3 搭建的MEGA8的实验电路板

 

验总结 ※


  知道为什么,这次实验中,搭建的电路板、面包板各种版本都没有能够完成下载程序。

  这样对于利用有Arduino生成的HEX进而进行对MEGA8编程的测试也就无法进行测试了。

※ 补充说明

  对于MEGA328Bootloader进行调试,将MEGA8BL.CPP中 BLEnterBootloader(void)中的最后进行修改。将如来的BLReceChar() 修改成 ReceCharL()便课程正常下载了。

    if(ReceCharL(&ucChar, PORT1, 10)) {
        return 1;
    }
//    if(BLReceChar(&ucChar)) {
//        return 1;
//    }

▲ 图3-4 正常下载的过程

▲ 图3-4 正常下载的过程

D:\\zhuoqing\\window\\cb\\MegaBL\\M328_BL

  测试了对于Arduino编译出的HEX文件,但是MEGA8中运行不正确。

※ 补充说明1:

  在博文 利用Arduino IDE对ATMEGA8等单片机编程 实验中,经过参考网络上的给出的说明已经能够正确安装Arduino IDE中的软件包并进行正确的下载程序了。


■ 相关文献链接:

● 相关图表链接:


  1. 基于MEGA8的Arduno的测试版的AD工程文件:AD\\Test\\2021\\ZYK\\TestMega8Nano.SchDoc ↩︎

以上是关于基于ATMEGA8的Arduino Nano(UNO)开发板的主要内容,如果未能解决你的问题,请参考以下文章

Arduino生成ATmega8的运行程序并下载

利用Arduino IDE对ATMEGA8等单片机编程

利用Arduino Nano 对于另外的Arduino控制板下载Bootloader

arduino uno/nano工作频率

arduino nano 配合 as32-tll-100串口通信实验 --基础串口通信

arduino nano在烧录代码前应该怎么做