控制模块的功能简述 控制模块电路原理图设计

应用电子电路

898人已加入

描述

在本节中,我们来完成控制模块的电路设计。首先我们需要对控制模块做一下简单的功能分析,也就是说我们先要了解控制模块都具有哪些功能,然后再逐步的完成这些功能。

  • 控制系统处理器和其周边电路功能
  • 电源模块插槽
  • NanoPi插槽
  • 其它接口(距离模块、GPIO等)

实际上我们所做的控制模块除了本身的功能之外,还需要将电源模块和NanoPi两个电路板插在其上方组合在一起,所以我们的控制电路板的整体结构如下:

电路设计

也就是说,控制模块是一个底板,上面带有几组插槽,电源模块和NanoPi通过引脚插入到底板当中完成组装。

此外,控制模块还需要接入超声波模块用于测量前方障碍物到车体的距离,以及一些预留的GPIO引脚。

现在我们来完成控制模块的电路设计,首先是芯片的选型,我们本来可以选用STM32F103RCT6作为控制模块的处理芯片,并在其上完成嵌入式程序的开发,但就目前情况来看此芯片价格高居不下,于是我们选用了STM32F407VET6,也就是说使用了Cortex-M4系列芯片来作为我们的处理芯片。

第一步,为STM32F407VET6加入到我们的电路原理图当中:

电路设计

第二步,在12和12脚上加入外部晶振电路,其中晶振频率为8MHz,两个电容均为22pF:

电路设计

第三步,为14脚加入复位电路,并将94脚BOOT0和37脚BOOT1通过下拉电阻接地:

电路设计

第四步,为VBAT、VDD、VSS、VDDA、VERF接入电源并接入电容:

电路设计

第五步,为72脚和76脚加入SWD固件烧写接口,即1.27mm间距孔(使用其它间距也可以,例如2.54mm间距):

电路设计

第六步,为VCAP加入电容:

电路设计

这样我们的STM32F407VET6的基础电路就完成,之后我们需要在相应的GPIO上加入我们定制的功能。

功能一:加入AD采集功能,我们使用PA0、PA1、PC2、PC3进行电压采集,分别是ADC1_CH0、ADC1_CH1、ADC1_CH12、ADC1_CH13,其中ADC1_CH0为我们的电源电压采集功能,其它通道为预留功能:

电路设计

功能二:电机驱动信号PWM输出,我们使用TIM4的4个PWM输出脚PD12、PD13、PD14、PD15以及TIM3的4个PWM输出脚PC6、PC7、PC8、PC9,其中TIM3的4路PWM输出为预留功能:

电路设计

功能三:使用HCSR04超声波测距功能,接入PD9和PD8,由于HCSR04的ECHO脚输出是5V,所以我们使用10K和20K分压电阻将其转为3.33V:

电路设计

功能四:我们参考MPU6050电子陀螺仪的外围电路,将其加入到设计图当中,并将PA6和PA7接入到其中,也就是I2C1接口,其中PB6和PB7都加了10K的上拉电阻:

电路设计

功能四:我们使用PE0和PE1两个引脚来作为系统的信号指示灯:

电路设计

功能五:加入与电源模块的接口,此接口我们在前一节中已经完成,对应的连接到控制模块中。接口中输入5V电源,我们需要通过AMS1117电源芯片将其转为3.3V,同时加入一个LED电源指标灯,当电源工作正常时LED灯亮起:

电路设计

功能六:加入NanoPi接口并将其USB接口引出,NanoPi与我们控制模块中有几个部分需要连接:

电源接口5V供电。

使用串口与STM32连接。

引出USB插槽到控制模块。

我们参考NanoPi Duo2的GPIO接口来完成相应的功能:

电路设计

其中,U4为USB插座,用于插入USB摄像头;P3为NanoPi-Duo2自身的Debug接口;NanoPi的UART1和STM32的UART1相连,用于数据通信,注意Tx和Rx需要反相接入。

功能七:使用串口2作为STM32的Debug接口:

电路设计

最后:引出预留的5V电源和3V电源以及一些GPIO脚:

电路设计

这样,我们就基本上完成了控制模块的电路设计,整体设计原理图如下:

电路设计

可以看到我们的STM32F407VET6和NanoPi-Duo2剩余了很多GPIO引脚没有被使用,包括I2C、SPI、UART、GPIO等功能,读者可以根据自己的需要加入相应的功能。我们将在下一节来对控制模块的电路进行布局和布线。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分