8只脚(pin)、8位、8k flash...许多人听见这种主要参数很有可能会不屑一顾,当MCU的CoreMark显卡跑分早已动则2000分多,像这类“简单”的单片机设计早已处于了鄙视链的底部。
可是真的是这样子的吗?“鄙视链”通常是网络喷子非专业充内行的主要表现,优秀的人则会在型号选择情况下挑选成本费、功能损耗和性能最均衡的元器件;每一个高手全是巨蟹座,多一丝一毫的資源消耗,都是会感觉浑身不舒服。
你是否还记得小MU吗?仅应用STM32F103就可以给予基本上的视觉效果感测器作用,可以完成球、线、人、脸、挪动物件检验,为Arduino,树莓派,PC端,移动端等软件开发平台给予视觉效果解决工作能力。检验結果根据UART,SPI,USB以报文格式的方式輸出,与此同时带来了4路规范舵机控制插口,可以立即应用于舵机云台摄像机。
有点儿扯远了...小MU非常好地表明了一个难题——并不是性能最強的就是较好的,硬件配置产能过剩一样是一种消耗个人行为。每一个设计师都应该是巨蟹座,精雕细刻才算是好美。也许STM8便是真真正正合适你的那颗芯!
早在2011年,在21ic的STMCU的社区论坛就早已有些人希望过8-PIN的STM8,而2021年,8只脚的STM8早已近在咫尺啦~ST早已公布了近期的8-PIN STM8S,在某宝平台就可以立即选购。
8-PIN确实令人脑洞大,迫不得已令人异想天开地设计构思充斥着8-PIN STM8的全球,原先如意精致的它有这么多的功能!说到百花争艳我便想起文体两开花,2021年时尚潮流质优价廉的STM8发售了……
重归主题,本次8-PIN STM8以超便宜的价钱和独具特色的八脚让STM8又热了一把,以前也提出过并不是性能最強的就是较好的,硬件配置产能过剩一样是一种消耗个人行为,实际上值得一提的是,8-PIN的STM8针对设计方案更为苛刻的情景下也是非常重要的,网民也为大家介绍了这类工作经验:
据统计,以前元器件型号选择,一般只考虑到价钱和資源,直至以前一次重做,商品上的一个前面控制模块是纯仿真模拟元器件,要再进一步变小容积,因此只有上单片机设计了。费尽周折,换了国内的加强型51,但具体仅用了4个脚,一个外部中断 三个輸出脚,內部使用2个计时器,就所有完成了,国内的尽管也是有某些的SOP8,可是資源性能比不上STM8优点显著啊。
因而针对许多容积规定很高的状况,可以说成最佳的挑选。如温度和工作电压监管控制模块上,其内嵌了12位的AD,针对这种运用彻底可以了,SPI和I2C可以用于初始化温度连接点和oled显示屏。
他也表明以前几乎未用过STM8系列产品,了解了一下该集成ic(如下图)确实可以用一个词来描述,苍蝇再小,五脏俱全。
大家早已掌握到8-PIN STM8到底有什么优点,使我们一起来看看大佬们对他有何脑洞大开:
1.表明温度湿度检验
ST企业公布了一款STM8_SO8_DISCO探寻模块板,在这方面精巧的单片机开发板上配用了三颗SO8N封裝的微控制器:STM8S001J3M3、STM8L001J3M3及其STM8L050J3M3。根据型号规格可以看得出在其中的一颗STM8S001J3M3为STM8通用性系列产品;此外两STM8L001J3M3、STM8L050J3M3为功耗低系列产品。在这里三颗之中最爱STM8L001J3M3、STM8L050J3M3,由于不仅是其功耗低的性能出色也是由于在仅有的8根引脚之中除开关电源外也有6根引脚可作为IO供客户应用,而STM8S001J3M3却有一个引脚被“VCAP”占有而少了一个可供客户应用的引脚。这几种低引脚集成ic虽然体型小但各种各样常见的程序模块却许多,如ADC、UART、TIM、I2C、SPI这些,小身型、高性能。
下边就用这当中的一颗集成icSTM8L001J3M3来制做一款中小型的温、环境湿度检验及显示系统。
一、硬件配置详细介绍
1、 主板芯片:STM8L001J3M3-没啥说的,贤明挑选;
2、温、温度传感器:HTU21D,手里恰好有这颗集成ic就用上;
3、OLED表明:这也是一片96*16、0.69的OLED,容积精巧、表明清楚,仅仅要另加整流电路;
4、其他:这儿主要是包含LDO(XC6206P332MR)、变压(SX1308)、8050、AO3401等;
5、关键一些硬件配置相片:图上最少的四方体是HTU21D,女模特是一只PDIP8的集成ic;
二、电路原理:
因为系统软件总体作用非常简单,相对应的电源电路也是相对比较简单的。从下边的原理图中可以看得出,由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探寻模块板上的这几个集成ic在ST天猫店铺有销售而且价钱也很便宜,仅仅运输费有点儿小贵了,等待店内再提升一些主控芯片(如新一代的STM32G0系列产品)一并弄一些回家。
此外,电源电路中很有可能还存有着一些不正确,还请小伙伴们赐教!
2.太阳光追踪控制器
大家都知道,现阶段太阳能发电系统软件拥有追踪支撑架,追踪太阳方位和方向可以降低挡住,进一步提高发电能力。依据这一基本原理STM8-8-PIN可以用于太阳能发电站极片的控制,提升发电量高效率。选用光控开关 时控紧密结合追踪方式,全天追踪太阳光。
实际计划方案:
推动24VDC电动机
光耦电路选用可控硅替代汽车继电器,无触点开关,进一步提高了机器设备使用期限和稳定性
推动控制模块PWM无级变速,风大维护和大范畴检索时可以迅速追踪运作。
極限部位维护
黑影避开作用:依据太阳方位角和相对高度角全自动测算黑影避开开机时间,使太阳能电池板最大限度追踪太阳光,并不相互之间挡住
夜里校准作用:校准至水准。
阴雨天阈值全自动调节,光线传感器提升人的眼睛传感器,即时检验光照度。
手动式方式
3.多用途智能化玻璃缸
仔细观察集成ic的引脚,尽管有8个pin脚,可是有一个VCAP引脚只有接电容器,因此客户可以用的引脚仅有5pin。
可以运用STM8开发设计一个中小型智能化玻璃缸, ** 水循环系统(充氧)、加温,LED作用标示,作用挑选、温度调整于一体。
因为引脚总数比较有限,只有一脚常用了。
一脚用于电机控制,可与此同时控制离心水泵 打气泵,完成水循环系统 充氧,确保鱼群生存条件;
一脚用于电热丝控制,可用于完成水质加温,可确保温度;
一脚用于温度检验,可应用AD精确测量热电阻数据信息或应用18b20检验温度,用于加温意见反馈控制;
一脚用于作用挑选,应用AD检验单圈电阻器数据信息完成,依据AD值系统分区完成不一样作用组成,如单水循环系统(充氧)、单加温(3级温度系统分区),水循环系统 加温等作用。
一脚用于灯光效果标示,推挽输出,与此同时控制二只不一样色调LED,依据作用组成标示,相近如下所示电源电路:(假如引脚变为键入方式,可完成第三色哦)
4.WIFI连接网络排风扇控制器
如上图所述所显示,此WIFI连接网络排风扇控制器就是我以前是用ARDUINO干了出去的,用在自己的个人工作室里。
由于周边的环境有点差,因此一组离心风机承担送进HEPA过虑后的气体,此外一组在厕所排气管。
WIFI应用ESP8266摸组,与MCU根据串口通信。WIFI摸组根据无线路由器,与工作中房间内的一台WIN10平板电脑联接,WIN10平板电脑上运作的是自身用C#写的TCPserver.
TCPserver根据自身界定的简易通信协议与MCU通信,可以获取当今速率及其使用新的速率。
因此,8只脚的STM8也可以做,必须的外接设备:
一、1路PWM,控制散热器风扇。
二、1个UART,用于与ESP8266通信。
三、2个IO做实体线功能键,就地设定速率。
四、用2个IO控制数码显示管,表明速率。
据我可能,了解STM8以后一个早上便可作出制成品。
5.农牧业灭虫灯控制器
等STM的8-PIN单片机设计确实等了好长时间,这一新项目最初就考虑到过ST的单片机设计,可是那时候沒有,因此也一直在找寻一款靠谱的集成ic。
农牧业用灭虫灯,主要是根据夜里闪灯,哄骗虫子回来,随后根据髙压网击倒。由于虫害主要是主题活动在黄昏后的四五个钟头,一般零晨1,2点后并并不是虫害的主题活动区段,因此就必须一个计时器来控制自动开关机。
电源电路其实不是很难,可是这儿的首要情况便是髙压点火抗干扰性,以前大家有效纯数字电路设计构建计时器,会遇到点火校准状况,使用过多家单片机设计,也会发生该类难题。现阶段用的单片机设计,髙压点火不容易受影响,可是较为难买,且价钱有点儿高。今日见到STM8出8脚的了,立刻回来看一下,期待能弄一块来检测。
注:虫害的主题活动区段有有关科学论证的,刚傍晚的情况下虫类应该是较多的。实际上这一要关掉的另一个缘故也是为了更好地节电,终究如今全是做太阳能发电 电瓶的比较多。
6.手机蓝牙防丢警报器&SPI显示屏/显示屏控制器&红外线控制器(智能遥控器)&气象观测站
8-PINSTM8,什么玩意也有那么小的单片机设计???
8-PINSTM8,说白了引脚仅有8个,再出来开关电源/地,所以说可用的引脚仅有6个了。
大伙儿可别轻视这6个引脚,可以说该有的都是有了,你还是要什么自行车啊。
尽管这种引脚功能齐全,可是又能干什么呢???
实例一:手机蓝牙防丢警报器
当时高校的情况下做的一个设计方案,警报器以手机蓝牙方法连接手机,当手机蓝牙断掉时,无源蜂鸣器警报,手机上可积极开启警报寻找失物,是否有很高端大气?
依据要求需一个无线模块UART插口,一个IO控制无源蜂鸣器,一共3个IO口,要什么8-PIN,
请给我一个5pin的STM8。
实例二:SPI显示屏/显示屏控制器
大伙儿是否发觉一个密秘,这方面STM8引脚中UATR与SPI引脚不是矛盾的。现阶段销售市场上面有许多显示屏/显示屏全是SPI接口,应用UART读写能力数据信息,SPI推动液晶显示屏,你们感觉只有推动显示屏、显示屏了没有?
错!错!错!
我认为可以推动全部SPI外接设备
*
实例三:红外线控制器(智能遥控器)
忽然发觉这方面STM8有一个IRTIM居然是独有的红外线专用型,以前写STM32如果自身配制的计时器,即然有这引脚无需白无需,UART接一个无线通信的控制模块,手机蓝牙/WIFI/GPRS,你也就可以远程控制控制家中的全部红外线控制机器设备了。话说小米有卖这东西,还很贵的。
实例四:气象观测站
据我掌握,现阶段自然环境感应器绝大多数并不是IIC插口,便是模拟量输入,恰好这一STM8不但有IIC,也有ADC,可以说足够了。可以接温度湿度感应器、光照强度感应器、PM2.5、PM10、CO2、CO
SO2等。UART连接一个通信控制模块,有一个商品拿下了
汇总
我只是随意举了好多个实例,大伙儿有哪些胆大念头还可以明确提出来沟通交流沟通交流。实际上这一款STM8作用是挺强劲的,大家只需按照要求,一般应用引脚在6个之内的小运用,我认为这一快STM8都能够担任。此外,也有一点,做为单片机设计编码量或是要控制的。如今充分发挥你们的头脑风暴游戏,看一下还能干什么小玩意。
7.显示屏加个红外信号
做为一个很多年广漂,前2年租房子时房主留有了一条有线数字电视和电视机顶盒。即然有这东西,就用其所长,买一个 ** 装VGA接口,把高校时要的显示屏搬出去当电视机用,实际效果还不错。可是这个方法存有一个难题,电视机顶盒可以根据摇控开关,显示屏没法呀,每一次开电视机都需要走多两步到显示屏那开显示屏,看了又要关,很是不便。因此就想给显示屏加个摇控开关。摇控开关用哪种做呢?8-PINSTM8充足了。
图为STM8S001J3的pin脚遍布,資源或是挺多的,关键通信插口UART,SPI,IIC都是有。
相匹配于摇控开关的运用,可以有二种计划方案:
1.一个IO口联接红外接收管,分析接受的红外,当接到自动开关机数据信号时姿势。
2.一个UART口联接到红外线接受控制模块,根据串口通信的方法分析红外,接到自动开关机数据信号时姿势。
较为不同计划方案,计划方案1高效率高些,成本费更低;计划方案2开发设计省时省力。
此外,还需一个IO口并联到显示器的按键位置,模拟按键按下的效果,之所以并联,是为了保留显示器原有的按键操作。
当然,这个方案也可以用STM8L系列来做,功耗更低,平时,遥控开关模块也应工作在低功耗模式,不然,功耗太高,这和开着显示器待机模式有什么区别。
拓展开去,还可以增加多一个IIC设备,比如RTC,这样可以做到定时开关机,比如OLED,这样可以显示一些文字留言信息等。
麻雀虽小,五脏俱全,少pin脚MCU在通讯接口,开关控制等领域应用还是非常广泛的。
8.无线数据监测终端
一、我想用8引脚的STM8来做什么
我想用8引脚的STM8来做无线接收终端,使用STM8串口接收无线模块的数据,通过I2C显示屏,将接接收到的数据显示在终端上,具体实现的思路:
1、 框图:
2、 实现的功能:
433M无线模块接收数据,通过串口将数据传输到STM8单片机,STM8处理数据后,通过LCD显示屏将数据显示到显示屏上,外部有一个功能按键和运行状态指示灯。终端使用锂电池供电。
3、 STM8系列8引脚单片机资源:
STM8S0018KFLASH/1KRAM/128BEEPROM/工作电压范围:2.95V-5.5V
STM8L0018KFLASH/1.5KRAM/1.5KBEEPROM/工作电压范围:1.8V-3.6V
STM8L0508KFLASH/1KRAM/256BEEPROM/工作电压范围:1.8V-3.6V
使用STM8L低功耗单片机,内部资源8KFLASH,1KRAM的资源可以满足使用要求。
二、我认为现在哪个应用(或产品)使用8引脚的STM8来替换会更好
8引脚STM8系列单片机,我认为在工业产品要求功能不复杂,空间有要求的产品上可以更好的使用,STM8L系列低功耗,使用温度-40to125°C,这个温度快达到汽车级温度。
还有儿童玩具低功耗小体积的产品上使用。STM8片上资源有16位定时器,8位定时器,UART,SPI,I2C,ADC,这些资源,只要在6引脚范围能可以控制的,都可以很好的应用。
9. 智能语音导盲拐杖
首先看一下STM8芯片的片上资源:
内核和系统特性
STM8内核,频率为16 MHz
2.95V到5.5V工作电压
128kHz到16 MHz RC灵活的时钟控制
多达5个I/O
8位和16位定时器(2 个)
存储器
8 KBFlash
1 KBRAM
128字节EEPROM
连接和调试
UART
SPI
I2C
SWIM单线调试模块
模拟外设
3通道10位ADC
需要注意的是虽然是8脚,但只有5个IO可用,而且SPI是单线SPI。
UART和I2C可以同时使用。
SPI和I2C可以同时使用。
UART和SPI不可同时使用。
导盲拐杖系统方案,主要由超声波测距,采用IO触发,语音模块使用SPI+IO实现,另外加蜂鸣器和LED灯光报警提示,基本上可以占用全部IO资源了。
该装置可以把盲人前方道路上遇到的一定范围内的障碍物进行距离探测并且可以将障碍物距离盲人多少米转换成实时语音提示,通过语音提示盲人可以知道前方是否有障碍物,从而进行危险躲避。
10. 锂电BMS前端采样i2c通讯和转485应用
STM8能干啥,STM8可以使用内部晶振,简化外围电路。
使用I2CBMS 均衡ic进行通讯和设置。就可以得到电压,电流,和各种保护状态,然后通过串口转RS485,用于跟上位机的通讯就可以做出性价比非常搞的BMS均衡系统。
11. 主从式6轴FAULHABER电机位置式驱动方案
想要尝尝STM8-SO8-DISCO!!
主要是想做一个6轴的空心杯电机的位置控制方案。
之前已有的方案采用的是一块48-PIN的STM32F411+3片20pin的STM32L011。411的三个普通定时器负责六个轴的H桥PWM给定(12路),每片L011负责两个电机的正交编码器的回采,主从间通信采用SPI通信。但是这样的方案成本略贵,因此正在寻找替代方案。
这次正好看到了一块板子上三个STM8,迫不及待地去翻参考手册。发现可以用以下方案替代:从芯片换为6片STM8。只看了一下STM8S001J3的PIN MAP,发现7,8脚可以用作TIIM2的ENCODER模式,用来捕获一个电机的AB相正交脉冲,利用5号脚响应中断请求+6号脚读串口的方式去获取从机的脉冲数。另外还有一个1号脚,可以用来作为故障标志位,当AB失效,内部产生失效事件时,可以通过此故障标志位告知主芯片(F411)。
哈哈!IO资源榨得干干净净。(l050j3也可以,但l001j3貌似不行..)所以测评的时候我打算试验1拖2进行上述的测试。
另外看了下这块板子,有以下三种不同的芯片:STM8S001J3M3、STM8L001J3M3、STM8L050J3M3。
手册也帮大家找好了:
https:// ** .st.com/resource/en/datasheet/stm8s001j3.pdf
https:// ** .st.com/resource/en/datasheet/stm8l050j3.pdf
https:// ** .st.com/resource/en/datasheet/stm8l001j3.pdf
12. 超声波测距仪
STM8L001J3M3的TIM2和TIM3具备了红外线调制发射功能。
超声波发射频率与红外线发射频率非常接近,我会利用这个调制的38KHZ信号去驱动超声波发射,然后接收回波达到测距功能。剩余4条IO线用来驱动OLED显示屏,显示所测得的距离。
13. 镍氢电池充电器
STM8L050J3是 SOP8 封装的MCU,具备12-bit ADC和三个定时器,可以实现一个低成本的单节(5号/7号)镍氢电池充电器。
12-bitADC用两个输入通道,一个采集电池电压,一个采集电流取样电阻上的电压(换算得出充电电流)。因为镍氢电池的充电除了需要过压保护之外,必须要依靠电压斜率检测来判断电池状态是否充满,及时停止充电。电压监测要MCU参与计算,并需要比较好的电压测量分辨率。12-bit ADC比10-bit的更合适。
充电器电源用最容易获得的5V直流供给,例如USB电源。通过PWM开关降压器变换为较低的电压给电池,开关降压用PMOS管控制,MCU的定时器产生PWM波形,驱动MOS管。将ADC采集的取样电阻电压与预设值比较,根据误差调节PWM占空比,形成一个反馈环路,实现对电池的恒流充电。
MCU 6个I/O口余下的可以用来做LED指示灯。
14. 环境监测仪器/定时开关
STM8L050J3虽然只有 8 个引脚(除去电源相关仅6个),但是还有支持 32kHz 晶振的RTC,带有日历,而且支持数字校准。
因此,在需要长时间准确定时的场合,它可以做一些简单的事情,又长时间保持低功耗。
例如:环境监测仪器,在一天当中的固定时间点采集一个环境传感器的测量值,保存在片上 EEPROM 中(当然256字节只能存少量,需要管理人员过一段时间取走数据;SRAM也可以存一些数据。若需要长期保存,也可以扩展片外的EEPROM, FRAM等)。MCU的GPIO可以控制传感器的电源,在采集完成后就关闭。如果是模拟传感器,则片上12-bit ADC用来转换模拟量。如果是数字传感器,用SPI或者GPIO模拟时序进行访问。
例如:定时开关。相当于不带显示功能的闹钟,只保留RTC运行,到定时时间翻转GPIO,控制其它的设备。
例如:异常记录器。当异常事件发生时,用外部中断唤醒MCU,记录下当前时间。比如可用水银开关检测倾倒,用干簧管+磁铁检测位置变化,用带中断输出功能的加速度计检测跌落……
以上这几种应用都需要保留一两个GPIO,用于初始化、设置和数据读回等维护功能。因除去RTC晶振之后只有4个GPIO,需要精打细算。
15. 其它器件的上电初始化
上电初始化,这个功能看似经常是多余的,用一个MCU大材小用,有点浪费了。不过,如果足够便宜的话……
许多芯片有内部寄存器,或者是通过一些外部引脚来设定工作模式。如果不能够在PCB上接死,需要改变配置的话,需要有一个用户可操作的切换方式。
8脚的 MCU 有6个I/O可以用,而且有SPI/I2C接口,就很适合配置带内部寄存器的芯片。只要板子上没有其它MCU适合来做这个事情,单用一个8脚STM8从成本上是合理的。
上电时,STM8可以先复位目标芯片,然后通过SPI/I2C进行目标芯片的寄存器设置; 若不是寄存器配置,而是外部引脚设定,那么就用GPIO去控制。完成以后STM8进入最省电的模式即可。
修改配置只需要修改STM8的程序,不用改PCB板。如果有多种配置(寄存器设置/引脚状态),可以保存多套,用STM8一个GPIO(按钮形式)进行用户可操作的切换,重新执行目标芯片的初始化。
16. 简易峰值记录器
平常峰值记录通过使用模拟电路搭建。这种方法不仅对使用者要求较高,物料成本也较高。可以使用STM8S001做一个简易的峰值记录器,用于信号频率不高的场合。具体想法见下图所示:
以上是使用STM8S001J3。
不过更推荐使用STM8L050J3,因为其AD为12bit,采样率可达1 Msps,而且带有DMA,方便使用。具体如下:
简单画出ADC前的信号处理电路:
峰值如何检测?现成的程序没有。简单的讲个思路:先通过PB5的状态决定是否开启ADC采集。在PB5引脚被触发后先将峰值变量清零,然后开启ADC和DMA。单片机在等到DMA送来的数据后,判断是否大于现有的峰值变量并决定是否改变峰值变量。在PB5引脚恢复原先的状态后通过UART+DMA将峰值数据发送出去。程序还是比较好写的,关键是内存使用的把握。还有为了省内存和程序运行时间,在寻找峰值时直接用ADC输出的数据而不用转换,在发送数据时决定是否转换为电压值。
这个方案的局限在于AD采集速率和处理速度上,结果肯定是有误差的,被采集波形的频率也要受到限制。但是对于硬件搭建的峰值保持电路,受限于开关管的泄漏电流,电容的损耗角、运放的建立时间等因素,输出也不可能完全准确,而且随时间推移输出必然会下降。最重要温飘会很麻烦。
峰峰值能达到多少?如果超过了怎么分压呢?这个取决于你的输入范围和要求的精度。比如用如下的分压电路:
可以达到输入-10~+10V,输出为0~3.3V(视选取的电阻比例决定)。
使用STM8L050J3的12bit的ADC,ADC参考电压即电源电压为3.3V时,分辨率为(V这一端)0.0049V。
如果V超过-10~+10V,则可以在u端加上下拉二极管限幅。之后加一个跟随器和RC电路连接至单片机的AD即可。
为什么暂未考虑滤波?因为单片机内存太小,做简单的滤波算法很容易RAM不够用。在这个方案上只能不滤波。后期加隔离看情况,如果直接接在同一个板子上的放大电路,加个跟随器和RC电路就可以了。大信号的话分压和保护是要做的。如果外接信号(不同地),隔离肯定是要加的。
17. 自行车(更准确是摩托车)胎压报警模块
对于自行车胎压报警,可以说有很多很成熟的方案。这里在此使用STM8L001J3+MPL3115A2测量自行车胎压与轮胎温度,当测量的结果大于程序预设的报警值,则通过PD0的TIM3_CH2输出的方波驱动蜂鸣器报警。方案图如下:
18.替代按键扫描芯片
这个方案在STC的手册上就有了。可以将这个方案借鉴到STM8上。在STC12C5A60S2的手册P343上按键检测图如下:
将该电路连接至STM8L050的AD口上,就可以在固定时间内扫描电压,从而得知按键情况。通过UART或I2C可以实时的发送按键值。
算法上事先计算好理论值,并规定一个误差范围,将其作为一个表写入单片机的flash中,程序运行时直接AD采集并查表就可以知道按键值了。
19. 在电源上的应用
8-PIN能做什么?在开关电源设计上,有时候就需要用两个MCU分别做原边和副边的相关参数采样,假如我的主控MCU放到副边,肯定会用一个引脚比较多、性能强大的MCU,那么和原边由于有高压隔离的要求,我没法用副边MCU去直接采集电压、电流等相关参数,如果原边再放一个同样的MCU,那么会造成成本增加,现在有8脚的MCU,就可以在原边放一个8-PIN的MCU把采集参数通过通讯发送到副边MCU,彻底解决这个难题,在成本和性能上都能做到平衡。
20. 室内环境监测仪
用来做室内环境监测仪。通过IIC环境传感器(温度湿度等)采集环境数据,再通过IIC接口OLED显示数据,同时还可以通过串口外挂一个GPRS/WIFI模块,实现数据的远程传输。剩下的一个引脚可以用来做运动检测或则按钮,用来控制点亮屏幕,平时关闭屏幕,可以有效的节能。
21. 无线门铃
之前,论坛有个活动ohy老师送了块stm8小开发板,接触了一下,然后最近很闲,临时决定做个小东西,把之前想做那个无线门铃做出来,顺便学习一下STM8的使用,入门几天出现很多问题,我是用寄存器编写的,可能用库的话就没这么曲折了,下面简单写一下遇到的问题,分享一下后来改做的小东西。
你问为啥改做床头小万年历?
DIY过程中发现433 发码 解码 还挺不简单 一头麻,STM8s003最小系统也不小心搞坏了一个,索性就先做个小东西吧,目的只是了解stm8的基本操作。
后来发现论坛【公开课】有STM8 433M 开发无线台灯 真的啥视频都有啊!!很全面 待我学会433 再来装逼。
硬件:(STM8S003F ** 6最小系统 DHT11 LCD1602[IIC] 1838红外 DS1302 )
基本功能:
日期 温湿度 显示。
红外遥控设置修改日期。
1. 创建工程
2. 寄存器编写基础代码+网上找驱动修改使用(DS1302 红外 DHT11 LCD1602[IIC])
自己做的内容就只有蜂鸣器 和 修改外来驱动。调试
3. 功能模块化 然后编写处理逻辑 完事!
第一次使用最头疼的是io功能 ,刚开始不知道就找问题花了半天时间,后来顿悟。
比如 移植DHT11它的时序要求 先写后读,IO就要配置输出的 按时序要求拉高拉低,然后再改输入读取,因为这个驱动我在51上用过的,很完美的驱动。所有问题都排除了之后我就很头疼,翻了手册发现我只配置了输出IO操作也只操作了输出数据寄存器,这才明白没有通用模式,只能输入或者输出。太傻了哈哈!低级错误。
然后还有中断问题(用库开发因为中断向量表都很完善,一般不会出现中断卡死情况,寄存器写的话就要多注意IO外部中断)。
因为每个IO都有中断功能,寄存器操作配置IO容易写错就进入中断,最后程序会卡死,我把定时器 串口通通关闭最后才查到IO外部中断,因为没有使用,直接仿真也能看到卡死在什么位置。
这种情况就是中断问题,没有找到中断入口,可能就是开启了中断,没有正确给出入口函数,系统找不到就卡死了。
还有个特奇怪的问题,我移植之前用得好好的DS1302 读数据驱动 数据老是错的 秒也跳了 就是数据相差太大,看了波形发现数据对的,单片机读取出错,查读取驱动 我搞不懂这咋回事,咋还就慢一拍 。
22. 灯带控制器、充电宝电量显示
1.生活中好多地方会用到灯带,电脑机箱(好多人喜欢的光污染)、家庭装饰、饭馆理发店等门脸装饰,WS2812B灯带用SPI控制,STM8支持SPI,价格便宜,开发方便。
2.STM8支持ADC、IIC、SPI,可通过OLED屏或单纯的几颗LED,显示充电宝电量。
23. 温度采集 OLED显示
STM8作为一款8位的单片机,在之前没有多少了解,总觉得现在的32位产品线如此丰富;STM32什么芯片斗有。但是接触到整体方案设计后,就发现,电路空间、产品成本、性能过剩这些问题都要考虑。不是一颗144脚芯片打天下了,产品必须有差异化,对成本、功耗控制都必须要有规划。
之前没用过STM8,如果可以打算用来做一款温度传感器,在体积、功耗、成本上都进一步控制下,还能带显示,8个脚就够了,将引脚几户都用掉,这很有一番不一样的成就感,强迫症的满足啊。通过利用DS18B20数字温度传感器、I2C接口的OLED屏做个家庭温度计用。
工作上做过并正在销售一款工业无线温度传感器产品,不过用的是STM32方案,就一个采集温度、无线发送的小东西,用了 ** 引脚的芯片,真是罪过。如果可行,打算用STM8试试。
总结:8条腿的MCU也可以很优秀,做东西一样有戏。
24. 小型灯带控制器
8-PINSTM8能干啥?
有很多的小型控制器/功能模块就不需要有很多引脚,有个5、6个引脚其实就已经足够了,比如说什么呢?简单的灯条控制器,对灯条进行调色调亮度,还能进行遥控控制进行模块切换,或者说使用按键或旋钮电阻进行模式/亮度调节,这些都不需要很多引脚就能轻松完成。
来看下8-PIN引脚都有些什么功能引脚,都能完成那些对应的功能:
1、Internal 16 MHz factory-trimmed RC & Internal 38 kHz lowconsumption RC
无需外部晶振直接玩起来
2、UART, S ** rtCard, IrDA, LIN ** ster mode
串口通信、红外遥控接收解码毫无压力,轻松完成遥控接收功能
3、12-bit ADC/10-bit ADC
轻松完成按键或旋钮电阻的检测
4、16-bit timers 可用于PWM生成
完成亮度PWM控制也毫无压力
5、SPI、I2C接口
轻松连接外部传感器接口
8-PIN 小身材但功能多,其实不止是小型灯条控制器的应用,还有如指尖陀螺等,也有用8-PIN单片机做的。在很多模块化的应用,如某一些只需要串口通信和完成简单的引脚开关控制的部件/模块中,已经完成足够,PIN脚再多也是浪费。
25.SPI<===>UART互转工具
借网友的截图,节省论坛资源
看到没,这货SPI和UART互不冲突,天生是SPI<===>UART互转工具的料。
当然,也能用来驱动spi器件,全部变成uart接口的模块。
然后,就是UART接口统一江湖的时候了
26. 多功能电池充电器
8-PINSTM8具有ADC、PWM、定时器、内部EEPROM、GPIO和UART,用来做一个多功能电池充电器不错。
首先,用ADC可以检测电池电压和充电电流,这时需要有两路ADC输入,同时把电池电压、充电电流存储于内部EEPROM。其次,STM8的PWM可以驱动一个PMOS,调整充电电压。
UART可以和PC通讯,把存储在内部EEPROM的电池电压、充电电流送给PC,显示充电曲线。GPIO可以接显示状态的LED,另外设置一个GPIO读取电池种类设置(锂电池或镍氢电池),由此确定充电方式和充电电压。
27. 物联网设备辅助处理器&物联网数据采集节点
看了一下三款STM8,感觉还是挺不错的,拿来做物联网设备的辅助处理器,因为很多物联网设备现在都有低功耗的要求,CPU耗电太严重,在低功耗状态下最好就是关掉CPU,留着一颗MCU供电,当检测到外部触发信号,或者有定时唤醒的需求的时候,可以靠这颗MCU拉起CPU的电源。
这种情况下用这个STM8L050J3就挺不错的,这款MCU明显优势在于
1、 集成了EEPROM,省了一块24C02的空间和成本,用来保存设备唯一识别号什么的,甚至还可以在单片机程序里面加一段加密的算法,这样人家很难破解的
2、 集成了RTC,ST的RTC精度还是可以接受了,这样就省了一个DS1302的空间和成本,用来做定时唤醒
3、 带了UART通信接口,可以跟CPU进行通信,满足软件关机的需求,CPU发一条指令就可以控制这个MCU拉掉CPU的电源
4、 便宜,才2.1 RMB,估计大批量会更低
现在的方案是用STM32F030F4P6这个片子,这个片子还是有点贵,而且不是所有GPIO都有用,像这种应用,除去串口,其实只需要一个GPIO去控制电源就行,这款STM8L050J3正好。
另外,物联网现在是越来越火了,很多相关的产品也已经落地,许多场景下,都要用到数据采集功能,通常都是连接几个传感器,然后通过无线蜂窝网络将数据发送出去,这个时候一颗引脚少的MCU是十分实用的,因为它不需要高性能的运算,功耗也低,往往是电池供电,就是简单的传感器数据采集和传输。
这个8-PIN的mcu开发板做一个物联网边缘数据采集终端的应用,使用太阳能电池供电,通过连接温湿度、CO2、环境光等传感器和GPRS,将环境数据无线传输到物联网云服务平台,实现远程监控功能。需要用到几个IO和串口,8-PIN的MCU恰到好处。
28. 可编程数字控制或智能IO(AI/AO/DI/DO)
8-PINSTM8的特点是pin数很少而片内存储、外设资源丰富,可软件编程、数据存储,因此最适合的应用场景是使用IO较少(1路或2路)、功能单一的数字控制或模拟/数字IO应用。可使用多。
片小尺寸的8-PINSTM8与主处理器构成大规模采集控制系统,所有STM8与主处理器之间通过串行通信进行信息交互,实现功能分散的数字控制或IO应用。
数字控制譬如简单的开关控制,使用片内定时器的时序控制、PWM控制等;智能IO包括使用片内ADC的模拟量输入(AI)、使用片内定时器的PWM输出(经外电路滤波可实现模拟量输出AO)以及数字量输入DI、数字量输出DO等。
使用STM8做智能IO的优势显而易见:由于可软件编程,因此可以实现普通IO电路难以实现的自检、自诊断功能,提高了系统可靠性。可以实现很多高级功能,为主处理器减轻任务开销,这在大规模系统中尤为有用。比如借助STM8片内ADC功能做智能AI不仅可以实现模拟量采集,还可通过软件编程实现普通ADC电路难以实现的灵活多样的数字滤波等数据预处理功能;使用STM8做智能DI时可以利用片内定时器实现消抖抗干扰并捕获外部事件发生的时间信息,做智能DO时可以通过软件编程实现复杂的时序逻辑控制等,这些都是普通功能电路不可比拟的。当然,使用STM8取代普通功能电路增大了系统复杂度,提高了开发难度和成本,设计时是否采用需要统筹考虑。
29. 驱动继电器
简单的应用就是串口与上位机通信控制轨道交通中DCJ, FCJ, SJ继电器,采集D ** , F ** 继电器,8脚够用了,多了也用不到,放着多余。在轨道交通行业会经常用到这样的,之前都是用的PLC或者40脚的单片机,费力不讨好。
30.读卡器
射频读卡器
熟悉STM8的产品,很有意思,其开发方式与STM32有这出奇的相似,所以开发起来也很方便。之前使用STM8S105做了一个发卡器(读写IC/ID卡)模式比较多,这次觉得8个管脚的STM8。
也可以做个发卡器。虽然不能通过拨码开关设置读什么卡,读卡的模式,但是可以做成一个简单的读卡器的功能。用起来也十分的小巧,而且成本也降低了很多。
ID卡的读写卡器
小区的门禁是ID卡,之前看到有网友用 ** R和LGT单片机做ID卡读卡器和模拟器,正好这次ST的stm8活动,看看能不能用STM8也做一个。
从STM8的资源上看,可以有一个UART和PC通讯,一个IIC接外部OLED屏,传输或显示ID ** ;定时器加中断输出125kHz的载波,解码使用外部中断加定时器加LM358、二极管、阻容解决。
卡模拟器采用类似方案,可以把外部OLED屏和解码部分去掉,通过PC写入ID ** (存储在STM8内部的EEPROM里),在加定时器加中断输出125kHz的载波调制输出。
外部IO需求不多,用8-PIN的STM8足够了。
31. 开发Micro:bit扩展板
Micro:bit是专门面对少年儿童学习的开发板,开发板本身搭载的传感器不多,可以使用STM8开发各种扩展板,扩展Micro:bit的功能完成不同应用,如光照、温度、土壤水分、破碎、湿度等传感器,扩展舵机、直流电机、LED点阵显示等驱动板。8脚的STM8MCU很适合做此类简单应用,能有效降低成本,加快开发进度。
32. 音乐灯光
8-PIN的STM8很适合做单一功能的小物件。各种常用接口功能都有。我想到的就是用2个ADC采集音乐左右声道的声音,然后加上RGB灯驱动做个随音乐变化的灯光显示。RGB灯可以用WS2811驱动的数字灯,也可以用74HC595、DM134或者TLC5940串行4线驱动的,6个IO端口足够了。也可以玩很多花样了。
类似这个很早以前做过,以前单片机选型到是没考虑那么多,现在感觉以前做的选型单片机资源太浪费了。现在如果重新做,可以做的更小巧,成本更低。
33. 电子积木终端控制
电子积木就是将导线、灯泡 、二极管、三极管、电阻、电容、各种开关、电表、电机、喇叭、集成块等电子元器件固定在塑料片(块)上,用独特的子母扣做成独立可拼装的配件,在产品配置的安装底板上像拼积木一样拼装电路组合。先看看都有什么外设:
有串口,有IIC,还有SPI,这样丰富的接口,其实做什么功能都是可以的,由于封装很小 ,功能强大,所以,在电子积木中,可以做为从机的控制,通过串口通讯与其他的模块进行数据交换来形成不同的功能。
每一块积木中有一片STM8的芯片,并设置成一种特定的功能,当与其他的积木插在一起时,会形成新的功能,就像是装备的合成一样。
34. 多彩智能家居采集点
8-PIN的STM8能干啥,使用在功能简单单一的场合还是不错的。两三个IO配合上一个I2C或者TIMER,也能完成不少功能了,至少做一个警号,一个闪灯玩具之类的,一点问题没有。如果使用低功耗的STM8,用于智能家居里做为单个的信号采集点,那也是相当不错的。
比如STM8L050,用电池供电,再配上个无线模块,可以做成各种信号采集点,水浸,门窗感应,各类气感,火警,抽屉移动感应等等。再配个中控类的 ** ,内置上个WIFI模块,一个简易版的智能家居就出来了。
STM8虽然只有8-PIN封装,但从另一个角度说明它的集成度高,开发出来的产品IC占用的空间也比较少,在智能家居领域有许多小产品都要求稳定,功耗低,易散热。
1、我们可以用STM8做室内温湿度监控数字表,采用OLED的小屏显示,温湿度传感器通过GPIO接口将采集的模拟量给到我们的STM8主控,再由它的AD转换,将数据通过I2C接口输出给OLED显示屏。
2、我们也可以做一个数字时钟机,采用外部32.768KHz的晶振电路,搭建成一个精准稳定工作的数字时钟机。
3、可以用STM8做一款红外远程遥控器,既能调节控制家里面的热水器设定的温度值,又能控制开关电源的开启与断开。
4、可以用STM8做一个智能光感控制家用台灯,将光敏传感器采集的数据经过STM8处理,而后PWM输出控制台灯光照强度等
综上所述,STM8是有很大的使用价值的,IC封装小,开发起来简洁明了,完全符合功能产品的设计要求,成本较STM32或其它型号的IC有明显的优势,采用STM8开发上述例举的智能家居产品恰到好处。小IC有小IC的用法,使用得当,那也是多姿多彩的。
35. 简易温控器
1、你选择STM8的理由(吸引你的地方)这几年用STM8做了好多个项目了,主要用了STM8L052,STM8S003。用STM8L052做了好几款温控器,这个MCU主要用它的段码LCD驱动宫功能,不用另外加驱动芯片,用起来比较方便。用STM8S003做过数码显示温控器,管道温控器,各种阀门控制。总之做了有10多个小东西了,感觉芯片还是很不错的,用起来也比较方便,也有现成的库。
全新的STM8S001,STM8L001,STM8L050 采用小型工业标准的 SO8 封装,这几款的封装比较小,8个管脚的MCU还是比较少的,有一定的市场。做些小东西比较方便。
2、STM8L001 / STM8S001 / STM8L050 这三款芯片各自的特性、优势以及适用场景
这三款最吸引人的还是封装管教比较少。L系列对应低功耗,可以做电池供电的场合,基本的复合功能都有,可以实现很多小项目。
3、STM8创意测试(方向不限)
可以用来做些传感器的检测显示,8个管教足够了。也可以做简单的温控器,一路温度采集,一个按键,一个输出,再可以加点显示。
a.传感器检测,手上有各种传感器有模拟量输入的,有IIC总线的,有SPI总线的,可以用STM8来检测处理各种传感器,然后通过串口发送到PC机处理,或者UART转无线发送到控制板处理等,也可以直接显示处理。我手上各种外设都比较齐全,玩起来比较方便。
b.做个温控器,一路温度采集,一个按键,一个输出,再可以加点显示。这样就搞成一个温控器了,虽然简单,但可以实际使用,放在家里控制个加热器什么的妥妥的。
36. 温度、湿度计
8脚的STM8单片机体积小,功能全,价格便宜,可以做成温度计主控,既能测量温度,又能驱动oled或者断码屏显示温度。
读取传感器数据并通过LCD显示;可以实时显示外界温湿度值。
(1)STM8L001配备多达6个用户I/O引脚,内置ADC;可外接数字或者模拟温湿度传感器,可采用IIC接口LCD屏;
(2)STM8工作电压1.8V至3.6V,可采用电池供电;
(3)单片机停止模式工作电流可降至300nA,最大限度地延长电池供电设备的使用寿命。
37.电池供电的无线设备
STM8L001这芯片好,低功耗+低引脚+FLASH+RAM+EEPROM,当然适合电池供电的场合的设备。
1, 设计成无线门铃也是不错的。
STM8L001+433模块+喇叭驱动+喇叭之类的。就构成了无线门铃。
2, 家用无线报警设备(智能家居网络里)
无线报警设备包括窗门报警(这个可以电池供电也可以不是电池供电)。
无线通讯,电池供典型的煤气泄漏报警。(电池供电)。
无线通讯的环境空气质量检测设备。
无线通讯的输入检测设备,可以用STM8L050(带ADC 可检测模拟电平高低)。
无线通讯的输出设备(继电器输出驱动外部设备)
3, 灯光控制
可调LED台灯,无线可调LED壁灯,吊顶等等。
从上面的一个个鲜活又颇赋创意的例子下,原来STM8无处不在,当然,也正印证了8-PIN的STM8究竟有多重要。