×
嵌入式 > 技术百科 > 详情

由SA51和MSP430F1121组成的驱动控制系统

发布时间:2020-06-11 发布时间:
|
摘要:介绍了脉宽调制功率放大器SA51和16位单片机MSP430F1121的基本特性,给出了由它们组成的两片式的电机转速控制系统的简单应用方法和电路。 关键词:SA51 MSP430F1121 脉宽调制 DCO 捕获 现在的电子设备往往要求体积小、重量轻、效率高,通常在苛刻的环境条件下,尤其在军工产品中,设计者非常希望使用单片或双片系统以尽可能地减少器件数量。SA51和MSP430F1121以其自身的高集成度和强大功能成为组成双片驱动控制系统的理想选择方案。该方案可广泛应用在对电机、电磁阀的控制系统中。 1 SA51简介 1.1 SA51的特点参数 SA51是由美国APEX公司生产的脉宽调制功率放大器,它能为负载提供5A的连续电流。该全桥放大器能在很宽的供电电源范围内工作,对桥上臂和下臂开关的驱动和控制电路混合集成在器件内,用户只需提供与TTL电平兼容的PWM信号就可进行四象限模式的幅值和方向同时控制,而且与数字控制器的接口非常简单。SA51的内部电路可提供适当的死区时间间隔以保护桥的四个N沟道场效应管,场效应管的导通电阻很低,而开关速度却很高(最高可达500kHz),效率可达97%。对于空闲/休眠模式或错误保护,SA51提供有与TTL兼容的禁止管脚来关断四个场效应管。SA51采用8脚TO-3封装,可安装在小型散热器上或直接焊装在印制电路板上。 SA51的电气极限参数如下: *供电电压+Vs:80V; *峰值输出电流:7A; *逻辑供电电压Vcc:16V; *内部功耗:120W; *管脚焊接温度(10s):300℃; *环境温度:150℃; *贮存温度:-65~150℃; *使用温度:-65~125℃; **输入端输入电压:0~Vcc; *禁止端输入电压:0~Vcc。 1.2 SA51的结构功能 SA51放大器的原理框图如图1所示。现将各管脚的功能描述如下: Vcc:内部逻辑电路和MOSFETS上臂和下臂驱动器的低压电源; Vs:H桥供电电源,MOSFETS从这个电源端获得输出电流,该脚电压范围为Vcc~+80V,MOSFETS标称值为100V。该脚到地的旁路电容可滤除电压被动,以确保在开关期间供电电压的稳定,该电容应尽量靠近Vs管脚; AOUT:半桥的输出脚A,当PWM输入为高时,该脚输出为Vs; BOUT:半桥的输出脚B,当PWM输入为低时,该脚输出为Vs; RSENSE:两个半桥下臂的共同联接点,可连接一个到Vs地的检测电阻以检测电流,实际上该脚也可以直接连到Vs的地。但该管脚相对于Vs地的最大允许电压%26;#177;2V; GND:输入逻辑和Vcc的地; PWM输入:用于输入与TTL兼容的PWM信号,占空比在0%~100%之间; 输入禁止:用于关断四个MOSFETS管,该脚为1时为关断,为0时使能。 2 MSP430F1121简介 2.1 MSP430F1121的主要功能 MSP430F1121是美国TI公司生产的单片机,它采用高效16位RISC内核,具有27条指令和125ns的指令周期,使用1.8~3.6V(最高到4.1V)低电压供电,程序代码加密后无法解密。该单片机只需外接一个电阻和一个电容即可实现高精度斜率A/D转换,同时可串行在线编程。该器件具强大的中断功能和高达10万次的擦写次数,其定时器A在比较模式下可方便地实现D/A转换或生成脉宽调制输出信号。MSP430F1121内含4kB+256B Flash以及256B RAM,采用20脚SOWB或TSSOP封装,P1、P2端口的14个I/O引脚均可独立编程为输入、输出和中断状态,也可以整体作为端口使用。 2.2 MSP430F1121的时钟系统 MSP430F1121有ACLK(辅助时钟)、MCLK(主系统时钟)和SMCLK(子系统时钟)三种时钟。这三种时钟可由低频振荡器LFXT1CL经1、2、4、8分频后得到低频时钟。MCLK和SMCLK也可由DCOCLK经1、2、4、8分频后得到高频时钟。DCOCLK则可将DCO振荡器产生的频率经软件FLL后得到。 图2 电机转速控制原理图 DCOCLK的软件FLL方法为:DCO基础频率由内部或外部电阻向DC发生器注入的电流决定(可由DCOR控制位来选择片内或片外电阻),当DCOCLK为5MHz时选片内电阻,DCOCLK大于5MHz时,选择片外电阻。它的基础频率可由电阻控制位Rsel2、Rsel1、Rsel0分频8为个标称频率范围,然后由控制位DCO2、DCO1、DCO0再进行分频调节,调整位MOD4~MOD0可用于控制DCO和DCO+1两种频率之间的切换。 下面是一个设置时钟的程序,该程序以将ACLK设置为4096Hz(LFXT1CLK/8=32768Hz/8=4096Hz)、DCOCLK设置为8MHz、MCLK和SMCLK选择DCOCLK为例进行编写,其中delta=DCOCLK/ACLK=8M/4096=1953。 #include "msp430x11x1.h" #include "stdio.h" #define delta 1953 void setdco(void); main(void) { WDTCTL=WDTPW+WDTHOLD; //关看门狗 BCSCTL1|=DIVA1+DIVA0; //ACLK=LFXT1CLK/8 BCSCTL2|=DCOR; //用外部电阻 Setdco(); } void setdco(void) { int fir1,fir2,lable1=1; fir2=0; TACTL=TASSEL1+TACLR; CCTL2=CCIS0+CM0+CAP; TACTL|=MC1; For(;lable1==1;) { lable2: if((CCTL2%26;amp;CCLFG)==0) //测试是否捕获到数 goto lable2; CCTL2=CCTL2-CCLFG; //清除捕获标志 fir1=CCR2; fir1=fir1-fir2; fir2=CCR2; if(delta>fir1) { DCOCTL=DCOCTL+1; if(DCOCTL= =255) {if((BCSCTL1%26;amp;7)= =7) lable1=0; else BCSCTL1=BCSCTL1+1; } } if(delta

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
DAC811KP的技术参数