查看: 1352|回复: 0

[经验] 赔本的单片机毕业设计

[复制链接]
  • TA的每日心情

    2018-8-2 13:58
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-7-4 17:41:39 | 显示全部楼层 |阅读模式
    分享到:
    毕业设计结束了一年多,为什么今天还带着怨气又重新提起这个话题呢。
    当然是因为头顶上的语气严肃的告知,是告知不是询问,一定要我辅导沙阿小哥完成毕业设计,这涉及到两国邦交、国际友谊...关键点在这里:他(沙阿小哥)最后要是做不出来的,得我来做...不服气能行?

    经询问,沙阿小哥连最基础的技术文献都读不懂并没学过,专业并上公共课(都是挂掉的)16门没考完,表示各种忙,表示看不懂我给他的中文资料。把他所有的对白总结起来就一句话:我啥都不会,你看着办

    ...呵呵呵呵...看来就算纯粹浪费有限的人生与存活的意义,也得把时间如同海绵宝宝脑子里面的水一样挤出来为他人做贡献。

    做的毕业设计很简单,AVR atmega16单片机+光敏传感器+温度传感器DS18B20。感兴趣的朋友可以按照下列步骤很简单复现。(文章结尾奉上全套资料的网盘地址)
    具体内容: 连接电路,设计制作PCB板,烧制.hex文件下载到单片机,焊接元件。
    步骤
    • 购买元器件,淘宝京东实体电子市场都可以。
    • 在面包板上搭建电路验证单片机最小系统能否工作正常(我们跳过Protues仿真,毕竟功能单一,系统简单,不需要额外浪费时间)。设计单片机的各个模块。
    • 在CVAVR软件上编写atmega16单片机对应的代码,编译链接生成.hex文件,下载到单片机里面,测试传感器能否工作。
    • 在altium designer软件上绘制单片机系统原理图,导入原理图绘制PCB电路板。
    • 把绘制好的PCB板发给淘宝上专门打印PCB板的商家并付钱。
    • 取快递,把各个元器件焊接到PCB板上。

    正文:
    第一章:元件
    全是槽点,本科的时候在工作室,一堆元器件摆在我面前,我没有去珍惜,等到读研究生了要掏钱买,才后悔莫及。幸而我还保留了当时元器件的购买清单,附上如下表所示:

    名称
    数量
    描述
    AVR单片机
    1
    atmega16
    ISP-USB下载器
    1

    ISP-USB下载口
    1
    (这是个10针的插槽,焊接在电路板上供下载器连接PC和单片机)
    晶振
    >=1
    8M
    瓷片电容

    22pf(建议买一套,多的少的一点钱而已)
    电解电容

    nf-mf(同瓷片电容)
    按键

    酌情
    电阻
    >=16
    4.7k+10k(同瓷片电容)
    共阳极数码管
    >=1
    4个装
    排针
    4排

    LED灯

    若干,主要是单独几个商家也不卖
    温度传感器
    1

    光敏传感器
    1

    面包板
    >=2

    导线+杜邦线
    若干
    直插、公母头、公公、母母
    PS:电子元器件一般不做活动,邮费自理,(包邮的都是在元件上补差价了),如果自己购买,一定多挑几家店铺。
    除了以上元器件 ,在焊接的时候还需要电烙铁,焊锡之类。

    第二章:最小系统
    就其属性而言,最小系统是保证单片机能用正常运行的基础。正如麦之于馍,馍之于泡馍,泡馍之于羊肉泡馍是也。
    简单来说,最小系统就需要三个电路连接:
    • VCC和GND
    • ISP下载端口
    • 时钟(可忽略由内部RC振荡器供应)

    在这里需要注意的是,直插式ATMEGA16芯片上40个引脚中,有两个GND引脚,要连在一起
    1.jpg
    图1 直插式ATMEGA16芯片引脚图

    ISP下载电路可以连接PC端的调试软件和单片机芯片,进而把编译好的机器代码下载到芯片中运行,或者对单片机的端口进行数据传输调试。
    要想实现这个功能,则需要做以下几件事情:
    • 针对单片机

    先连接ISP电路,和时钟电路。在测试阶段,没有设计PCB且ISP接口在面包板上不方便安装,需要直接把单片机上用到的ISP端口电路连接到图3所示的ISP口上,使用公母头杜邦线。
    2.jpg
    图2 ISP电路连接图
    3.jpg
    图3 USB-ISP实物
    4.jpg
    图4 时钟发生电路图

    值得说明一下的是,图4中晶振和瓷片电容的公共端所连线的端口标注了引脚名,与图1中芯片所示的引脚相连接。

    • 2. 针对PC机

    首先需要一个PROGISP软件,用来沟通PC机和芯片。软件界面如图5:
    5.jpg
    图5 PROGISP软件界面截图

    将图3所示的USB口插在电脑上,需要安装下载线的驱动usbasp。但是对于win10系统会有一个问题。即驱动程序强制签名会组织该驱动的安装。所以需要以下步骤:
    win->左栏中的设置->更新和安全->恢复-> 高级启动 ->立即重新启动->疑难杂症->高级选项->启动设置->重启->7(禁用驱动程序强制签名)
    通过以上步骤设置过后重新打开的win10系统,即可以安装没有签名的驱动(可能不同的win10系统界面不一样,但是都在恢复这个选项里)。
    6.jpg
    图6 部分步骤示意

    • PROGISP软件设置

    首先在select Chip 选项,选择ATmega16。其后打开“...”,对熔丝位进行设置,只用把图7中的高位值设为D9就行。 7.jpg
    图7 熔丝位设置

    其后在文件栏目选择调入Flash,选择你经过CVAVR(或者AVRstudio)之类的EDA工具生成的 .hex文件。擦除->自动。若消息框中提示写入成功,则代码已成功加载到单片机内存。

    第三章:给单片机加外设
    这里我们使用了几个简单的外设,LED灯、按键、光敏传感器、温度传感器DS18B20、数码管,这些外设都很使用,其具体功能容易理解。将这些外设按照电路图连接到单片机上即可。具体原理在这里就不介绍了,感兴趣的同学请转身问度娘。 8.jpg
    图8 电路原理图

    加上外设后再次烧录代码进单片机进行测试,如果功能都能实现,则进行PCB板的制作。

    第四章:制作PCB板
    使用软件: Altium Designer 9
    步骤:
    • 创建工程、创建schametic文件和PCB文件。
    • 添加元件、Vcc、GND,给元件添加封装,给元件引脚命名,连接元件之间的电路。(元件的封装有特定的封装库和封装模型,当然可也以使用系统自带的封装,对于我们所制作的PCB板,要求并不严格)
    • 检查设计规则。
    • 导入到PCB。
    • 设置PCB线宽,移动PCB进行布局,其后布线。
    • 交付完成的PCB板给淘宝商家,或者有条件的自己在覆铜板上打印出来进行后续处理。

    9.jpg
    图9 完成PCB布线布局
    10.jpg
    图10 制作好的PCB板

    上图使用的是双层布线,为了节约时间,布线很随意。在PCB板上焊接元器件,即完成本设计。
    11.jpg
    图11 焊接好的开发板

    小结
    本文讲了小制作的过程。能实现的功能主要两个:
    • 测量环境温度并显示
    • 光敏电阻周围光照强度下降到一定的阈值会点亮LED灯


    这篇文章中单片机的功能很简单,重要在于涉及到了硬件设计的一整套流程,并且在我制作的过程中遇到的问题也在上文反映出来。在本文中没有介绍程序如何编写,没有介绍CVAVR、Altium Designer 软件具体如何操作。

    3.jpg
    5.jpg
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 21:20 , Processed in 0.119022 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.