当前位置: 首页 > news >正文

基于stm32的电机控制系统仿真设计 实现功能: 1、判断光照强度与设定值的大小 2、当此时光...

基于stm32的电机控制系统仿真设计 实现功能: 1、判断光照强度与设定值的大小 2、当此时光照强度小于设定值时,电机顺时针旋转(打开窗帘) 3、当此时光照强度大于设定值时,电机逆时针旋转(关闭窗帘) 包含仿真+源码 仿真软件:Proteus8.9 编程软件:Keil5 编程语言:C语言(标准库) 工程路径:基于STM32窗帘控制系统\\\\STM32程序\\\\Project\\\\LWl-F103.uvprojx

清晨六点半,实验室的咖啡机还在休眠,我盯着Proteus里抖动的光照曲线,突然意识到这个窗帘控制系统最骚的操作不是代码本身——而是怎么让倔强的L298N电机驱动模块和STM32的PWM信号和平共处。

选型清单里藏着魔鬼细节:STM32F103C8T6核心板(江湖人称蓝 pill),光敏电阻要选GL5528(实测线性度比5516强三档),重点在L298N的驱动逻辑。Proteus里直接拽出MOTOR模型,接上H桥瞬间,突然想起上个月烧过两个驱动芯片的血泪史。

硬件框图在草稿纸上潦草画完,转头打开Keil5新建工程。先搞ADC读取光照值,代码里藏着个骚操作:

// 光敏电阻ADC采集 uint16_t Get_Light(void) { ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)); // 死等转换完成 return ADC_GetConversionValue(ADC1); }

这写法其实在真实项目里会被锤——阻塞式采集在电机转动时可能卡住系统。但仿真环境下随便造,毕竟Proteus里的ADC不会像现实世界那样给你摆脸色。

电机控制才是重头戏,PWM波形的占空比设置藏着玄机:

// 电机转向控制 void Motor_Ctrl(int direction) { if(direction == OPEN) { TIM_SetCompare1(TIM2, 700); // 通道1输出PWM TIM_SetCompare2(TIM2, 0); // 通道2低电平 } else { TIM_SetCompare1(TIM2, 0); TIM_SetCompare2(TIM2, 700); // 反向电压 } }

TIM2的两个通道接到L298N的输入端,这里700的魔数不是拍脑袋来的——实测占空比70%能让仿真电机匀速转动,又不至于让Proteus里的电流显示爆红。

基于stm32的电机控制系统仿真设计 实现功能: 1、判断光照强度与设定值的大小 2、当此时光照强度小于设定值时,电机顺时针旋转(打开窗帘) 3、当此时光照强度大于设定值时,电机逆时针旋转(关闭窗帘) 包含仿真+源码 仿真软件:Proteus8.9 编程软件:Keil5 编程语言:C语言(标准库) 工程路径:基于STM32窗帘控制系统\\\\STM32程序\\\\Project\\\\LWl-F103.uvprojx

主逻辑看似简单却暗藏杀机:

while(1) { current_light = Get_Light(); if(abs(current_light - set_value) > HYSTERESIS) { // 滞回比较防抖 if(current_light < set_value) { Motor_Ctrl(OPEN); printf("窗帘正在打开...光照值%d\r\n", current_light); // 串口装逼必备 } else { Motor_Ctrl(CLOSE); printf("老子要关窗帘了!当前光照%d\r\n", current_light); } } Delay_Ms(500); // 别太频繁,电机遭不住 }

那个HYSTERESIS滞回区间是关键,没这玩意光照值在阈值边缘时电机能给你表演霹雳舞。仿真时故意把光照值调到设定值附近,看电机是否抽风——这是检验系统可靠性的土法子。

Proteus里运行起来后,突然发现电机有时反向转动延迟。一查原理图,原来L298N的使能端没接高电平,仿真模型和真实器件在这点上居然表现一致。赶紧补上EN脚接VCC的操作,电机立刻乖巧如初。

源码包里藏着个secret_menu.c文件,里面是手动校准光照值的彩蛋功能——长按开发板上的蓝色按键五秒,进入阈值设置模式。这玩意在答辩演示时能救命,毕竟评委老师就爱看这种花里胡哨的交互。

工程编译通过那瞬间,实验室的窗帘恰好被晨风吹开,真实阳光照在仿真运行的电脑屏幕上——这该死的赛博浪漫。

http://www.jsqmd.com/news/349002/

相关文章:

  • 基于深度学习的糖尿病视网膜病变诊断系统[python]-计算机毕业设计源码+LW文档
  • 化妆培训学校推荐哪家,吉田美学在各地区口碑怎样 - mypinpai
  • ‌对抗鲁棒性测试:3D点云攻击在自动驾驶感知系统的防御工具‌
  • 嵌入式C++教程——enum class
  • HoRain云--通过Xshell连接linux——安装Redis
  • 日照考研自习室价格多少,有哪些品牌值得推荐? - 工业设备
  • 加密摘要算法MD5、SHA、HMAC:学习笔记
  • 【Matlab】MATLAB if-elseif-else语句详解:多条件分支与复杂条件判断应用
  • 2026年最新SVG互动设计案例丨5个免费公众号排版工具推荐与实操指南 - peipei33
  • 技术速递|GitHub Copilot CLI 斜杠命令速查表
  • 期刊 On Hold 什么意思?
  • 跨平台学习新时代!随时随地培训考试的系统源码
  • HoRain--通过Xshell连接linux——安装jdk
  • 源码全开源无加密:自主可控的企业培训考试平台源码
  • Prolactin抗体在内分泌疾病诊断中有何关键作用?
  • 全国接地模块降阻剂优质厂家有哪些?优先选哪些维度筛选? - 非研科技
  • ADDI-DATA多功能板卡APCI-3120
  • 基于微信小程序的自习室座位预约系统【源码+文档+调试】
  • 2026 CRM 系统排行榜:八大主流品牌核心能力深度对比 - 毛毛鱼的夏天
  • 精选七大耐用的橱柜拉篮品牌,打造井井有条的现代厨房
  • Cas9抗体在基因编辑研究中发挥何种质量控制作用?
  • Spark核心数据(RDD、DataFrame 和 Dataset) - 教程
  • 基于鲸鱼优化的LSTM深度学习网络模型(WOA-LSTM)的一维时间序列预测算法matlab仿真
  • 2026年知名的臭氧负离子发生器/杀菌消毒负离子发生器优质供应商推荐(信赖) - 行业平台推荐
  • 2026十三款工具横评:从CRM到一体化云企业管理系统选型指南 - 毛毛鱼的夏天
  • 百考通AI:智能文献综述神器,让学术研究事半功倍!
  • postgresql日常维护和检查一-处理表、索引膨胀
  • 聚氨酯筛板加工厂哪家品牌好用,江苏地区高性价比选择有哪些 - 工业品牌热点
  • 2026销售管理系统盘点:10款全链路CRM+供应链系统横向对比 - 毛毛鱼的夏天
  • 百考通AI:开题报告智能生成专家,让学术起点不再迷茫!