CN101246366A - 一种三轴步进电机控制平台 - Google Patents
一种三轴步进电机控制平台 Download PDFInfo
- Publication number
- CN101246366A CN101246366A CNA2008100186804A CN200810018680A CN101246366A CN 101246366 A CN101246366 A CN 101246366A CN A2008100186804 A CNA2008100186804 A CN A2008100186804A CN 200810018680 A CN200810018680 A CN 200810018680A CN 101246366 A CN101246366 A CN 101246366A
- Authority
- CN
- China
- Prior art keywords
- fpga
- control
- register
- control module
- stepping motor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Control Of Position Or Direction (AREA)
- Control Of Stepping Motors (AREA)
Abstract
本发明公布的三轴步进电机控制平台,用于晶圆检测显微镜三轴的位置控制。包括有ARM处理器、现场可编程逻辑门阵列FPGA、步进电机驱动器、手柄控制模块和用于X、Y、Z轴步进电机位置反馈的光栅尺等,现场可编程逻辑门阵列FPGA内部建立有X、Y、Z轴运动参数寄存器、位置反馈寄存器及其它控制寄存器。ARM处理器通过通讯线路从控制计算机获取控制命令,将控制命令译码成为FPGA所需要的控制参数配置到FPGA中相应的控制寄存器中,FPGA检测控制寄存器中值的变化,并根据给定的值驱动各轴步进电机的运行。该步进电机控制平台运用ARM和FPGA的联合控制策略,克服了采用专用步进电机控制芯片的桎梏,给用户的二次开发带来了很大的扩展空间,同时也增强了控制的稳定性。
Description
技术领域
本发明涉及的是一种三轴步进电机控制平台,用于控制晶圆检测用显微镜三轴的位置,实现晶圆检测的自动化。
背景技术
晶圆检测设备用于检测光刻后的晶圆产品。晶圆检测设备经过三轴电控化改造,再配合专门的晶圆检测软件可以实现自动对焦、自动检测等功能。可以将在检测中的人为因素减到最小,不仅解放了人力,也大大提高了检测精度。目前用于三轴步进电机控制平台的控制策略多采用微处理器配合国外专用步进电机控制芯片的方案。采用专用步进电机控制芯片的方案在简化设计的同时也带来了一个问题,就是设计的扩展空间不大。检测设备的特殊控制要求往往得不到满足。本发明涉及的三轴步进电机控制平台采用ARM加FPGA的控制方案,在FPGA内部设置运动控制寄存器,ARM接收控制命令并根据命令配置FPGA内部不同轴的运动控制寄存器,间接控制FPGA完成控制任务。FPGA设计很像ASIC设计,一旦逻辑设计固化后工作就很稳定。如果想更改设计只要简单的重写程序即可,所以ARM加FPGA的控制方案给以后的功能扩展带来了很大的空间。
发明内容
结合晶圆检测设备的自动化改造项目,同时针对采用专用运动控制芯片设计带来的成本高和限制大的缺点,本发明公开了一种基于ARM和FPGA的三轴步进电机控制平台。本发明采用ARM接收控制计算机的控制指令,指令译码后将相应的运动控制参数配置进FPGA内部预设的运动控制寄存器中,FPGA探测到运动控制寄存器中运动控制参数的变化,根据变化的情况改变运动状态。整个设计简洁有效,柔性很大,有利于后来的功能扩展。
本发明的技术方案如下:
一种三轴步进电机控制平台,其特征在于:包括有ARM处理器、现场可编程逻辑门阵列FPGA、步进电机驱动器、手柄控制模块和用于X、Y、Z轴步进电机位置反馈的光栅尺,现场可编程逻辑门阵列FPGA内部建立有X、Y、Z轴运动参数寄存器、位置反馈寄存器及其它控制寄存器,ARM处理器外接有外部扩展RAM和外部护展ROM,控制计算机通过RS232通讯接口与ARM处理器通讯连接;根据事先规定好的通讯协议,控制计算机通过RS232通讯接口将控制命令和配置数据传送给ARM处理器,ARM处理器将接收到的数据处理后,通过与FPGA相连的数据线和地址线将处理后的数据写入FPGA内的与X、Y、Z轴运动参数寄存器中;FPGA内嵌有细分控制模块、扭矩控制模块和电流控制模块三个控制逻辑,细分控制模块用于控制步进电机的细分参数、扭矩控制模块设置步进电机的最大扭矩、电流控制模块用于设置流过步进电机相线圈的最大电流值,并受控于X、Y、Z轴运动参数寄存器中的值;FPGA通过细分控制模块、扭矩控制模块和电流控制模块三个控制逻辑控制步进电机驱动器,步进电机驱动器驱动X、Y、Z轴步进电机产生运动;光栅尺将检测到的X、Y、Z轴步进电机的实际位置参量反馈给FPGA,在FPGA内部有逻辑比较X、Y、Z轴步进电机的理论位置值和实际位置参量之间的偏差并自动给予补偿;手柄控制模块通过通讯控制总线接入FPGA,以实现手柄对X、Y、Z轴步进电机的控制。
所述的三轴步进电机控制平台,其特征在于:
ARM处理器选择ARM7或ARM9系列芯片;
外部扩展RAM选择SRAM或SDRAM;
外部扩展ROM可选择FLASH或ROM;
FPGA选择Altera公司的Cyclone、CycloneII或CycloneIII系列芯片。
在本发明中首先确定了控制计算机和ARM处理器的通讯协议,然后确定了ARM和FPGA之间的控制策略。ARM和FPGA的控制策略主要是确定每一个轴所需要的运动控制寄存器的种类、每一种寄存器的比特数以及用于控制的二级寄存器的数量和数据流向。
ARM处理器从控制计算机接收到控制指令,控制指令在ARM中译码。处理器首先对控制计算机传输过来的操作数做数据处理,形成FPGA需要的控制数据,包括步进电机的启动速度、加速度、驱动高速和运行距离等等。此时ARM并不直接配置FPGA的控制寄存器,而是读取FPGA内部所要操作轴的运行状态寄存器,从状态寄存器获取当前轴的运行状态,一旦轴状态可以更改,则将数据通过ARM的数据线和地址线写入FPGA中。
FPGA内部的每个轴的寄存器分成3种:命令寄存器、运行参数寄存器和运行状态寄存器。命令寄存器用于装载各种不同的运动命令字,如正向运行命令字、负向运行命令字、立即停止命令字、减速停止命令字和改变驱动速度命令字等等。运行参数寄存器用于装载与每个轴要完成一个运行所必需的参数,如驱动速度值、运行距离值、加速度值、中断源选择等等;运行状态寄存器用于保存当前轴的运行状态,如当前轴是否处于加速状态、当前轴停止的原因、当前轴产生中断的中断源等等。
当ARM改变FPGA内部的命令寄存器后,FPGA通过内部的逻辑执行命令寄存器中的指令,给步进电机驱动器输出驱动脉冲流、驱动方向信号和驱动器使能信号。FPGA输出的驱动脉冲流就包括了运行参数寄存器中的信息,如加速或减速等等。FPGA输出的驱动脉冲流是弱电信号,不足以驱动步进电机的线圈,脉冲流经过步进电机驱动器的环形分配、细分处理和功率放大后输出给步进电机的线圈带动步进电机转动。
在执行定步长驱动时,驱动过程完成后,FPGA会比较光栅尺所反馈的实际位置和理论位置之间的误差,在不需要ARM干涉的情况下自动补偿到指定位置。同时,可以通过在FPGA指定的寄存器中存储丝杠的回程误差,开启控制平台的自动回程补偿功能,实现在运行中对丝杠回程误差的补偿。光栅尺的实际位置反馈使每一个轴工作于闭环状态,配合丝杠的回程误差补偿功能,使每个轴的工作更精确更稳定。
在检测显微镜应用中还需要使用手柄控制(control stick),control stick的控制也需要集成在运动控制平台上,并且control stick控制和控制计算机的控制不能相互冲突。本发明采用FPGA完成此功能,通过功能按钮来切换不同渠道的脉冲流,脉冲流的驱动源有两个:一个是FPGA内部根据运动控制寄存器而生成的运动控制脉冲流;另一个就是通过joystick控制模块产生的运动控制脉冲流,功能按钮通过切换这两个脉冲流渠道来切换控制主体。
同现有技术相比,本发明的优点为:1)设计简洁,功能完整,定位精度高。2)新功能开发拓展方便,满足新产品的开发各种需求。3)成本低廉,经济适用。
附图说明
图1本发明结构原理框图。
图2本发明硬件结构图。
图3本发明电机及控制手柄接口图
图4本发明FPGA电路图。
图5本发明ARM电路图。
具体实施方式
下面结合附图对本发明做详细描述。
图1所示为系统的结构原理框图,由图中可见整个控制平台分成5个部分:
ARM处理器部分:这个部分还包括外部RAM和外部Flash。外部RAM存有运行时的临时数据,外部Flash用于存放ARM的运行代码。ARM通过RS232接口同主机联系,接收控制计算机的控制命令。ARM通过另外一路RS232接口与晶圆检测用显微镜联系,给显微镜发送控制命令,控制显微镜的光栏和目镜的转换。ARM通过16根数据线和8根地址线与FPGA相连,和FPGA交换数据。
FPGA部分:FPGA内部有若干运动控制寄存器,FPGA接收ARM的配置数据并根据配置数据做相应的运动控制,如配置位置反馈寄存器、命令寄存器等。FPGA通过ARM的地址线和数据线与ARM交换数据。此外和FPGA连接的部分有手柄控制模块、光栅尺反馈和步进电机驱动器等。
手柄控制模块:该部分引入手柄控制,在FPGA的控制下切换手柄控制和逻辑控制。
光栅尺反馈部分:该部分FPGA通过读取各轴光栅尺获得实际位置值,在这个实际位置数据的基础上实现闭环运动控制。
步进电机驱动器:这个部分将步进电机的控制脉冲进行环形分配并做功率放大以驱动步进电机。
在本发明中关键的硬件主要包括两个方面:FPGA部分和ARM部分,以下对这两个部分的设计做详细的描述。
1)FPGA部分
如图2所示,FPGA采用cyclone的EP1C6T144C8。FPGA通过ARM的数据线和地址线与ARM交换数据。FPGA的120脚~134脚和139脚、140脚与ARM的D0~D15相连;FPGA的114脚~118脚和119脚与ARM的A1~A7相连,除此之外,FPGA的105脚、106脚和107脚分别连接ARM的读控制端、写控制端和片选端。在FPGA内部建立运动控制寄存器,并将这些寄存器的地址与ARM的寻址地址相关联,则ARM处理器可以通过读写运动控制寄存器控制FPGA的工作。
FPGA输出脉冲给步进电机控制器,通过步进电机控制器的功率放大驱动步进电机。FPGA的1~7脚、10脚、11脚连接至X轴步进电机驱动器,这些引脚的功能包括:输出的步进电机控制脉冲流信号、步进电机运动方向信号、步进电机驱动器细分控制信号、步进电机驱动器电流控制信号、X轴原点信号和X轴限位信号;同样的FPGA的26脚、27脚和31~39脚为Y轴步进电机驱动器的信号;FPGA的41脚、42脚、48~53脚、56脚和57脚连接至Z轴步进电机驱动器。
手柄的控制信号也是连接至FPGA的。手柄控制模块的脉冲信号输出端分别连接至FPGA的60脚、61脚和70脚,手柄的脉冲信号输出是随同手柄摆动幅度变化而变化的;FPGA的69~71脚连接至手柄控制模块的轴锁定按钮,在轴锁定状态下,锁定轴的手柄输出脉冲被忽略;FPGA的72脚连接至手柄控制模块的功能锁定按钮上,功能锁定按钮的功能是切换手柄和控制计算机对对应轴的控制权;FPGA的73~76引脚连接至手柄控制模块的光栏切换和目镜切换按钮,FPGA中的控制逻辑负责接收手柄控制模块的命令并通知ARM处理器通过串口控制晶圆检测设备变动光栏和转换目镜。
FPGA的99脚、100脚、103脚和104脚为中断反馈信号脚,这4个引脚分别接至ARM的EINT0~EINT3脚上,在每次运行结束后或发生异常情况时这些引脚会给出一个异常电平从而触发ARM产生一个中断,在ARM的中断程序中,ARM处理器读出FPGA内各轴运动状态寄存器的值从而判断出FPGA产生中断的原因,并以此为基础做出相应的处理。
为了实现闭环控制,三轴步进电机控制平台还留有与光栅尺的接口。光栅尺产生的信号多为422电平信号,MAX3097是专门用于将运动控制平台上光栅尺一类的位置检测器件的422电平信号变为TTL电平的集成芯片。FPGA83脚~85脚和96脚~98脚分别连至X轴和Y轴光栅尺的反馈信号接口,FPGA内部逻辑根据ARM配置的运动控制参数完成一次运动,在运动过程中和运动结束时,FPGA不断比较实际位置值和理论位置值之间的误差,在不用ARM干涉的情况下完成误差的实时补偿。
2)ARM处理器部分
如图5所示,ARM处理器采用的是PHILIP公司的LPC2292处理器。在设计中为了保证运动控制平台的稳定性,给ARM处理器移植了uCLinux系统,uCLinux系统是一个源码开放的系统,核心小、运行平稳。为了能让ARM上的操作系统和工作程序稳定工作,给ARM处理器扩展了外部RAM和外部FLASH,外部RAM和外部FLASH都是字长为16bit的存储器。FLASH的型号为SST39VF160,RAM的型号为CY7C1041。
ARM处理器对工作电平要求较高,在本发明中采用专门的系统复位芯片MAX803S。该复位芯片的阈值电平为2.95V,复位时间为140ms。和一般的阻容复位电路相比较,此种复位电路更小巧,工作也更稳定。
Claims (2)
1.一种三轴步进电机控制平台,其特征在于:包括有ARM处理器、现场可编程逻辑门阵列FPGA、步进电机驱动器、手柄控制模块和用于X、Y、Z轴步进电机位置反馈的光栅尺,现场可编程逻辑门阵列FPGA内部建立有X、Y、Z轴运动参数寄存器、位置反馈寄存器及其它控制寄存器,ARM处理器外接有外部扩展RAM和外部护展ROM,控制计算机通过RS232通讯接口与ARM处理器通讯连接;根据事先规定好的通讯协议,控制计算机通过RS232通讯接口将控制命令和配置数据传送给ARM处理器,ARM处理器将接收到的数据处理后,通过与FPGA相连的数据线和地址线将处理后的数据写入FPGA内的与X、Y、Z轴运动参数寄存器中;FPGA内嵌有细分控制模块、扭矩控制模块和电流控制模块三个控制逻辑,细分控制模块用于控制步进电机的细分参数、扭矩控制模块设置步进电机的最大扭矩、电流控制模块用于设置流过步进电机相线圈的最大电流值,并受控于X、Y、Z轴运动参数寄存器中的值;FPGA通过细分控制模块、扭矩控制模块和电流控制模块三个控制逻辑控制步进电机驱动器,步进电机驱动器驱动X、Y、Z轴步进电机产生运动;光栅尺将检测到的X、Y、Z轴步进电机的实际位置参量反馈给FPGA,在FPGA内部有逻辑比较X、Y、Z轴步进电机的理论位置值和实际位置参量之间的偏差并自动给予补偿;手柄控制模块通过通讯控制总线接入FPGA,以实现手柄对X、Y、Z轴步进电机的控制。
2.根据权利要求1所述的三轴步进电机控制平台,其特征在于:
ARM处理器选择ARM7或ARM9系列芯片;
外部扩展RAM选择SRAM或SDRAM;
外部扩展ROM可选择FLASH或ROM;
FPGA选择Altera公司的Cyclone、CycloneII或CycloneIII系列芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100186804A CN101246366A (zh) | 2008-03-10 | 2008-03-10 | 一种三轴步进电机控制平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100186804A CN101246366A (zh) | 2008-03-10 | 2008-03-10 | 一种三轴步进电机控制平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101246366A true CN101246366A (zh) | 2008-08-20 |
Family
ID=39946852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100186804A Pending CN101246366A (zh) | 2008-03-10 | 2008-03-10 | 一种三轴步进电机控制平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101246366A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004468A (zh) * | 2010-11-07 | 2011-04-06 | 上海交通大学 | 基于fpga单处理器的光纤接口多轴运动控制系统 |
CN102402201A (zh) * | 2011-10-24 | 2012-04-04 | 华中科技大学 | 多轴运动控制系统 |
CN102629081A (zh) * | 2012-04-13 | 2012-08-08 | 中国科学院光电技术研究所 | 一种基于fpga的dmd数字无掩模光刻机工件台控制系统 |
CN103419201A (zh) * | 2013-08-19 | 2013-12-04 | 电子科技大学 | 基于fpga的多指节机器人控制系统及其控制方法 |
CN103701376A (zh) * | 2013-11-25 | 2014-04-02 | 嘉兴中润微电子有限公司 | 一种电机驱动芯片电流衰减模式控制电路 |
CN104635654A (zh) * | 2013-11-13 | 2015-05-20 | 沈阳新松机器人自动化股份有限公司 | 一种loadport控制系统 |
CN104626167A (zh) * | 2013-11-11 | 2015-05-20 | 沈阳芯源微电子设备有限公司 | 一种自动示教用无线通信晶圆系统及方法 |
CN104714484A (zh) * | 2013-12-16 | 2015-06-17 | 天津百利环保有限公司 | 一种基于fpga数控开槽机的控制器 |
CN107493041A (zh) * | 2017-08-15 | 2017-12-19 | 深圳怡化电脑股份有限公司 | 多路电机控制系统与控制方法及自助金融设备 |
CN108544044A (zh) * | 2018-06-26 | 2018-09-18 | 宁波科路机械设备有限公司 | 一种线切割机床专用混合式步进电机驱动器 |
CN109781209A (zh) * | 2019-03-01 | 2019-05-21 | 杭州依美洛克医学科技有限公司 | 移液及液位检测电路 |
CN109889108A (zh) * | 2019-04-17 | 2019-06-14 | 广东华志珹智能科技有限公司 | 一种贴片机四轴闭环驱动控制器 |
CN110815229A (zh) * | 2019-11-20 | 2020-02-21 | 浙江中烟工业有限责任公司 | 一种码垛机器人驱动方法及驱动系统 |
CN111309669A (zh) * | 2020-02-10 | 2020-06-19 | 宁波中控微电子有限公司 | 一种可编程电机运动控制片上系统 |
CN113848813A (zh) * | 2021-09-23 | 2021-12-28 | 合肥工业大学 | 一种基于plc单元的三轴运动控制系统 |
-
2008
- 2008-03-10 CN CNA2008100186804A patent/CN101246366A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004468A (zh) * | 2010-11-07 | 2011-04-06 | 上海交通大学 | 基于fpga单处理器的光纤接口多轴运动控制系统 |
CN102402201A (zh) * | 2011-10-24 | 2012-04-04 | 华中科技大学 | 多轴运动控制系统 |
CN102629081A (zh) * | 2012-04-13 | 2012-08-08 | 中国科学院光电技术研究所 | 一种基于fpga的dmd数字无掩模光刻机工件台控制系统 |
CN103419201B (zh) * | 2013-08-19 | 2015-07-08 | 电子科技大学 | 基于fpga的多指节机器人控制系统及其控制方法 |
CN103419201A (zh) * | 2013-08-19 | 2013-12-04 | 电子科技大学 | 基于fpga的多指节机器人控制系统及其控制方法 |
CN104626167A (zh) * | 2013-11-11 | 2015-05-20 | 沈阳芯源微电子设备有限公司 | 一种自动示教用无线通信晶圆系统及方法 |
CN104635654A (zh) * | 2013-11-13 | 2015-05-20 | 沈阳新松机器人自动化股份有限公司 | 一种loadport控制系统 |
CN103701376A (zh) * | 2013-11-25 | 2014-04-02 | 嘉兴中润微电子有限公司 | 一种电机驱动芯片电流衰减模式控制电路 |
CN104714484A (zh) * | 2013-12-16 | 2015-06-17 | 天津百利环保有限公司 | 一种基于fpga数控开槽机的控制器 |
CN107493041A (zh) * | 2017-08-15 | 2017-12-19 | 深圳怡化电脑股份有限公司 | 多路电机控制系统与控制方法及自助金融设备 |
CN107493041B (zh) * | 2017-08-15 | 2023-10-20 | 深圳怡化电脑股份有限公司 | 多路电机控制系统与控制方法及自助金融设备 |
CN108544044A (zh) * | 2018-06-26 | 2018-09-18 | 宁波科路机械设备有限公司 | 一种线切割机床专用混合式步进电机驱动器 |
CN109781209A (zh) * | 2019-03-01 | 2019-05-21 | 杭州依美洛克医学科技有限公司 | 移液及液位检测电路 |
CN109781209B (zh) * | 2019-03-01 | 2023-12-08 | 杭州依美洛克医学科技有限公司 | 移液及液位检测电路 |
CN109889108A (zh) * | 2019-04-17 | 2019-06-14 | 广东华志珹智能科技有限公司 | 一种贴片机四轴闭环驱动控制器 |
CN110815229A (zh) * | 2019-11-20 | 2020-02-21 | 浙江中烟工业有限责任公司 | 一种码垛机器人驱动方法及驱动系统 |
CN111309669A (zh) * | 2020-02-10 | 2020-06-19 | 宁波中控微电子有限公司 | 一种可编程电机运动控制片上系统 |
CN111309669B (zh) * | 2020-02-10 | 2022-07-22 | 宁波中控微电子有限公司 | 一种可编程电机运动控制片上系统 |
CN113848813A (zh) * | 2021-09-23 | 2021-12-28 | 合肥工业大学 | 一种基于plc单元的三轴运动控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101246366A (zh) | 一种三轴步进电机控制平台 | |
US9815158B2 (en) | Rotary-magazine tool changer capable of changing tool storage position | |
CN103226344B (zh) | 一种运动控制片上系统 | |
CN103955231B (zh) | 多关节机械臂智能控制方法、装置及系统 | |
CN102887123A (zh) | 一种全线控电动汽车中央控制器及其控制方法 | |
CN105334853A (zh) | 双核高速四轮微微鼠冲刺控制器 | |
CN108931981A (zh) | 一种自动驾驶车辆的路径规划方法 | |
CN102837311B (zh) | 一种五轴中低速全自动点胶机器人伺服控制器 | |
CN103576614A (zh) | 一种多轴运动控制系统 | |
CN104615087A (zh) | 总线型运动控制器 | |
CN100392587C (zh) | 用于编程智能模块的向导 | |
CN1854951A (zh) | 数字控制器 | |
CN104175315A (zh) | 移动机器人载运的节点自动投放装置 | |
US8667475B2 (en) | Computer-readable storage medium and program-converting method | |
CN110815229A (zh) | 一种码垛机器人驱动方法及驱动系统 | |
CN104635624A (zh) | 用于控制四轴加工设备的数控系统控制方法及其控制系统 | |
US7936138B2 (en) | Motor controller for radio control | |
CN102624308B (zh) | 步进电机的一体化控制驱动器及控制驱动方法 | |
US20220402121A1 (en) | Control and monitoring of a machine arrangement | |
US20220011781A1 (en) | Personal mobility and control method thereof | |
JPH0545375B2 (zh) | ||
CN206764766U (zh) | 一种机器人手臂工具组合结构 | |
CN204271965U (zh) | 一种步进驱动器 | |
CN113110304A (zh) | 一种多通道的运动 | |
CN106394258A (zh) | 一种能量回收方法、装置及车辆 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080820 |