TMS320C2812在直流伺服控制中的应用
基于TMS320F2812的永磁直线电机伺服控制研究
第3 1 卷第 1 期
2 01 4年 1月
机
电
工
程
Vo 1 . 3l No. 1
J o u r n a l o f Me c h a n i c a l& E l e c t i r c a l E n g i n e e r i n电机 ; T M S 3 2 0 F 2 8 1 2 ; 伺服控制 ; 增 量式光栅 ; 前馈补偿 ; 跟踪误 差
中 图分 类 号 : T H 3 9 ; T M 3 5 9 . 4 文献标志码 : A 文章编号 : 1 0 0 1— 4 5 5 1 ( 2 0 1 4 ) 0 1 — 0 0 7 6— 0 5
基于TMS320F2812的永磁同步直线电机伺服控制系统设计
Z ENG un, ZENG e n n,W U Yix a g H J YH — a —in
( a ut o tmain,Gu n d n iest f e h oo yGu n z o F c l fAuo t y o a g o gUnv ri o c n lg a gh u,Gu n d n 0 6,Chn ) y T a g o g5 0 1 0 ia
p o e t o o n t lpo ii n tsi g i c u ae,h ve g o y a i e f r a c n o r lp e ii n. r v he r tr i ii sto e tn s a c r t a a o d d n m c p ro m n e a d c nto r c so
第 3期 21 0 2年 3月
组 合 机 床 与 自 动 化 加 工 技 术
M o l a hi o du ar M c ne To l& Aut m atc M a f c u i g Te hn que o i nu a t r n c i
NO. 3 M ar .20 2 1
Pe m a e a ne ne r Sy hr o o o e v nt o y t m e i n Ba e n TM S3 0F2 2 r n ntM g t Li a nc on us M t r S r o Co r lS s e D sg s d o 2 81
c o e - o e v o t o y t m e i n i i h d・ x s c r n f s a o s s tt e z r n t e r t r fu - l s d-o p s r o c n r ls s e d s g n wh c ・ i ure to t t r i e o b e o i h o o l x- l a
TMS320F2812串行通信在永磁同步电机伺服系统上的应用研究
据 处 理 后 通过 S 传输 出去 。 据 由上 位 机 程 序接 收 , 进 行 相 CI 数 再
关 的处 理 和分 析 。 2 串行 通信 的 实 现
串行通讯接 口(co s 是一个两线制异步 串行接 口, 通常被称 为 U T C 模块 支 持 C U与 其 他 异 步 外设 之 间 使 用 标准 非 AR 。S l P
件 设 计 , 位机 程 序 设 计 以及 上 位 机 程序 设 计 。 下
21 通信 硬 件 设计 .
在 串 行 接 口方 面 ,本 文 采 用 R 一 3 C 标 准 ,在 电气 特 性 S 22
串行 通 信 的 实现 包 含 三 个 部 分 , 分别 是 硬 起来, 将可以解决这些问题。文献f 4介绍了关于串行通信的 ’ ] 一 归 零 码进 行数 字 通 信 。
T 3021 MS 2 F 8 2串行 通信 在 永 磁 同 步F 8 1 2串行通信在永磁同步电机伺服系统上的应用研究
谭 艺乐 ( 厦门大学信息科学与技术学院, 福建 厦 门 3 10 ) 6 0 5
摘 要
在 简要 介 绍基 于 T 3 0 2 1 MS 2 F 8 2数 字信 号 处 理 器 ( S ) 永磁 同步 电机 伺 服 系统 的基 础 上 , 点 介 绍 DS D P的 重 P与 P 的 串 C 行 通 信 原理 , 结合 实 际 系统给 出异 步 串行 通 信 的软 硬 件 解 决方 案 。 并 实验 结 果表 明 , 串行 通 信 结 构 简单 、 面友 好 、 信 距 离 界 通
K y r sT 3 0 2 1 ,e o s se s r l o e wo d : MS 2 F 8 s r y tm,e i mmu ia in 2 v a c nc t o
基于TMS320F2812的无刷直流电机控制
基于TMS320F2812的无刷直流电机控制以前一个项目里有一部分是使用2812控制无刷直流电机,这里分享一下软硬件设计和程序代码:1.无刷直流电机的结构和换相原理无刷直流电机的本体在结构上与永磁同步电动机相似,但没有笼型绕组和其他启动装置。
其转子采用永磁材料制成,而定子上有多相电枢绕组,绕组相数分为两相、三相、四相和五相,但应用最多的是三相和四相。
各相绕组分别与外部的电力电子开关电路中相应的功率开关器件连接,位置传感器的跟踪转子与电动机转轴相连接。
当定子绕组的某一相通电时,该相电流与转子永久磁钢的磁极所产生的磁场相互作用产生转矩,驱动转子旋转,再由位置传感器将转子位置变换成电信号去控制电力电子开关电路,从而使定子各相绕组按一定次序导通,定子相电流随转子位置的变化而按一定的次序换相,这就是直流无刷电动机的换流原理。
由于电力电子开关电路的导通次序是与转子转角同步的,因而起到了机械换相器的换相作用。
基于TMS320F2812的无刷直流电机控制系统结构图如图1所示。
图1中,直流电源通过开关电路相电动机定子绕组供电,位置传感器采用了霍尔传感器,可不断检测转子当前位置,DSP控制器根据当前位置信息来判断哪一相绕组被接通,进而控制开关管的导通与截止,实现电机的换相。
直流无刷电动机控制系统结构图1 图2 电子换相器的工作原理图图图2给出了一个三相无刷直流电机电子换相原理图。
图中符号H1、H2和H3表示三个霍尔位置传感器,它们输出电平信号。
当电机的转子运行到x-u平面的正半周(图中虚线标出的区间),则H1传感器输出高电平。
同理,当电机的转子分别运行到y-v和z-w,平面的正半周(图中虚线标出的区间),则对应的H2和H3分别输出高电平。
由图可见,H1、H2和H3输出高电平的区间是互有重叠的,如果将H1、H2和H3的输出电平组合成一个向量[H1 H2 H3],则可以得到6种有效组合:[001]、[010]、[011]、[100]、[110]和[101],每种组合覆盖整个圆周的1/6(即60°)。
基于TMS320F2812无刷直流电机控制系统设计
基于TMS320F2812无刷直流电机控制系统设计众所周期,无刷直流电机既具有沟通电机容易,运行牢靠,维护便利等优点,又具有直流电机运行效率高,不受机械换向限制,调速性能好,易于做到大容量、高转速等特点。
TI公司的TMS320F2812数字信号处理器()既具有高速信号处理和数字功能所需的体系结构。
还具有专为电机控制应用提供单片解决计划所需的外围设备。
以TMS320F2812为核心的全数字电机控制系统极大地简化了硬件设计,提高了系统的牢靠性,降低了成本,并对无刷直流电机的普及应用具有良好的前景。
为此,提出了一种基于TMS320F2812的全数字永磁无刷直流电机控制计划。
2 系统设计计划该系统设计采纳三相Y型永磁方波无刷电机控制计划,通电方式为两两通电。
图1给出控制系统原理框图。
它采纳全数字三闭环控制。
其中,环采纳PI调整器,速度环采纳遇限减弱积分的积分分别PID控制算法,它的输出极性打算了正反转方向,从而可实现电机的四象限运行。
位置环采纳PI调整器。
采纳全桥型PWM调制。
3 系统硬件设计图2给出基于TMS320F2812的无刷直流电机控制系统。
采纳TMS320F2812作为控制器,用于处理采集到的数据和发送控制指令。
TMS320F2812控制器首先通过3个I/0端口捕获直流电机上霍尔元件H1,H2,H3的高速脉冲信号,检测转子的转动位置,并按照转子的位置发出相应的控制字,以转变PWM信号的当前值,进而转变直流电机驱动(全桥控制电路)中功率管的导通挨次,实现对电机转速和转动方向的控制。
电机的码盘信号A,B通过TMS320F2812 DSP控制器的CAP1,CAP2端口捕获的。
捕获到的数据存储在寄存器中,通过比较捕获到A,B两相脉冲值,以确定当前电机的正反转状态和转速。
在系统运行中,驱动庇护电路检测当前系统的运行状态,假如系统中浮现过流或欠压情况,PWM信号驱动器(IR2131)启动内部庇护电路,锁存后继PWM信第1页共4页。
基于TMS320F2812的通用伺服电机控制系统的设计与实现
Sci ence and Techn Ogy OI Con suli g Her l tn ad
工 程 技 术
基于 T 3 0 2 MS 2 F 8 1 2的通用伺服 电机控制系统的设计与实现
李想 ( 中国电子科技集 团公 司第 5 研 究所 河北石家庄 4
1引言
目前 ,随 着 电 力 电子 技 术 ,微 电子 技 术 , 代控制理论 的发展 , 现 交流伺 服系统逐渐 成 为工业 伺服 系统 的主流 ,但在一 些特 定的 领域 内直 流伺服 系统 仍 占据着 主要地 位 。本 系统利用 T 3 0 2 l 实现 了直流 /交流伺 MS 2 F 8 2 服控制 系统的设计 。T 3 0 2 l 是 T 公 MS 2 F 8 2 I 司设计 的面 向工 业控制 领域 的数 字信号 处理 器, 适用于卫星天 线伺服系统 、工业控制、机 床控 制等高精度应用 。T 3 0 2 1 的最 高 M¥ 2 F 8 2 运行 频率可达 l 0 , 内有 l 8 r 5M 片 2 K wo d的 F A H程序 存储器 , 8 r L S l K wo d的数据 /程 序R AM。 包括 两个 8 通道或一 个 l 通 道的 l 6 2 位 A/ D转 换 器。两 个 串行 通讯接 口( C ) S I, 控制 器局 域 网络 ( CAN) 线 , 个独 立 的 总 两 SP V wM 发 生器 ;具有复 合 I E l4 . 标 准 E E 19 1 的在线仿真 接 K。采 用该 D P可 使本系统的 I S 硬 件 结 构 简单 ,控 制 精 度 高 ,实 时 性 强 。
一
_ -( 2 _ s x i - n O
电压 方程可表 示为
U = R i +缸 d+e o
高性能DSP芯片TMS320F2812在电机控制器中的应用
(7) 16个信道的12位A/D接口可灵 实现FLASH ROM引导加载。硬件电路
算法,并且其代码与以前各个型号的 活设置采样方式。
如图2,JP15为SPI或SCI引导加载器选
DSP 兼 容 , 故 TMS320F2812 DSP 有 着
(8) 可使用多达56个可编程且可 择,1- 2时选择SPI,2- 3时选择SCI;
电机控制系统结构原理图及 各组成部分的简单介绍
电机控制系统的结构原理图如图
1所示,下面将就各个组成部分依次 进行介绍。
◇ 高 性 能 DS P 芯 片 TMS 320F2812简介
TMS320F2812是 TI 公 司 2003 年 正 式推出的32位定点DSP芯片,是目前 工业控制和机器人控制等领域中最高 档的DSP之一。该芯片性能优越,比 起TMS320LF2407A来讲,各项性能指 标都有了显着的提高。该芯片资源非 常丰富,可大大简化外围电路设计。 其主要资源和性能指标如下:
本软件设计采用模块化编程的思
一个运放比较器,比较器有一个参考 有转速反馈的闭环系统。系统参数由 想,利用电机的状态方程构造了三相
电压,当信号低于这个参考电压时, 信号经过运算放大后输出;当信号超 过这个参考电压时,说明逆变器发生 过流情况,比较器输出低电平将DSP 的 PDPINT 引 脚 拉 低 , 此 时 所 有 的 PWM输出立即被置为高阻态。
始化定时器等,同时将程序中所要用 中断服务程序是DTC控制程序的核心 弥补了之前使用的TMS320LF2407A在
到的各种子模块一一定义,并将各模 部分,其作用是在每个周期内选择正 计算能力上的不足,使其能够满足更
块的初始值进行设置。⑵接收初始值 确的空间电压矢量并转换为PWM开关 为复杂的实时性要求和更为复杂的控
基于TMS320F2812伺服矢量控制系统的研究
摘
201) 10 6
要 :对 以 T 30 2 1 核 心 芯 片 的伺 服 矢量 控 制 系统 硬 件 、软 件 的设 计 方 法 进 行 阐述 与 论 证 。实 践 表 明 ,利 MS2 F 8 2为
用3 2位 D P芯片 T S 2 F 8 2 S M 30 2 1 进行伺 服矢量控制 ,运算速度快 、精度高 ,而且高编译 效率 的 C语 言编程使复 杂系 统 的数字化实现简单。 关键词 :T 3 0 2 1 ;矢量控制 ;伺服系统 MS 2 F 82
通 汛 接¨
高 ,力矩惯 量 比大 ,定 子 电流 和定 子 电阻损 耗 减小 , 且转 子参数 可 测 、控 制 性 能 好 ;和 普 通 同 步 电 动机
模拟 信号
E, OM PR
相比,它省去了励磁装置 ,简化 了结构 ,提高了效 率 ¨ 。永磁 同步 电机 伺 服矢 量 控 制 系 统 能 够 实现 高 J 精度 、高 动态 性 能 、大 范 围 的调 速 或定 位 控 制 。另 外 ,微 控制 器 的发 展 ,使 得 矢 量 控 制 系 统 的 实现 越 来越方 便 ,尤其 是随着 D P控 制芯 片 的进 一步发 展 , S 其运算 速度 越来 越 快 ,精度 越来 越 高 ,而且 高 编 译 效 率 的 c语 言编 程 使 复杂 系 统 的数 字 化 实 现越 来 越
分为 控制 电路 和 逆变 器 两 大 部 分 。永 磁 同步 电机 矢
TMS320F2812在运动控制器中的应用
在现代 工业控 制 中 , 统 的 IA总线 已经 不能 传 S 满足 如视频 系统 、 图形 加速 卡 、 高速 网卡 、 数据 采集
制 器 结构 比较简 单 , 多 只 能输 出脉 冲信 号 , 作 大 工 于开环控 制方 式 。 由于这 类控制 器不 能提 供连续 插
地址: 总线
卡 、 据传 输 和数 据 存储 设 备 的需 要 , P I 数 而 C 总线 的 出现 以其 高 带 宽 的传 输 速率 在 计算 机 、工业 控 制、 通信设 备等领 域得 到广 泛应 用 。高速 的 多轴插 补 和 D P 的 P D调 解 都 需 要 非 常 高 的 数 据 传 输 S I 率 ,C 总线恰 恰满 足 了这样 的硬件 要求 。因此 . PI 本
中图分类号 :P2 T 1
文献 标志码 : A
文章 编号 :62 7 8 (0 80— 00 0 17 —3 X 20 )6 09 —5
目前 ,国 内的运 动控 制器 大致 可 以分 为 3类 : 第 一类 是 以单 片 机 或微 处 理器 作 为 核 心 的运 动控
制 器 具有 信 息 处理 能 力 强 、 开放 程 度 高 , 运动 轨 迹
补 功 能 , 没有 前 瞻功 能 , 别 是对 于 大量 的小 线 也 特 段 连续运 动 的场合不 能使 用这 类控制 器 。 第三类 是 基于 P C总 线 的 以 D P和 F G S P A作 为 核 心 处 理 器 的开 放 式运 动控 制 器 。这 类 开 放式 运 动 控制 器 以 D P芯 片作为运 动控 制器 的核 心处理器 ,以 P S C机 作 为信 息处 理平 台 ,运 动控 制 器 以插 件 形 式嵌 入 P C机 , P + 动控制 器 ” 即“ C 运 的模 式 。这样 的运 动控
TMS320F2812三种运行方式在SRM控制中的应用
—
S M 优 化 算 法 的应 用 。 因此 , R 的 控 制 需 要 一 个 性 能 R S M
C
—
—
it n 00
化提供 了条件, 时也是选 其作为 S 同 RM 控 制 核 心 的
原因。
—
; 生一 个 名 为 c d sa t 产 o etr 的段
.
s c c de t r ” e t” o s a t
st t: ar
c de o
1 T 30 2 MS 2 F 8 2三 种 运行 方 式 的实 现 1
T 30 2 1 代 码 的 开 发 环 境 为 C S 其 工 程 一 般 MS 2 F 8 2 C , 由头 文 件 、 源文 件 、 文 件 以及 连 接 命 令 文 件 ( MD 四 种 库 C )
文 件 组 成 。头 文 件 采 用 位 域 结 构 体 进 行 定 义 , 便 用 户 操 方 作 相 关 寄存 器 ; 源文 件 保 存 用 户 开 发 时 编 写 的 软 件 代 码 ; 库 文 件 为 系统 文 件 , 法 修 改 ; 无 CMD 文 件 则 是 用 来 分 配 存 储 空 间 的 , 告 诉 链 接 器 将 编 译 器 生 成 的段 链 接 到 哪 。所 它 以 , 想 实 现 代 码 运 行 方 式 的 多 样 化 , 须 很 好 地 了 解 要 必
—
t ext
w d ds b e ia l :
基于TMS320F2812的永磁同步直线电机提升系统的伺服控制
2 TMS320F2812简介
TMS320F2812 是当今世界上在数字控制领域 性能最高的 字信号处理芯片, 它是工业界首批 32
EVB): 其提供了一整套用于运动控制和电机控制应
用的功能和特性。 每个事件管理模块包括通用定时器 ( GP )、 比较单元、 捕获单元以及正交编码脉冲电路。
4 电 趁 07年 , 0} 气 撇20 第“ 期
Abstract Based on digital signal processor(DSP), the design of control system of permanent magnet linear synchronous motor(PMLSM) is introduced in this paper , which makes good use of the high integrated feature of DSP.
ud= r,弓 乌尸 一 钱 十 几勿 uq= sq+Ldp', +coy/,
转矩方程如下:
流的两个分量分别进行调节控制;最终采用SVPWM
对逆变器进行脉宽调制。
T =Pm V 一 d (i d凡钱id)
二 LYr iq+ Ld一 P. ' ( Lq)id ', I
从上式可以看出,永磁同步电机的电磁转矩基 本上决定于定子交轴电流分量和转子磁链。在永磁
Yq=Lq iq '
式中, Vr为转子磁钢在定子上的祸合磁链; Ld,
由图 1 可知,本系统是由位置、速度与电流三 闭环所组成,最外环 “ 位置控制器”实现对电机的
L 直、 轴主电 q为 交 感。
定子电压方程如下:
行程控制;其位置反馈信号及速度环的速度反馈信
高性能DSP芯片TMS320F2812在电机控制器中的应用
常丰 富 ,可 大 大 简 化 外 围 电路 设 计 。 其 主要 资源 和性 能指标 如下 : ()它是 C 0 0 1 2 0 系列 中性 能 最 高 的
()2 x L 4 系列 D P 有更 完 备的 外 C 8  ̄2 x S具
8 2 电 子 元 嚣 件 焘 用 2 0 . w wC i E Dnt 0 6 w .hn C . 8 a e
T 3 0 F 4 x 为 主 , 介 绍 应 用 MS 2 L 2 0 T 3 0 ()2 x 比 较 少 。T 3 0 M¥ 2 F C 8 的 M¥ 2 F
电 机 控 制 系 统 结 构 原 理 围 及 各 组 成 部 分 的简 单 介 绍
电机 控 制 系统 的结 构 原 理 图如 图
的主要 性 能及体 系结构 ,讨论 了电机控 制 器的 引导加 载RoM 、A D转换 单 元 、传 感 器接 口 、C L P D等 外设 电路 的技 术 关键 。说 明 了T 3 0 2 1 在 MS 2 F 82
电机 直接转 矩控 制 系统 中的应 用方 法。
关 键 词 : 电 机 ;控 制 器 ;T S 2 F 82 片 ;DS M 302 1芯 P
图 1 电 机 控 制 系 统 结构 原 理 图
维普资讯
维普资讯
AP PLI CATI NS o
中。
应 用
主 电路 及 光 电 编 码 转 速 检 测 电 路 、
◇ 与传 感器 的接 口
()霍 尔位 置 传 感 器 1
D P 要两 到 三 个AD 道 对 传感 心 的 直 接 转 矩 控 制 系 统 ,本 系 统 结 构 母 板 上 ,控制 箱 从外 界 引入 电源对 母 S需 信 器 电 流进 行 采集 获得 三 个相 电流 。霍 简 单 可 靠 、控 制 精 度 高 、 动 态 响 应 板 上 的 各 个 电 路 板 供 电 同 时 各 个 电 尔 电流 传 感 器 采 集 的是 模 拟 量 信 号 , 快 ,是 高效 的交流 调 速控 制 系统 。其 路 板 上 的相关 信 号 可 以通过 母 板从 控 所示 。 需 要 注 意 的 是 要 防 止 相 电 流 过 高 造 成 方框 图如 图3 对 D P 冲击 损 坏 。我 们 的做 法 是 双 S的 重 保护 ,即信 号经 过RC 滤波 后连 接 至
TMS320F2812的无刷直流电机控制
TMS320F2812的无刷直流电机控制
以前一个项目里有一部分是使用2812控制无刷直流电机,这里分享一下软硬件设计和程序代码:
1.无刷直流电机的结构和换相原理
无刷直流电机的本体在结构上与永磁同步电动机相似,但没有笼型绕组和其他启动装置。
其转子采用永磁材料制成,而定子上有多相电枢绕组,绕组相数分为两相、三相、四相和五相,但应用最多的是三相和四相。
各相绕组分别与外部的电力电子开关电路中相应的功率开关器件连接,位置传感器的跟踪转子与电动机转轴相连接。
当定子绕组的某一相通电时,该相电流与转子永久磁钢的磁极所产生的磁场相互作用产生转矩,驱动转子旋转,再由位置传感器将转子位置变换成电信号去控制电力电子开关电路,从而使定子各相绕组按一定次序导通,定子相电流随转子位置的变化而按一定的次序换相,这就是直流无刷电动机的换流原理。
由于电力电子开关电路的导通次序是与转子转角同步的,因而起到了机械换相器的换相作用。
基于TMS320F2812的无刷直流电机控制系统结构图如图1所示。
图1中,直流电源通过开关电路相电动机定子绕组供电,位置传感器采用了霍尔传感器,可不断检测转子当前位置,DSP控制器根据当前位置信息来判断哪一相绕组被接通,进而控制开关管的导通与截止,实现电机的换相。
基于TMS320F2812的无刷直流电机控制系统设计
抖音作为一款热门的短视频平台,为品牌提供了广阔的广告传播空间。通过精 准的目标受众定位、创意的内容与形式、多元化的传播渠道以及数据分析与优 化,品牌可以有效地提高广告的传播效果,吸引更多的潜在客户。未来,随着 短视频市场的进一
步发展,短视频广告的潜力将进一步显现,成为广告行业的重要一环。
参考内容
展望未来,无刷直流电机控制系统仍具有广泛的研究空间和发展前景。未来的 研究可以集中在以下几个方面:1)新型控制算法的研究与应用,如神经网络、 滑模控制等;2)系统可靠性和鲁棒性的提高;3)能量回收与节能控制策略的 研究;4)与其他先进技术的结合,如机器学习、物联网等。
谢谢观看
2、短视频与音乐的结合
音乐是情感的催化剂,将音乐与短视频相结合,能够更好地触动观众的情感, 增强广告的记忆点。例如,某服装品牌在抖音上发布了一则以“街头潮流”为 主题的广告,选择了动感十足的嘻哈音乐作为背景,成功地吸引了大量年轻人 的。
三、多元化的传播渠道
1、社交媒体传播
抖音本身就是一款社交媒体平台,品牌可以通过抖音上的、、评论等功能,与 用户进行互动,提高用户的参与度。同时,通过与其他社交媒体平台的联动, 例如与等进行跨平台传播,能够扩大广告的影响力。
无刷直流电机控制系统的重要性 及应用场景
无刷直流电机控制系统在现代化工业生产中发挥着至关重要的作用。这种控制 系统具有高效率、高精度、易于控制等特点,使其在许多领域都得到了广泛的 应用,如机器人、航空航天、电动汽车等。为了满足不同领域的需求,研究无 刷直流电机控制系统的优化方法和提高其性能具有重要意义。
基于TMS320F2812的无刷直 流电机控制系统设计
目录
01 短视频广告的传播策 略分析以抖音为例
03 二、创意内容与形式
基于TMS320F2812的直流无刷电机控制系统研究
甘肃科技纵横2010年(第39卷)第3期1系统简介本系统采用位置-速度-电流三环控制技术。
位置环为外环,采用PI控制,可确保位置跟随无静差,它决定整个系统的控制精度;速度环为中间环节,采用PI 控制,它决定系统的快速性和稳定性,一般快速性好,则稳定性变坏;电流环为内环,采用PI控制,它的输入为速度环的输出,由于电机的电流与其输出力矩成正比,所以电流环表明电机以某种速度运行时必须提供电机的电流。
通过TMS320F2812自带的CAN模块接收上位机的CAN控制信号,如果30ms内收不到CAN信号,则通过外部AD采集上位机的模拟控制量,同时经过外部AD芯片采集电机当前位置信号;在DSP中,上位机控制量与电机当前位置值比较,得出偏差值。
根据偏差值的符号确定控制电机正反转的IO口的高低,并且根据差值的大小来确定PWM波的占空比。
将PWM和IO 两个控制量送给电机驱动模块,驱动电机的转动。
之后,在将调整后的电机的位置以模拟量和CAN信号的形式同时上报上位机。
2硬件介绍本系统采用模拟量与CAN总线通信两种控制。
其中CAN总线为主要通讯控制方式,当CAN总线失效时,转而使用备用的模拟量控制。
为增加模拟量的精度,放弃使用TMS320F2812自带的12位AD,单独选用一片多路16位的AD芯片,配以模拟开关,依次采集上位机模拟控制量以及电机当前位置。
DSP的控制信号以PWM波的形式输出,经过处理电路转变为模拟量,再加上DSP的IO输出的方向信号,共同输出给电机驱动模块。
控制AD采样、模拟开关的选择和其他逻辑信号的处理都在CPLD中,这样就防止了干扰,并增强了系统的集成性,可靠性,同时缩小了体积。
电机驱动部分采用集成度非常高的智能化驱动模块,在模块中完成速度环与电流环的功能。
系统功能框图见图1。
图1系统功能框图3软件介绍TMS320F2812可以用汇编语言编程,也可以使用TI发布的C语言程序平台,方便广大工程人员进行编程设计,本系统就采用C语言环境。
10 TMS320F2812的永磁无刷直流电动机控制
第10章无刷直流电动机例无刷直流电动机控制软件软件模块和相关参数采用TMS320F2812数字信号处理器实现无刷直流电动机控制的主程序。
/* ================================================================== 系统名称:无刷直流电动机控制(DSP281x)文件名称:BLDC3_1.C功能描述:采用霍尔传感器实现三相无刷直流电动机的控制================================================================== */// 主函数使用的头文件#include "target.h"#include "DSP281x_Device.h"#include "IQmathLib.h"#include "bldc3_1.h"#include "parameter.h"#include "build.h"#include <math.h>// 函数声明interrupt void MainISR(void);// 系统使用的全局变量float32 SpeedRef = 0.20; // 速度参考(pu)float32 T = 0.001/ISR_FREQUENCY; // 采样周期,见文件parameter.hUint32 VirtualTimer = 0;Uint16 ILoopFlag = FALSE;Uint16 SpeedLoopFlag = FALSE;int16 DFuncDesired = 0x1A00; // 期望的占空比(Q15)_iq CurrentSet = _IQ(0.0031);Uint16 IsrTicker = 0;Uint16 BackTicker = 0;int16 DlogCh1 = 0;int16 DlogCh2 = 0;int16 DlogCh3 = 0;int16 DlogCh4 = 0;volatile Uint16 EnableFlag = FALSE;// 采用PID控制器调节无刷直流电动机的电流和速度PIDREG3 pid1_idc = PIDREG3_DEFAULTS;PIDREG3 pid1_spd = PIDREG3_DEFAULTS;// 定义并初始化PWM驱动PWMGEN pwm1 = PWMGEN_DEFAULTS;// 定义并初始化ADC驱动ADCVALS adc1 = ADCVALS_DEFAULTS;// 定义并初始化霍尔传感器HALL3驱动HALL3 hall1 = HALL3_DEFAULTS;// 定义斜波控制器平滑斜坡信号RMPCNTL rc1 = RMPCNTL_DEFAULTS;// RAMP2模块初始化RMP2 rmp2 = RMP2_DEFAULTS;// MOD6CNT 模块初始化MOD6CNT mod1 = MOD6CNT_DEFAULTS;// SPEED_PR模块初始化SPEED_MEAS_CAP speed1 = SPEED_MEAS_CAP_DEFAULTS;// 创建并初始化DA TALOG模块DLOG_4CH dlog = DLOG_4CH_DEFAULTS;void main(void){// ******************************************// 初始化x281x处理器代码// ******************************************// 初始化系统控制寄存器,锁相环,看门狗,时钟等模块:// InitSysCtrl()函数在DSP281x_SysCtrl.c文件中定义InitSysCtrl();// HISPCP预定标寄存器设置,一般情况下设置为默认值EALLOW; // 解除寄存器保护SysCtrlRegs.HISPCP.all = 0x0000; // SYSCLKOUT/1EDIS; // 禁止对受保护寄存器进行写操作// 禁止并清除所有CPU中断:DINT;IER = 0x0000;IFR = 0x0000;// 初始化外设中断扩展单元控制寄存器为默认状态:// InitPieCtrl()函数在DSP281x_PieCtrl.c中定义InitPieCtrl();// 初始化PIE矢量表为已知状态InitPieVectTable();// 用户专用函数,重新分配中断向量,使能中断:// 使能EV A 定时器1/2:// 配置定时器1/2寄存器(EV A)EvaRegs.GPTCONA.all = 0;// 设置通用定时器2的周期EvaRegs.T2PR = SYSTEM_FREQUENCY*1000000*T;// 清除定时器2的计数器/比较寄存器EvaRegs.T2CNT = 0x0000;EvaRegs.T2CMPR = 0x0000;// 等待使能标志置位while (EnableFlag==FALSE){BackTicker++;}// 使能通用定时器2的周期中断EvaRegs.EV AIMRB.bit.T2PINT = 1;EvaRegs.EV AIFRB.bit.T2PINT = 1;// 配置定时器:递增计数,x1,内部时钟,禁止比较操作,使用自己的周期EvaRegs.T2CON.all = 0x9040;// 重新分配中断EALLOW; // 解除寄存器保护PieVectTable.T2PINT = &MainISR;EDIS; // 禁止对受保护寄存器进行写操作// 为T2PINT 使能PIE的组3的中断1PieCtrlRegs.PIEIER3.all = M_INT1;// 为T2PINT 使能CPU INT3IER |= M_INT3;// 初始化PWM模块pwm1.PeriodMax= (SYSTEM_FREQUENCY/PWM_FREQUENCY)*1000;//不对称PWM pwm1.DutyFunc = DFuncDesired; // DutyFunc = Q15 pwm1.init(&pwm1);// 初始化DA TALOG模块dlog.iptr1 = &DlogCh1;dlog.iptr2 = &DlogCh2;dlog.iptr3 = &DlogCh3;dlog.iptr4 = &DlogCh4;dlog.trig_value = 0x01;dlog.size = 0x400;dlog.prescalar = 1;dlog.init(&dlog);// 初始化ADC模块adc1.ChSelect = 0x6543;adc1.init(&adc1);// 初始化时能驱动模块drv1.init(&drv1);// 初始化SPEED_PR模块(150 MHz,N = 1 event period/rev)speed1.InputSelect = 0;speed1.BaseRpm = 120*(BASE_FREQ/P);speed1.SpeedScaler = (Uint32)(ISR_FREQUENCY/(1*BASE_FREQ*0.001));// 初始化RMPCNTL模块rc1.RampDelayMax = 20;rc1.RampLowLimit = _IQ(0);rc1.RampHighLimit = _IQ(1);// 初始化霍尔传感器模块hall1.DebounceAmount = 5;hall1.Revolutions = -10;hall1.init(&hall1);// 初始化RMP2模块rmp2.Out = (int32)DFuncDesired;rmp2.Ramp2Delay = 0x00000050;rmp2.Ramp2Max = 0x00007FFF;rmp2.Ramp2Min = 0x0000000F;// 初始化PID_REG3模块,直流母线电流调节pid1_idc.Kp = _IQ(1);pid1_idc.Ki = _IQ(T/0.003);pid1_idc.Kd = _IQ(0/T);pid1_idc.Kc = _IQ(0.2);pid1_idc.OutMax = _IQ(0.99);pid1_idc.OutMin = _IQ(0);// 初始化PID_REG3模块,速度调节pid1_spd.Kp = _IQ(1);pid1_spd.Ki = _IQ(T/0.1);pid1_spd.Kd = _IQ(0/T);pid1_spd.Kc = _IQ(0.2);pid1_spd.OutMax = _IQ(0.99);pid1_spd.OutMin = _IQ(0);// 使能全局中断和更高优先级的适时调试中断EINT; // 使能全局中断INTMERTM; // 使能全局适时调试中断DBGM// 循环for(;;) BackTicker++;}interrupt void MainISR(void){// 验证ISRIsrTicker++;// ***************** LEVEL1 *****************#if (BUILDLEVEL==LEVEL1)// ------------------------------------------------------------------------------ // 调用ADC04U_DRV读取函数// ------------------------------------------------------------------------------ adc1.read(&adc1);// ------------------------------------------------------------------------------ // 连接HALL模块并调用传感器检测函数// ------------------------------------------------------------------------------ hall1.HallMapPointer = (int16)mod1.Counter;hall1.read(&hall1);// ------------------------------------------------------------------------------ // 连接输入到MOD6模块,调用Modulo 6计数器计数函数// ------------------------------------------------------------------------------ mod1.TrigInput =(int32)hall1.CmtnTrigHall;mod1.Counter = (int32)hall1.HallMapPointer;mod1.calc(&mod1);// ------------------------------------------------------------------------------// 连接RMP2模块,调用Ramp控制计算函数// ------------------------------------------------------------------------------ rmp2.DesiredInput = (int32)DFuncDesired;rmp2.calc(&rmp2);// ------------------------------------------------------------------------------// 连接PWM_DRV模块,调用PWM信号产生函数// ------------------------------------------------------------------------------ pwm1.CmtnPointer = (int16)mod1.Counter;pwm1.DutyFunc = (int16)rmp2.Out;pwm1.update(&pwm1);// ------------------------------------------------------------------------------// 连接SPEED_PR模块,调用速度计算函数// ------------------------------------------------------------------------------ if ((mod1.Counter == 5)&(hall1.CmtnTrigHall == 0x7FFF)) { speed1.TimeStamp = VirtualTimer;speed1.calc(speed1);}// ------------------------------------------------------------------------------// 连接数据记录模块DA TALOG,以便系统调试时观察变量// ------------------------------------------------------------------------------ DlogCh1 = (int16)mod1.Counter;DlogCh2 = hall1.HallGpioAccepted;DlogCh3 = (int16)mod1.TrigInput;DlogCh4 = hall1.CmtnTrigHall;// ------------------------------------------------------------------------------// 连接输入到EN_DRV模块,调用时能/禁止PWM信号刷新函数// ------------------------------------------------------------------------------ drv1.EnableFlag = EnableFlag;drv1.update(&drv1);#endif // (BUILDLEVEL==LEVEL1)// ***************** LEVEL2 *****************#if (BUILDLEVEL==LEVEL2)// ------------------------------------------------------------------------------// 调用ADC04U_DRV 读取函数// ------------------------------------------------------------------------------adc1.read(&adc1);// ------------------------------------------------------------------------------// 连接HALL模块并调用传感器检测函数// ------------------------------------------------------------------------------hall1.HallMapPointer = (int16)mod1.Counter;hall1.read(&hall1);// ------------------------------------------------------------------------------// 连接MOD6模块,调用Modulo 6计数计算函数// ------------------------------------------------------------------------------mod1.TrigInput =(int32)hall1.CmtnTrigHall;mod1.Counter = (int32)hall1.HallMapPointer;mod1.calc(&mod1);// ------------------------------------------------------------------------------// 连接RMP2模块,调用斜坡控制计算函数// ------------------------------------------------------------------------------rmp2.DesiredInput = (int32)DFuncDesired;rmp2.calc(&rmp2);// ------------------------------------------------------------------------------// 连接PID_REG3模块,调用PID控制器计算函数// ------------------------------------------------------------------------------pid1_idc.Ref = CurrentSet;pid1_idc.Fdb = _IQ15toIQ(adc1.Ch4Out);pid1_idc.calc(&pid1_idc);// ------------------------------------------------------------------------------// 连接PWM_DRV模块,调用PWM信号产生函数// ------------------------------------------------------------------------------// 固定占空比和Idc duty-cycle控制展开空比切换if (ILoopFlag == FALSE)pwm1.DutyFunc = (int16)rmp2.Out; // 固定占空比elsepwm1.DutyFunc = (int16)_IQtoIQ15(pid1_idc.Out); // Idc duty-cycle控制占空比pwm1.CmtnPointer = (int16)mod1.Counter;pwm1.update(&pwm1);// ------------------------------------------------------------------------------// 连接SPEED_PR模块,调用速度调节函数// ------------------------------------------------------------------------------ if ((mod1.Counter == 5)&(hall1.CmtnTrigHall == 0x7FFF)) { speed1.TimeStamp = VirtualTimer;speed1.calc(speed1);}// ------------------------------------------------------------------------------// 连接数据记录模块DA TALOG// ------------------------------------------------------------------------------ DlogCh1 = (int16)mod1.Counter;DlogCh2 = (int16)mod1.TrigInput;DlogCh3 = (int16)_IQtoIQ15(pid1_idc.Ref);DlogCh4 = (int16)_IQtoIQ15(pid1_idc.Fdb);// ------------------------------------------------------------------------------// 连接输入到EN_DRV模块,调用时能/禁止PWM信号刷新函数// ------------------------------------------------------------------------------ drv1.EnableFlag = EnableFlag;drv1.update(&drv1);#endif // (BUILDLEVEL==LEVEL2)// ***************** LEVEL3 *****************#if (BUILDLEVEL==LEVEL3)// ------------------------------------------------------------------------------// 调用ADC04U_DRV 读取函数// ------------------------------------------------------------------------------ adc1.read(&adc1);// ------------------------------------------------------------------------------// 连接RMP模块,调用斜坡控制计算函数// ------------------------------------------------------------------------------ rc1.TargetValue = _IQ(SpeedRef);rc1.calc(&rc1);// ------------------------------------------------------------------------------// 连接HALL模块并调用传感器检测函数// ------------------------------------------------------------------------------ hall1.HallMapPointer = (int16)mod1.Counter;hall1.read(&hall1);// ------------------------------------------------------------------------------// 连接MOD6模块,调用Modulo 6计数计算函数// ------------------------------------------------------------------------------mod1.TrigInput =(int32)hall1.CmtnTrigHall;mod1.Counter = (int32)hall1.HallMapPointer;mod1.calc(&mod1);// ------------------------------------------------------------------------------// 连接RMP2模块,调用斜坡控制计算函数// ------------------------------------------------------------------------------rmp2.DesiredInput = (int32)DFuncDesired;rmp2.calc(&rmp2);// ------------------------------------------------------------------------------// 连接PID_REG3模块,调用PID控制器计算函数// ------------------------------------------------------------------------------pid1_spd.Ref = rc1.SetpointValue;pid1_spd.Fdb = speed1.Speed;pid1_spd.calc(&pid1_spd);// ------------------------------------------------------------------------------// 一旦电动机速度达到期望值,使闭环速度标志位置位// ------------------------------------------------------------------------------if (rc1.EqualFlag == 0x7FFFFFFF) {SpeedLoopFlag = TRUE;rc1.RampDelayMax = 300;}// ------------------------------------------------------------------------------// 连接PWM_DRV模块,调用PWM信号产生函数// ------------------------------------------------------------------------------// 固定占空比和由速度计算的占空比之间切换if (SpeedLoopFlag == FALSE)pwm1.DutyFunc = (int16)rmp2.Out; // 固定占空比elsepwm1.DutyFunc = (int16)_IQtoIQ15(pid1_spd.Out); // 速度控制占空比pwm1.CmtnPointer = (int16)mod1.Counter;pwm1.update(&pwm1);// ------------------------------------------------------------------------------// 连接SPEED_P模块,计算速度调用函数// ------------------------------------------------------------------------------if ((mod1.Counter == 5)&(hall1.CmtnTrigHall == 0x7FFF)) {speed1.TimeStamp = VirtualTimer;speed1.calc(speed1);}// ------------------------------------------------------------------------------// 连接到数据记录模块,DATALOG// ------------------------------------------------------------------------------DlogCh1 = (int16)mod1.Counter;DlogCh2 = (int16)mod1.TrigInput;DlogCh3 = (int16)_IQtoIQ15(pid1_spd.Ref);DlogCh4 = (int16)_IQtoIQ15(pid1_spd.Fdb);// ------------------------------------------------------------------------------// 连接EN_DRV模块,调用使能/禁止PWM 信号函数// ------------------------------------------------------------------------------drv1.EnableFlag = EnableFlag;drv1.update(&drv1);#endif // (BUILDLEVEL==LEVEL3)// ------------------------------------------------------------------------------// 虚拟定时器递增计数// ------------------------------------------------------------------------------VirtualTimer++;VirtualTimer &= 0x00007FFF;// ------------------------------------------------------------------------------// 调用数据记录函数DA TALOG// ------------------------------------------------------------------------------dlog.update(&dlog);// 根据定时器时能其他需要中断EvaRegs.EV AIMRB.bit.T2PINT = 1;// 为保证系统可靠安全工作,使用一个屏蔽写到EV AIFRB寄存器EvaRegs.EV AIFRB.all = BIT0;// 响应中断,以便处理器能够从PIE的中断组3上接收更多的中断PieCtrlRegs.PIEACK.all |= PIEACK_GROUP3;}11。
基于TMS2812直流电机设计 (2)
基于TMS320F2812的直流电动机控制专业:电气092班学号:7022809072 学生姓名:黄志鹏指导教师:涂剑鹏郑国东摘要直流电机是最常见的一种电机,与交流电机相比,直流电机结构复杂,成本低,运行维护困难但是直流电机具有良好的调速性能、较大的起动转知和过载能力强等许多优点。
本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。
利用DSP芯片实现PWM调速器的正转、反转、加速、减速、停止等操作,并实现电路的仿真。
TMS320F2812是控制电路的核心,为一款最新的电机控制专用DSP芯片,它是使用32位内核的DSP,运行速度可达150MIPS,实时处理能力强,能应用于很多复杂的控制算法设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。
为实现系统的微机控制,在设计中,将DSP作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。
关键词:直流电机;PWM调速;TMS320F2812;正反转控制目录第一章概述 (4)1.1工程训练的目的 (4)1.2工程训练的要求 (4)第二章方案的选择与确定 (5)2.1 设计思路 (5)2.2 基本原理 (5)2.3 总体设计框图 (5)第三章直流电机单元电路设计与分析 (7)3.1 总电路图 (7)3.2 总电路功能介绍 (7)3.3 直流电机驱动模块 (8)3.4 直流电机的中断键盘控制模块........................ 错误!未定义书签。
第四章软件设计.. (12)4.1 软件流程图 (12)4.2 源程序设计 (12)第五章 PCB绘制与电路板制作 (14)5.1 PCB板的制作流程图 (14)5.2 生成PCB图及制版 (14)第六章功能的实现与测试报告...................... 错误!未定义书签。
基于TMS320F2812高精高速伺服驱动器的设计
基于TMS320F2812高精高速伺服驱动器的设计DesignandR溯rch设计与研究基于TMS320F2812高精高速伺服驱动器的设计暨绵浩(广州数控设备有限公司,广东广州510165)摘要:采用磁场定向与前馈补偿对数控机床进行进给控制。
以TMS320F2812DSP控制器、口M功率模块、TS5667N12017位绝对式编码器为主要功能部件,设计出一款高精高速伺服驱动器,利用Lab-View8.0软件设计出虚拟示波器,并进行实验记录。
所设计的伺服驱动控制器在加工中心上进行机械加工测试,得到了微米级Jjn-r精度的良好结果。
关键词:伺服系统永磁同步电动机矢量控制数字信号处理器绝对式编码器TheDesignofServoDriverofHighSpeedandAccuracyBasedonTM¥320F2812JIMianhao(GSKCNCEquipmentCo.。
Ltd.,Guangzhou510165。
CHN)Abstract:AccordingtoCNCMachineToolfeedingcontrol,thisreportdesignsaPMSM¥ervodrivecontrollerbytheFOCcontrolandfeedforwardcompensationcontrol,usingtheTMS320F2812DSPcontroller,IPMandTS5667NI2017-bitabsoluteencoderasthemainfunctionalunits.Thereportalsodesignsavirtual08一cilloscopebytheLabVlEW8.0torecordtheexperimentaldata.TheservodrivecontrollerdesignedherehasbeentestedbymechanicalmachiningontheCNCMachiningCenter,achievingtheresultofmicromachiningaccuracy.Keywords:ServoSystem;PMSM;SVPWM;DSP;AbsoluteEncoder作为数控机床的重要功能部件,永磁同步电动机伺服驱动装置是数控机床向高速度、高精度、高效率迈进的关键基础技术之一。
TMS320F2812在电机控制系统的应用
TMS320F2812在电机控制系统的应用1 引言在电机控制领域,TI公司推出2000系列电机控制DSP。
TMS320F2812属于最新高端产品,适合工业控制、机床控制等高精度应用。
目前2000系列芯片在电气传动中的应用以TMS320LF240x为主,应用TMS320F(C)28x的比较少。
但28x比24x系列的DSP具有更完备的外围控制接口和更丰富的电机控制外设电路,更高的主频,指令执行时间仅为6.67ns,流水线采样最高速率60ns,12位A/D转换通道16个,PWM输出通道12个。
资源足够同时控制两台三相电机,使控制系统价格大大降低而体积缩小、可靠性提高,可在高度集成的环境中实现高性能电机控制。
电机控制系统基本结构见图1,本文阐述基于TMS320F2812的DSP电机控制系统设计中的重点。
图1 电机控制系统结构原理图2 引导加载ROM引导加载是指器件复位时执行一段引导程序,一般用于从端口(异步串口、I/O口或HPI 主机接口)将EPROM/FLASH等非易失性存储器中加载程序到高速RAM 中。
2.1 TMS320 812的启动模式TMS320F2812提供了几种不同的启动模式,四个通用I/O引脚用于确定选择何种启动模式,如表1所示。
2.2 SCI SPI启动加载器通过SPI同步传输和SCI异步传输实现FLASHROM引导加载。
硬件电路见图2,JP15为SPI或SCI引导加载器选择,1—2时选择SPI,2—3时选择SCI;JP4是SPI数据传输路径的选择,位于1—2时,连接至外部扩展接口J6或串行ROM,位于2—3时连接至J5仿真数据传输接口。
图2 SCI SPI启动加载器3 A/D转换模块TMS320F2812电机控制芯片内部集成了16路12位A/D转换模块,模拟量信号采样输入范围是0~ 3.3V,16路A/D通道分为两组,AD0~AD7为一组,AD8~AD15为一组。
每组都有一个专门输入端。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第21卷第2期2008年6月
江西电力职业技术学院学报Journa l of J i a ngx i Voca ti ona l and Techn i ca l College of Electr i c ity
Vol 121,No .2
Jun .2008T MS320C2812在直流伺服控制中的应用
康 杰1
,宁艳花
2
(1.广东火电工程总公司,广东 广州 510700; 2.江西电力职业技术学院,江西 南昌 330032)
摘 要:阐述P WM 调速的原理及电路知识,介绍T MS320C2812在直流伺服控制中的应用。
关键词:T MS320C2812;伺服控制;直流电机中图分类号:TP273 文献标识码:A 文章编号:1673-0097(2008)02-0043-03
收稿日期:2008-03-04作者简介:康 杰(1979-),男,江西赣州人,助理工程师.
0 引言
直流伺服控制技术广泛应用于军工、精密机床、机器人等领域。
随着电力电子技术、数字信号处理技术的进步,使得直流伺服系统向着数字化、集成化、小型化、智能化的方向发展,为了获得调速范围宽、位置控制精度高、体积小、集成度高的直流伺服系统,该文提出了一种基于T M S320C2812的全数字直流伺服驱动控制系统。
该系统充分利用DSP 周边接口丰富、运算速度快的特点,使得系统的体积小、集成度高、可实现较复杂的算法。
T M S320C2812主要特点如下:
(1)运算速度快,工作时钟频率达150MHz,指令周期可以达
到6167ns 以内;功耗低;(2)采用哈佛总线结构,具有强大的操作能力,迅速中断响应和处理能力;(3)片内存储器包括
8K ×16位的Flash 存储器,有多达1M 存储器的扩展;(4)外
部扩展模块(P I E )可支持96个外部中断;(5)两个增强的事件管理器模块(E VA,E VB ),提供了一整套用于运动控制和电机控制应用的功能和特性,每个事件管理模块包括通用定时器(GP ),比较单元,捕获单元以及正交编码脉冲电路;(6)有改进的局域网络(e2CAN ),多通道缓冲串行接口(M c BSP )和串行外围接口模式;(7)其代码能与24X /240X 数字信号处理器完全兼容。
1 直流P WM 调速原理
在现代直流伺服系统中,大部分采用的是脉宽调制
(P WM )技术。
P WM 技术就是利用全控型电力电子开关器
件的开关特性来调制固定电压的直流电源,以一个固定的开关频率来接通和断开功率开关管,通过改变通、断时间的长短来改变直流电机电枢电压的占空比的大小从而改变电枢平均电压的大小,进而控制电机的转速。
图1是H 型可逆
P WM 功率变换电路。
四个功率管可以分为两组,
第一组功
图1 可逆H 型P WM
变换电路
图2 功率管的驱动电压
44 江西电力职业技术学院学报第21卷
率管VT2和VT4的驱动电压V2和V4相同,另一组功率管
VT1和VT3的驱动电压相同,但是两组之间的驱动电压相位
正好相反,如图2所示。
在0<t <t on 时,VT2和VT4同时饱和导通时,VT1和VT3截止,电流经过VT2到达A 点,然后流过直流电机到达B 点,然后流过VT4形成回路,此段时间电机两端的电压U AB 为+U,电动机处于电动状态。
在t on <t
<T 时,VT2和VT4同时截止,V1和V3为正,由于电枢电感
释放储能的作用,电枢电流经过二极管VD1和VD3续流,由于VD1和VD3的正向压降使VT1和VT3的c -e 极承受反压而不能导通,电枢电流流经二极管VD3和VD1形成回路。
此段时间流过电机的电流方向相同(电机在重载情况下),电机两端的电压U AB 却为-U 。
电枢电压和电流见图3。
图3 电枢电压和电枢电流
2 T MS320C2812在位置伺服控制中的应用
T MS320C2812的高速运算能力和面向电机的高效控制
能力集于一体,使得实现伺服系统的全数字化控制成为可能。
基于DSP 的全数字直流伺服电机控制系统,充分利用其丰富的周边接口,使系统的结构大为简化,为直流伺服电机驱动控制系统的小型化、集成化奠定了坚实的基础。
T MS320C28X 里的事件管理器(E V )模块是专为电动机控制
而设计的模块,它能够产生可调死区的各种P WM 波,可以通过增量式光电编码器接口测量电动机的转速、转向、角位移,通过捕捉功能测量脉宽。
图4为有刷直流伺服电机控制系统图,系统以增量式光电编码器作为位置检测单元,把检测过来的信号经过逻辑判断和速度计算分成转角和转速两个量分别反馈给位置P I 调节器和速度P I 调节器。
根据给定位置,采用梯形曲线加减速算法进行轨迹更新,中断控制程序定时采样,分析来自增量式光电编码器的反馈信号,判明电机的真实位置和转速,采用数字P I 控制算法进行实时在线控制,然后产生相应的P WM 控制信号。
由隔离驱动电路驱动功率开关管,从而驱动电机,根据指令的要求,快速而精确地进行位置、速度的调节与控制,从而在大范围内实现速度和位置的闭环伺服控制。
在设计的时候可以用串行通行接口连接PC 上位机,用上位机来控制。
此外,也可以通过I/O 口用键盘来控制。
驱动芯片可以用L MD18200、t p ic0108B 等
H 桥式专用直流电机集成驱动芯片。
图4 有刷直流电机位置伺服控制图
3 软件流程
直流伺服控制软件流程见图5。
第2期康 杰,宁艳花:T MS320C2812在直流伺服控制中的应用45
图5 直流伺服控制软件流程图
4 结束语
采用T MS320C2812来进行直流电机的位置伺服控制,能实现对直流电机的快速、精确定位,使直流电机的位置伺服控制变得更简单化和实用化,在众多的工业控制场合有广泛地应用。
参考文献:
[1]陈伯时.电力拖动自动控制系统[M].北京:机械
工业出版社,2003.
[2]王晓明,王 玲.电动机的DSP控制[M].北京:
北京航天航空大学出版社,2004.
[责任编辑 杜琴]
(上接第42页)
专门机构,把具有高度责任心和业务熟练的人充实到反窃电队伍中来,提高反窃电人员政治素质和业务素质,人人做到“企业兴衰,人人有责”。
(3)严格考核用电检查人员。
制定严格的考核制度,规范用电检查人员的行为和查处程序,明确下达任务指标(检查户数、到账金额等),实行重奖重罚的奖惩制度。
(4)设立反窃电举报电话。
成立反窃电举报中心,并设立反窃电举报电话,通过电视向全市公布。
利用举报途径获得更多的窃电信息,将反窃电工作纳入群众监督中。
(5)加强跟踪抄表工作,及时发现窃电嫌疑户。
反窃电支队与用电管理所密切配合,认真做好跟踪抄表工作,在抄表过程中认真分析用户的用电量或现场发现用户窃电,对窃电户也是一种有力的监督。
(6)加大执法力度,严厉打击窃电行为。
争取与地方公安联合开展反窃电工作,有力打击窃电行为。
平时,派来的公安人员可同用电检查人员一起工作,白天、黑夜齐上阵,这样就可有效地遏制窃电猖獗的现象,整顿用电秩序,营造良好的用电环境。
(7)始终坚持预防为主、防范与查处相结合的原则。
加强对电力线路的整改工作,对100K VA及以上专变用户套装高压计量箱,对用电量较大的商业和非普通用户安装终端监控表,从技术上使窃电户难以得逞。
(8)正人先正己,认真对待职工及亲属用电。
在对外开展反窃电工作的同时,要规范好职工及亲属用电。
行文明确指出,凡在用电检查过程中发现职工及亲属无表用电,一律按社会窃电论处。
一旦发现中层干部在局外无表用电,则就地免职,一般职工按下岗处理,这对全面推进反窃电工作起了关键性的作用。
4 结束语
不管窃电分子有多猖獗,只要我们不懈努力,正气必将压倒邪气。
经过供电部门多次大规模的稽查和各营业班站用电管理人员的不定期检查,严厉打击了不法窃电分子,有效地遏制了违章、窃电行为,给国家、企业挽回了损失,线损率在不断下降。
但是,反窃电形势依然很严峻、反窃电任务十分艰巨,仍有一些不法分子有恃无恐、顶风作案。
只要我们依照《电力法》这一强有力的法律武器,按照“组织到位、责任到位、工作到位、措施到位、考核到位、合作到位”的原则,必将能创建良好的供用电环境,为构建和谐平安的瓷都贡献一份力量。
[责任编辑 刘春景]。