ST公司发布了一款STM8_SO8_DISCO探索套件板,在这块小巧的开发板上搭载了三颗SO8N封装的微控制器: STM8S001J3M3、STM8L001J3M3以及STM8L050J3M3。通过型号可以看出其中的一颗STM8S001J3M3为STM8通用系列;另外两STM8L001J3M3、STM8L050J3M3为低功耗系列。在这三颗当中最喜欢STM8L001J3M3、STM8L050J3M3,因为不光是其低功耗的性能优秀更是因为在仅有的8根引脚当中除电源外还有6根引脚可做为IO供用户使用,而STM8S001J3M3却有一个引脚被“VCAP”占用而少了一个可供用户使用的引脚。这几款低引脚芯片虽说体积小但各种常用的功能模块却不少,如ADC、UART、TIM、I2C、SPI等等,小身材、高性能。
下面就用这其中的一颗芯片STM8L001J3M3来制作一款小型的温、湿度检测及显示设备。
一、硬件介绍
1、主控芯片:STM8L001J3M3-没啥说的,英明选择;
2、温、湿度传感器:HTU21D,手上正好有这颗芯片就用上了;
3、OLED显示:这是一片96*16、0.69的OLED,体积小巧、显示清晰,只是要外加升压电路;
4、其它:这里主要包括LDO(XC6206P332MR)、升压(SX1308)、8050、AO3401等;
5、主要一些硬件照片:图中最小的四方体是HTU21D,模特是一只PDIP8的芯片;
二、电路设计:
由于系统整体功能比较简单,相应的电路也是比较简单的。从下面的电路图中可以看出,由STM8L001J3M3做为主控利用其I2C模块Pin7(I2C_SDA)Pin8(I2C_SCL)同时与OLED、HTU21D的I2C端口相连;SX1308与外围器件组成升压电路为OLED提供10V电压;8050与P-MOS(AO3401)组成简单的控制开关,通过STM8L001J3M3的Pin2输出电平控制OLED、HTU21D电源供给;接在STM8L001J3M3的Pin5开关(这里使用的是按键开关,当然也可以考虑用触摸或者水银开关)用于系统唤醒。由于还没有找到合适的外壳,还有电路部分还有待进一步验证修改,所以这里只有原理图而没有PCB。
三、软件编程思路:
主控STM8L001J3M3微控制器工作于HALT模式,当需要检测温、湿度时通过STM8L001J3M3的Pin5外部中断唤醒系统;同时STM8L001J3M3的Pin2发出控制信号接通OLED、HTU21D的工作电源;STM8L001J3M3通过I2C端口将HTU21D采集到的数据进行处理并送OLED进行实时显示;温湿度信息显示3秒后STM8L001J3M3的Pin2发出控制信号切断OLED、HTU21D的工作电源并再次进入HALT工作模式等待下一次唤醒。
四、后记
以上内容还只是纸上谈兵,与实际功能的实现还有一段距离。STM8_SO8_DISCO探索套件板上的这几颗芯片在ST天猫店有售并且价格也很便宜,只是运费有点小贵了,等着店里再增加一些芯片型号(如新一代的STM32G0系列)一并弄一些回来。
另外,电路中可能还存在着一些错误,还请朋友们指教!
|