使用STM8的可编程警用LED闪光灯

stm8s001j3 是一款 8 位微控制器,提供 8 kb 闪存程序存储器以及集成的真实数据 eeprom。它被称为 stm8s 微控制器系列中的低密度器件。该 mcu 采用小型 so8n 封装。在本文中,我们将构建一个可用于车辆、摩托车和自行车的可编程警用 led 闪光灯设备。
电路分析
图 1 显示了该装置的示意图。该电路的核心是一个 stm8s001 微控制器。
图1:可编程警用led闪光灯示意图
让我们从电源单元开始分析。c2 和 c3 用于降低输入电压噪声。然后将电压处理到 78m09 [1] (reg1) 稳压器。它用于将电压稳定在 9 v。c4 和 c6 用于降低稳压器的输出噪声。
reg1 的输出被处理到一阶 rc 滤波器(r28 和 c5)。它有助于进一步降低噪音,因为该设备可能会在车辆等嘈杂的环境中持续使用。检查此过滤器(或其他过滤器类型)行为的最佳方法是执行实际测量。sds1104x-e 示波器引入了一个很好的波特图功能,可以执行这种有用的计算。
reg2 [2] 用于将 9 v 转换为 5 v 为 stm8s001 mcu [3] (ic1) 供电。c7是ic1的辅助滤波电容。
ic1 mcu 使用单条 swim 线进行编程。它代表单线接口模块。它是 mcu 和编程器/调试器之间的高速链接。该引脚必须连接到编程器/调试器的 swim 引脚。接地引脚也必须连接。这样就完成了连接(p2)。
ic2 和 ic3 是逻辑 n 通道 smd mosfet [4],用于打开/关闭 led。两个 mosfet 的栅极引脚已使用 4.7k 电阻器拉低以避免不必要的触发(r13、r14)。sw1 是一个触觉按钮,用于在闪光灯程序之间切换。r27 是一个上拉电阻,c8 降低了可能的按钮去抖噪声。
r1 至 r26 电阻器用于限制 led 的电流。在每个部分中,我将三个串联的 led 连接到 +9-v 电源轨(图 2)。led 的特性因制造商而异。因此,我们不能为所有情况分配一个固定的限流串联电阻。5mm led 的最大容许电流约为 25 ma。因此,可以将电流限制在大约 15 ma(略高于一半)的电阻值看起来就足够了,不会影响 led 的寿命,也不会显着降低 led 亮度。
您可以从 100 ω电阻器开始并增加它并同时监控电流。就我而言,我使用 180 ω电阻读取 15 ma。
图 2:寻找串联 led 的最佳电阻值
pcb布局
图 3 显示了闪光灯的 pcb 布局(最新版本)。它是单层pcb板。除 led 外,所有组件均为 smd 并焊接在铜面上。
在这个原理图和 pcb 的设计过程中,我使用了几个来自 samacsys 的预制库。ic1 [5]、ic2 [6]、ic3 [7]、reg1 [8] 和 reg2 [9] 使用 samacsys 库及其 altium designer 插件 [10] 安装(图 4)。它节省了我很多设计时间。当我从头开始设计库时,我总是会犯错误,这会毁了我的一天和 pcb 原型。这些库是免费的,更重要的是,它们遵循 ipc 足迹标准。
图 3:警用闪光灯电路的 pcb 布局(最新版本)
图 4:samacsys altium 插件中的选定组件
图 5 和图 6 显示了 pcb 板最终版本的 3d 视图。
图 5:pcb 板顶部的 3d 视图(最新版本)
图 6:pcb 板底部的 3d 视图(最新版本)
图 7 显示了第一个经过测试的 pcb 原型的图像。我在 pcbway 上订购了它,我以相同的价格得到了五块板。如您所见,构建质量很好。
在上一个版本中,我修改了一些组件封装(除 led 外都是 smd)并将电源线移到底部。您将直接在 pcb 板上焊接 12 v 电源线。
图 7:闪光板的第一个原型
软件
stm8 mcu 是不错的芯片,但 stm8cubemx 仍然不完全支持它们。这意味着该软件还没有为stm8s生成代码。但是,您可以使用 st visual develop (stvp) 作为编译器和为 stm8s (stsw) 预先编写的库。图 8 显示了 stvp ide。您还需要安装 cosmic stm8 以供 stvp 用作编译器。
图 8:st visual develop ide
我使用 gpio 和外部中断库编写了三个闪烁程序。该软件是免费提供的。您也可以扩展代码并添加自己的程序。有关更多信息,请查看 youtube 视频。
组装和测试
图 9 显示了物料清单。焊接没什么特别的。最小的部件是 0805 无源元件,您可以使用 0.4 毫米焊锡丝和普通烙铁轻松焊接。
图 9:物料清单
注意 led 的正极性和负极性。尝试从同一制造商购买所有蓝色和红色 led;否则,您可能无法为所有 led 获得平滑且相同的灯光。
板上有一些跳线。不要忘记使用几个 0- ω电阻器和类似电阻器进行正确连接。
连接您的 stm 编程器(支持 swim)并从“release”文件夹中选择合适的文件并对芯片进行编程。按下按钮,闪烁程序改变。您可以添加自己的闪烁例程并对芯片进行编程。


智能魔镜显示屏为什么能够拥有如此大的市场
基于DSP的256PPM调制系统的设计
斯坦德机器人63台AMR助力光伏企业实现物料全自动搬运
The Freestyle三星随享智能投影仪的详细介绍
Raychem瑞侃170233-1插座触点
使用STM8的可编程警用LED闪光灯
华为5G手机市场被后来者加速追赶,怎么保持领先优势呢
用于激素传感的多功能生物电子接口平台可分析糖尿病患者健康状况
Ansys Innovation大会海量精彩内容和资料等你来回看
美国运营商建议关闭5G接入来省电?
天玑9000+迎来小米12 Pro天玑版首发,天玑旗舰YES
最优分组索引的RFID安全协议是什么样子
浅谈运放电路的输入偏置电流Ib和输入失调电流Ios
酒店人脸识别系统介绍
MacOS小贴士:通过电脑清理优化你的 DAW
从华为的事件来探讨电子行业的现状
GPS时钟发生器技术方案
融云媒体服务中心详解
春节红包大战支付宝输给微信QQ
河北联通携手华为在多地市完成广角MetaAAU规模部署数字化助力乡村振兴