伺服电机控制器设计

合集下载

交流伺服电机驱动控制器单元电路的设计分析

交流伺服电机驱动控制器单元电路的设计分析

图 2 M C 33035 管脚连接图
2 保护电路
2.1 电路图 保护电路的电路图如图 3 所示。
2.2 工作原理 当 LM 358 的 3 脚接通 36 V 电源时,经内部电
压比较器比较,在 1 脚输出高电平使二极管 D 10 截 止,这样 M C 33035 的 7 脚悬空,M C 33035 内部有上 拉的电流源使该端内部悬高,输出驱动电路正常工 作。当 LM 358 的 3 脚断开电源时,经内部电压比较 器比较,在 1 脚输出低电平,使二极管 D 10 导通, M C 33035 的 7 脚相当于接地,3 个高端驱动输出被 切断,3 个低端驱动输出强制为低电平状态,此时电 动机因失去激励而停车。这样如果电源发生故障时, 通过此保护电路系统就可以控制电动机的启停,从
总第 145 期
57
AET
农业装备技术
2008.3
动输出将关闭,并将底部驱动强制为低,从而使电动 机停转。 1.3 控制芯片的选择
直流电机集成控制芯片选择 M C 33035,M C 33035 是 O N Sem iconductor(安森美半导体)公司的高性能 第二代单片无刷直流电动机控制器,包含实现一个 全性能三相或四相电动机开环控制系统所需的全部 功能。M C 33035 设计用于传感器电气相位为 60° /300°或 120°/240°的无刷直流电动机运行,也可 有效地控制有刷直流电动机,工作电压为 10~30 V, 它有 2 种封装方式:SO IC -24(M C 33035D W ),PD IP-24 (M C 33035P)。 该 集 成 电 路 的 典 型 控 制 功 能 包 括 PW M 开环速度控制,使能控制(起动或停止),正反转 控制和能耗制动控制,适当加上一些外围元件,可实现 软起动。M C 33035 的管脚连接图如图 2 所示。

基于FPGA+MCU的伺服电机控制器设计

基于FPGA+MCU的伺服电机控制器设计

毕业设计(论文)基于FPGA+MCU的伺服电机控制器设计学院: 信息科学技术学院专业:姓名:指导老师:电子科学与技术梁鸿宇学号:职称:********** 赵慧元讲师中国·珠海二○一○年五月北京理工大学珠海学院毕业设计诚信承诺书本人郑重承诺:我所呈交的毕业设计《基于FPGA+MCU的伺服电机控制器设计》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。

承诺人签名:日期:年月日基于FPGA+MCU的伺服电机控制器设计摘要本文首先对通用伺服控制平台项目做了整体的设计规划,并着重分析了基于FPGA的电机接口模块的设计和核心算法,给出相应的接口电路,并对等精度算法和设计思路在ALTERA QUARTUS 9.0的环境下进行了仿真,在实验电路上进行了测试。

主要目的在于研究出一款高性能的基于FPGA的伺服电机接口模块。

关键词:伺服控制平台 FPGA 等精度算法电机接口模块THE DESIGN OF FPGA+MCU BASED SERVOMOTOR CONTROLLERABSTRACTThis first general-purpose of this dissertation is the overall project design and planning for the servo control platform, and also it analyzed the core algorithms for the FPGA based interface design. Given a appropriate interface circuit ,An equal precision algorithms designed with FPGA is introduced.It adopts Verilog HardwareDescription Language to implement in servo motor interface modules ,and adds pulse width measurement on the base of traditional frequency measurement, and the HDL was simulated in the ALTERA QUARTUS 9.0 environment. Intended to design a high-performance FPGA-based servo motor interface module.Keywords:servo control platform FPGA equal precision algorithm servo motor interface module目录摘要ABSTRACT1引言 (1)1.1项目背景 (1)1.2研究意义 (1)2 系统组成 (2)2.1 运动控制器 (2)2.1.1 MCU功能 (2)2.1.2 FPGA功能 (2)2.1.3光电隔离模块功能 (2)2.2伺服驱动器 (2)2.2.1常用伺服驱动器简介 (2)2.3伺服电机 (3)2.3.1伺服电机简介 (3)2.3.2伺服电机工作原理 (4)2.3.3伺服电机的控制 (4)2.4HMI (4)2.5控制器上位机部分 (4)2.5.1上位机功能 (4)2.6以太网模块 (4)2.6.1以太网模块功能 (4)3 FPGA接口模块详细介绍 (5)3.1实现功能 (5)3.1.1 速度控制模块 (5)3.1.2 位置控制模块 (5)3.1.3 CPU接口模块 (6)3.2速度与位置检测算法讨论 (6)3.2.1M法 (6)3.2.2T法 (6)3.2.3等精度测频算法 (6)3.2.4高精度数字测速算法 (9)3.3速度与位置控制算法 (20)3.4硬件部分 (14)3.4.1ALTERA FPGA介绍 (14)3.4.2FPGA硬件部分 (14)3.4.2.1电源及晶振部分 (14)3.4.2.2内存及FLASH (15)3.4.2.3主芯片 (15)3.4.2.4JTAG下载 (16)3.4.3输入输出光电隔离 (17)3.4.3.1输入光电隔离模块 (17)3.4.3.2输出光电隔离模块 (18)3.5软件部分 (18)3.5.1 verilog HDL编程语言介绍 (18)3.5.2输入输出端子定义 (18)3.5.3寄存器定义 (19)3.5.4FPGA架构 (20)3.5.5主要模块介绍 (20)4 仿真实验结果 (22)5 应用案例 (24)6 结论 (26)谢辞参考文献附录1 引言1.1项目背景此项目为待开发项目《基于RABBIT5700+FPGA的伺服电机控制器》的前期规划方案,目的在于帮助研发人员了解伺服电机控制器的有关知识和给出基于FPGA的接口模块的设计概要说明。

直流伺服电机控制系统设计

直流伺服电机控制系统设计

电子信息与电气工程系课程设计报告设计题目:直流伺服电机控制系统设计系别:电子信息与电气工程系年级专业:学号:学生姓名:2006级自动化专业《计算机控制技术》课程设计任务书摘要随着集成电路技术的飞速发展,微控制器在伺服控制系统普遍应用,这种数字伺服系统的性能可以大大超过模拟伺服系统。

数字伺服系统可以实现高精度的位置控制、速度跟踪,可以随意地改变控制方式。

单片机和DSP在伺服电机控制中得到了广泛地应用,用单片机作为控制器的数字伺服控制系统,有体积小、可靠性高、经济性好等明显优点。

本设计研究的直流伺服电机控制系统即以单片机作为核心部件,主要是单片机为控制核心通过软硬件结合的方式对直流伺服电机转速实现开环控制。

对于伺服电机的闭环控制,采用PID控制,利用MATLAB软件对单位阶跃输入响应的PID 校正动态模拟仿真,研究PID控制作用以及PID各参数值对控制系统的影响,通过试凑法得到最佳PID参数。

同时能更深度地掌握在自动控制领域应用极为广泛的MATLAB软件。

关键词:单片机直流伺服电机 PID MATLAB目录1.引言 ...................................................... 错误!未定义书签。

2.单片机控制系统硬件组成.................................... 错误!未定义书签。

微控制器................................................ 错误!未定义书签。

DAC0808转换器.......................................... 错误!未定义书签。

运算放大器............................................... 错误!未定义书签。

按键输入和显示模块....................................... 错误!未定义书签。

基于PLC的伺服电机运动控制系统设计

基于PLC的伺服电机运动控制系统设计

基于 PLC 的伺服电机运动控制系统设计摘要:近年来,我国各个行业及领域广泛应用了PLC,对企业实现生产自动化奠定了重要的基础。

特别是PLC伺服电机运行控制系统的设计及实施,使电机运动质量与效率得到了进一步提升。

本文结合PLC伺服电机运行控制系统设计标准,以S7-1200为例,利用对程序与硬件的设计,保证了运动控制的精准性。

关键词:PLC;伺服电机;运行控制前言:伺服电机具有多重优点,如扛过载能力强、运行稳定、高速性能好以及精准度高等,已广泛应用在企业生产中。

但由于伺服电机大多使用的是NC数控系统,不仅运行成本高,且控制系统极为复杂,无法有效对接以PLC为主的控制器生产线,使得经济效益不是十分可观。

故而,在生产自动化水平的进一步提升下,为了最大程度保障产品精度性,就必须重视基础设计,通过对伺服电机运行控制准确性的提升,全面改善系统的生产效率与性能,从而实现经济效益最大化,降低企业的生产成本。

1基于PLC伺服电机控制系统设计分析PLC控制系统是一种专门用于工业生产的数字运算操作电子装置,其应用了一类可编程存储器,可满足内部存储、执行逻辑运算、顺序控制、定时、技术以及算数操作等要求,可以说是工业控制的核心。

就我国工业生产现状来看,大部分依然是采用的步进电机运动系统,其应用的步进电机步距角最小为0.36°(与电机转动一圈需要1000个脉冲相当),精度比较低,并且经常会出现失步问题,难以满足高精度生产工艺。

相比来讲伺服电机无论是在精度、速度、抗过载性能、响应速度、运行稳定性以及运行温度等方面均具有更大优势。

基于PLC进行伺服电机控制系统的设计,可以在原来的步进电机运动系统基础上,做进一步的优化,使得系统能够更好的适应高精度生产要求。

其中需要就目前所应用NC数控系统进行优化,解决其与PLC主控制器生产线无法有效对接的难题,满足高效生产的核心要求。

2伺服电机控制系统分析2.1运行控制模型如图1所示,伺服电机运行控制模型可用于构建伺服电机运动控制系统。

压缩机用直线伺服电机及其驱动控制器设计

压缩机用直线伺服电机及其驱动控制器设计

n q e n i c h n t e d sg r s n lz d i u s a d d f u y i h e i a a o a ay e . n e l KEY ORDS: L n a e v tr D ie c nr l r Dii l I o t l C y c oe o r so i W i e rs ro mo o ; r o t e ; g t D c nr ; ro o l r mp s r ;Ap v o aP o c e ・
机 做最 大振 幅 的往 复 运 动 ,同 时 监 测 杜 瓦 瓶 内温
圈在恒定 磁 场 作 用 下 往 复 运 动 ,带 动 活 塞 ,在 气 缸 里压 缩压 出或 拉 回抽 出一 个 气缸 内 的工 作 气 体 , 产 生 交变压 力 波 ,通 过 空 心 导 管 ,传 到 膨 胀 机 转
De i n o n a e v o o n tSDrv n r l r sg f a Li e r S r o M t r a d i’ i e Co t ol e
W AN Z e ・i g S n JAN J n g o G h n xn , HE Ya , I G i ・u a
直线 伺服 电机 作 为 斯 特林 制 冷 机 的关键 部 件 , 其控 制性 能 直 接 影 响 到 整 个 制 冷 机 系 统 。 目前 一 般 采用 永 磁无 刷 直 线 电机 作 为 伺 服 电机 … 。本 文 采用 双 直线 电 机 驱 动 压 缩 机 的 系 统 。双 直 线 电 动 机 与压缩 机 一 体 化 结 构 设 计 ,有 效 利 用 空 间 ,减 小 了斯特 林 制 冷 机 的体 积 。 双 直 线 电机 驱 动 压缩 机 ,受 力 对 称 ,振 动小 。为 进 一 步 减 小 振 动 和 电 磁 干扰 ,电机 采 用 正 弦 宽 调 制 驱 动 J ,温 度 调 节 采 用数 字增 量式 PD,整个 驱 动控 制 器在 单 片机 协 I 调 下工 作 。

基于MICROWIN的直流伺服电机模糊控制器设计

基于MICROWIN的直流伺服电机模糊控制器设计

2 0 I 3年 1月
J a n .2 O l 3
文章 编 号 : 1 0 0 7— 2 9 8 5 ( 2 0 1 3 ) 0 1 ~ 0 0 4 6— 0 5
基 于 MI C ROW I N 的 直 流 伺 服 电机 模 糊 控 制 器 设 计
芦 银
( 安徽国防科技职业学 院 , 安徽 六安 2 3 7 0 1 1 )
PB
o o
ZS ZE
PS PB

O o

O o


0 o. 4 O. 33

1 . 3模 糊 规则 表
由图 2的偏 差 、 微分 及无 校 正 系统响 应 曲线 的分 析 , 建 立模 糊控 制规 则表 如下 :
如 图 2中 2 s 左右 的位置 , 偏差 及其微分为正且最大 , 则 控 制 器 输 出正 的最 大 . R1 : I F e i s P B a n d d e i s P B, t h e n u i s P B . 如 图 2时 刻 0 时位 置 , 偏 差 为 正且 最 大 , 而其微分 接近于 0 , 这 时 要 求 输 出 达 到 最 大 值 以 便 快 速 满 足 系统 的 控 制 要 求 .
果 明 显优 于 自整 定 P I D调节控制. 关键 词 : 模糊控制 ; P I D调节 ; 解模 糊 ; 模 糊 化
中图分类号 : U4 6 3 ; T I ’ 1 3
文 献标 志 码 : A
D O I : 1 0 . 3 9 6 9 / j . i s s n . 1 0 0 7 —2 9 8 5 . 2 0 1 3 . O 1 . 0 1 2
第 3 4替

伺服控制器的原理与构造

伺服控制器的原理与构造

伺服控制器的原理与构造伺服控制器是一种用于控制伺服系统的装置,它能够精确地控制伺服电机或伺服阀等执行元件的运动,实现所需要的位置、速度和力矩控制。

伺服控制器的工作原理如下:1. 反馈原理:伺服控制器通过传感器获取执行元件的位置、速度或力矩等反馈信号,将其与期望的目标值进行比较,从而得到误差信号。

2. 控制原理:基于误差信号,伺服控制器通过运算和控制算法,计算出控制指令,用以调节执行元件的运动状态。

3. 闭环控制:伺服控制器通过不断的反馈和修正,使执行元件的输出能够逼近或达到期望的目标值,从而实现闭环控制。

伺服控制器的构造主要包括以下几个部分:1. 传感器:伺服控制器通常会使用位置传感器、速度传感器或力矩传感器等,用于获取执行元件的实际状态,将其转换为电信号输入到控制器中。

2. 控制算法:伺服控制器内部会采用各种控制算法,如比例控制、积分控制和微分控制等,通过对反馈信号进行运算和处理,得到控制指令。

3. 控制器芯片:伺服控制器通常会使用专门的集成电路芯片,如DSP芯片或FPGA芯片等,用于实现控制算法、运算处理和控制指令输出等功能。

4. 驱动芯片:伺服控制器还需要使用驱动芯片,用于将控制指令转换为能够驱动执行元件的电信号,控制其运动状态。

5. 电源系统:伺服控制器还需要提供稳定的电源供电,以保证控制器和执行元件的正常工作。

在伺服控制器中,控制算法起着核心的作用。

常用的控制算法有位置控制、速度控制和力矩控制等。

- 位置控制:该算法通过比较反馈信号和目标位置,产生误差信号,并根据误差信号调节控制指令。

常见的位置控制算法有比例控制、PID控制等。

- 速度控制:该算法通过比较反馈信号和目标速度,产生误差信号,并根据误差信号调节控制指令。

常见的速度控制算法有比例控制、PID控制以及模糊控制等。

- 力矩控制:该算法通过比较反馈信号和目标力矩,产生误差信号,并根据误差信号调节控制指令。

常见的力矩控制算法有比例控制、自适应控制等。

单片机控制伺服电机设计(带单片机程序及电路)

单片机控制伺服电机设计(带单片机程序及电路)

程设计说明书题目:基于单片机的步进电机控制系统设计课程:机电一体化系统设计姓名:马福德学号:0804705030指导教师:段广云、俞学兰专业年级:机械设计制造及其自动化(机械电子工程方向)2008级所在院系:机械工程学院完成日期: 2011年7月 10 日答辩日期: 2011年7月 11 日摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。

研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。

步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。

采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。

软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。

本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片AT6560AHQ驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。

系统由硬件设计和软件设计两部分组成。

其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动模块、数码显示模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。

软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。

软件采用在Keil软件环境下编辑的C语言。

本系统具有智能性、实用性及可靠性的特点。

关键词:步进电机 ,单片机 ,电脉冲信号, 角位移, 转速控制,方向控制ABSTRACTWith the development of microelectronics and computer technology, increasing demand for stepper motor, which is widely used in printers, electronic toys and consumer products such as CNC machine tools, industrial robots, medical equipment and electrical products, and its various national fields are applied. Of stepper motor control system to improve the control accuracy and response speed, energy conservation and so important.Stepper motor is an electric pulse signals can convert the angular displacementor linear displacement of the mechanical and electrical components, stepper motor control system consists of stepper controller, stepper motor power amplifier and so on. Use MCU control, the stepper controller instead of using software to make simple circuit, low cost, reliability greatly increased. Software programming flexibility to produce different types of stepping motor excitation sequence to control the operation of the various stepper motor modeThis design is used AT89C51 of Stepping motor control, through the IO port as a square wave output of the timing of step motor control signal, the signal through the ULN2003 driver chip stepper motor; the same time, with four buttons to the status of the motor control, and dynamic display with digital control motor speed.System consists of hardware and software design of two parts. Among them, the hardware design, including minimum system AT89C51 microcontroller, power supply module, keyboard control module, stepper motor drive (integrated Darlington ULN2003) module, digital display (SM420361K digital control) module, speed modules (including the Hall probe UGN3020) six function modules, and each module in the circuit board to achieve the organic combination. Software design, including keyboard control, stepping motor pulse, the digital dynamic display and speed signal acquisition module, control procedures, and ultimately to the stepper motor rotation direction and rotation speed control of stepper motor rotation speed and dynamic display in the LED digital tube, real-time monitoring of the speed display. Software used in the software environment to edit Keil C language. This system has the intelligence, practicality and reliability features.Key Words: Stepping motor , MCU Pulse Signal , Angular displacement ,Speed control ,Direction control目录1 绪论 (1)1.1背景 (1)1.2设计任务及要求 (1)2 总体方案设计 (2)2.1方案设计 (2)2.2芯片选择 (2)2.2.1 CPU的芯片选择 (2)2.2.2 驱动电路的芯片选择 (3)2.2.3 测试电路的芯片选择 (6)3 系统硬件设计 (7)3.1电机驱动电路 (7)3.2测试及显示电路 (8)3.2.1 CS3020霍尔传感器测试电路 (8)3.2.2 LED数码显示管 (8)3.3电源 (9)3.4两相步进电机 (9)3.5键盘控制系统 (10)4 控制系统软件分析与设计 (11)4.1主程序流程图 (11)4.2读键盘子程序流程图 (11)4.3键盘处理子程序流程图 (12)4.4电机控制中断程序流程图 (12)4.5程序设计平台 (13)4.6源程序清单 (14)5 PCB板设计 (19)5.1设计原则 (19)5.1.1布局操作的基本原则 (19)5.1.2布线原则 (19)5.2PCB板设计方案: (20)5.3PCB板各电器元件的布局 (21)6 设计体会 (22)致谢 (23)参考文献 (24)附录 (25)A元件清单 (25)B电路PCB图 (26)C电路原理图 (26)1 绪论1.1 背景当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

伺服电机控制器设计1 实验目的(1) 掌握对输出脉冲的频率和个数的控制;(2) 实现对伺服电机梯形速度控制功能。

2 实验任务(1) 运用位置控制指令函数设置加减速时间;(2) 调节伺服电机的启动频率和最高频率。

3 实验说明(1) 伺服电机伺服电机(ser motor)是指在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速装置。

伺服电机可使控制速度,位置精度非常准确,可以将电压信号转化为转矩和转速以驱动控制对象。

伺服电机转子转速受输入信号控制,并能快速反应,在自动控制系统中,用作执行元件,且具有机电时间常数小、线性度高、始动电压等特性,可把所收到的电信号转换成电动机轴上的角位移或角速度输出。

分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。

(2) 伺服驱动器伺服驱动器(servo drives)又称为“伺服控制器”、“伺服放大器”,是用来控制伺服电机的一种控制器,其作用类似于变频器作用于普通交流马达,属于伺服系统的一部分,主要应用于高精度的定位系统。

目前主流的伺服驱动器均采用数字信号处理器(DSP)作为控制核心,可以实现比较复杂的控制算法,实现数字化、网络化和智能化。

功率器件普遍采用以智能功率模块(IPM)为核心设计的驱动电路,IPM内部集成了驱动电路,同时具有过电压、过电流、过热、欠压等故障检测保护电路,在主回路中还加入软启动电路,以减小启动过程对驱动器的冲击。

功率驱动单元首先通过三相全桥整流电路对输入的三相电或者市电进行整流,得到相应的直流电。

经过整流好的三相电或市电,再通过三相正弦PWM电压型逆变器变频来驱动三相永磁式同步交流伺服电机。

功率驱动单元的整个过程可以简单的说就是AC-DC-AC的过程。

整流单元(AC-DC)主要的拓扑电路是三相全桥不控整流电路。

随着伺服系统的大规模应用,伺服驱动器使用、伺服驱动器调试、伺服驱动器维修都是伺服驱动器在当今比较重要的技术课题,越来越多工控技术服务商对伺服驱动器进行了技术深层次研究。

伺服驱动器是现代运动控制的重要组成部分,被广泛应用于工业机器人及数控加工中心等自动化设备中。

尤其是应用于控制交流永磁同步电机的伺服驱动器已经成为国内外研究热点。

当前交流伺服驱动器设计中普遍采用基于矢量控制的电流、速度、位置3闭环控制算法。

该算法中速度闭环设计合理与否,对于整个伺服控制系统,特别是速度控制性能的发挥起到关键作用。

关于本实验所用伺服驱动器,以下是其参数选择说明。

伺服驱动器需要设置6个参数,分别为pr0.00*、pr0.01*、pr0.05*、0r0.06*、pr0.07*、r0.08*。

各指令设定的参数如下:Pr0.00 0逆时针旋转为正方向Pr0.01 0位置控制模式Pr0.05 0光耦合器输入Pr0.06 0旋转方向设定Pr0.07 3pulse2控制速度,sign2控制方向Pr0.08 10000 10000p/r1) 驱动器最开始显示的数据为当前的转速;(图12.1)图12.1 初始转速为0 图12.2 模式d01.SPd2) 驱动器上电后按设置键S进入模式d01.SPd(图12.2),如再按一次将进入测试模式,显示当前的速度;图12.3 模式PAr.000 图12.4 模式EE_SEt3) 按模式键M进入参数设定模式PAr.000(图12.3),通过上、下、左键选择所要修改的参数,按S键进入该参数的设定值,上下左修改设定值,把对应参数的设定值修改后,再按住设置键约2秒后,界面自动返回到对应的参数设定模式PAr.***;4)在返回到对应的参数设定模式PAr.***后,按模式键M进入参数EEPROM 写入模式EE_SEt;(图12.4)图12.5 模式EEP-图12.6 FiniSh5) 按一次设置键S进入EEP-模式(图12.5),再按住向上键约5秒后,显示EEP---逐渐增加直到显示rESEt或FiniSh(图12.6)为止,设置参数写入完毕。

断电后再次上电,参数才会生效。

4预习要求(1) 伺服电机控制器的各个引脚功能是什么?(2) 简单地了解伺服电机如何运行。

5 实验步骤(1) 将24VPWM模块与已连接上交流伺服电机的交流驱动器相连;(2) 将DAC上的GND24V和DGND连接,按键模块的KEY0和PE3相连;(3) 将24V电源和电源模块相连;(4) 复制工程模板,新建5个文件并写入函数,分别为main.c、key.c、key.h、timer.c、timer.h;(5) 编译成功,下载程序至实训平台,并调试验证。

硬件设计本实验用到的硬件资源有:24VPWM输出模块(原理图如图12.7所示)、交流伺服电机和交流伺服驱动器(如图12.8所示)。

(1) 24VPWM模块原理图如下图所示:图12.7 24VPWM输出原理图(2) 交流伺服电机与交流伺服驱动器如下图所示:图12.8交流伺服电机与交流伺服驱动器(3) 伺服电机有三种控制模式:位置控制、速度控制、转矩控制。

本实验选用第一种位置控制模式。

(4) 其指令脉冲输入有如下几个模式,这里使用脉冲串+符号控制的方式,PA2输出脉冲控制转速,PA3输出高电平控制正转,输出低电平控制反转。

图12.10指令脉冲输入形态(5) 电机的指令脉冲有三个可以配置的参数(图12.11),只需要设定第一项,电机每旋转一圈的指令脉冲数即可,这里选择为默认的10000p/r。

配置完另外两个参数,其余选择默认参数即可。

依据这些参数来配置交流伺服驱动器的参数。

(关于交流伺服驱动器的参数设定方法,请参看实验说明第4项)图12.11指令脉冲数设定(6) 上面参数配置完后,开始讲解上位机与交流伺服控制器的连接。

这里需要连接7个端口,3、4、5、6、7、29、41。

3、5、7连接VCC24V,4连接PA2控制电机速度,6连接PA3控制电机方向,29为伺服电机开启输入端,低电平使能,所以要连接GND24V,41连接GND24V,端口连接如下图所示:图12.12端口连接在实训平台上的连接(后面数字与接口一一对应),如图12.13所示。

图12.1324VPWM输出模块图12.14连接GND24V和DGND(7) 在实训平台上操作时,有两个需要注意的地方。

在使用时,图12.13中S5必须按下,S5连接着伺服驱动器的29端使能管脚,只有在29端为低电平时,电机才能开始工作,即S5为电机的工作开关。

图12.14中的GND24V与DGND必须使用短线进行短接,否则电机不会运行。

软件设计本次实验需要编写5个文件,分别为main.c, key.c, key.h, timer.c, timer.h。

(1)key.h和key.c的编写。

本实验中只需要用到一个按键来控制电机的开启与关断,所以只需配置一个端口即可,程序中使用的是PE3。

图12.15key.h文件图12.16key.c文件(2)timer.h和timer.c的编写。

脉冲输出采用两个定时器,定时器2输出高速脉冲,定时器3改变定时器2输出脉冲的频率。

timer.h程序如下:图12.17timer.h文件timer.c的程序如下:图12.18gpio_init()函数freq1为当前输出的脉冲频率,初始值为设定的启动频率。

dir为加减速的标志,因为freq1,dir在整个程序中一直在调用,所以需要定义为全局变量。

gpio_init()函数是用来初始化输出端口PA.2和PA.3的。

a. 编写TIM2_PWM_Init()函数。

它被用来配置高速脉冲,先使能定时器2的时钟,然后初始化TIM2,设置定时器的周期,预分频值,时钟分割系数,定时器的计数模式,然后按照结构体变量中的参数初始化定时器。

再初始化定时器2的PWM输出模式,这里使用的是定时器2的CH3输出比较通道。

定时器模式选择为PWM2模式,在定时器计数值小于比较值时,输出为无效电平,计数值大于比较值时,输出有效电平。

然后使能比较输出,设置输出极性为高,即有效电平为高电平,无效电平为低电平。

最后根据指定的参数初始化TIM2定时器的OC3,OC3指的是输出比较通道3。

接着使能定时器2在CCR上的寄存器,使能TIM2的更新中断。

b. 配置中断。

中断通道设置为定时器2中断,设置先占优先级(抢占优先级)为2级,从优先级(响应优先级)为3级,接着使能中断通道,并根据上面的参数初始化中断。

最后设置一下定时器的比较值。

图12.19TIM2_PWM_Init()函数配置完定时器2后,开始配置定时器2的中断服务函数。

图12.20TIM2_IRQHandler()函数c. 编写TIM2_IRQHandler()函数。

先检测TIM2是否发生了中断,如果发生了中断,则会执行提前设定好的程序(这里没设置其他程序),然后清除中断待处理位。

没有发生中断则会重新等待进入中断。

d. 编写TIM3_Int_Init()函数。

先使能定时器3的时钟,然后配置定时器计数周期,预分频值,时钟分割系数和计数模式,再使能定时器更新中断,配置定时器中断通道,定时器中断通道选择TIM3中断,先占优先级为1级,高于定时器2,从优先级为3级,再打开中断通道,最后初始化中断。

图12.21TIM3_Int_Init()函数e. 编写TIM3_IRQHandler()定时器3的中断服务函数。

这里用来改变定时器2输出脉冲的周期。

先检查TIM3是否发生中断,如果发生了中断,则会清除中断图12.22TIM3_IRQHandler()函数待处理位,再根据dir和freq1来判断加减速和是否关闭定时器。

f. 编写PWM_Change()函数。

这里用来改变定时器2的计数周期。

根据传入的频率值来计算计数周期,然后调用定时器2的初始化函数,改变定时器2的周期,然后开启TIM2。

图12.23PWM_Change()函数(4) 编写main.c文件。

先引用头文件delay.h, key.h, timer.h。

这里电机转动指令脉冲数为10000p/r,即10000个脉冲转一圈,加速时间和减速时间都设置为3S,启动频率为2KHz,最高频率为62KHz,此时电机转速为372r/min。

可以通过伺服驱动器的监视器查看转速。

Extern u8 dir声明dir为外部变量。

Key_Value为按键值,Key_Value的最高位为电机的当前运转状态,1代表电机处于开启状态,0代表电机处于关闭状态。

Key_Value的低7位存储键值。

gpio_init()为初始化PA2和PA3的函数,KEY_Init()初始化按键,中断分组为2,2位抢占优先级(0~3),2位响应优先级(0~3)。

TIM2_PWM_Init()里的第一个参数为定时器周期,第二个为预分频系数,定时器周期计算公式为:时钟频率/{}频率*(预分频系数+1)}=定时器周期+1,当预分频系数为0时,不分频,时钟频率/频率=定时器周期+1。

相关文档
最新文档