51单片机直流电机调速
-
#include
sbitdianji=P0^6;unsignedinti,j,m,n;voidmain(){EA=1;EX0=1;IT0=0;EX1=1;IT1=0;m=50;n=0;while(1){dianji=0;for(i=0;i sbit dianji=P0^6; unsigned int i,j,m,n; void main() { EA=1; EX0=1; IT0=0; EX1=1; IT1=0; m=50; n=0; while(1) { dianji=0; for(i=0;i
全部评论(1条)
-
- uxhndtb 2015-04-28 00:00:00
- diyi:你这个不是电机调速的,用外部中断是测速的呀。 下面是我写的.PID部分的代码就不给了,想加的话,自己找可以了 #include <AT89X52.H> #include "common.h" #define _WHEEL_C_ #define Left_moto_pwm P1_5 #define Right_moto_pwm P1_4 #define Left_moto_go {IN1=0,IN2=1;} #define Left_moto_back {IN1=1,IN2=0;} #define Right_moto_go {IN3=1,IN4=0;} #define Right_moto_back {IN3=0,IN4=1;} sbit IN1=P1^0; sbit IN2=P1^1; sbit IN3=P1^2; sbit IN4=P1^3; unsigned char pwm_val_left=0; unsigned char push_val_left=0; unsigned char pwm_val_right=0; unsigned char push_val_right=0; float L_Count=0,R_Count=0; unsigned int TimerNum=0,SYS_TimeNum=0; float Save_L_Distance=0,Save_R_Distance=0,Left_Speed=0,Right_Speed=0; unsigned char Left_point=0,Right_point=0; unsigned char sys_1ms=0,sys_1s=0,TurnFlag=0; //初始化PWM调速函数 void Init_Wheel() { TMOD = 0x01; TH0 = 0x0FF; TL0 = 0x0A4; EA = 1; ET0 = 1; TR0 = 1; } void Init_WheelSpeedInter() { IT0=1; //INT0下降沿中断 EX0=1; //允许INT1中断 IT1=1; //INT1下降沿中断 EX1=1; //允许INT1中断 EA=1; } //得到上一次0.5秒的行驶距离 float GetLeftWheelMileage() { return Save_L_Distance; } //得到上一次0.25秒的行驶距离 float GetRightWheelMileage() { return Save_R_Distance; } void Inter_Left(void) interrupt 0 { L_Count++; } void Inter_Right(void) interrupt 2 { R_Count++; } //小车向前函数 void Wheel_Run(char left_val,char right_val) { push_val_left=left_val; push_val_right=right_val; Left_moto_go ; Right_moto_go ; } //小车后退函数 void Wheel_Back(char left_val,char right_val) { push_val_left=left_val; push_val_right=right_val; Left_moto_back; Right_moto_back; } //小车停止函数 void Wheel_Stop(void) { Wheel_Run(0,0); } //左轮PWM调速函数 void pwm_out_left_moto(void) { if(pwm_val_left>200) { pwm_val_left=0; }else { if(pwm_val_left<=push_val_left) { Left_moto_pwm=1; } else { Left_moto_pwm=0; } } } //右轮调速函数 void pwm_out_right_moto(void) { if(pwm_val_right>200) { pwm_val_right=0; }else { if(pwm_val_right<=push_val_right) { Right_moto_pwm=1; } else Right_moto_pwm=0; } } //PWM调速中断(TIMER0--工作方式1) void Wheel_Interrupt(void) interrupt 1 { TH0 = 0x0FF; TL0 = 0x0A4; TimerNum++; if(TimerNum>=2500) { //左右轮速度cm/s Left_Speed=4*L_Count; Right_Speed=4*R_Count; //左右轮0.25秒行驶距离 Save_L_Distance+=L_Count; Save_R_Distance+=R_Count; //数据发送到串口图示 DataScope_Get_Channel_Data(L_Count, 1 ); //将数据 1.0 写入通道 1 DataScope_Get_Channel_Data(R_Count, 2 ); //将数据 2.0 写入通道 2 Send_Count = DataScope_Data_Generate(2); //生成10个通道的 格式化帧数据,返回帧数据长度 for( DateNum = 0 ; DateNum < Send_Count; DateNum++) //循环发送,直到发送完毕 { SendByte(DataScope_OutPut_Buffer[DateNum]); } TimerNum=0; L_Count=0; R_Count=0; } pwm_val_left++; pwm_val_right++; pwm_out_left_moto(); pwm_out_right_moto(); }
-
赞(17)
回复(0)
热门问答
- 51单片机直流电机调速
- #include
sbitdianji=P0^6;unsignedinti,j,m,n;voidmain(){EA=1;EX0=1;IT0=0;EX1=1;IT1=0;m=50;n=0;while(1){dianji=0;for(i=0;i sbit dianji=P0^6; unsigned int i,j,m,n; void main() { EA=1; EX0=1; IT0=0; EX1=1; IT1=0; m=50; n=0; while(1) { dianji=0; for(i=0;i 2015-04-27 02:32:41 399 1
- 51单片机怎么对直流电机调速,做了个遥控小车
2017-06-06 15:07:40
358
1
- 用51单片机制作可调速的直流电机需要三极管吗
- 我想给这个电路图编写一个程序,实现电机的正反转和调速,大神帮一下忙!麻烦大神发一下... 我想给这个电路图编写一个程序,实现电机的正反转和调速,大神帮一下忙! 麻烦大神发一下 展开
2015-04-01 13:38:57
368
2
- 单片机控制直流电机调速,求程序!!
- 硬件电路已经搭好了,就差程序了,哪位高手指导一下程序,或者提供一下程序,不胜感激!... 硬件电路已经搭好了,就差程序了,哪位高手指导一下程序,或者提供一下程序,不胜感激! 展开
2013-12-23 01:22:36
283
1
- 用单片机对直流电机调速的程序
2011-04-22 10:35:59
308
2
- 51单片机实现pwm对电机调速
2018-07-22 09:03:42
369
3
- 如何用51单片机给电机调速?
- 不是步进电机。... 不是步进电机。 展开
2011-10-24 04:56:01
248
4
- 51单片机 超声波测距 控制直流电机正反转
- 通过超声波传感器测距,当距离大于设定值A时,直流电机反转;当距离等于设定值A时,直流电机停止;当距离小于设定值A时,直流电机正转。具体要求:1)设定值A能够通过键盘设定;2)电机所处的各个状态(正转、反转和停止)及超声波传感器检测的距离值能够在液... 通过超声波传感器测距,当距离大于设定值A时,直流电机反转;当距离等于设定值A时,直流电机停止;当距离小于设定值A时,直流电机正转。具体要求:1)设定值A能够通过键盘设定;2)电机所处的各个状态(正转、反转和停止)及超声波传感器检测的距离值能够在液晶上实时显示。 展开
2015-07-12 14:27:24
716
1
- 直流电机调速
- 1.直流电机调速器有哪些类型2.每种类型的原理是什么3.由单片机控制电机时应选用什么类选的直流电机调速器... 1.直流电机调速器有哪些类型 2.每种类型的原理是什么 3.由单片机控制电机时应选用什么类选的直流电机调速器 展开
2011-08-02 07:59:43
391
4
- 哪位大侠有51单片机控制直流电机的源程序
2017-12-13 05:13:18
212
1
- 直流电机调速原理
2017-11-21 07:49:22
285
1
- 直流电机调速原理
2017-09-21 19:04:22
388
1
- 直流电机无法调速
- 直流电机一个方向调速正常,但另一个方向调速,开机就是Z高转速!工作台,铣头由两台直流调速器控制,控制电路是同一套,工作台和铣头都有一个方向正常,另一方向一动调速器... 直流电机一个方向调速正常,但另一个方向调速,开机就是Z高转速! 工作台,铣头由两台直流调速器控制,控制电路是同一套,工作台和铣头都有一个方向正常,另一方向一动调速器 展开
2012-05-14 16:57:14
433
2
- 直流电机调速问题?
- 我现在要要做一个直流电机调速系统,要求是用电位器控制电机转速,为什么在我选择电机型号是厂家说还需要加调速器,让我不能理解的是电位器和调速器不都是调速的吗,那我为什么不能直... 我现在要要做一个直流电机调速系统,要求是用电位器控制电机转速,为什么在我选择电机型号是厂家说还需要加调速器,让我不能理解的是电位器和调速器不都是调速的吗,那我为什么不能直接调节调速器进行调速,那电位器是不是多余的? 这是不是和转矩有关系?请各位大哥看清问题,这个系统很明确,是要求既有电位器,又有调速器,这是为什么,我想知道其中的原因,我想知道的是原因!谢谢!! 展开
2010-09-17 15:29:04
470
6
- 51单片机 测速
- 当感应到磁性的时候 有高电平,没有感应到磁性的时候是低电平,求两次测到高电平之间时间是多少。 C语言程序怎么写?用霍尔传感器或者是磁性开关
2014-03-20 07:21:32
307
3
- 直流电机可控硅调速电路图
- 急求110V直流电机可控硅调速电路图,望大侠指点一二,Z好有具体元件参数。谢谢。采纳再加分100至200.不然没人回答,分就浪费了,哈哈。谢谢你的回答哈。,不过我说的是两相直流电机哈... 急求110V直流电机可控硅调速电路图,望大侠指点一二,Z好有具体元件参数。谢谢。采纳再加分100至200.不然没人回答,分就浪费了,哈哈。 谢谢你的回答哈。,不过我说的是两相直流电机哈。110V的直流。 电机功率两百瓦。 就是普通有碳刷的电机呀。只不过有点特殊,额定电压是110V的。不是步进电机。步进电机供电方案很多的。 展开
2009-10-15 21:29:38
492
4
- 400w 220v 直流电机调速
- 85年的产品,旧设备上拆的,原来应该有控制器的,不过找不到了,原来没接触过这类电机,有几个问题:1、直接用220v+整流是否可以用2、如果需要调速的话,怎么实现,自己做还是有现成的... 85年的产品,旧设备上拆的,原来应该有控制器的,不过找不到了,原来没接触过这类电机,有几个问题: 1、直接用220v+整流是否可以用 2、如果需要调速的话,怎么实现,自己做还是有现成的? 铭牌: 型号:z2-11 0.4kw 220v 2.64A 1500RPM 展开
2010-05-16 08:11:28
331
4
- 直流电机调速的设计
- 1.设计直流电机调速的控制电路。2.直流电机的转速由电位器调节,电位器输出电压范围在0~5V之间,将该控制电压送AD0809的通道0,由计算机采集AD转换结果。3.再将采集到的数字量变化转... 1. 设计直流电机调速的控制电路。 2. 直流电机的转速由电位器调节,电位器输出电压范围在0~5V 之间,将该控制电压送AD0809的通道0,由计算机采集AD转换结果。 3. 再将采集到的数字量变化转换成脉冲占空比的变化,实现脉宽调制(PWM)。 4. 将PWM输出信号经驱动电路送到直流电机,达到控制直流电机转速的目的。 展开
2013-07-14 06:35:51
426
2
- 51单片机12864频谱分析
- 哪位大神帮忙做个程序,用51单片机驱动12864显示音乐的频谱,大概效果如下图,谢谢~~
2014-03-18 07:45:50
274
1
- 51单片机简易信号发生器
- 51单片机简易信号发生器我用DAC0832数模转换后接了个lm358运放运放电路不太会用输出波形输出失真这是怎么回事望详细解释... 51单片机简易信号发生器我用DAC0832数模转换后 接了个lm358运放 运放电路不太会用 输出波形输出失真 这是怎么回事 望详细解释 展开
2018-07-07 06:50:31
436
3
9月突出贡献榜
- 单位预算忏悔
- 饿啊地方
- 空中有牛
- 依然相信你会
- 本生(天津)健康科技有限公司
- 猫合宝
- 广东皓天检测仪器有限公司
- 武汉安德信检测设备有限公司
- 上海一科仪器有限公司
- 牛牛麻麻2
- 东莞市皓天试验设备有限公司
- futu888
推荐主页
最新话题
参与评论
登录后参与评论