资源描述
基于 直流电机 速闭环调速控制系统 真实现 在工业自动控制系统和各种智能产品中常常会用用电动机进行驱动、传动和控制,而现代智能控制系统中,对电机的控制要求越来越精确和迅速,对环境的适应要求越来越高。随着科技的发展,通过对电机的改造,出现了一些针对各种应用要求的电机,如伺服电机、步进电机、开关磁阻电机等非传统电机。但是在一些对位置控制要求不高的电机控制系统如传动控制系统中,传统电机如直流电机乃有很大的优势,而要对其进行精确而又迅速的控制,就需要复杂的控制系统。随着微电子和计算 机的发展,数字控制系统应用越来越广泛,数字控制系统有控制精确,硬件实现简单,受环境影响小,功能复杂,系统修改简单,有很好的人机交换界面等特点。 在电机控制系统开发中,常常需要消耗各种硬件资源,系统构建时间长,而在调试时很难对硬件系统进行修改,从而延长开发周期。随着计算机仿真技术的出现和发展,可用计算机对电机控制系统进行仿真,从而减小系统开发开支和周期。计算机仿真可分为整体仿真 和实时仿真。整体仿真是对系统各个时间段对各个对象进行计算和分析,从而对各个对象的变化情况有直观的整体的了解,即能对系统进行精确的预测 ,如 是一个典型的实时仿真软件。实时仿真是对时间点的动态仿真,即随着时间的推移它能动态仿真出当时系统的状态。 一个实时仿真软件,用来仿真各种嵌入式系统。它能对各种微控制器进行仿真,本系统即用 直流电机控制系统进行仿真。 在系统软件开发中开发中可用操作系统,也可不用操作系统。如用操作系统,程序可实现模块化,并能对系统资源进行统筹管理,最主要的是可实现多任务运行。如果需要多任务并行运行,并且需要一定的时间间隔,某些任务对时间的要求不高时,如不用操作系统则要占用定 时器资源,并且对栈空间和硬件资源很难进行管理,所以在这种情况下需要操作系统。本系统用操作系统 一个完整的、可移植、可固化、可剪裁的占先式实时多任务内核 经有很多产品成功使用的案例且得到美国军方的认证,说明了该系统的可靠性。 代码公开,代码短,源代码大部分是使用 编写的,移植性和裁减性好,功能强大, 能可靠应用于各种控制系统中。 系统构成 转速控制输入( 0832 采样) 移植了 控制器 波 液晶显示 51 单片机 仿 真的电机 电 机 驱动电路 测速接口 输入转矩 硬件全图 各子系统 . 转速控 制输入 如用按键输入则需要复杂的软件实现,并且需要足够的引脚资源,本系统用 控制器 含一个支持仿真的片内存储器控制器接口的 部总线、与中断控制器接口的性能总线( 连接片内外设功能的 设总线( 线的兼容超集)。片内有 64K 字节静态 28寻址 4 在本仿真中 率在芯片属性中设置。 本系统采用 真库有的液晶显示模块 8192像素的单色 幕分为两半控制,控制引脚为 据通过移位寄存器输入。 4电机驱动电路 本系统仿真的是最大输入电压为 12 伏的微型电机,故用通用电机驱动电路实现假设该电路输入电阻为无穷大,输出电阻为 0。 5仿真电机的 51 单片机 虽 然 电机模块,但其电机模块没有输出转速接口故用一单片机代替它,单片机用 样输入的电压,经过处理即输出和真实电机同步的转速(需要大量的浮点运算,可考虑用 通过两个按键改变转矩没按一次增大或减小 面的是增大。 6仿真结果 仿真 钟后得下图,可看到转速逐渐增大然后稳定下来。 增大转矩后,可看到转速下降后又恢复 7程序; 1系统主程序 : * * 实时微型直流电机 速闭环调速控制系统程序 (基于移植于 的uc/时操作系统 ) * 程序编写者 : 吴斌 * 编写日期 : 2007 年 11 月 14 日 */ # 512 /各任务栈大小 # 2; 0 /输出其他的为输入 #000 /最大调节转速 # /比例放大系数 # /采样周期 # /积分时间常数 # /微分时间常数 #1+Ts*t0+s) #1+2*s) #Kp*s #0 /0 / /0 / /各任务栈 * /控制信号邮箱 n=0; / 输入转速 ; / 反馈转速 /函数声明 0 / 不分频,计数频率为 0 / 设置 配时复位 2765; / 设置 期 0; / 设置 空比 0 / 存 0 / 允许 出,单边 0 / 启动定时器, 能 2765; / 设置 期 0; / 设置 空比 0 / 存 /* * 函数名称 : * 功能描述 : c 语言的主函数,由它启动多任务环境 */ ; (0, & 1, 0); ; ; /* * 函数名称 : * 功能描述 : 初始化系统及建立任务 */ / 避免编译警告 ; ; 0); ; ()0, & 1, 2); ()0, & 1, 3); ()0, & 1, 1); ()0, & 1, 5); ); /* * 函数名称 : * 功能描述 : 实时任务 ,负责采样和处理数据 */ /上次输出控制信号 /上次采样误差信号 0; /上次的上次的采样误差信号 /采样转速信号 u; /此次输出控制信号 e; /此次采样误差信号 ; /始化 ) 16; 0; /采样反馈转速 e=u=us+q0*e+q1*es+q2*(u=u=es=e; us=u; &u); /发送处理后的信号 ,0,0,30); /* * 函数名称 : * 功能描述 : 根据控制信号输出 */ ) ,& 2765; 2764; 0 2765; *765); 0 n) /延时函数 i; i=1;m=64n=j=0; m=a/8+1+m=a/8+a,b, ,b+2,6*(m); /本系统显示主界面 i; 0=00*U,0*/ 0*/,1*/ 0*c,2*/ 0*o,3*/ 0*s,4*/ 60= 00*输 ,0*/ 00*入 ,1*/ 00*转 ,2*/ 000*速 ,3*/ 00 /*: ,4*/ 60=000*输 ,0*/ 00*出 ,1*/ 00*转 ,2*/ 000*速 ,3*/ 00 /*: ,4*/ 6=00*,0*/ 4,0,); ,2,); ,4,); i=0;i # #a /电枢电感 # / #a /转动惯量 #a 10 #1.9 ; 35; ; L= e; z=0; s=0; =z=0; ; ; ; ; ; ; n=0; f=0; e=0; x) i; i=0;ix;i+); L+ i,; ; ; i=0;i10;i+) ; ; ); ; ; ); ; ); ; ; ); ; ); ; ; ); ; ; ; ); ; ); i=0; i8; i+) ; ); ; ); 1)| ; U=56; z+U; (a); if(f=0); f=1; if(n=0&L&e=0) n=0; e=1; z+(s)*n=a; n; 1.5*1.5*a; (n*10); P2=56; P0=56; n=%f,i=%fn,n, -(9216/256); -(9216%256); i; = 0= 0 = 0 = 0 = 1; = 1; -(9216/256); -(9216%256); ; ; ; 1; 1; 1; ) ; /* * f */
展开阅读全文