初学者在学习单片机的时候大多都没有很明确的学习目的,所以往往学了很多课程之后,还是不能独立开发一个比较简单的项目,甚至不能完成一个简单项目的单独软件或者硬件部分的开发。这是因为大多数人是被动的、没有目的的学习,所以往往难以取得较好的学习成果。

基于以上的问题,我们提出了“以项目开发主导单片机的学习”的理念。通过给自己设定一个项目,然后把项目拆分为更小的可以执行的若干个子项目。要达成每个子项目,可能需要不同的知识和技能。然后去针对性的快速了解这些需要的知识和技能,并在该子项目上直接上手操作,这样就可以很快学会这些知识和技能。一步步把每个子项目完成之后,设定的项目也就整体完成了。在这个过程中,学习者不但会学会所涉及的知识和技能,还学会了对项目管理有了一定的了解,而且对电子项目的开发有了一定的系统认识。

拿DragonFly四轴飞行器作为一个例子来说,首先给自己设定一个目标:制作一个由STM32作为主控芯片的微型四轴飞行器。然后把这个项目拆分为更小的可以执行的若干个子项目:四轴飞行器PCB设计、STM32驱动程序编写、四轴飞行器飞控算法编写等等。再往下细分会发现这个项目里面包含了很多很多的知识和技能。那么通过这个项目的开发,就可以掌握这些知识和技能。

这就是DragonFly四轴飞行器存在的价值,它作为一个载体、作为一个学习平台,供大家通过这样一个项目来学习相关知识。初学者可以根据自己的需求选择学习这个项目的部分内容或者全部内容,选择学习什么取决于自己对未来职业的规划。比如一个初学者对硬件设计特别感兴趣,那么他就可以选择重点学习DragonFly四轴飞行器课程中的硬件设计相关知识,稍微了解软件编程相关的知识即可。而对于那些更喜欢敲代码的初学者来说,他们可以选择重点学习软件编程,对于硬件设计可以稍作了解。总之通过项目学习单片机或者其他知识有很强的实践性和可操作性,能够让我们把在课堂上学的理论知识落地为可使用、可操作的知识和技能。

图1:DragonFly四轴飞行器正面图

图2:DragonFly四轴飞行器背面图

图3:DragonFly四轴飞行器正面细节图

2017年推出DragonFly四轴飞行器以及对应的课程之后,受到了电子相关专业的大学生以及一些工程师的喜爱。我们于2019年年底对DragonFly四轴飞行器做了一些轻微的改动,使之更适合作为一个学习平台供大家学习交流。

改动1、去掉了四轴飞行器板载的USB充电功能。对于电子系统而言,单板功能越复杂,则稳定性越差;其次对于四轴飞行器所用的大容量大放电倍率的锂电池而言,往往是“充电一小时,飞行五分钟“。所以我们配备了外置的一拖四充电器,取消了板载的USB充电功能。建议多购买几块电池,直接换电池更方便爽飞。

改动2、PCB由两层改为4层。出于教学的目的,目前很多初学者自学或者通过其他课程能够较快的掌握2层板的PCB设计,但是对于多层板的设计却不得要领。其实同样的板子,层数越多,Layout越方便。但是说起来容易实践起来还是不得要领,于是我们针对DragonFly推出了四层板PCB设计课程。

改动3、 原理图、PCB设计软件由AD更换为Cadence。目前行业情况来看,更多大公司使用的都是Cadence,而AD大多为小公司使用(不绝对)。Cadence套装进行多层板、高速板的设计中使用更方便(那我自己而言,使用AD好几年了,但是当上手Cadence之后,几乎就非常喜欢Cadence的操作了,再也不想用AD了)。当然,不管是AD还是Cadence,归根结底都只是一款计算机辅助设计软件,设计的本质在于设计者的设计能力,而非对计算机辅助设计软件的使用。所以DragonFly四轴飞行器之前配备的课程是基于AD的PCB设计,这次增加了基于Cadence的PCB设计课程,初衷也是让更多的人根据自己的爱好来选择自己想学习的软件。

以上也说的很明确了,这次的DragonFly四轴飞行器PCB四层板教程使用的设计软件是Cadence。其实PCB设计软件很多,老牌的有AD、Cadence、PADS,现在也有很多开源的例如KiCAD等等。这些里面可能Cadence是公认的最难上手的,我自己从16年就想学这个软件,但是因为时间关系,上手好几次都以失败告终。直到一年前因为一些原因我不得不使用Cadence来进行设计,在硬着头皮上手之后,我就喜欢上了这个软件。但是目前我仅仅是能使用这个软件来完成原理图以及PCB设计的操作、而且使用不是特别熟练,但是到这一步对我而言足够了。我把使用Cadence来进行原理图以及PCB设计的过程组织成本系列课程,然后和大家一起学习。这样一方面能让我使用更加熟练,另一方面,“以项目开发主导单片机的学习”,把这个理念再扩展一下就是“以项目开发主导电子开发的学习”,对想上手Cadence的人来说能够照着这个教程的操作快速完成一个PCB设计,是最快的学习方法。

图4:DragonFly四轴飞行器PCB板顶层器件布局

图5:DragonFly四轴飞行器PCB板顶层布线

本讲视频:

使用Cadence17.2 OrCAD Allegro绘制小马哥DragonFly四轴飞行器(STM32F4主控)PCB四层板教程

本讲内容总结:

“以项目开发主导单片机的学习”

下讲内容提要:

Cadence17.2软件安装

Cadence原理图绘制工具和PCB Layout工具

第1讲、Cadence Allergo绘制小马哥DragonFly四轴飞行器PCB四层板教程简介相关推荐

  1. Cadence Allegro绘制封装时怎么让引脚水平翻转

    Cadence Allegro绘制封装时怎么让引脚水平翻转 这个情况在创建异形封装时常用到,Cadence焊盘没有直接水平翻转这个功能,你可以在封装的shape文件中移动shape,然后右键Mirro ...

  2. 异常处理第一讲(SEH),筛选器异常,以及__asm的扩展,寄存器注入简介

    异常处理第一讲(SEH),筛选器异常,以及__asm的扩展,寄存器注入简介 参考文章: (1)异常处理第一讲(SEH),筛选器异常,以及__asm的扩展,寄存器注入简介 (2)https://www. ...

  3. 在VC中用GDI+绘制角度可变的颜色渐变效果-.NET教程,VB.Net语言[转]

    在VC中用GDI+绘制角度可变的颜色渐变效果-.NET教程,VB.Net语言 作者:网友供稿 点击:4 gdi+ 是gdi(windows 早期版本提供的图形设备接口)的后续版本,是microsoft ...

  4. 计算机专业英语被动语态举例,第七讲被动语态的译法_计算机专业英语教程

    第七讲被动语态的译法_计算机专业英语教程 第七讲 被动语态的译法 (Translation of Passive Voice) 被动语态在英语中,特别是科技英语中运用得非常广泛,而汉语的被动句则用得较 ...

  5. Cadence Allegro设置默认打开为空白PCB文件的方法

    Cadence Allegro设置默认打开为空白PCB文件的方法 问题描述: 每次打开 Allegro软件的时候,软件会自动打开上一次设计过的PCB文件. 解决方法: 1.打开Setup-User p ...

  6. Cloud Computing:基于无影云电脑利用Python语言实现绘制“可爱小老虎”虎年快乐及无影云电脑简介、应用场景、使用体验(五步快速上手)分享图文教程之详细攻略

    Cloud Computing:基于无影云电脑利用Python语言实现绘制"可爱小老虎"虎年快乐及无影云电脑简介.应用场景.使用体验(五步快速上手)分享图文教程之详细攻略 目录 无 ...

  7. coreldraw铺花纹_CorelDraw绘制时尚创意的蝴蝶花纹图案教程

    本教程是向大家介绍如何利用CorelDraw绘制时尚创意的蝴蝶花纹图案,教程难度不大,绘制出来的蝴蝶非常漂亮.教程主要运用矩形.直线.插入图块.图案填充.尺寸标注等命令来完成,实用性很强,转发过来,喜 ...

  8. 由cadence allegro 设计的STM32开发板PCB教程

    布局总要求:由于板子对接口没有要求,所以我们先布局STM32芯片.我们采用100mil的格点布局.例题下载地址 https://pan.baidu.com/s/1Nfa2omc0CBeGwyVBzo9 ...

  9. title标签-HTML5精讲 课时ID:6.4 【表严肃】#HTML教程 #HTML5教程 #title标签

    6.4 <title>标签-HTML5精讲 课时ID:6.4 [表严肃]#HTML教程 #HTML5教程 #title标签 是什么 <title>标签用于指定浏览器标签上显示的 ...

最新文章

  1. 转牛人博客 稀疏矩阵定义CSR COO CSC 第一个讲的清晰易懂的人
  2. JUnit4测试框架设计与实现
  3. bpmn2 vue 设计器_vue项目中使用bpmn-基础篇
  4. 拳王虚拟项目公社:2020年虚拟资源项目的特别的最新正确玩法
  5. APIcloud启动页
  6. 解决办法:java.lang.UnsatisfiedLinkError ... Can't find dependent libraries
  7. 私教课程 Day2 2017-09-14
  8. delphi IDE插件 cnpack 使用记录
  9. Google Guice
  10. 接管理器是Android上最,10 款优秀的 Android 文件管理器
  11. 正则表达式汇总--小鱼儿
  12. Unity3D Shader系列之画虚线方式分析与总结
  13. html简单导航页单页源码
  14. iMeta | ggClusterNet微生物网络分析和可视化保姆级教程
  15. 华为交换机和路由器命令和trunk
  16. Neural Controlled Differential Equations forIrregular Time Series(NIPS2020)
  17. 紫罗兰计算机音乐,【Animenz】紫罗兰永恒花园ed みちしるべ
  18. 世界三大质量奖项介绍---波多里奇奖(转载)
  19. 组织结构图 js实现
  20. Oracle+Sql Server相关查询语句

热门文章

  1. 研究生查分方式-查分时间大汇总-文都管联院
  2. [Windows 10](Windows 10 解决开机小键盘灯不亮)
  3. spider_review-爬虫复习1.0
  4. Testflight上架丨苹果官方内测渠道详解
  5. 硬币翻转倍数递增试算
  6. 关于经纬度试算距离和范围
  7. 你所不知的米聊和微信的前身——酷啦啦
  8. BLOCKCHAINS VS. DISTRIBUTED DATABASES: DICHOTOMYAND FUSION
  9. sipp介绍与脚本撰写(一)
  10. lego loam 安装过程与问题处理