电源电路图
首先,我们需要设计和制作的是一个电源模块,这个模块通过电池的12V输入为电动机提供电源,也同时为其它模块提供电源。此外还需要提供两路的电机驱动芯片和电源输入输出接口,也就是我们常常所说的插头。我们希望这个电源的模块功能如下图:
输入:电源模块的输入接口为12V直流电源,实际上是由3节18650锂电池(3S)进行供电,由于锂电池的电压范围为3.7v~4.2v,所以我们所采用的这个3S锂电池电源电压范围是11.1V~12.6V,也就是说电源空电时电压为11.1V,满电电压为12.6V。为了描述简便,我们假定电源为12V的稳压电源。后面我们会设计一个电源电压采集功能来获取当前电源的实际电压,从而判断电源电量是否充足。
机电输出A/B:电机输出有两个接口,分别是电机A和电机B,输出电压范围是-12V~+12V。也就是说电压为正数时电机正向转动,而电压为负的时候电机反转转动,由此来达到小车的前进、退后、左转、右转等功能。这两个电机输出接口所输出的具体电压值是根据两个电机驱动来完成的。
12V转5V电路:这个降压电路是采用了LM2576电源芯片来完成的,这是一个系列的开关式电源芯片,我们选用它们家族中的LM2576-R5.0型号作为我们的电源芯片,这款芯片的电压输入范围为7V~40V,输出电压为5V,最大输出电流3A。所谓开关电源就是通过对输入电源的对输出进行控制周期性的一开一关,从而达到降压的目的。例如:我们如果需要将12V的电源降压为6V,芯片通过高速的周期性开关处理,接通时间比例为整个周期的50%,假如一个周期是100us,那么为了得到6V电压,芯片将接通50us,之后断开50us。同样的原理,如果我们需要将12V的电源降压为5V则需要将接通时间比例调整为41.67%,也就是说在一个100us的周期中,有41.67us的时间里是接通的,有58.33us的时间是断开的,于是就得到了5V的电压。这就是开关电源的工作原理。实际上只依靠LM2576-R5.0这一个芯片是不能将12V电源转成5V的,我们还需要根据芯片手册中所给出的标准应用原理图来完成其外围的电路,这方面我们在制作PCB原理图时会进行相关介绍。
电机驱动A/B:电机驱动我们采用的是全桥式电机驱动芯片PT5126A,其可输入的电源电压是2V~24V,最大输出电流2.8A。从原理上讲芯片内部是H桥电路通过三极管的H型电路组连接在一起,进而产生电压输出,完成对电机的控制。其输出的电压可以输出负电压,也就是控制电动机反向转动。我们可以使用PWM信号对芯片进行控制,从而达到我们需要的电压输出结果。芯片有2个信号输入引脚INA和INB,当INA为高电平,INB为低电平时,芯片的两个输出引脚从OUTA到OUTB之间的电压为正;当INA为低电平,INB为高电平时芯片输出OUTA到OUTB的电压为负。而我们在使用它的时候可以向INA或INB输出PWM信号,用于调解OUTA和OUTB之间的电压差,PWM高电平的时长越长则输出电压越高,反之则越低。
控制模块接口:此接口需要为控制主板提供一个5V电源和一个对总电源电压的采集电源,由于我们的Cortex-M4芯片的电压采集范围为0~3.3V所以我们在电源模块中需要将电源转为3.3V以内的电压再为控制主板提供采集电源电压。此接口中除了输出之外,还需要有Cortex-M4所提供的4路PWM信号和一路3.3V,用于电机驱动芯片的信号控制和电机驱动芯片PT5126A的逻辑供电。值得注意的是:电源模块为控制主板提供的是5V电源,而在控制主板5V电源将分为两部分,第一部分为我们的NanoPi供电,第二部分通过另一个降压电路将5V降压到3.3V为我们的嵌入式处理器Cortex-M4和其它器件供电。而这个3.3V再回传到电源模块中为电机驱动芯片进行逻辑供电。
接下来,我们开始针对电源模块设计电路原理图:
首先,我们需要加入一个间距为2.54mm的双孔,用于电源输入:
我们可以看到,电源插孔的引脚1为VIN电源输入也就是3S锂电池的正极,引脚2为GND也就是3S锂电池的负极。此外我们加入了一个二极管,防止在后续使用过程中电池的正负极插反烧毁电路。有兴趣的读者还可以自行加入一些对输出电源的保护器件,例如过压保护器和保险丝等。这里我们为了方便讲解只做防反插处理。
接下来,我们需要将这个VIN通过LM2576-R5.0转为5V,其应用电路如下(参考芯片手册):
我们可以清楚的看到电源输入VIN,接入到芯片LM2576的VIN引脚中,之后之后由OUTPUT引脚输出到L1当中,L1为100uH的功率电感,D1为二极管,C1和C2为电解电容。最终我们就得到了电源降压电路的输出5V。
第三步,我们将电源VIN通过一个简单的电阻分压,得到Cortex-M4所能采集的电压范围:
我们将VIN经过两个串联的电阻R6和R5,得到PWR_ADC电压的范围为2.868V~3.256V,其计算方式很简单,就是将3S锂电池的最小电压和最大电压分别通过这两个串联电阻进行以下计算:
得到了降压后的压信号,我们就可以通过Cortex-M4的ADC引脚对这个PWR_ADC进行采集,如果其电压值小于2.868V则表示锂电池已经空电了,需要进行电池保护提示。如果大于2.868V则表示锂电池还可继续使用。采集到的电源电压可以通过整个系统上传至云端,以便进行相关的数据分析等操作。
之后,我们再来完成两个电机的驱动电路,PT5126A芯片的电路如下(参考芯片手册):
其中,U1和U2它们的电路原理完全一样,只不过是通过不同的信号来控制不同的电机,U1输入信号为PWM0和PWM1,输出为电机A(MOTOR_A);而U4输入信号为PWM2和PWM3,输出为电机B(MOTOR_B)。PWM0、PWM1、PWM2和PWM3是通过控制模块接口由控制主板输入进来的,在这里都加入了10K的下拉电阻R1、R2、R3、R4,以防止在系统未启动或非可控情况下信号浮空的问题。电机A和电机B则是分布于电源输入插孔左右的电机输出插孔。其中,两个驱动芯片的逻辑供电为3.3V,来源于控制模块接口。
最后,我们来完成控制模块接口部分,这部分比较简单是8个间距2.54mm的过孔:
这个控制模块接口中的引脚1为5V电压输出;引脚2为GND;引脚3为3.3V的电压输入,给电机驱动芯片PT5126A逻辑供电;引脚4为电源电压采集;引脚5~8为PWM信号输入,用于电机控制芯片的PWM控制信号。
这样,我们就完成了电源模块的电路原理图设计。我们将在下一节来讲述此电源模块的PCB布局和布线,从而完成电源模块的设计开发工作。
全部0条评论
快来发表一下你的评论吧 !