STM32G431控制窗帘电机-软件架构

前言

	最近做了一个电动窗帘的控制工程。简单点说就是实现电动窗帘的校准模式,窗帘移动到任意位置。

说明:

	本文档为原创,转载请注明出处,要进行商业合作请联系本人1151313194@qq.com。

软件架构

软件架构如图:
在这里插入图片描述
软件编程思想参考硬件框图,由以下软件模块构成:

2.1 驱动模块

程序:DC_Motor_driver.c
功能:电机正反转,调速
<1> 4路MOS桥电路
<2> 1路MOS+1路单刀双置开关

2.2 Sensor单元:

程序:DC_Motor_hall.c
功能:电机测速、正反转判断、距离测量

2.3 安全监测

程序:DC_Motor_Security.c
功能:电流监测(目前未完成)、堵转监测

2.4 正反转堵转监测库

程序:DC_Motor_stall_lib.c
功能:正转卡死检测,反转卡死检测,任意位置卡死检测。

2.5窗帘

程序:Curtain.c
功能:窗帘工作模式的 具体实现,所有窗帘都具有的功能。实现窗帘校对功能,窗帘开关,指定长度开(0-100)

2.6杜亚窗帘

程序:Curtain_duya.c
功能:杜亚窗帘的功能接口

2.7用户指令接口

程序:bsp_usart.c
功能:解析串口指令,执行窗帘动作。

MCU软件资源需求
While主循环流程
HALL中断
MCU软件资源需求:
<1 >外部中断的边沿触发(HALL信号)要能被快速执行,原因是HALL做位置检测,要保证实时性。
<2> 大while循环里面的窗帘任务循环在待机模式下可以1s执行一次,但是在窗帘动作的时候,由于要做位置检测,要保证至少10ms执行一次。

目前该demo基于STM32G431,是基于STM32CubeMX软件生成的标准工程,占用的ram大概1.7K,flask 24.3K,实际窗帘电机的资源小于该数值。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小男孩和胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值