基于专用控制芯片的步进电机运动控制系统设计

发布者:冰心独语u最新更新时间:2012-07-09 来源: eefocus关键字:CAN  步进电机  电脉冲信号 手机看文章 扫描二维码
随时随地手机看文章

步进电机是一种将电脉冲信号转化为角位移或线位移的电磁机械装置。步进电机的稳定性和可靠性直接影响到工业控制领域的精度,特别是在点胶点焊等高精度运动控制系统中,对于步进电机的精度和稳定性要求更高。所以说,对于步进电机控制系统的研究,不论是在实际效益还是理论价值方面意义都将是巨大的。近年来不少专家学者研制出性能不错的步进电机控制系统,然而这些控制系统具有微处理器需处理的任务量大、PCB板元器件较多、系统不够稳定等缺点,这给系统的可靠性带来了较大的隐患。随着电子技术的发展,步进电机的很多功能单元如加减速控制、微步控制等都走向模块化,并且具有体积小、重量轻、工作稳定、能够实现多轴控制等优点,这给步进电机控制系统的设计和开发带来了很大的方便。

基于以上的考虑,文中利用微控制器AT90CAN128、步进电机运动控制芯片TMC429和步进电机驱动芯片TMC262设计了一种控制驱动一体化的3轴步进电机控制系统。通信方面设计了RS485接口,用于上位机与控制驱动板之间的通信,增加了CAN接口,为后续多轴联动、生产线网络化作功能扩展。

1 系统的总体设计

设计的步进电机控制系统结构框图如图1所示。

 

在该系统中设计完成的控制兼驱动集成板可作为下位机,PC、PLC和DSP等可作为上位机,上、下位机通过RS485或CAN总线等通讯接口进行通讯。上位机主要负责发送驱动装置(步进电机)的运动控制指令(如位移、速度、加速度等),下位机(微控制器)负责接收指令并对指令进行处理以输出步进电机运动所需要的脉冲信号和方向信号。

2 硬件部分设计

本系统中微控制器采用AT90CAN128,专用控制芯片采用了TRINAMIC公司生产的TMC429和TMC262。系统抛弃了传统的“CPU+外置CAN协议转换器”的方案,选择内置CAN模块的AT90CAN128主要考虑到系统的稳定性、减少电路板元器件的数量、提高系统的集成度和灵活性。TMC429提供了所有与数字运动控制有关的功能,包括位置控制、速度控制及微步控制等步进电机常用的控制功能。这些功能如果让微处理器来完成,则需占用大量的系统资源,所以它的使用可将微处理器解放出来,以把资源用在接口的扩展和对步进电机的更高层次的控制上。此外,在TMC262与电机之间还需配置H桥,系统中选用的是互补型MOSFET器件FDD8424H芯片。由于一片步进电机驱动芯片TMC262只能驱动一路步进电机,且需要与4片FDD8424H芯片使用,故系统中共使用了3片TMC262芯片及12片FDD8424H芯片。

2.1 核心控制芯片简介

2.1.1 AT90CAN128单片机简介

AT90CAN128为基于AVR RISC结构的8位低功耗CMOS微处理器。由于其先进的指令集以及单周期指令执行时间,该单片机的数据吞吐率高达1 MIPS/MHz,从而缓解了系统在功率和处理速度之间的矛盾。该单片机大部分引脚与MEGA128兼容,内部结构在继承MEGA128的资源基础上进行了改进,但其最大的特色还在于具有了符合CAN2.0A和CAN2.0B标准的全功能CAN外设模块。AT90CAN128采用Mob(消息对象)方式进行数据的发送和接受,共有15个Mob,它们具有相同的属性。

2.1.2 TMC262步进电机驱动芯片简介

TMC262是一款具有高细分率的两相步进电机驱动芯片,适用于双极性步进电机的驱动。该芯片同时带有专利技术stallguard功能和专利技术coolstep功能,前者可以实现无需传感器精确测试电机负载,后者可以根据电机的负载自动调节驱动芯片输出的电流,避免因为超载而丢步,减少电机的发热量,和其他驱动芯片相比可节省75%的能量。使用该芯片可通过两种方式控制电机:S/D(Step/Direction)模式和SPI模式。芯片内置的微步表提供了与电机电流匹配的正弦值和余弦值。TMC262的低功率、高效率、体积小的设计理念使其成为嵌入式运动控制甚至电池供电设备的完美选择,内部集成的DAC功能可实现对电流的微步控制。在使用芯片之前,需通过SPI接口对TMC262进行相关的配置。[page]

2.1.3 TMC429步进电机控制芯片简介

TMC429是TRINAMIC公司开发的小尺寸、高性价比的二相步进电机控制芯片,可以控制多达3轴步进电机。与TMC428不同,该芯片的CPU时钟频率可高达32 MHz。一旦初始化,TMC429能按照设定的目标位置和目标速度自动运行各种实时关键任务,且目标位置和速度可随时更改。它可以减少外围电路,减少电机控制软件设计的工作量,降低开发成本,缩短研发时间。和TMC262一样,在使用芯片之前,也需通过SPI接口对TMC429进行相关的配置。

TMC429有4种工作模式,可单独为每个步进电机编程。其中位置控制有RAMP模式和SOFT模式,速度控制有VELOCITY模式和HOLD模式。对于位置应用,RAMP模式比较合适,而对于持续的速度应用,VELOCITY模式比较合适。在RAMP模式,用户只要设置位置参数,TMC429计算出一个矩形速度曲线然后驱动电机自主地运行至目标位置,而且在运动期间,位置可以被任意改变。SOFT模式与RAMP模式比较类似,只是在速度减少时,速度以指数曲线下降。在VELOCITY模式,目标速度被设置,运行时TMC429会考虑用户定义的速度和加速度的极限。在HOLD模式,用户设置目标速度,但是TMC429忽略速度和加速度的任何限制,去实现完全由用户设定的任意速度曲线。此外,TMC429提供了中断机制,用户可根据具体应用要求进行设置。

微处理器通过发送和接收固定长度的数据包对TMC429的寄存器和片内RAM进行读写操作。利用TMC429自带的二个独立的SPI口,可分别与微处理器和带有SPI接口的步进电机驱动芯片相连以构成完整的系统。每次微控制器发送数据包给TMC429的同时,微控制器也接受到来自TMC429的数据包。

微控制器与TMC429之间的通信数据包如图2和图3所示。

 

备注:

RRS:寄存器/RAM选择位(RRS=0:寄存器/RRS=1:RAM)

RW:读写选择位(RW=1:读/RW=0:写)

备注:

INT:中断控制状态输出信号

CDGW(cover dategram waiting):(无握手信号时为0)

RS1、RS2和RS3:限位开关的设置(未激活时为0)

xEQt1、xEQt2和xEQt3:指示相应的步进电机是否到达目标位置

2.2 专用控制芯片间的硬件连接

专用控制芯片TMC262和TMC429的连接简图如图4所示。[page]

 

 

上图为TMC429-L1(QFN32封装)与TMC262的连接简图,TMC429与TMC262的通信方式有SPI模式和step/dir模式,本系统选用后者。CSN_0用于片选TMC429的SPI微控制接口,CSN_1、CSN_2和CSN_3分别用于片选3个TMC262以完成对TMC262的配置。

2.3 CAN总线通讯接口电路设计

系统CAN总线的硬件电路如图5所示。

CAN接口电路主要由3部分组成:单片机AT90CAN128、高速光耦合器6N137和高速CAN总线收发器。其中AT90CAN128主要负责内部CAN控制器的初始化、实现数据的接收和发送等通信任务;6N137起到控制器与工业现场相隔离的目的,可以提高系统的抗干扰能力;TJA1050是控制器区域网络(CAN)协议控制器和物理总线之间的接口,可以为CAN控制器提供差动接收性能。

2.4 RS485总线通讯接口电路设计

系统RS485总线的硬件电路如图6所示。

 

由于RS-485与TTL电平不兼容,因此两者之间需要有电平转换。目前完成此功能的芯片比较多,本系统中采用MAXIM公司生产的MAX485。该芯片内有接收器与发送驱动器,控制简单,适用于半双工通讯。为了提高通讯接口的抗干扰能力,在MAX485与单片机输出端之间接入光电耦合器;同时在A端和B端之间增加了匹配电阻,以吸收总线上的反射信号,保证正常传输信号时无毛刺。

3 软件部分设计

在硬件电路设计制作的基础上设计了控制系统的软件。控制系统的所有源代码均在AVR Studio 4和ICCAVR集成开发环境中编译和调试。为了便于系统扩展,系统软件设计采用模块化设计。[page]

步进电机控制系统的主程序设计流程图如图7所示。

 

在软件设计中,由于专用控制芯片分担了不少单片机的软件设计工作,因此通信方面的软件编程是设计的重点。设计的控制系统拟作为下位机,下位机与上位机的通信选择了RS485和CAN接口。RS485接口标准只对接口的电气特性做出规定,使其具有通用性,但不涉及接插件、电缆等,在此基础上用户可以建立自己的高层通信协议。而这个高层通信协议的建立既可以采用已有的应用成熟的通信协议,比如Modbus协议等,也可以由用户自定义RS485的通信协议。本系统采用了Modbus通信协议。CAN总线节点的软件设计主要包括3大部分:CAN节点初始化、报文发送和报文接收。

CAN节点的初始化程序的主要任务就是对总线通信控制器CAN控制器进行合适的配置,以满足系统运行的要求。CAN控制器的初始化包括了工作方式的设置、ID标志符寄存器的设置、接受屏蔽寄存器的设置、波特率参数的设置、消息邮箱Mob控制寄存器的设置和中断允许寄存器的设置等。由于本文设计的步进电机控制系统采用CAN2.0B规范,需要对CAN接收器进行相应的初始化。在完成初始化配置以后,回到工作状态进行正常的通讯任务。

限于篇幅,这里仅给出CAN控制器初始化的部分程序:

对于报文的发送,当CAN总线上的一个节点发送数据时,它以报文形式广播给网络中所有节点。当发送时,CAN控制芯片将数据进行相应的组织和传送,此时网络上其他节点处于接收状态。报文的接收主要有两种方式:中断方式和查询方式。在本设计中,采用的是中断方式,即每传来一个报文,就触发CANSTMOB中的相应中断,然后将接收到的数据从CAN数据寄存器中转移到指定的存储区域内并保存起来。

4 结束语

采用步进电机专用的运动控制芯片TMC429和驱动芯片TMC262设计了控制驱动一体化的步进电机控制系统。经过自动化生产线的实验测试表明,所设计的步进电机控制驱动一体化系统具有高细分、控制精度高和稳定性好等特点。设计的步进电机控制系统可降低软件开发的难度,减少硬件实现的成本,且控制方便。该控制系统可广泛应用于汽车行业和工业运动控制领域。

关键字:CAN  步进电机  电脉冲信号 引用地址:基于专用控制芯片的步进电机运动控制系统设计

上一篇:无线传感器网络差分修正定位算法的改进
下一篇:基于腾控T9系列PLC的电厂ETS系统

推荐阅读最新更新时间:2024-05-02 22:11

C8051F040中CAN控制器的应用
摘要:介绍C8051F040单片机内部CAN控制器的应用。详细叙述此控制器的构成及其访问方式,指出在使用时是如何配置控制器的相关控制寄存器,并且给出CAN控制器在应用中的物理层硬件电路和应用层软件设计。 关键词:CAN控制器 寄存器 报文对象 C8051F040 单片机与CAN总线连接的传统方式是将CPU与总线控制器和总线收发器相连后再接入总线网络,这样使CPU外围电路复杂化,整个系统受外部影响较大。为了解决这一问题,很多单片机厂商纷纷将CAN控制器集成在单片机芯片上。目前,单片机内部集成的CAN控制器有Motorola公司的MC68HC912DG128A、Philips公司的P87C591、Atmel公司的AT89C51C
[单片机]
ZPS-CANFD采样点测试原理及详细过程
采样点是接收节点判断信号逻辑的位置,采样点对CAN总线来说极其重要,尤其是在组网的时候,多个节点尽量保持同一个采样点,若网络中节点采样点不一致会导致同样的采样频率出现采样错误,使整个网络出现故障。 采样点的规则及原理 CAN协议里将一个位时间分为同步段、传播段、相位缓冲段1和相位缓冲段2。这些段又由称之为Time Quantum(以下称为Tq)的最小时间单位构成。1位由多少个Tq构成、每个段由多少个Tq构成等是可以设定的。通过设置bit时序,使得可以设定一个采样点以使总线上多个单元可同时采样,所谓采样点就是在这一时刻总线上的电平被锁存,这个锁存的电平作为位的值。采样点的位置在相位缓冲段1(PBS1)的结束处。 图1 CAN
[测试测量]
ZPS-<font color='red'>CAN</font>FD采样点测试原理及详细过程
汽车CAN/LIN总线数据采集解决方案
一、汽车总线数据采集 1. 什么是汽车总线数据采集? 汽车总线数据采集是指从汽车的各种 电子 控制单元和 传感器 中获取数据,这些数据可以用于监测、分析和控制车辆的各种系统和功能。 在现代汽车中,使用了许多不同类型的传感器和 控制器 ,用于监测和控制引擎、传输、底盘、安全系统等各个方面,这些传感器和控制器之间通过总线系统进行数据交换,而汽车总线数据采集就是从这些总线中获取 信息 。 2. 整车数据采集与测试的重要性? 整车数据采集与测试是汽车制造业的核心环节之一。 ● 确保车辆的运行性能:车辆制造商和研发团队需要全面了解车辆在不同工况下的运行状态,从而确保车辆的质量、安全和性能。 ● 检测 与验证汽车子
[汽车电子]
汽车<font color='red'>CAN</font>/LIN总线数据采集解决方案
51单片机实现scanf和printf函数
最开始学习C语言时,使用printf和scanf进行格式化输入输出十分方便。 学习单片机有很长时间了,之前要再屏幕上显示一个变量或者通过串口传出一些变量值观测的话,需要进行一系列的取余取整运算,很是麻烦。 最近又研究了一下keil中针对printf和scanf的实现机理,做了一些改动,实现了标准格式化输入输出,共大家参考。 1.printf函数在格式化输出时,向下调用了char putchar(char c);这个函数,在 stdio.h 里可以发现有这个函数,所以我们需要自己构造一个这样的函数,即通过串口putchar(),代码如下: char putchar(char c) { hal_uart_putchar(
[单片机]
51单片机实现s<font color='red'>can</font>f和printf函数
如何选择CAN总线工业控制器
带有集成CAN总线工业网络的工业级PC(IPC)可以帮助当今的机械设计者在最短的开发时间内集成所需的硬件和软件,达到更优异的可靠性和灵活性,此种方式同时具备维护和升级的便捷性。同时,由于产品经理对低生产成本的坚持,高采购成本的控制器已然不是一个明智的选择。 随着项目的复杂性越来越大,对以下功能的需求也越来越紧迫:高速控制、复杂动作控制、专用模拟I/O模块、快速人机接口(HMI)开发等。工业级PC的造价通常比民用PC高很多,但是一旦今天使用了廉价的产品,那么今后就可能遇到更多代价高昂的问题。从最初投入来说,生产可靠耐用的设备的成本较高,但事实上,真正昂贵的是现场服务价格,它往往是生产成本的数倍。与重要的整体技术考虑相比,这种廉价的现
[嵌入式]
芯力特具有超低功耗国产SIT1043 CAN收发器在汽车ECU中的应用
ECU是全称ElectronicControl Unit的缩写,即电子节点控制单元,泛指汽车上所有电子控制系统。随着新能源及自动驾驶汽车车上电子元件的日益增多,线路也越来越复杂,现在汽车上多个ECU之间的数据交换是通过CAN总线连接起来的,通过它将整车的ECU形成一个网络系统。当汽车启动时,如果所有ECU都正常工作会导致电池的无用消耗。为了更好的去利用整车的能源,防止出现不必要的电池能量浪费,CAN网络管理可以很好的解决此类问题,最大可能的高效利用整车电池能源,节约用车成本,延长车载电池使用寿命。我们了解ECU按照唤醒方式,可以将ECU网络节点类型划分为两大类:ECU本地唤醒与ECU CAN总线远程唤醒:01本地唤醒:唤醒源来源于
[嵌入式]
芯力特具有超低功耗国产SIT1043 <font color='red'>CAN</font>收发器在汽车ECU中的应用
步进电机控制之8255A
电路连接(如图一): 元器件(80c51芯片,8255A芯片,74ls373锁存芯片,l298驱动芯片,三相六线步进电机,按钮若干,电源)​​ 图一 汇编源程序: ORG 0000H; LJMP MAIN1; ORG 0030H;(头文件) MAIN1:MOV DPTR,#0FF7FH;检测PA口状态 MOV A,#91H; MOVX @DPTR,A; MAIN:MOV DPTR,#0FF7CH; MOVX A,@DPTR; CJNE A,#0FFH,L1; LJMP MAIN; L1:CJNE A,#0FEH,LOOP2; LOOP1:MOV DPTR,#0FF7DH;控制电机正转 MOV
[单片机]
CAN总线设备如何连接使用
以太网转can模块能够让以太网总线上的设备与CAN总线上的设备互发信息,协同使用,是一种常用的CAN数据转换器。那么,它应该如何连接使用呢?我们简单的聊聊。 既然是CAN转以太网设备,那么它肯定集成了CAN口以及以太网接口。CAN口我们有的人不熟悉,但以太网不说人人家里都有,基本上也差不多。无论是电脑、交换机还是路由器,这些常见的以太网设备都是通过RJ45接头的网线实现连接的,CAN转以太网设备也不例外。说了设备的以太网端以后我们再说设备的CAN端。以太网转CAN设备的CAN端是通过多P端子实现连接的,在实际连线时,CAN设备之间CAN高连CAN高,CAN低连CAN低,连接线类型为双绞线或者是屏蔽双绞线。有的朋友可能会发问了,
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved