【已验证】Arduino开发板(ATMEGA328P-MU)
简介
基于ATMEGA328P-MU单片机的Arduino开发板,类同NANO/PRO MINI/UNO开发板。
简介:基于ATMEGA328P-MU单片机的Arduino开发板,类同NANO/PRO MINI/UNO开发板。开源协议
:GPL 3.0
描述
前言
前段时间¥48买(捡垃圾)了一套昊翔ToF模块和四合一电调,上面包含4片ATMEGA328P-MU单片机,于是画了这款Arduino开发板。

这个项目是基于这个方案验证板,增加了串口下载模块、TYPE-C接口等

1.焊接PCB




2.为芯片烧录Bootloader
bootloader的作用
Arduino通过预先写入的bootloader来引导烧录程序。每次通过串口给Arduino板下载程序时,首先会令Arduino板复位一次,这样就先进入了bootloader,接着向Arduino板发送特定的下载指令,bootloader识别到这些指令后就会紧接着开始接收剩下的新的程序代码写入到内部flash中。如果bootloader没有识别到下载指令,那么它就会跳转到程序区正常工作。
新出厂的单片机里是没有bootloader的,需要自己烧录进去。
烧录bootloader的两种方法
两种方式:
- 通过AVR下载器烧录Bootloader
- 使用另一个Arduino作为ISP烧录Bootloader
Arduino 烧写bootloader:https://www.jianshu.com/p/2f274f8b3dab
如何制作自己的Arduino开发板:http://www.basemu.com/how-to-make-an-Arduino-clone-board.html
2.1使用USBISP下载器烧录Bootloader
建议买这种的,我买的另外一种用不了


打开PROGISP软件,选择芯片型号,将USBISP下载器与arduino开发板连接:
ISP下载器--目标板
MISO-----MISO
VCC------5V
SCK------SCK
MOSI-----MOSI
RST-------RST
GND------GND

点击调入Flash,选择arduino安装目录下D:\Program Files\Arduino\hardware\arduino\avr\bootloaders\atmega文件夹
如果你的开发板使用的晶振是8MHz,那么选择ATmegaBOOT_168_atmega328_pro_8MHz.hex
如果你的开发板使用的晶振是16MHz,那么选择ATmegaBOOT_168_atmega328.hex
笔者使用的16MHz,所以选择的是ATmegaBOOT_168_atmega328.hex
bootloader文件一定要和晶振匹配,否则将无法使用 串口 下载程序!

2.2使用Arduino开发板烧录Bootloader
打开arduino IDE的Tools -> Programmer下显示了所有支持的编程器列表,这里推荐使用Arduino as ISP方式,较为简单而且成功率高。
Arduino as ISP简单来说就是用另一块arduino板,给它用普通方式下载一段专门的程序,将其变为一个ISP下载器,再将其相应引脚与待烧写bootloader的板子相连,再通过arduino IDE来控制进行bootloader烧写。这里斜体字显示了分为三个步骤。
- 制作ISP板
打开IDE,Files -> Examples -> ArduinoISP -> ArduinoISP,使用这个程序下载到一块arduino板中,我们暂且称这块板为ISP板。

- ISP板与目标板连接
由前面介绍可知,这里应该是将ISP板的引脚连接到目标板上的ICSP接口上去,连接对应表如下(以使用UNO作为ISP板为例)
|
ISP板 |
目标板 |
|---|---|
|
MISO / 12 |
MISO / ICSP-1 |
|
Vcc / 5V |
Vcc / ICSP-2 |
|
SCK / 13 |
SCK / ICSP-3 |
|
MOSI / 11 |
MOSI / ICSP-4 |
|
10 |
Reset / ICSP-5 |
|
GND |
GND / ICSP-6 |
实际连接电路如下所示,其中左边是ISP板,连接到电脑上,右边是等待下载bootloader的目标板

- 使用arduino IDE为目标板烧写bootloader
按照前面的方式连接好ISP板和目标板后,将ISP板连接到电脑上,打开IDE,首先按住ctrl + shirft + M 打开串口调试窗口,然后点击Tools -> Boards选择目标板的类型。然后在Tools -> Programmer中选择Arduino as ISP,最后点击 工具 -> 烧录引导程序,此时会开始进行烧写,同时串口调试窗口里会有相关提示和确认,按照其说明输入相应按键即可完成。

参考:https://www.jianshu.com/p/2f274f8b3dab
3.串口下载测试
打开示例中的Blink,用USB-TTL下载器与Arduino开发板连接:
下载器--Arduino开发板
GND---GND
RXD---D1(TXD)
TXD---D0(RXD)
5V------VCC

笔者使用的是16MHz晶振,如下图选择下载方式。8MHz选择(3.3V,8MHz),芯片供电电压为3.3V

注意:
这个0.1uF电容实现自动下载,而不用每次下载都按RESET键

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论