logo资料库

接口/总线/驱动中的基于TMC246A步进电机驱动器设计方案.pdf

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
驱动中的基于TMC246A步进电机驱动器设计方案 步进电机驱动器设计方案 接口接口/总线总线/驱动中的基于 导读:TMC246A是带传感延迟检测、保护/诊断和SPI接口的高电流微步步进电机驱动器。   TMC246A是为2 相步进电机控制应用的双全桥驱动器,能预知过载的能力使TMC246A成为最适宜的渴望需要高稳定的驱动器的 选择,即使在高温环境下也允许有1.5A的电流输出(在105度高温下输出大于800毫安)。   驱动器可以用串 行SPI(12bit协议)或模拟、数字信号来控制,内部综合了短路保护、超温保护、低压和高压保护。为平稳电机 运转采用混合延迟特性,通过一个电容器或外部时钟编程PWM振荡器频率。电机电压供电范围是7到34V,数字 部分供电电压是3.3V或5V.   内部结构框图及引脚功能 导读:导读:TMC246A是带传感延迟检测、保护 是带传感延迟检测、保护/诊断和诊断和SPI接口的高电流微步步进电机驱动器。 接口的高电流微步步进电机驱动器。   TMC246A是为2相步进电机控制应用的双全桥驱动器,能预知过载的能力使TMC246A成为最适宜的渴望需要高稳定的驱 动器的选择,即使在高温环境下也允许有1.5A的电流输出(在105度高温下输出大于800毫安)。   驱动器可以用串行SPI(12bit协议)或模拟、数字信号来控制,内部综合了短路保护、超温保护、低压和高压保护。为平 稳电机运转采用混合延迟特性,通过一个电容器或外部时钟编程PWM振荡器频率。电机电压供电范围是7到34V,数字部分供 电电压是3.3V或5V.   内部结构框图及引脚功能   内部结构框图及引脚功能   TMC246A采用PQFP44封装,其引脚排列如上图所示,其应用电路及内部结构框图如下图所示,由DAC数模转换电路、 PWM控制、电流控制的门激励、传感器电流比较仪及桥式电机驱动电路、各种保护电路和控制诊断电路、SPI接口等组成。   引脚功能引脚功能   引脚功能引脚功能
  VS电机电压供电端VT对地短路检测比较仪,若不用,接VS端   VCC模拟、数字电路3-5.5V供电端GND数字、功率电路地   AGND模拟地(为SRA,SRB,OSC,SLP,INA,INB,SLP提供参考)OSC断路器的振荡器电容或外接时钟输入   INAA相模拟电流控制INBB相模拟电流控制   SCK串行SPI的时钟SDO串行SPI的数据输出(三态)   SDI串行SPI的数据输入CSN串行SPI的片选   ENN驱动器使能端(低电平有效)和过压关闭端SPESPI模式使能端,接地不使用SPI功能   ANN模拟电流使能端,低电平有效,通过INA、INB来控制SLP斜率控制电阻   BL1、BL2数字式空白时间选择SRA.SRB桥A/B传感器电流比较仪电流输入端   OA1、OA2全桥A输出端081、OB2全桥B输出端   VSA、VSB桥A/B电源供电端BRA.BRB桥A/B外接传感电阻端   上表是TMC246A的引脚功能,由于个别脚与多个引脚是一个功能,因此,给出引脚符号所对应的功能,具体哪个脚是哪 个符号参照上图。   SPI接口控制 接口控制   SPI数据设置了2极电机的电流和极性,通过使用连续的值,描述了一个正弦和余弦波,电机被微步驱动。   微处理器发送数据到TMC246A微处理器发送12bit数据到TMC246A,先发送高位,如下表所示。
  BITName功能备注 功能备注   11MDAA相混合延迟使能为1,混合延迟   10CA3A桥电流设置第3位高位   9CA2A桥电流设置第2位   8CA1A桥电流设置第1位   7CAOA桥电流设置第0位低位   6PHAA桥极性为1,电流从OA1到OA2   5MDBB相混合延迟使能为1,混合延迟   4CB3B桥电流设置第3位高位   3CB2B桥电流设置第2位   2CB1B桥电流设景第1位   1CBOB桥电流设置第0位低位   0PHBB桥极性为1,电流从OB1到OB2   电流值用标准4bit通信,CA3至CAO或CB3至CBO从0000到1111,电流值按照每6.7%的增幅变化,最小为0,最大 为,100%.所有记录内容在电源开机复位时清零或通过ENN脚使芯片进入到低功耗待机状态消失,所有SPI输入都有施密特触 发器功能。   TMC246A发送数据到微处理器TMC246A发送12bit数据到微处理器,先发送高位,如下表所示。微处理器根据TMC246A 发送回来的12bit数据,做信号处理。
  在SPI模式下通过INA和INB来控制基础电流在SPI模式下,芯片为每个DAC提供一个外部参考电压,将ANN接地,使能模 拟电流控制,INA和INB的2V输入电压给出100%电流的满刻度,在此情形下,传感器电流比较仪的负向电压由INA和INB输入 电压和DAC电流设置(在表2中设置)决定,有以下的公式:   VTRIP,A=0.17 VINAדpercent-age SPI current setting A” VTRIP,B=0.17 VINBדpercent-age SPI current setting B” 传感器的电阻RS= VTRIP/lmax,在典型应用中RS=0.34V /lmax,(本设计中已将INA、INB脚接在一起,且用电阻分压使 VINA、VINB约2V),我们选择传感器电阻为0 3欧,因此,电机最大电流I-max为0.34V/RS=0.34V/0.3=1.13A.   硬件电路设计   硬件电路设计   下图所示是TMC246A电机驱动器的应用电路图,其设计思路如下。   VS是电源供电端(TMC246A的36脚),PCB布线和连接外电源时,接线要尽可能的短和粗,而且在靠近每个电源引脚边 接一个100-470微法的电解电容(或钽电容)与一个0.01-0.1微法的高频电容,能起到很好的滤波作用。VSA、 VSB(TMC246A的30、4脚)是桥A/B电源供电端,VS通过0Ω保护电阻加到VSA、VSB上。OA1,OA2,081,082是电机输出端 口,OA1,OA2,(TMC246A的2、3、7、8和5、6、10、1 1脚)接两相电机的一个绕组上,OB1,082(TMC246A的26、27、 31、32和23、24、28、29脚)接两相电机的另一个绕组上,若电机运动方向不是我们想要的方向的时候,只需对调 OA1,OA2,或OB1,082中的任两根线就可以改变电机的转向。   在电机输出引脚和地间分别接4个肖特基二极管以减小热消耗,给电机绕组上的反电动势在断电时提供回路。 BRA,BRB(TMC246A的9、25脚)是输出电流传感器电阻连接端口,外接一个0.1 ~0.3Ω的电阻用于电流检测。该电阻应能满 足功率需求,我们设计使用了0.3Ω/2W的电阻。BRA,BRB经100Q电阻,再经SRA、SRB(TMC246A的12、22脚)接传感器 电流比较仪。   检测BRA,BRB上的电压来判断电机是否过流,一旦检测到BRA,BRB上的电压超过0.61V,PWM周期立即停止,在PWM周 期剩下的时间里,桥内的所有晶体管都关闭。错误计数加1,若错误计数达到3,则桥保持关闭余下的60个PWM周期,即这一次 正弦波,并将错误标志读出有效。在下一轮正弦波,超过63个PWM周期若没有过流,就取消错误标志。   VT(TMC246A的35脚)是对地短路检测比较仪端,检测对地短路或过流。在任何时候只要VS和VT间电压超过0.15V,在 PWM周期剩下的时间里,桥内的所有晶体管都关闭。   PWM周期的空白时间由BL1、BL2(TMC246A的21、33脚)决定,空白时间即PWM的死区时间,为的是防止全桥上、 下管直通短路。空白时间得兼顾低端晶体管的关闭时间和高端晶体管的打开时间,还有电流建立的时间。因此完整的转换持续 时间不能超过1.5 μ s.BL2、BL1为GND、GND,空白时间为0.6 μ s;BL2、BL1为GND,VCC,空白时间为0.9 μ s:BL2、BL1为
VCC、GND,空白时间为1.2μs;BL2、BL1为VCC、VCC,空白时间为1.5 μ s;本设计中BL2、BL1为VCC、GND,因此选择PWM 周期的空白时间为1.2 μ s.尽可能低的空白时间为微步给出了最好的结果。   OSC(TMC246A的13脚)是PWM振荡器频率设定端,由外部电容器来设定。内部振荡器采用28kQ电阻对外部电容器充 电/放电。也可以在此脚输入外部的CMOS电平的方波信号,不要把频率设定超过100 kHz,也不能悬空此脚。PWM振荡器频率 Fosc一1/(40 u sxCosc(n F》,本设计OSC端外接电容器是1 nF,因此,PWM振荡器频率为25 kHz.   电机在锁定状态,为减少电流,微处理器发出低电平LOCK信号,使Q1导通,INA和INB端原来的2.2k电阻和1k电阻并 联,电阻变为0.69K,此时VIN/VINB电压约为0.9V,则电机电流|为(0.17*0.9V)/0.3=0.51A,大大降低了功耗。   SLPtTMC246A的43脚)是斜率控制电阻端,全桥输出的输出电压斜率可控制,以减少对电力供应和汽车线路的噪声,且 减少电路的电磁辐射。它是由在SLP引脚外接一个外部电阻来控制,这个电阻的范围是0到lOOk.该SLP引脚可直接连接到 AGND以获得最快输出电压斜率,输出电压由15%到85%的时间和斜率控制电阻的关系如下30ns,2.2kQ;60ns,10kΩ;1 10ns,22kΩ;245ns,51kΩ;460ns,lOOkQ.本设计斜率控制电阻为22k,因此输出电压由15%到85%的时间为110ns.   ENN(TMC246A的19脚)是驱动器使能端,也是过压保护端。在禁用条件期间,电路关闭所有的输出功率晶体管,并进 入低电流停机模式。所有登记内容将被清除为“0”,所有状态标志清除。利用外接分压电阻给ENN引脚提供一个固定的1/2VCC 电压,则允许简单的使过压保护提高到40V.若VCC使用5V,过压保护阈值是26-29V,则可以按下图所示那样,将R15设为 100k,R14设为10k.若VCC使用3.3V,过压保护阈值是26-29V,则下图中,将R15改为160k,R14仍为lOk.若想用微处理器来控制 ENN,可以将R14左端接地去掉,改接微处理器,微处理器发出低电平信号,使能有效,若发出高电平信号,则使能无效。本 设计始终使能。   SPE(TMC246A的20脚)是SPI模式使能端,接VCC,使能SPI功能。   软件设计   软件设计   在上图所示TMC246A电机驱动器的应用电路图中,SDO (TMC246A的14脚)是串行SPI的数据输出 端,SDI(TMC246A的1 5脚)是串行SPI的数据输入端,SCK (TMC246A的16脚)是串行SPI的时钟端,CSN (TMC246A 的18脚)是串行SPI的片选端,低电平有效。这四个引脚和微处理器的10口相连,由微处理器来控制。下图所示是SPI接口时 序。   我们使用飞利浦公司的ARM7微处理器LPC2119来控制TMC246A.   定义数组先定义如下2个数组,上面的数组完成电机的正传,下面的数组完成电机的反传,这两个数组都是为了实现正弦 波。
  SPI总线发送数据下面的函数是向SPI总线发送数据,函数名称:MSPLSendData0,函数功能:向SPI总线发送数据。入口 参数:data待发送的数据,出口参数:返回值为读取的数据。   电机运转控制 下面的函数是电机运转控制函数,函数名称:step(),函数功能:电机运转控制。入口参数:dir方向, 出口参数:无。串行SPI的时钟由微处理器的定时器1来实现。
分享到:
收藏