找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

萌新求教和师兄想做风压自动窗帘系统,单片机接了传感器后,电机一直转,停不下来

查看数: 2712 | 评论数: 10 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-8-25 10:58

正文摘要:

大一,和师兄做了一个风压自动控制系统,当风压达到一定程度,电机自转,带动窗帘的关闭,但是程序不管怎么改,电机一直转,根本停不下来,没风的时候本来该停下来,但是还是在转,大佬们,救救孩子们吧! 单片机 ...

回复

ID:582903 发表于 2020-9-16 15:28
风压的量应该成为电机是否运转的条件
ID:230118 发表于 2020-8-26 18:26
编码的风格还可以,逻辑有些混乱,问题较明显,是不是没仔细检查自己代码
1  //    disp[0]=smgduan[temp/1000];//千位
    disp[0]=1;//千位
    disp[1]=smgduan[temp%1000/100];//百位
    disp[2]=smgduan[temp%1000%100/10];//个位
    disp[3]=smgduan[temp%1000%100%10];  
这个下标需要这样计算吗
temp%1000%100  和 temp%100 的结果相等
2 main函数中开始的run()是多余的
3 datapros()函数中disp[0]=1;//千位 每次都把disp[0]赋值为1了,后面的if(disp[0]>=3)有可能为真吗,编译时候难道没有警告说有不可能进入的分支?
4 text、text1做什么用的你知道吗,应该是用来保存上一次切换的时候的AD值,只有在状态有变化时候才操作风扇开关,而你根本没用到
5 电机开关是一个开关量,不理解为什么要循环操作100次,只要你的电路设计没问题,不要怀疑IO操作会失效。

综上,推测你这是参考别人程序改的,但没真正看懂别人程序,所以改的乱七八糟
ID:517429 发表于 2020-8-26 16:57
932585241 发表于 2020-8-26 15:39
大佬,我请教一下,我不知道用什么样的C语言结构,比如当输入信号为3-4v时,我们想让电机run,信号1-2fru ...

这跟结构没什么关系,我只是说你写的程序有些地方不是很合理,至于输入信号为3到4V时电机转动,这就用到AD转换了,因为单片机只能识别数字量,还有给你一个忠告,尽量别用delay,多用定时器。
ID:805016 发表于 2020-8-26 15:39
666的付同学 发表于 2020-8-26 13:26
你这程序我瞄了一下,写的很不规范啊,疯狂调用死循环延时,数码管显示处理的也很不好,白白占用了许多ROM ...

大佬,我请教一下,我不知道用什么样的C语言结构,比如当输入信号为3-4v时,我们想让电机run,信号1-2frun时,但只转一次,除非信号范围变换,电机不转,什么样的结构可以达成这个效果
ID:805016 发表于 2020-8-26 15:35
666的付同学 发表于 2020-8-26 13:26
你这程序我瞄了一下,写的很不规范啊,疯狂调用死循环延时,数码管显示处理的也很不好,白白占用了许多ROM ...

新手,刚开始学习
ID:517429 发表于 2020-8-26 13:26
本帖最后由 666的付同学 于 2020-8-26 16:01 编辑

你这程序我瞄了一下,写的很不规范啊,疯狂调用死循环延时,数码管显示处理的也很不好,白白占用了许多ROM,更关键的是if语句都有问题,这里需要的是逻辑等==,而不是=,所以你主函数里的if语句出了问题。
ID:805016 发表于 2020-8-26 10:59
xianfajushi 发表于 2020-8-25 12:48
主函数内不受限制地运行run();当然电机一直转动

如果我去掉的话,也是这样,我设置if语句没什么用

ID:332444 发表于 2020-8-25 12:48
主函数内不受限制地运行run();当然电机一直转动
ID:805016 发表于 2020-8-25 11:01
这是我那块板子的原理图


A2开发板原理图.pdf

227.86 KB, 下载次数: 13

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表