单片机开发流程:

一、项目评估:
出初步技术开发方案,据此出预算,包括可能的开发成本、样机成本、开发耗时、样机制造耗时、利润空间等,然后根据开发项目的性质和细节评估风险,以决定项目是否落实资金上马。

二、项目实施:
1、设计电原理图:
在做这一步时要考虑单片机的资源分配和将来的软件框架、制定好各种通讯协议,尽量避免出现当板子做好后,即使把软件优化到极限仍不能满足项目要求的情况,还要计算各元件的参数、各芯片间的时序配合,有时候还需要考虑外壳结构、元件供货、生产成本等因素,还可能需要做必要的试验以验证一些具体的实现方法。设计中每一步骤出现的失误都会在下一步骤引起连锁反应,所以对一些没有把握的技术难点应尽量去核实。

2、设计印刷电路板(PCB)图:
完成电原理图设计后,根据技术方案的需要设计PCB图,这一步需要考虑机械结构、装配过程、外壳尺寸细节、所有要用到的元器件的精确三维尺寸、不同制版厂的加工精度、散热、电磁兼容性等等,为最终完成这一步常常需要几十次回头修改电原理图。

3、把PCB图发往制版厂做板:
将加工要求尽可能详细的写下来与PCB图文件一起发电邮给工厂,并保持沟通,及时解决加工中出现的一些相关问题。

4、定购开发系统和元件:
要考虑到开发过程中的可能的损耗,供货厂商的最小订货量、商业信誉、价格、服务等,具体工作包括整理购货清单、联系各供货厂商、比较技术参数、下定单、跑银行汇款、传真汇款底单、催货等等。

5、装配样机:
PCB板拿到后开始样机装配,设计中的错漏会在装配过程开始显现,尽量去补救。

6、样机调试:
样机初步装好就可以开始调试,当然需要有软件才能调,有人说单片机的软件不是编出来而是调出来的,所以这个过程需要用到电烙铁、刻刀、不同参数的元件、各种调试和仿真软件、样机的模拟工作环境等。常常会因为设计阶段的疏忽而不得不对样机动手术,等整个调试终于完成之后,往往样机的板子已经面目全非。

7、整理数据:
到了这一步,项目开发的大部分工作都已经完成了,这时候需要将样机研发过程中得到的重要数据记录保存下来,比如更新电原理图里的元件参数、PCB元件库里的三维模型,还要记录暴露出来的设计上的失误、分析失误的原因、采用的补救方案等等。

8、V1.1
如果项目进入生产阶段或确有需要,可以根据修正后的技术方案按以上各个步骤重做一台完善的V1.1版样机。

9、编写设备文档
包括编写产品说明书、拍摄外观图片等,如果设备需要和电脑通讯,还得写好与电脑的接口标准和通讯协议说明。

我们可以看到,个人开发单片机的时候第一步就是要画原理图与pcb,有了原理图我们才可理清各部分电路的关系,通过pcb验证原理图的合理性,然后再做板子、焊接、敲代码、测试等。

为了画好原理图与pcb,我在网上刷了不少网课,其中最推荐的是桂电二院科协的【学习资料】Altium Designer 20 (AD20)详细教程视频,老师讲得很详细并且附上了讲课时使用的课件与相关文档,非常适合我们边看边学。附上链接:刘涛老师ad20教程;

下面是我用ad画的第一个原理图与pcb

注意,请一定要边看变画!请一定要边看边画!请一定要边看边画!

我就是先看完全部视频,然后再自己按照指导书上的步骤自己画,结果走了很多弯路,比如找不到元件,找到了元件但元件的pcb封装与指导书的不一致(特别是电阻的pcb封装分普通电阻与贴片电阻),在未来设计原理图的时候也要注意自己需要的是普通的元件还是贴片的元件,两者原理图中看起来是一样的,但是有区别:

    贴片电阻                                                                        普通电阻

在画AD的时候最常见的问题就是在哪里才能找到自己想要的那一个元件,我认为只有多画、多动手才能知道,刘涛老师的文件里有一个叫【刘涛20200314】的老师常用库,里面基本涵盖了我们平时很常见的元件的原理图库与pcb封装库,但那个库里同一类型的东西非常之多,唯有我们自己多动手,我们也能建一个以自己名字命名的库!

从零到无学单片机——画原理图、PCB相关推荐

  1. 1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文)

    1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文) 文章目录 1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程 ...

  2. Linux下画原理图和PCB

    Linux下画原理图和PCB Windows下大名鼎鼎的Allegro和经典的Protel 99SE都是不支持Linux操作系统的.做Linux驱动开发免不了要看一下原理图和PCB. 一般的做法有三种 ...

  3. 基于单片机波形发生器PCB原理图报告设计资料-基于单片机比赛计时计分电路仿真设计-基于单片机报警器与旋转灯设计-基于单片机八路数据电压采集报警控制系统-基于单片机病房呼叫系统控制系统设计【毕设课设资】

    1302基于单片机波形发生器PCB原理图报告设计资料-毕设课设原理图程序资料 设计一个信号发生器,能在单片机的基础上控制并产生三角波.方波.正弦波和矩形波,且频率幅度和波形可以通过按键改变. #inc ...

  4. 智能锁方案PCBA原理图PCB单片机开发板源码wifi远程开锁。 提供全套技术资料,包括原理图,PCB图,程序源码,bom清单,说明书等

    智能锁方案PCBA原理图PCB单片机开发板源码wifi远程开锁. 提供全套技术资料,包括原理图,PCB图,程序源码,bom清单,说明书等. 该指纹密码锁具有如下功能: 一.指纹开门 二.触摸密码开门 ...

  5. 基于51单片机锂电池电压电量检测(原理图+PCB+程序)

    资料编号:198  下面是该资料仿真演示视频: 198-基于51单片机锂电池电压电量检测(原理图+PCB+程序+全套资料) 功能介绍: 采用51系列自带AD的单片机stc12c5a60s2型号单片机( ...

  6. ad15的stc元件库_STC单片机 STC15F系列单片机 Altium PROTEL 设计的器件原理图+PCB封装库文件...

    STC单片机 STC15F系列单片机 Altium PROTEL 设计的器件原理图+PCB封装库文件,Altium Designer.PROTEL原理图PCB封装文件,已经制板在实际项目中使用,可作为 ...

  7. STM32单片机紫外线强度检测仪器蜂鸣器报警(程序+原理图+PCB)

    本设计: 基于STM32单片机紫外线强度检测仪器蜂鸣器报警(程序+原理图+PCB) 原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 编号C0023 完整下载链接: ...

  8. STM32单片机智能跟随小车_红外遥控(程序+原理图+PCB+论文报告)

    本设计: 基于STM32单片机智能跟随小车_红外遥控(程序+原理图+PCB+论文报告) 原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 编号C0021 资料下载 [ ...

  9. c语言 称重系统设计,745【毕设课设】基于单片机智能电子秤称重系统设计(原理图 pcb 论文 程序)...

    [资源下载]下载地址如下: https://docs.qq.com/doc/DTlRSd01BZXNpRUxl 1.研究的主要内容 设计一基于单片机的压力计,要求该电子称除了可以用LCD显示压力的大小 ...

  10. 51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告)

    本设计: 基于51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号S0001 芯片可以替换为 ...

最新文章

  1. Linux学习之系统编程篇:mmap 内存映射区
  2. hdu6356-Glad You Came【RMQ】
  3. apache php隐藏头信息的方法,apache、php隐藏http头部版本信息的实现方法
  4. 【C++ STL学习之七】STL算法之find和find_if
  5. 深度学习笔记(18) 迁移学习
  6. linux编译c代码错误,linux - 使用ASAN时如何解决错误“无法运行C编译程序” - 堆栈内存溢出...
  7. webpack中的loader
  8. html canvas绘制网格,canvas(七)绘制网格和坐标轴
  9. windows优化大师怎么用_软件不能用又卸载不掉怎么办——用Windows自家的卸载工具吧(dos级卸载)...
  10. ansible+packer+terraform在aws上布署web服务器
  11. 计算机本科结题验收报告怎么写,课题结题鉴定书
  12. windows微信多开,超便捷的使用方式,真正一劳永逸的方法
  13. 前端引入icon的方法(iconfont,fontawesome)
  14. 单点登录常见解决方式和阿里云短信服务
  15. ubuntu桌面便签_在Ubuntu 上有什么必装的实用软件?
  16. maven项目test执行main找不到资源文件
  17. 视频剪辑工具,批量给视频添加上下图片
  18. WebRTC H5实现服务器转发的视频聊天
  19. 代码操作redis集群报错:(error) MOVED 解决方法
  20. c#被指定为此窗体的 MdiParent 的窗体不是 MdiContainer

热门文章

  1. 一、python:一种计算机的胶水语言
  2. abb机器人指令手册_ABB机器人制动闸未释放故障维修
  3. nova虚拟机迁移一
  4. opencv实现摄像头的实时人脸识别
  5. MobileNet_V3—SSD网络模型图文详解
  6. Java打包exe文件
  7. 在html5网页中录音解决方案
  8. c语言 数组 全部赋值0,关于C语言数组赋值方法
  9. 91地图坐标系矫正教程
  10. 机器学习算法——支持向量机SVM7(支持向量回归)