佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1913|回复: 5

西门Duino:一个基于ATMega328的最小Arduino

[复制链接]
发表于 9-8-2013 10:22 PM | 显示全部楼层 |阅读模式
这里教你如何建立属于自己的Arduino,此Arduino是YABBAS的改良版,功能包括:
  • 使用洞洞板,免除了钻洞打孔
  • 电路设计简单,尽量使用最少元件
  • 使用16MHzResonator作为时钟源
  • 增加扩展区(Prototype area)

我将其命名为西门Duino,灵感来自这里

西门DuinoSalMonDuino已经注册于西门庆33名下,其商标为一条三文鱼(Salmon fish),没经过允许,不得擅自使用。西门Duino现售于各大超市,pasar malam,所有政府部门以及医院
fish.jpg

如果你不懂什么是Arduino,请阅读这帖子


西门Duino电路图
西门Duino设计非常简单,它采用了ATMega823微控制器和两个外加元件(10K电阻和16MHz谐振器)



准备洞洞板
使用一般的的刀片来切割PCB铜片,你将会取得结果如图下


看我的千斤铁尺配合千年神刀,无坚不摧。制作快速,只需直直釣几下就行了,结果“美丽大方”





以上功夫准备好后,可以插入零件和焊接了

惊世之作完成了



我的焊接功夫还行吧!请加1000积分


西门Duino与电脑相通
西门Duino必须连接一个USB至串行转换器方能与电脑通讯,它使用了4引脚(VCC,GND,TX,Rx)的串行接口(TTL电平)

注意:
西门Duino与USB-Serial连接时,请别使用外部电源(Vin)。如果真的需要同时使用外部电源USB-Serial,解决方法是将USB-Serial的VCC西门Duino的VCC分开。


USB-Serial 西门Duino
VCC VCC
GND GND
Tx Rx
Rx Tx
------ Reset






上传代码
为了减少零件,复位引脚(Reset pin)没有被连接到任何设备,因此必须使用手动复位(Manual reset) 来上传代码。 要做到这一点,只需把复位引脚与Gnd短路。
  • 开启Arduino IDE
  • 载入代码(Load a sketch)
  • 点击上传图标
  • 当出现 “Binary sketch size ......” 时,立即把复位引脚与Gnd短路(图上显示使用一蓝色线),不能太早也不能太迟复位。如图




完成西门Duino大制作后,发现把扩展区移到ATMEGA328的14和15脚更为适当



还有更小Arduino的吗?
当然有。如果不需要使用精确的时钟,一般可以使用内部RC振荡来代替Resonator,不过必须更改熔丝(fuses bit)或者重新烧录bootloader。目前不便多谈,下回分解。


感谢
这帖子的电路图都是使用DIYLC绘图软件设计,谢谢DIYLC的作者
本帖最后由 西门庆33 于 9-8-2013 10:29 PM 编辑

评分

参与人数 2积分 +50 人气 +5 收起 理由
NGL + 5 精品文章
pic + 50 原创内容, DIY精神可嘉

查看全部评分

回复

使用道具 举报


ADVERTISEMENT

发表于 11-8-2013 10:40 PM | 显示全部楼层
原来是要按下 reset 才能的...我的 AngelDuino 忘记按 reset 所以失败 ..
我也要制作一个 GoldFISHDuino ...
回复

使用道具 举报

 楼主| 发表于 12-8-2013 10:00 PM | 显示全部楼层
angels1026 发表于 11-8-2013 10:40 PM
原来是要按下 reset 才能的...我的 AngelDuino 忘记按 reset 所以失败 ..
我也要制 ...

期待GoldFISHDuino
Untitled - 4.jpg
回复

使用道具 举报

发表于 12-8-2013 10:50 PM | 显示全部楼层
西门庆33 发表于 12-8-2013 10:00 PM
期待GoldFISHDuino

应该吧 PCB 切成 鱼的形状... GoldFISHDuino  

GoldFISHDuino 已经注册于 angels1026
回复

使用道具 举报

 楼主| 发表于 14-8-2013 10:55 PM | 显示全部楼层
angels1026 发表于 11-8-2013 10:40 PM
原来是要按下 reset 才能的...我的 AngelDuino 忘记按 reset 所以失败 ..
我也要制 ...

如果你不想使用手动reset,可以连接一颗1uF电容器来完成自动reset:

USB-SERIAL的DTR连接电容器的负(-)极,Arduino的Reset连接电容器的正(+)极

回复

使用道具 举报

 楼主| 发表于 17-8-2013 10:58 PM | 显示全部楼层
姗姗来迟的金莲Duino
西门哥来了,当然少不了金莲姐

金莲Duino特色
  • 增加了更多扩展区
  • 省了Resonator,使用内部振荡器


金莲Duino西门Duino使用更少元件,由于增加了更多扩展区,体积显得有点"丰满"。另外,C1和C2焊接在ATMega328的VCC与GND旁,更接近正统的电子设计。

如果你不想在金莲Duino里上载代码,唯一的电阻器(R1)可以使用一跳线代替之。看,除了电源之外,没有焊接任何外部零件

烧录bootloader
由于使用了内部振荡器,所以必须从新烧录bootloader。你可以使用现成的Arduino板当着ISP编程器,要做到这点,你的Arduino先必须上载ArduinoISP sketch,这里我就不多谈,你可以参考下面图象
ArduinoISP.jpg

  • 下载硬件配置Breadboard.zip文档
  • 创建一个“hardware\breadboard”在Arduino sketchbook 文件夹(通常是在\My Documents\Arduino)
sketch folder2.jpg
sketch folder1.png


将Breadboard.zip存档解压至hardware\breadboard文件夹,如图所示



重新启动Arduino软件。 Tools > Board里,你将会看到“ATmega328 on a breadboard (8 MHz internal clock)



软件方面准备好了,现在看硬件连接


如果看不习惯上面的连接图,下面这张与上面的连接图一样
SimpleBreadboardAVR.png

“软硬”都准备好了,现在根据下面两张图象进行烧录bootloader



烧录bootloader过程可能会遇到问题,这里不多谈,浏览这里有详细列出

上载Sketch
完成烧录bootloader后,现在可以上载代码了。除了一楼使用usb-serial模块来上载代码外,以下方法也可以使用
  • 使用Arduino的FTDI USB-Serial转换器,此方是先把旧的ATmega328微控制器从Arduino拆下
  • 使用整个Arduino,此方是先把旧的ATmega328微控制器从Arduino拆下,然後插入刚才烧录好的ATmega328
  • 把Arduino设成ISP编程器,如上面所说,Arduino必须预装ArduinoISP sketch


使用Arduino的FTDI USB-Serial转换器来上载代码

下面这张连接图与上面的一样
ArduinoUSBSerialSimple.png


把Arduino设成ISP编程器,记得在Tools>rogrammer选择Arduino as ISP


决定使用以上其中一种上载方式后,Tools > Board里, 选择ATmega328 on a breadboard (8 MHz internal clock)

点击Upload icon开始上传代码

这应该是世上最简单的Arduino(基于ATMega328)了吧! 本帖最后由 西门庆33 于 17-8-2013 11:08 PM 编辑

回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 25-4-2024 12:39 PM , Processed in 0.078191 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表