直流电机转速负反馈调节器拖动系统课程设计报告(编辑修改稿)内容摘要:
全解决问题, 经过 思考,系统时钟较快, 如果 按下时, 系统 可以执行两遍扫描程序, 那便 依然会出现上述问题, 于是 还要加按键释放检测。 加了 按键释放检测, 上述 问题便迎刃而解。 所以 一个键盘扫描程序用必须要有防抖延时和释放检测这两个环节。 第三个模块就是 PWM 模块, 这个 模块是芯片上就有的功能, 初始化 配置之后便可使用。 因为 模块这个要配合按键输入占空比进行调速, 首先 第一个问题便是修改按键程序与之协调, 并 要添加正转, 反转 , 停止 和占空比设置函数。 在程序编写完毕后, PWM 调速已经没有问题, 但是 启停正反转无法实现, 还有 一个问题便是停止后, 让 电机启动要进入哪个状态。 主要问题 便是电机的正反转问题,刚开始正反转便是让一路 PWM 占空比为 0,另一路有占空比不为 0进行正反转控制, 但是 经过示波器观察发现, 占空比 不为 0 时无任何问题, 但是 占空比为 0 时, PWM 输出管脚竟然是高电平, 与理想中不一样。 于是,设想如果 PWM 为 0 不能实现高电平,那么关掉 PWM 发生器, PWM 发生器输出管脚应该就为低电平,可是经过测试后发现, PWM输出管脚依旧为高电平,无奈只能去找资料还有查看 M4函数定义以及数据手册,然后经过大量测试发现将 PWM 输出管脚输出功能关闭之后, PWM 输出管脚为低电平,才解决问题。 第四部分便是正交编码模块, 由于 TI的数据手册虽然介绍的正交编码模块, 但是没有讲解如何用函数去配置正交编码模块, 就连 TI的官方例程都没关于正交编码的程序, 无奈 只能去查找 TI 的函数库以及用其他厂商的 M4芯片正交编码的程序作为参考,但是当程序编写出来后, 并不能 像想象中一样运行, 经测试 正交编码输入信号正常,而且由于其他模块在此模块前均正常工作,在加此模块后,除了初始化正交编码模块程序外, 就 加了用正交编码模块的速度获取函数以及电机运转反向获取函数然后 送与数码管进行显示, 所以 问题的出现极大可能出现在正交编码的初始配置上, 因为 正交编码的初始化函数并不是 TI 提供的, 经过 查阅大量的 TIM4 系列类似本芯片的正交编码 函 数 以 及 TI 论 坛 的 大 量 程 序 , 发现 初 始 化 配 置 中 缺 少 了GPIOPinConfigure(GPIO_PC5_PHA1)。 这一句 GPIO 复用功能配置函数。 加上 此函数后,程序 运行正常,模块功能正常。 浙江理工大学拖动系统课程设计 第 11 页 5. 结束语 在这次课程设计中,由于用了很多刚接触的东西, 我学会了 很多,例如在这次我用了刚接触的串口 4 位数码管, 还有 矩阵按键的原理虽然原来知道, 但也是 第一次变为现实。 最 为 重要的我知道了如何自学 一种 芯片 ,原来的我只知道跟着例程做,现在我知道了要去查这个芯片的函数库,我也知道了如何运用一款芯片的数据手册。 所以这次课设不仅提高了我对电机拖动的理解,最为重要的是提高了我的自学能力。 参考文献: 【 1】 叶朝辉: TM4C123 微处理器原理与实践。 北京: 清华大学出 版社, 【 2】 百度文库 .直流电机 PID 控制。 网址 : tRtVtzUpEhMSsadKIFCPZJWoAFJi6rTOuzKFxxt9hzXpBwTU6RMl71RqVhrbUgDQfkESjABk8Pa 【 3】 阮毅、 陈伯时 电力拖动自动控制系统 —— 运动控 制系统。 机械工业出版社 【 4】 Tiva™ TM4C123FH6PM 微控制器数据手册 【 5】 德州仪器在线技术支持社区 _arm_cortex/f/96/t/ 浙江理工大学拖动系统课程设计 第 12 页 附录 课设程序: include include include inc/ include driverlib/ include driverlib/ include driverlib/ include driverlib/ include driverlib/ define uchar unsigned char define PERIOD_TIME SysCtlClockGet()/2020 define DIO GPIO_PIN_1 define RCLK GPIO_PIN_2 define SCLK GPIO_PIN_3 int anjianzhi=1。 uchar LED[8]。 uchar LED1[8]。 uchar jianceTime=0。 double PulseWidth。 unsigned long speed_signal=0。 uint32_t setspeed=0,speed=0。 int speedDirectionGet=0。 int e[3]。 double uk,past_uk,out。 uchar speedstop=0。 /***************************************************************************************PWM 初始化 ****************************** ***************************************************************/ void Init_PWM() { PulseWidth=。 // 设置 PWM 时钟和系统时钟一致 SysCtlPWMClockSet(SYSCTL_PWMDIV_1)。 // 使能 PWM 外设 SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0)。 浙江理工大学拖动系统课程设计 第 13 页 // 使能外设端口 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB)。 //设置对应管脚的 PWM 信号功能 GPIOPinConfigure(GPIO_PB4_M0PWM2)。 GPIOPinConfigure(GPIO_PB7_M0PWM1)。 //设置 PWM 信号端口 GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_4)。 GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_7)。 //PWM 生成器配置 PWMGenConfigure(PWM0_BASE, PWM_GEN_1, PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC)。 PWMGenConfigure(PWM0_BASE, PWM_GEN_0, PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC)。 //设置 PWM 信号周期 PWMGenPeriodSet(PWM0_BASE, PWM_GEN_1, PERIOD_TIME)。 PWMGenPeriodSet(PWM0_BASE, PWM_GEN_0, PERIOD_TIME)。 //设置 PWM 信号占空比 PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2,PulseWidth*PERIOD_TIME)。 PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1,PulseWidth*PERIOD_TIME)。 // 使能 PWM 输出端口 PWMOutputState(PWM0_BASE, PWM_OUT_2_BIT, false)。 PWMOutputState(PWM0_BASE, PWM_OUT_1_BIT, false)。 // 使能 PWM 生成器 PWMGenEnable(PWM0_BASE, PWM_GEN_1)。 PWMGenEnable(PWM0_BASE, PWM_GEN_0)。 // 使能 PWm 生成器模块的及时功能 . PWMSyncTimeBase(PWM0_BASE, PWM_GEN_1)。 PWMSyncTimeBase(PWM0_BASE, PWM_GEN_0)。 } /*******************************************************************************************电机控制 **************************** ***************************************************************/ void govern_speed(void) { PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2, PulseWidth*PERIOD_TIME)。 PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, PulseWidth*PERIOD_TIME)。 } 浙江理工大学拖动系统课程设计 第 14 页 void forward(void) { speedstop=0。 PWMOutputState(PWM0_BASE, PWM_OUT_2_BIT, true)。 PWMOutputState(PWM0_BASE, PWM_OUT_1_BIT, false)。 } void reverse(void) { speedstop=0。 PWMOutputState(PWM0_BASE, PWM_OUT_1_BIT, true)。 PWMOutputState(PWM0_BASE, PWM_OUT_2_BIT, false)。 } void stop(void) { speedstop=1。 PWMOutputState(PWM0_BASE, PWM_OUT_2_BIT, false)。 PWMOutputState(PWM0_BA。直流电机转速负反馈调节器拖动系统课程设计报告(编辑修改稿)
相关推荐
[16]; 2020年 潜波、巫世晶等建立了各种工况下的纯扭转线性动力学模型 , 并依据数学微分方程编制了相应程序对系统进行自由振动分析 [17]。 行星齿轮传动动力学研究展望 近半个世纪以来 , 科研人员对行星齿轮传动系统作了大量的研究工作 , 无论是理论研究 , 还是实验研究都取得了丰硕成果 , 但是有关行星齿轮的一些特性还没有研究透彻。 许多问题还需进一步研究: 轮振动的一个重要激励源。
100 环境保护措施 100 环境管理方针及目标 100 环境管理机构 100 环境保护管理制度 100 环境保护及文明施工措施 100 13 附图表 108 地铁 号线 标工程项目经理部 盾构始发井实施性施工组织设计 5 地铁 号线 标工程项目经理部 盾构始发井实施性施工组织设计 1 1 编制依据 《 地铁 号线 标 ~ 站盾构 始发井施工 设计 图 》、《详细勘察岩土工程勘察报告》
件管理”对话框中“取消”按钮,完成顶杆效果图如图 240所示。 图 228 图 229 图 230 图 230 顶杆后处理 1.单击“注塑模向导”工具条中“顶杆”按钮 ,弹出“顶杆后处理”对话框。 2.设置“顶杆后处理”对话框,选中“选择步骤”中和 按钮,“修剪过程”选项卡,选择“片体修剪”和“ TRUE”点选框,如图 231所示。 3.选中所有的顶杆或选中其中的五根,如图 232 所示 图
太大,在现代工业的生产过程当中,通常只是配合调压调速方法一起使用,在额定的转速上作小范围的提升转速运转,这样的调压与调磁相结合的方式,可以扩大转速调节的范围。 改变电枢回路电阻进行调速一般是在电枢回路中串接附加电阻,这种调速方法损耗比较大,只能进行有级调速,由于电动机的机械特性比固有特性软,通常只是用于少数小功率和场合。 直流调速系统的供电方式 要实现调压调速,就得要有一个平滑可调的直流电源
20 第 三章、 参数整定 21 1 CT,RT, RD 的 选取 21 2 R2 和 RP1 的选取 21 3其它引脚器件的确定 21 第四章、电路图总体设计 23 第五章、 结束语 24 第六章、参考文献 25 6 第一章、 设计分析 1 双闭环调速系统的结构图 直流双闭环调速系统的结构图如图 1所示,转速调节器与电流 调节器串极联结,转速调节器的输出作为电流调节器的输入
性上都有很大提高,而且在技术性能上也显出较大的优越性。 晶闸管可控整流器的功率放大倍数在 以上,其门极电流可以直接用电子控制,不再像直流发电机那样需要较大功率的放大器。 在控制作用的快速性上,变流机组是秒级,而晶闸管整流器是毫秒级, 这将会大大提高系统的动态性能。 VM系统本质上是带 R、 L、 E负载的晶闸管可控整流电路,结合分析和设计直流调速系统的需要, VM 系统的主要问题可归结为如下几点