基于CPLD的两相混合式步进电机多细分高速恒转矩控制器 【技术领域】
本发明涉及一种基于CPLD的两相混合式步进电机多细分高速恒转矩控制器,是一种两相混合式步进电机控制器。
背景技术
步进电机作为伺服机构的关键部分,对于高精度控制系统,一般采用电流控制方式的驱动系统,以细分驱动为最佳控制方式。目前最常用的是采用单片机设计步进电机控制器,优点是价格低廉,有成熟的技术和丰富的资源,但汇编语言的编写有一定的难度,且程序可读性不强。采用DSP也能实现多细分高速控制,但是DSP软件程序是顺序执行的,而CPLD是硬件连接,外接相同的晶振,能达到的最高速度比DSP要高很多。FPGA和CPLD一样,产品高度集成化、系统化,缩短和简化硬件设计和升级的过程,能实现多细分高速控制,但是FPGA的内部资源很丰富,资源得不到充分的利用,有些浪费。从搜索到的论文看,有不少采用单片机和CPLD组合使用设计步进电机控制器,CPLD在系统中只做简单的组合逻辑使用,还有一部分虽然也采用CPLD单独做为主控芯片,但采用的大都是是MAX3000和MAX7000系列的CPLD,由于此类芯片内部资源有限,实现的功能只是简单的运行,不能实现高达128细分的运行方式。
【发明内容】
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于CPLD的两相混合式步进电机多细分高速恒转矩控制器,
技术方案
一种基于CPLD的两相混合式步进电机多细分高速恒转矩控制器,其特征在于包括复位开关、晶振电路、隔离电路、细分数选择开关、正反转开关、起动停止开关、CPLD主控芯片、DA转换电路、电流检测过流保护电路、电流给定电路和2路恒流驱动电路;外部脉冲通过隔离电路将5V转换为3.3V,输出控制CPLD主控芯片;CPLD主控芯片根据细分数选择开关、正反转开关或起动停止开关的信号,在晶振电路输出的时钟信号控制下输出细分数据的量化值至DA转换电路;DA转换电路根据电流给定电路输出模拟转换后的信号至2路恒流驱动电路;2路恒流驱动电路将检测的两相混合式步进电机电流转换的电压与DA转换电路的输出电压进行比较,控制电机绕组上电压的开通与关断;电流检测过流保护电路将两相混合式步进电机中绕组信号与本电路保护电压进行比较,做出是否保护的逻辑信号送至CPLD主控芯片。
所述的细分数选择开关为整步、2细分、4细分、8细分、16细分、32细分、64细分和128细分。
所述的DA转换电路采用NJU39610D2。
有益效果
本发明提出的基于CPLD的两相混合式步进电机多细分高速恒转矩控制器,本系统采用Altera公司的MAX II系列CPLD EPM570T100C3,其与FPGA的内部结构非常接近,在小规模的时序逻辑中使用更为方便实用,结构简单,且CPLD内部是硬件实现,速度很快,配以DA转换电路和恒流驱动电路,完全能实现步进电机的多细分高速恒转矩控制。在相同时钟下单独采用CPLD做主控芯片比采用DSP、单片机速度快;比FPGA节省资源,且结构简单,无需外配配置芯片;单独做为主控芯片,不与其他数字处理芯片配合使用,结构简单。
【附图说明】
图1:本发明控制系统实施例的方框图
图2:脉冲输入及隔离电路图
【具体实施方式】
现结合实施例、附图对本发明作进一步描述:
参见图1,如其中的实施例所示,基于CPLD的两相混合式步进电机多细分高速恒转矩控制系统包括脉冲输入、控制器和两相混合式步进电机。控制器包括:一个复位开关,晶振电路,脉冲输入隔离电路,三个细分数选择开关,一个正反转开关,一个起动停止开关,CPLD主控芯片,DA转换电路,电流检测过流保护电路,电流给定电路,恒流驱动电路。
隔离电路采用芯片ADUM1200,CPLD主控芯片采用EPM570T100C3,DA转换电路采用NJU39610D2DA转换芯片,恒流驱动电路采用驱动芯片LMD18245T。
电路联接关系为:外部脉冲输入隔离电路,隔离电路联接CPLD主控芯片;CPLD主控芯片分别联接细分数选择开关、正反转开关、起动停止开关、电流检测过流保护电路、DA转换电路和晶振电路;DA转换电路联接电流给定电路和2路恒流驱动电路,2路恒流驱动电路联接两相混合式步进电机的绕组;电流检测过流保护电路联接两相混合式步进电机的绕组。
参见图1和图2,详细说明本发明所述控制器的工作流程。外部脉冲输入连接到隔离电路隔离芯片ADUM1200的3脚,经隔离电路,脉冲信号电压经滤波处理,电压值由5V转换为3.3V,从隔离芯片ADUM1200的6脚输出,连接到CPLD,CPLD采用EPM570T100C3,CPLD内部资源根据程序布局布线,形成期望的电路。该电路根据细分数选择开关、正反转开关、起动停止开关的信号,晶振电路输出的时钟信号,在脉冲输出的和晶振电路输出时钟信号的控制下,输出数字量细分数据,该数据为正弦和余弦波形数据的量化值,两路数据分时输出。该量化值输出到DA转换电路,该电路采用NJU39610D2DA转换芯片,该芯片是专门为两相步进电机细分驱动而设计的数/模转换器,一片NJU39610D2内部具有两路D/A转换,7位分辨率,以及电流方向控制Sign输出,根据电流给定电路给定的电压值,输出相应大小的模拟值。该模拟值输出到恒流驱动电路,恒流驱动电路采用专用驱动芯片LMD18245T为核心,该电路根据从两相混合式步进电机检测的电流值转换成电压值,与D/A输出的模拟值进行比较,若检测出的电流转换值大于D/A输出的模拟值,电路截止加在电机绕组上的电压,反之,导通加在电机绕组上的电压。这样,D/A电路输出不同的D/A输出的模拟值,绕组中就流过不同的电流值,电机绕组上流过地电流的大小始终与D/A电路输出的模拟值保持恒定的比值关系。电流检测过流保护电路是对电机绕组中流过的电流进行实时检测,转换成电压值,与一计算好的定电压进行比较,当此电压大于定电压时,保护信号输出为高电平,当此电压小于定电压时,保护信号输出为低电平,此保护信号输入到CPLD,电机的两相保护相互独立,两路保护信号进行或逻辑,无论是哪一路有一定宽度的高电平,CPLD就执行保护操作,复位NJU39610D2DA转换芯片。
参见图1,本控制器主控芯片采用CPLD EPM570T100C3,充分利用片内资源,且外部电路简单,可靠性高,控制程序在片内通过布局布线实现硬件连接,速度快,实现电机的高速控制,整步、2细分、4细分、8细分、16细分、32细分、64细分、128细分状态运行。
参见图2,包括脉冲输入,隔离电路。该隔离电路包括一个电容C1,一个电阻R1,一个电阻R2,一个电容C2和脉冲输出。电阻R1起限流作用,电阻R2起消除干扰作用。在没有电阻R2的情况下,关掉外部信号发生器的脉冲输入,电机有时候会继续转动,电机继续转动时在脉冲输出检测到方波输入,证明有干扰信号。加上电阻R2,关掉外部信号发生器的脉冲输入,并反复试验多次,电机均停止转动,在脉冲输出检测不到信号,证明干扰信号消除。