我以前写的东西,都是某个项目中的一个小片段知识点。对于曾经遇到过类似问题的人,看过之后就会感觉很有用。如果之前没有遇到过,可能看过之后就忘记了,也可能看了也不明白写的什么意思。

  这篇文章我将会以一个实例来叙述一个产品的完整制作过程。即使这个实例不是你感兴趣的,也一定要看下去。因为这其中涉及到了很多的电子设计基础知识点,涉及到了模拟电子和数字电子方面的很多知识。然而,任何一个电子产品都是基础知识点的融合,那种很花哨的招式一般是用不上的。

  从需求、外壳选型、芯片选型、原理图设计、PCB设计、制板、焊接、程序设计、调试、优化,一直到最终的产品,一条龙都会讲到。

  我坚信,即使你现在工作了好几年了,在这个产品的设计中用到的某些知识,你不一定遇到过。所以,这篇文章不仅仅是适合初学者!多数人看了都会从中受益。

  既然是要说一个完整的制作过程,就需要先从需求开始说起。

  需求:发动机数字转速表(数码管显示)

  先给大家介绍一个行业:汽车教学用具。这种教具的客户是开设了汽车原理、汽车维修等关于汽车类专业的大中专院校。教具主要是发动机教具、变速箱教具、转向系统教具、ABS刹车教具、新能源管理教具等。例如:大众帕萨特1.8T发动机实训台,在实训台上,把原车的发动机安装到一个台架上,然后想办法使它正常工作。

  发动机的转速信号传感器一般有三种:磁电、霍尔、光电。磁电用的最多,我们这里也是要做磁电的转速表。

  磁电传感器有两条线,出来的信号是正弦波,这个正弦波的幅值和频率都是随着转速的增加而增加。转速越快,幅值越大,频率越高。在转速低的时候,幅值可能只有几十个mV,转速大的时候,幅值可能会有15V。频率一般是从0到几千赫兹。

  在拿到需求以后,我们一般会把这些需求转化为我们电子类的专业术语表示。做过项目的都知道,客户说的,我们可能听不懂,而我们说的,客户可能也听不懂。所以在需求沟通的时候,就需要坐下来谈谈,电话里边是很难说清楚的。

  拿电子专业术语来说,我们要做的这个产品,就是:正弦波频率计。

  需求搞明白了,就可以进入设计选型阶段了。设计选型阶段,主要靠的是行业经验和设计经验。

  这里,我们产品的外壳选择用标准的5135外壳,便于安装到教具的台架面板上,数码管选用0.56寸的,因为这种外壳用0.56寸的数码管很合适,空间占用比例很好。(5135外壳每个售价1.5元左右,0.56寸的数码管是2元左右。)

  

  5135外壳配套的电路板尺寸为3.68*6.9,比较小,所以我们尽量用小封装的电子元器件。我们暂定只要有贴片封装的,都用贴片的,电阻电容选用0805封装的。

  因为汽车的转速信号最大是8000转,一般我们也就是在1000~3000转之间使用。所以我们选择4位的数码管,用芯片TM1620驱动。TM1620是天微电子的一款数码管驱动芯片,SOP20封装,这个芯片与单片机采用SPI接口,只需要占用单片机的3个引脚,就可以用单片机控制显示任何数字了。(TM1620每个售价0.9元左右。)

  汽车上的所有用电设备,一般都是蓄电池供电,蓄电池的电压是12V左右,如果教具上面不需要安装汽车的蓄电池,一般用12V的开关电源供电。所以我们要做的这个产品,是用12V供电的。

  为了避免电源电压波动对电路造成的影响,我们选择9~36V输入、5V输出的电源芯片XL1509-5.0,该芯片为SOP8封装。(XL1509-5.0每个售价1元左右。)

  信号处理原理是:把正弦波整形为方波,然后交给单片机测量频率,单片机再负责把这个频率显示到数码管上。这其中,我们要显示的是转速,测到的频率和转速可能不是一个数,有可能是由一定的比例关系,所以还需要单片机运算一下,为了方便兼容各种车型,我们增加一个校准按钮。

  正弦波整形为方波,人们一般的使用方法是使用比较器或者施密特触发器,就是把信号的一条线接GND,另一条线作为输入。如下图所示:

  

  但是,我们不能直接使用这种方法。因为,在使用原车ECU的情况下,如果你把信号的其中一个引脚接GND,将会引起ECU报故障。(这一点,完全是行业经验。)

  ECU,是车上的电子控制器,通常叫它行车电脑,现在所有的车上都有。就是一张载有单片机加各种外围电路的电路板,主要功能是采集车速转速、控制燃油喷射时间等。详细介绍可以去百度一下。

  为了避免上述情况,我们用三运放构成的仪表放大电路缓冲一下正弦波信号,该电路为差分输入、单端输出,正好适合我们现在的应用。

  

  信号的两条线分别从VIN1和VIN2进入,最后从VOUT输出。我们使用SOP8封装的MCP6002,这个芯片是轨到轨输出。什么是轨到轨?我以前的公众号也发过一篇文章介绍。这个功能可以避免由于输入电压过大引起的信号翻转失真。(MCP6002每个0.7元左右。)

  后面做实验的时候,我用普通的、不是轨到轨的放大器给大家演示一下电压过大产生的信号相位翻转失真。

  单片机我选择SOP16封装的STC15W408AS,这个单片机内部有比较器,可以用来给正弦波整形。自带的捕获功能,专门用来测量脉冲信号,可以减少代码量。(STC15W408AS每个售价2.8元左右。)

  基本思路就是这些,具体的细节问题,我们在画电路板的时候再介绍。

  接下来进入原理图设计环节。

  说到画板,有些人使用AD,有些人使用Pads,有些人使用Cadence,有些人使用Kicad……。为了方便所有的人,这里我使用easyeda,它的好处是不用你电脑上装软件,因为它是使用浏览器编辑的。画好的板子,我也会提供给大家,大家用浏览器就可以打开了,如果需要,可以一键生成gerber文件发到工厂做板子。

  电源部分

  因为电路中的单片机、TM1620、MCP6002和数码管都是5V供电,所以我们选择使用XL1509-5.0芯片,输入电压可以从9V到36V。

  

  在XL1509的手册上,已经给出了它的经典电路图,上图也是按照手册上的图接的。不过,很多人想知道其中的原理,下面我就详细的介绍一下。

  D2使用普通二极管M7,它就是直插元件IN4007的贴片版本。它的作用是防止电源反接,当你一不小心把电源正负接反了,也不会烧坏电路板。

  C1和C3的作用是电源滤波,就是去除输入电源噪声的。C1不一定必须使用220uF,使用100uF或者470uF都是可以的。C3使用10nF或者100nF都可以。关键是C1和C3的耐压值必须要大于给电路板供电的电源电压。

  L1使用68uH的电感。作用是滤除电源5V输出的噪声。

  D1是肖特基二极管B5817W,在这里的作用是续流。因为DC-DC芯片是开关电源原理,二极管是在芯片中的MOS管关断的时候起一个续流作用,电流从二极管流过,再从电感输出。

  提示:模电知识,不像数字电子那样1就是1,0就是0,模电知识,最好的学习方法就是先使用它,电路用的多了,以后就会越来越理解其中的原理。

  显示部分

  我们使用TM1620的共阴极接法驱动数码管。

  

  TM1620驱动4位数码管,所以只接GRID1~4,不接GRID5和6。SEG1~8用来驱动数码管的A~F~DP段位。STB、CLK、DIN连接到单片机的任意3个引脚。C4用来滤除噪声。

  以后记住,电路板上的所有芯片,都在它的电源引脚放一个0.1uF的电容。

  共阴数码管型号FJ5461AH。

  

  信号处理部分

  我们要做的电路是三个运放构成,一个MCP6002里边有两个运放,所以我们使用两个MCP6002。

  

  这种三运放构成的仪表放大器,可以用在很多产品上,使用最多的,是对传感器小信号的放大。这是一种典型的电路形式。U3.1和U3.2是电压跟随器,U4.1是差分放大电路,实际上也是个减法器电路。电路的放大倍数=R6/R5=100倍。

  再次强调,数电中1就是1,0就是0,学模电,不能想数电那样看了就能理解。一定要多用电路,用的多了,就会理解越来越深刻。所以,现在不理解,也完全没有关系,

  很多人还会好奇跟随器前面的电阻R1和D3。D3的作用是当输入电压高于VDD的时候保护运放的输入级。在MCP6002内部,还有一个二极管,是保护输入电压低于VSS的时候保护输入级。R1的作用有两个,一个是限制输入到输入级的电流,另外一个是在输入电压大于VDD的时候,限制输入到D3上的电流。(R2、D4的原理和R1、D3一样。)

  你可能注意到了R4下边的REF这个网络标号,因为我们使用MCP6002的单电源供电方式,所以需要在R4的下边接1/2的VDD,以便获得全部的信号。如果MCP6002的供电方式是双电源供电,那么REF这个地方是接GND的。

  运放的供电方式有两种:一种是单电源供电,例如5V和GND;另外一种是双电源供电,例如±5V。

  我们使用下面的电路给REF提供2.5V的电压。

  

  这是一种非常常见的给单电源运放提供1/2VDD电压的一种方法,大家首先要熟记,然后听我给你们解释。

  如果我不用这个跟随器,而是直接用两个10K电阻分压连接到REF那个地方,那实际上,REF处的电压肯定不是2.5V,因为它将会与R3、R4一起参与组成串并联的电阻网络一起分压输入电压,REF将会是一个随着输入电压变化的电压。用专业一点的话来说,就是R8、R9分压后得到的2.5V电压输出阻抗太大。所以,我们接一个电压跟随器,运放的输出阻抗很小,几乎为零点几欧姆。到时候,REF的电压将不会受到输入电压的影响,很好的保持2.5V不变。

  你也可以用一个电压基准芯片,比如REF3125。但是这样会增加成本,而且多一个元器件,多占用一点PCB面积,我们本来很小的电路板,还是少放点东西比较好。因为我们刚才在信号处理电路中使用的U4实际上只使用了一个运放,还剩下一个运放,所以正好拿它来做REF的电压提供,两全其美。

  主控部分

  

  此款单片机非常容易使用,不需要外部的晶振电路和复位电路,单片机最小系统就是单片机加一个0.1uf的电源滤波电容。这样的好处就是,既可以不用采购晶振等那些元器件,还可以少画几根线,又可以节省电路板的体积,用在我们这个小电路板上,正好非常合适。

  左边是个按键电路,R7是上拉电阻,C9是滤波电容,硬件防抖。按键没有按下,P3.3是高电平;按键按下,P3.3是低电平。

  我们运用到了这个单片机的比较器,比较器的反相端接了REF,也就是2.5V,信号从比较器的同相端输入,P1.2为比较器的输出端。我们把比较器整形后的波形输入到P1.1脚,因为P1.1引脚是捕获引脚,可以用这个功能测量方波的频率。

  

  这是程序下载接口,只需要把单片机的RXD TXD引脚印出来就可以。

  接下来进入PCB设计环节。

  从原理图中导入PCB后,我们先把边框画好,这里我们把宽度定义为69mm,把长度定义为36.8mm。

  根据外壳的形状,接线端子放到中间下面,便于接线。数码管位于背面的正中间。其它的元器件摆放依照“便于布线”的原则来摆放。

  

  

  上图是PCB正面的2D演示。

  

  上图是PCB背面的2D演示。

  

  半导体工程师

  半导体经验分享,半导体成果交流,半导体信息发布。半导体行业动态,半导体从业者职业规划,芯片工程师成长历程。

作者 adminp4mrw