**
Arduino(MEGA2560)最小系统电路设计以及固件烧录方法(free)
** Arduino单片机由于其功能强大,程序编写相对简单,外设丰富,深受广大电子爱好者喜欢。一般来说比较常用的就是Arduino UNO和Arduino MEGA2560(个人拙见),而UNO因为外设稍微少了一点,那么就用MEGA2560呗,可是官方的板子体积有点大,很多引脚也不一定用得到,因此就要自己设计最小系统板子了。 最近项目需要用到MEGA2560,打算自己设计最小系统,找了很多资料参考,自己也总结了遇到的一些坑,大家可以参考参考。大佬轻喷,下面直接上干货!!! 这是官方的原理图,对数字引脚和模拟引脚做了区分,系统引脚也引出了,我们就参考着自己设计吧!
这里的最小系统,当然就是包括单片机,复位电路,晶振电路,下载接口电路,电源电路。这个就不多说了,大家应该都看得懂官方原理图。 电压选择电路: 我想说的就是官方原理图里面有个电压比较(选择)电路,有些伙伴可能比较迷惑,这电路到底是干什么用的,自己设计到底需不需要设计它。如下图所示:
这里用了一个LM358运放做比较器,电路大概意思是将官方的开发板电池输入电压(BAT)分压1/2后与3.3V进行比较,若大于3.3V则PMOS不导通,USB输入电压无效,使用电池电压稳压给整个系统供电。若小于3.3V,则启用输入的USB电压(5V),保证系统正常工作。其实我认为这个电路就是为了保证单一的电源选择,壁面不同的电源输入之间形成干扰。那么自己设计电路的时候,这部分是可以不用设计的,自己输入电源稳压给单片机供电即可。为什么不用呢,因为我下载电路用的是无线下载,根本不需要插USB,所以不存在电源选择,哈哈哈哈!(好吧,其实我还是设计了这部分电路的,只是我实物焊接的时候没有焊接而已,还是自己摸索出来的!害!) LM358是双运放集成器件,那么另外一个运放干嘛去了呢?在这呢:
这个LED指示灯很重要,至于它是干嘛用的,我也没去仔细琢磨,它就是一个系统LED灯指示灯,程序运行,固件烧录,程序烧录的时候都有用,可想而知他的重要性,因此建议大家留着这个LED灯。 下载电路: 好了,接下来就是下载电路?大家看一看官方板子的下载电路,用的是ATMEGA16U2-MU芯片作为下载芯片,这个电路看起来就觉得有点复杂,而且还要烧录这个芯片的固件,又是QFN封装的芯片,焊接难度提升了哈!直接就把我给劝退了,当然大家还是可以参考这个电路设计的,其实也没那么复杂,嘿嘿!那么我呢,我前面说了,我用的是无线下载器,只需要RST, TX, RX以及电源引脚,三个引脚引出来就可以进行下载了。如下图所示:
这个下载器是在某宝上面买的,感兴趣的伙伴可以去找找,名字叫 ,我就不打广告了,(好像已经打了哈哈哈!)使用方法这个下载器有详细的说明,我就不多说了!真的很nice!如下图,就可以轻松下载程序了!
下载程序就这么简单,什么?你下载不进去?是不是提示这样的错误?
烧录固件: 那多半是因为你的MEGA2560掉固件了,或者你的新的芯片压根就没有固件,需要自己烧录Bootloader,怎么烧录呢,也很简单,需要你在设计原理图的时候留出ICSP下载接口,就是它:
然后呢,我使用的是USBtinyISP下载器,长这样:
然后这样连接,如下图:
硬件连接完毕后,然后就是安装USBtinyISP下载器的驱动,这个买了下载器,你们购买的店家会发给你的,安装好设备管理器显示如图: 驱动安装完这里可能会出现感叹号,导致Arduino IDE识别不到下载器,应该是强制数字签名的问题(有可能安装的时候就遇到了),那么此时需要自行百度“如何解除数字强制数字签名”,解除完后重新安装驱动即可成功安装啦! 安装好驱动后,就可以使用下载器给单片机烧录固件了,打开Arduino IDE,设置好单片机类型(MEGA2560),和下载器类型(USBtinyISP),端口默认吧!如下图所示:
然后点击“烧录引导程序”,等待烧录过程如图所示:
烧录完成系统LED指示灯(就是上面提到的很重要的那个灯,没错就是它)会闪烁,表示固件烧录成功,虽然界面提示的是“烧录引导程序出错”,但是实际上是烧录成功的了,具体原因我也不是很清楚,希望知道的大佬教教我!
如上图,提示的,虽然但是,咱们成功了。我验证过了,用新的芯片第一次烧录自己的程序是烧录不进去的,然后烧录固件后(尽管提示错误,但是bootloader烧进去了),才可以烧录自己的程序。
下面是我的原理图和实物图(JLC的紫色板子真好看,白嫖真香):
下面附上官方的MEGA256的原理图和PCB文件(AD版本哦!),**官方版本源文件请用于自己学习,不得用于商业用途,侵删!!!**我自己的源文件就不献丑了,哈哈哈! 差不多了,讲的不对的地方,相互交流! **官方源文件:**想要的留言吧,我不会上传文件,害!
|