基于AT89C51单片机直流电机的控制程序 20
本设计以AT89C51单片机为核心,以4*4矩阵键盘做为输入达到控制直流电机的启停、速度和方向,数码管可以显示转速!各位好心人,路过的帮帮忙。最好完整的毕业设计。...
本设计以AT89C51单片机为核心,以4*4矩阵键盘做为输入达到控制直流电机的启停、速度和方向,数码管可以显示转速!
各位好心人,路过的帮帮忙。 最好完整的毕业设计。 展开
各位好心人,路过的帮帮忙。 最好完整的毕业设计。 展开
4个回答
展开全部
首先弄清楚pid是一种控制算法!!!
1,“如果用单片机恒温可以使温度到达预定值就停止加热,低了就加热,用一个温度传感器反馈,这样算是一个自动控制吗”你这是控制系统,但是效果会非常差,尤其是对于温度控制这种大惯性系统,达到预定值就停止加热,但是由于惯性,温度肯定会继续上升,电炉烧水的时候,水开了,断电之后水还要沸腾一定时间的(沸腾是很消耗能量的,由此可见如果是加热的话温度上升更严重,你也可以自己用温度计试试看);“低了就加热”是同样的道理。如果系统对控制精度有要求,你这样做肯定达不到要求。pid是一种控制算法,相对于其他控制算法来说算是最简单的了。pid能够做到在温度快要达到设定值的时候降低加热功率,让温度上升速度变慢,最终稳定在设定值。如果用你的直接控制,温度会在设定值上下振荡,永远不会停在设定值。
2,一般的控制系统都需要加反馈,以构成闭环控制系统,相对的还有开环控制系统。开环控制系统,举个例子,就是你加热的时候事先计算好大约需要多少热量,然后考虑一下环境影响,计算出加热时间,然后控制加热系统按照你这个时间加热。你觉得这样的系统能够稳定工作吗?环境稍稍有变动就挂了!开环控制系统的特点就是很容易受到环境的影响;闭环控制系统就稳定很多,你用1l水可用,2l水也行,500w电能用,1000w电炉也能用,这就是闭环的优点。
因此,大多数的控制系统都是闭环的,开环很少单独使用,即使用到了也是有闭环的。开环其实也是有优点的,开环在控制系统里面叫做前馈(跟反馈对应的),比如你的系统里面电源电压上升了,加热速度肯定会变快,如果你对电源电压采样,将采样的结果输入到闭环里面,对闭环做一个轻微的修正,控制的精度会更好,这就是开环的优势,它是超前的,能够预知结果(根据地源电压提高就能知道需要降低输出功率了)。
说完这些,你应该明白了,反馈是必需的(前馈也可以要,但是不是必需的),pid不能被取代(除非你用其它更复杂的控制算法)。
1,“如果用单片机恒温可以使温度到达预定值就停止加热,低了就加热,用一个温度传感器反馈,这样算是一个自动控制吗”你这是控制系统,但是效果会非常差,尤其是对于温度控制这种大惯性系统,达到预定值就停止加热,但是由于惯性,温度肯定会继续上升,电炉烧水的时候,水开了,断电之后水还要沸腾一定时间的(沸腾是很消耗能量的,由此可见如果是加热的话温度上升更严重,你也可以自己用温度计试试看);“低了就加热”是同样的道理。如果系统对控制精度有要求,你这样做肯定达不到要求。pid是一种控制算法,相对于其他控制算法来说算是最简单的了。pid能够做到在温度快要达到设定值的时候降低加热功率,让温度上升速度变慢,最终稳定在设定值。如果用你的直接控制,温度会在设定值上下振荡,永远不会停在设定值。
2,一般的控制系统都需要加反馈,以构成闭环控制系统,相对的还有开环控制系统。开环控制系统,举个例子,就是你加热的时候事先计算好大约需要多少热量,然后考虑一下环境影响,计算出加热时间,然后控制加热系统按照你这个时间加热。你觉得这样的系统能够稳定工作吗?环境稍稍有变动就挂了!开环控制系统的特点就是很容易受到环境的影响;闭环控制系统就稳定很多,你用1l水可用,2l水也行,500w电能用,1000w电炉也能用,这就是闭环的优点。
因此,大多数的控制系统都是闭环的,开环很少单独使用,即使用到了也是有闭环的。开环其实也是有优点的,开环在控制系统里面叫做前馈(跟反馈对应的),比如你的系统里面电源电压上升了,加热速度肯定会变快,如果你对电源电压采样,将采样的结果输入到闭环里面,对闭环做一个轻微的修正,控制的精度会更好,这就是开环的优势,它是超前的,能够预知结果(根据地源电压提高就能知道需要降低输出功率了)。
说完这些,你应该明白了,反馈是必需的(前馈也可以要,但是不是必需的),pid不能被取代(除非你用其它更复杂的控制算法)。
艾普斯
2024-07-18 广告
2024-07-18 广告
稳频稳压电源哪家好?艾普斯电源(苏州)有限公司开始专业研发、制造及营销交流稳压电源,满足全球电子及信息业对电源设备日益蓬勃的市场需求。迄今为止,业已发展成为交流不间断电源、稳压电源、变频电源、中频航空- 军事专用电源、直流电源、逆变电源等产...
点击进入详情页
本回答由艾普斯提供
展开全部
数码管的显示就不说了,这个肯定有学过吧。
直接拿两个I/O口作为电机的输入两端,两端都置一样的电平,就是停,一边高,一边低,就是启动,两个I/O的高低电平切换就是改变方向,要想改变速度,就固定一端的I/O为0,另一端输出脉冲波,脉冲波中高电平比率越高,速度就越快,还可以外接上拉电阻来扩展速度,这时这个速度时未知的,配上光电传感器,才可以测速。
关于调速,另一种方案就是外接一个DA转换,将数字电变为模拟电,通过控制输出电压的方法来来调节电机速度,如果这时有电机的“电压—速度”参数就可以知道速度了。
还有最便宜简单的方法就是给每个I/O外接,一个不同阻值的电阻,这样两两电阻分压,直接可以用电压表测出电机两端分压,用电机的“电压—速度”参数就可以知道速度了。而且最多也可以得到几百组速度值(看你怎么选电阻了)。
直接拿两个I/O口作为电机的输入两端,两端都置一样的电平,就是停,一边高,一边低,就是启动,两个I/O的高低电平切换就是改变方向,要想改变速度,就固定一端的I/O为0,另一端输出脉冲波,脉冲波中高电平比率越高,速度就越快,还可以外接上拉电阻来扩展速度,这时这个速度时未知的,配上光电传感器,才可以测速。
关于调速,另一种方案就是外接一个DA转换,将数字电变为模拟电,通过控制输出电压的方法来来调节电机速度,如果这时有电机的“电压—速度”参数就可以知道速度了。
还有最便宜简单的方法就是给每个I/O外接,一个不同阻值的电阻,这样两两电阻分压,直接可以用电压表测出电机两端分压,用电机的“电压—速度”参数就可以知道速度了。而且最多也可以得到几百组速度值(看你怎么选电阻了)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IO口 不太够用哦 用4位数码管 用8+4个IO口
电机用两个口
键盘用8个口
电机测速用一个口
直流电机测速 可以用光电传感器 工型的那种
电机控制电路用H型电路 4个三极管 或者MOS管
以上所有的电路在网上都能找到 程序也能找到
一步一步来吧 给你一个整体的东西 你也是自己一点一点的消化
有问题加我727341554
电机用两个口
键盘用8个口
电机测速用一个口
直流电机测速 可以用光电传感器 工型的那种
电机控制电路用H型电路 4个三极管 或者MOS管
以上所有的电路在网上都能找到 程序也能找到
一步一步来吧 给你一个整体的东西 你也是自己一点一点的消化
有问题加我727341554
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直流电机速度转变???我会试着写写这个程序的,只是不知道直流电机转速怎么改变,其他的我都有把握的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询