Arduino_MEGA328P-AU最小系统板制作

Arduino _MEGA328P-AU最小系统板制作



历时2天,几经折腾。终于将MEGA328P-AU最小系统板调试正常了。下面分享我的制作经验。

期间所有用到的东西如下:

70mm*50mm单面覆铜板 1块

MEGA328P-AU单片机 1块

16M无源贴片晶振 1个

22pF 贴片电容2个

1M贴片电阻1个

1K贴片电阻2个

10K贴片电阻1个

500mA自恢复贴片熔丝1个

0.1uF贴片电容2个

贴片LED灯2个

8位插接端子(针)4组

8位插接端子(座)4组

5位插接端子(针)1组

贴片按钮1个

Si2323DS 1个。这个是P-MOS管,用来做反接保护,当然也可以用二极管。

用到的设备和软件:

Altium DesignerPCB制图软件,设计原理图和PCB图

自家造的小雕刻机(打眼真心方便,别问我为什么不用它雕电路,实在是板小,线细,雕刻机加工效果不行)

负性感光油墨(其实现在某宝上有一种感光膜,看着挺不错,刮油墨是件痛苦的事)

胶片,显影剂,脱模剂,环保刻蚀剂等做PCB的原材料

USBISP下载器(这个尤为重要,因为空白的芯片需要烧写熔丝位和下载bootloader,必须用)

示波器(最好有,因为他能判断你的电路是否成功起振)

Arduino 的IDE软件。

差不多就这么多了。下面开始说过程:

1. 制版

绘制原理图,如下:

1.png

2015-11-17 18:01 上传
(81.3 KB)



PCB走线:

2.png

2015-11-17 18:01 上传
(65.45 KB)



下面的蓝色线是实在走不过去了,所以打算背面飞线,留了过孔。

然后输出负片(如果你的感光油墨是正性的就要输出正片)并打印

3.png

2015-11-17 18:01 上传
(175.61 KB)



显影

4.png

2015-11-17 18:01 上传
(416.72 KB)



刻蚀完成后检查

5.png

2015-11-17 18:01 上传
(467.14 KB)



这是我已经打好洞的。

然后焊接

7.png

2015-11-17 18:01 上传
(243.71 KB)



发现有的地方有锡,有的地方没有,干脆就都给镀上,焊工一般。呵呵

然后重头戏了。

给板子供电。示波器看晶振,没起振。。。。。。到处检查电路,没发现什么问题。后来到处找资料,才知道新的芯片默认是内部晶振,外部是检测不到的。需要对熔丝位进行初步设置才行。

先如下图连接线路:

8.png

2015-11-17 18:01 上传
(7.82 KB)



这个是ISP的标准接口。MOSI接单片机11。MISO接12。SCK接13。RESET接单片机RESET口。电源不用说了。

接好线,打开编程器软件:

9.png

2015-11-17 18:01 上传
(70.35 KB)



选择芯片Atmega328P。点RD。校验通过就OK了

然后选熔丝:如下

10.png

2015-11-17 18:01 上传
(41.99 KB)



这个熔丝是现在默认的,可以读取下,新芯片一般都是这样。

至于要怎么设置具体的熔丝位,我是在arduino安装目录下的\hardware\arduino\avr里面,有个boards.txt的文件。用记事本打开可以找到这个

11.png

2015-11-17 18:01 上传
(14.87 KB)



其中

uno.bootloader.low_fuses=0xFF

uno.bootloader.high_fuses=0xDE

这就是需要我们配置的。

0xff转换为二进制为 11111111,也就是全部为1。

0xde 转换为二进制为 11011110。怎么用后面说。

12.png

2015-11-17 18:01 上传
(41.78 KB)



如下选择。就发现下面的熔丝低位为FF了,高位为DE了。后面扩展什么的不用管了

具体软件不一样,是打勾为1还是取消为1需要看情况,千万别弄错了,弄错了会出大事的。

好了,再次检查,写熔丝。成功后要确认可以再读取一次,发现还是FF DE就可以了。

现在用示波器测晶振的两个引脚,果然起振了。

现在开始烧录bootloader。选择调入flash(调入之前你的系统里要先确认有arduino的IDE软件)在arduino安装目录下的

…\hardware\arduino\avr\bootloaders\atmega\ATmegaBOOT_168_atmega328.hex文件。我试着用过ATmegaBOOT_168_atmega328_pro_8MHz.hex,貌似不行。所以不纠结了,选择ATmegaBOOT_168_atmega328.hex就对了。

13.png

2015-11-17 18:01 上传
(8.49 KB)



勾选如上图4个项,别点别的。然后自动运行写入bootloader。成功了之后会发现13脚的那个LED灯会一闪一闪,表示好了,现在可以用USB转TTL的线插上直接给板子用ARDUINO的IDE写程序了,随便写个串口输出模拟量的程序,下载,成功。打开串口有数据,OK,大功告成。
via - 极客工坊

标签: Arduino教程