记录一下学习经历尝试做了第一个小玩意——计时报警器。一、主要功能可充电便携式。能够显示设定好的时长并进行倒计时。计时结束时蜂鸣器进行报警提示。二、器件选型按照之前写的流程该进行器件的选型了。除了主要功能需求中提到的东西还有一些隐含的需求我们要考虑到。例如如电源、开关等方面。在器件选型的时候一定要仔细阅读数据手册datasheet!我们需要了解每个器件的基本电器属性了解它们在使用时的工作环境与注意事项。显示器使用的是常见的四位段码扫描显示器共阴极里面是LED数码管。主控芯片使用STM8S003F3芯片作为主控芯片。按键/旋钮计划设定三个按键分别对应分、秒、功能键。前两个用于设定倒计时时长功能键用于开始/停止/归零。旋钮用于时间跨度较大的场景方便调节大范围的时间计时。报警模块使用蜂鸣器作为报警发声器。电源模块产品是可充电的所以需要基于一个充电芯片设计充电电路。开关为了安全与省电设计一个总的电源开关。 还需要一个USB接口。三、注意事项这些都是刚开始想到需要用上的器件随着我们翻阅datasheet我们会发现有很多必须注意的问题1、MCU工作的电压为2.95-5.5V为保证其稳定工作且减少功耗使用3.3V为其供电。供电的电池电压为5V所以需要一个LDO低压差线性稳压器将5V转成3.3V。STM8 作为微控制器对电源噪声非常敏感为保证其稳定工作需要在其引脚处放置电容滤波。2、STM8IO总输出电流约为80mA而显示器的LED一根灯管的工作电流约为25mA若要同时点亮数字8和DP需要的电流将达到约25*8200mA远远大于MCU能输出的。所以需要使用三极管来放大电流同时添加电阻使LED灯的亮度达到一个合适的状态。这样看来就组成了一个用于点亮每个数字的位驱动电路。3、蜂鸣器分为有源蜂鸣器与无源蜂鸣器。有源蜂鸣器的发声是固定频率的无源蜂鸣器的发声可以使用芯片控制。为了达到想要的效果使用无源蜂鸣器。同样使用三极管使其能够稳定工作。无源蜂鸣器属于感性负载三极管截止瞬间会产生高压反向电动势。为防止其搭配的三极管被击穿需要两端接续流二极管保护三极管。同时为了抑制感性负载的电磁干扰和电压尖峰使蜂鸣器稳定工作还需要在其两端接上一个电容。4、考虑到该计时器可以充电为了安全与用户方便设计一个充电电路使得在充电时停止倒计时功能同时显示器显示充电中并且显示目前电源电量。这就需要一个有电源电压检测功能的模块将其电源电压信号传递给芯片用于显示。5、接口板子是需要调试的不要忘了给自己留烧录程序和调试的排针接口。电源锂电池的接口也不要忘了。其实在上面选型的时候我们就已经开始构思功能初步思考原理图了。而在绘制原理图时又有可能根据需要来调整选用的器件。在这放张原理图可能有误仅供参考。用嘉立创画的四、原理设计1、MCUSTM8S003F3 是意法半导体ST推出的经济型8位STM8内核微控制器具备高性价比、低功耗、资源适配小型项目的特点。它含有16个通用IO口GPIO可配置为推挽输出模式直接驱动数码管和蜂鸣器。内置定时器和16MHz高速内部 RC振荡器HSI可以满足精度计时需求无需外接晶振。支持SWIM单线调试仅需一根线和GND即可下载程序、在线调试。嘉立创EDA画板时预留 SWIM 接口方便程序烧录。2、显示器介绍一下四位段码扫描显示器的原理及如何与STM8连接四位段码扫描显示的核心是时分复用人眼视觉暂留效应通过分时轮流点亮四位数码管实现 “同时亮” 的视觉效果相比静态显示可大幅节省MCU的IO口资源是硬件项目中最常用的多位段码显示方案。结构四位段码显示的硬件载体是四位一体共阴/共阳数码管其内部结构·段脚并联4个独立的数码管每位对应1个数字的a-g和小数点dp共8个段脚全部内部并联在一起引出8个公共段引脚。·位脚独立4个数码管的公共端共阴的阴极/共阳的阳极各自独立引出4个公共位引脚。核心原理时分复用同一时间只点亮1位数码管MCU依次对4个位进行 “位选通段码输出延时” 的操作循环往复。第1个时间片选通第1位 → 输出第1位的段码 → 保持极短时间 → 关闭第1位。第2个时间片选通第2位 → 输出第2位的段码 → 保持极短时间 → 关闭第2位以此类推4个位循环一遍后再重复整个流程。视觉暂留人眼的视觉暂留时间约为 20ms即画面消失后视觉印象会保留 20ms。若4位数码管的循环扫描频率 ≥ 50Hz即扫描周期 ≤ 20ms则人眼无法区分 “分时点亮” 的过程会认为 4 位数码管同时稳定点亮。实际项目中每位的点亮时间一般取 1~5ms4 位循环一次的总时间为 4~20ms既能避免闪烁又不会过度占用 MCU 资源。硬件连接以 STM8 驱动四位共阴数码管为例典型的IO口分配如下段脚驱动8个段脚a-g、dp连接到 STM8的一个 8 位IO端口配置为推挽输出模式。位脚驱动4个位脚位1~ 位4连接到 STM8的另一个 4 位IO端口配置为推挽输出模式。上拉 / 下拉补充如果 IO口驱动能力不足可在段脚或位脚串联100~1kΩ的限流电阻防止电流过大烧毁数码管。3、蜂鸣器前面提到了选取无源蜂鸣器以及需要相应的器件以供其正常工作。4、位驱动电路依旧是前面提到的需要三极管放大MCU输出的电流保证显示器正常工作。5、按键与旋钮不同按键接通后对应着不同的电阻接入使得产生不同的信号输入MCU使其设定倒计时时长。此外接一个三极管到USB充电方向当计时器充电时电平拉低使得按键电路接地停止计时器的使用。在画完原理图之后有个“检查DRC”的功能可以检查你的原理图是否出现连接错误或者是器件未命名网络未命名等情况有点像编程时编译器给bug报出来。我们可以通过这个进一步检查自己的原理图有没有画错方便下一步操作。简易计时报警器的上篇就到原理图这了接下来就要导入原理图到PCB进行画板。PCB有许多像布局排线这样要注意的细节下篇再记录。
简易计时报警器(上)
记录一下学习经历尝试做了第一个小玩意——计时报警器。一、主要功能可充电便携式。能够显示设定好的时长并进行倒计时。计时结束时蜂鸣器进行报警提示。二、器件选型按照之前写的流程该进行器件的选型了。除了主要功能需求中提到的东西还有一些隐含的需求我们要考虑到。例如如电源、开关等方面。在器件选型的时候一定要仔细阅读数据手册datasheet!我们需要了解每个器件的基本电器属性了解它们在使用时的工作环境与注意事项。显示器使用的是常见的四位段码扫描显示器共阴极里面是LED数码管。主控芯片使用STM8S003F3芯片作为主控芯片。按键/旋钮计划设定三个按键分别对应分、秒、功能键。前两个用于设定倒计时时长功能键用于开始/停止/归零。旋钮用于时间跨度较大的场景方便调节大范围的时间计时。报警模块使用蜂鸣器作为报警发声器。电源模块产品是可充电的所以需要基于一个充电芯片设计充电电路。开关为了安全与省电设计一个总的电源开关。 还需要一个USB接口。三、注意事项这些都是刚开始想到需要用上的器件随着我们翻阅datasheet我们会发现有很多必须注意的问题1、MCU工作的电压为2.95-5.5V为保证其稳定工作且减少功耗使用3.3V为其供电。供电的电池电压为5V所以需要一个LDO低压差线性稳压器将5V转成3.3V。STM8 作为微控制器对电源噪声非常敏感为保证其稳定工作需要在其引脚处放置电容滤波。2、STM8IO总输出电流约为80mA而显示器的LED一根灯管的工作电流约为25mA若要同时点亮数字8和DP需要的电流将达到约25*8200mA远远大于MCU能输出的。所以需要使用三极管来放大电流同时添加电阻使LED灯的亮度达到一个合适的状态。这样看来就组成了一个用于点亮每个数字的位驱动电路。3、蜂鸣器分为有源蜂鸣器与无源蜂鸣器。有源蜂鸣器的发声是固定频率的无源蜂鸣器的发声可以使用芯片控制。为了达到想要的效果使用无源蜂鸣器。同样使用三极管使其能够稳定工作。无源蜂鸣器属于感性负载三极管截止瞬间会产生高压反向电动势。为防止其搭配的三极管被击穿需要两端接续流二极管保护三极管。同时为了抑制感性负载的电磁干扰和电压尖峰使蜂鸣器稳定工作还需要在其两端接上一个电容。4、考虑到该计时器可以充电为了安全与用户方便设计一个充电电路使得在充电时停止倒计时功能同时显示器显示充电中并且显示目前电源电量。这就需要一个有电源电压检测功能的模块将其电源电压信号传递给芯片用于显示。5、接口板子是需要调试的不要忘了给自己留烧录程序和调试的排针接口。电源锂电池的接口也不要忘了。其实在上面选型的时候我们就已经开始构思功能初步思考原理图了。而在绘制原理图时又有可能根据需要来调整选用的器件。在这放张原理图可能有误仅供参考。用嘉立创画的四、原理设计1、MCUSTM8S003F3 是意法半导体ST推出的经济型8位STM8内核微控制器具备高性价比、低功耗、资源适配小型项目的特点。它含有16个通用IO口GPIO可配置为推挽输出模式直接驱动数码管和蜂鸣器。内置定时器和16MHz高速内部 RC振荡器HSI可以满足精度计时需求无需外接晶振。支持SWIM单线调试仅需一根线和GND即可下载程序、在线调试。嘉立创EDA画板时预留 SWIM 接口方便程序烧录。2、显示器介绍一下四位段码扫描显示器的原理及如何与STM8连接四位段码扫描显示的核心是时分复用人眼视觉暂留效应通过分时轮流点亮四位数码管实现 “同时亮” 的视觉效果相比静态显示可大幅节省MCU的IO口资源是硬件项目中最常用的多位段码显示方案。结构四位段码显示的硬件载体是四位一体共阴/共阳数码管其内部结构·段脚并联4个独立的数码管每位对应1个数字的a-g和小数点dp共8个段脚全部内部并联在一起引出8个公共段引脚。·位脚独立4个数码管的公共端共阴的阴极/共阳的阳极各自独立引出4个公共位引脚。核心原理时分复用同一时间只点亮1位数码管MCU依次对4个位进行 “位选通段码输出延时” 的操作循环往复。第1个时间片选通第1位 → 输出第1位的段码 → 保持极短时间 → 关闭第1位。第2个时间片选通第2位 → 输出第2位的段码 → 保持极短时间 → 关闭第2位以此类推4个位循环一遍后再重复整个流程。视觉暂留人眼的视觉暂留时间约为 20ms即画面消失后视觉印象会保留 20ms。若4位数码管的循环扫描频率 ≥ 50Hz即扫描周期 ≤ 20ms则人眼无法区分 “分时点亮” 的过程会认为 4 位数码管同时稳定点亮。实际项目中每位的点亮时间一般取 1~5ms4 位循环一次的总时间为 4~20ms既能避免闪烁又不会过度占用 MCU 资源。硬件连接以 STM8 驱动四位共阴数码管为例典型的IO口分配如下段脚驱动8个段脚a-g、dp连接到 STM8的一个 8 位IO端口配置为推挽输出模式。位脚驱动4个位脚位1~ 位4连接到 STM8的另一个 4 位IO端口配置为推挽输出模式。上拉 / 下拉补充如果 IO口驱动能力不足可在段脚或位脚串联100~1kΩ的限流电阻防止电流过大烧毁数码管。3、蜂鸣器前面提到了选取无源蜂鸣器以及需要相应的器件以供其正常工作。4、位驱动电路依旧是前面提到的需要三极管放大MCU输出的电流保证显示器正常工作。5、按键与旋钮不同按键接通后对应着不同的电阻接入使得产生不同的信号输入MCU使其设定倒计时时长。此外接一个三极管到USB充电方向当计时器充电时电平拉低使得按键电路接地停止计时器的使用。在画完原理图之后有个“检查DRC”的功能可以检查你的原理图是否出现连接错误或者是器件未命名网络未命名等情况有点像编程时编译器给bug报出来。我们可以通过这个进一步检查自己的原理图有没有画错方便下一步操作。简易计时报警器的上篇就到原理图这了接下来就要导入原理图到PCB进行画板。PCB有许多像布局排线这样要注意的细节下篇再记录。