步进电动机调速控制计算机控制技术课程设计报告内容摘要:

脚 VS 接电源电压, VS 电压范围 VIH 为+ 2. 5~ 46 V。 输出电流可达 2. 5 A,可驱动电感性负载。 1脚和 15 脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。 L298可驱动 2 个电动机, OUT1, OUT2 和 OUT3,OUT4 之间可分别接电动机,本实验装置我们选用驱动一台电动机。 5, 7, 10,12 脚接输入控制电平, 控制电机的正反转。 EnA, EnB 接控制使能端,控制电机的停转。 表 1 是 L298 功能逻辑图。 In3, In4 的逻辑图与表 1 相同。 由表 1可知 EnA 为低电平时,输入电平对电机控制起作用,当 EnA 为高电平,输入电平为一高一低,电机正或反转。 同为低电平电机停止,同为高电平电机刹停。 步进电机及对射式光电传感器H92B4 9 步进电动是一步一步转动的,故叫步进电动机。 步进电机是数字控制电机,它将脉冲信号转变成角位 移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。 因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行。 随着数字控制系统的发展,步进电动机的应用将逐渐扩大。 H92B4 是有高发射功率的砷化镓红外发射管和高灵敏度的光敏管组成。 她是利用被检测物对光束的遮挡,由同步回路选通电路,从而检测物体有无。 特点:易安装、高可靠性:响应速度快,光缝 ;槽宽 4mm,脚距。 T 法测速: 记录编码器两个相邻输出脉冲的间的高 频脉冲个数 M2, f0 为高频脉冲频率, 10 电机转速 r /m in ZM f60ZT60n 20t  T法测速的分辨率: )1(6060)1( 60 22 0202 0  MZM fZM fMZ fQ或ZnfZnQ  0260 T法测速误差率: %1 0 011%1 0 060 60 )1( 60%2202020m a x MZMfZMfMZf T 法测速适用于低速段。 11 三、 软件综合设计 1. 设计流程图: 总体流程图 12 保护现场禁止测速开启定时 器 0 产生高频脉冲并计数允 许测速。 恢复现场中 断返回关定时器 0 , 关外部中断允许计算转速并清零高频脉冲计数值是否 测速流程图 2. PID 两种基本算法:位置算法和增量算法,采用变频调速 ( 1)位置算法: ),()]1()([)()()(0PDDIPIKjDIPKTTKTTKKkekeKjeKkeKku  ( 2)增量算法: )]2()1(2)([)()]1()([ )1()()(   kekekeKkeKkekeK kukuku DIP 13 3. 实现以上要求的控制算法(已调试正确): include include define uchar unsigned char define uint unsigned int define F 6 //表示光电码盘一圈的齿数 define T 40 //采样周期 10ms, 250us 为单位 define PID_K 2 define PID_I define PID_D define ST_cishu 50 //更新显示频率设为 , 10ms 为单位 sbit clk=P1^0。 //脉冲 sbit cw=P1^1。 //转向 sbit full=P1^2。 //半步、全步 sbit reset=P1^3。 sbit duanen=P2^6。 //段选锁存 sbit weien=P2^7。 //位选锁存 sbit fuhao=P2^2。 //正负符号位 sbit dirKey = P3^4。 //设置位移 sbit plusKey = P3^5。 sbit subKey = P3^6。 sbit revKey = P3^7。 //反转 int Uk_1 = 0。 int Uk = 0。 uchar posKey = 0。 //屏幕显示位置标志 int speed[3] = {0, 0 ,0}。 //存速度差值 int Si,n=0,m=0。 //n 为转速, m 为 T 法高速脉冲个数, Si为 m 记数允许标 志位 uchar time_n1=500。 uchar time_n2。 int speedSet,speed_set。 //定时器 1 首先就输出一个电平变化,再根据 PID 输出设置 z=speed_set int speed_n=0。 //用于显示的测试的速度 int outallow=1。 //输出允许 ,第一次设置完生效,开始输出 int ST_allow。 //速度测试允许位 int ST_counter=0。 //计数变量,用于计显示更新频率 int fankui=0。 void display(int)。 void delay(int)。 14 void LED(int,int)。 void xiaoying(void)。 void readKey()。 void initial()。 void pid()。 void pid_f_to_time_n1()。 void ST_get()。 /**************************** 初始化***************************/ void initial() { IE=0x80。 //开总中断 TCON=0x01。 //IT0=1 时外部中断 0 为下跳沿触发 TMOD=0x21。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。