STM32应用-第6节-Lora

接上文,用USB-TTL分析了Lora模块基本功能后,就需要继续开始原理图设计了。毕竟USB-TTL难以实现模块的不同状态的配置和切换。

 STM32F103C8T6

主芯片采用常用的STM32F103C8T6,并未采用L系列。一来考虑到对芯片的熟悉程度,二来系统耗电瓶颈可能未必在MCU这里,三来考虑成本问题,因此选用了最常用的STM32F103C8T6。

电源设计

这里主要参考VDDA的电源设计,用磁珠隔离,并用1uF和0.1uF去耦。

STM32应用-第6节-Lora_第1张图片

其中磁珠可以选择常用磁珠。

https://item.taobao.com/item.htm?id=522576784852

MCU设计

MCU采用STM32F103C8T6,其中Y1为RTC时钟,而Y2为主时钟。

STM32应用-第6节-Lora_第2张图片

L1为VDDA的供电电路,实际为滤波磁珠;LORA_AUX连接到WKUP,软件设计时,可以用个LORA_AUX输出高电平,实现MCU唤醒。 BAT_VOLT连接到PA1, PA1和ADIN1复用,可以用来电压采集。

U2_TXD和U2_RXD用作调试串口,用来调试打印。而ADXL345采用SPI接口,用作备用功能。ADXL345为低功耗加速度传感器,可以用在振动监测或者触发监测上。

PB10, PB11复用为I2C2_SCL和I2C2_SDA,用来连接SHT20温湿度传感器,用来读取系统温湿度。

PB12连接SHT_CTL,用来开启或者关闭温湿度传感器,平时不使用时,关闭SHT_CTL,而需要采集温度时,再开启传感器,采集温度。

PB14连接的GET_VOLT用来获取电压信息。同样,为了降低功耗,GET_VOLT平时为高电平,对应的PMOS开启,当使能时,打开PMOS,读取对应的电池电压信息。

PA9,PA10连接U1_TXD和U1_RXD,通过跳线,连接LORA模块。 MCU_LED1和MCU_LED2连接调试LED。PA12为SWDIO, PA14为SWCLK.

PB3连接ALARM,用来开启报警装置。报警装置为12V供电,以保证报警声音强度。

PB6,PB7为 I2C1_SCL和I2C1_SDA, 这里连接OLED显示屏,也同样用作调试。

BOOT0接地,工作在正常模式。

VBAT设计

VBAT为RTC后备电池。其中BAT54C在BAT1和3V3之间选通,当主电池有点时,VBAT从3V3取电,否则从BAT1取电。

STM32应用-第6节-Lora_第3张图片

Lora模块

Lora模块设计时,考虑到了可以单独供电用来调试Lora模块。调试时,目标板用5V供电,然后通过USB_TTL,可以分别调试LORA模块的休眠,唤醒以及两者之间的切换。

跳线帽J15用来单独测试LORA模块耗电情况,以便进行功耗计算。

 STM32应用-第6节-Lora_第4张图片

 电池电量采集

BAT_VOLT采集电量,而GET_VOLT用来控制MOS开关采集电量。

STM32应用-第6节-Lora_第5张图片

Q3为SI2303,其封装如下:

STM32应用-第6节-Lora_第6张图片

 

1--G, 2---S, 3---D,NMOS, 导通时,电流从D流向S。 

GET_VOLT为低电平时,Q3截止,无法获取BAT电压;

GET_VOLT为高电平时,Q3导通,可以通过R13/R16分压,读取电池电压,并根据电压,换算电量。

SOT23封装信息如下:

STM32应用-第6节-Lora_第7张图片

 ADXL345

ADXL345采用SPI接口连接,用来读取设备振动数据。ADXL345还可以用来做跌落检测或者振动监测,具体都需要通过软件方法实现。

STM32应用-第6节-Lora_第8张图片

SHT20温湿度感应

SHT20温湿度感应为性价比较高的一种温湿度传感器,这里采用I2C接口,并且用PMOS控制设备电源开启或者关闭。

STM32应用-第6节-Lora_第9张图片

报警电路

STM32应用-第6节-Lora_第10张图片

报警电路采用升压模块,实现3.7V到12V升压,而且启动后,直接驱动蜂鸣器发声,具体功能还需要等待测试完成。其中ALARM驱动NMOS,因此为高电平启动。

备注:低电压控制高电压时,一定要采用NMOS或者NPN三极管,NMOS中,G>S启动,因此可以开启或者关闭D端电流。NPN中,B需要大于E和C,才能够达到饱和条件,因此,也可以控制5V或者12V开关。但是如果用错了管子(PMOS或者PNP),就可能会导致无法输出的现象,因为即使MCU输出到高电平,也无法达到需要关断输出的电压差。

硬件设计大致如上,具体功能还需要进一步调试验证。

你可能感兴趣的:(STM32应用-第6节-Lora)