在汽车Can总线系统中难道不是基于ARM芯片S3C4510的步进电机加减速控制让我们的车辆动起来了吗

  • 学术交流
  • 2025年01月26日
  • 随着工业的进步,嵌入式技术得到了广泛的应用和成熟。ARM嵌入式处理器作为一种高性能、低功耗的RISC芯片,支持多种操作系统、主频高、运算能力强,并且兼容8/16位器件,还能与海量低价的SDRAM数据存储器协同工作。这种芯片得到了各行各业的青睐,展现了强大的功能和巨大的商业价值。在控制领域,它获得了越来越广泛的应用。利用以ARM为内核的嵌入式微处理器进行运动控制系统开发,有着广阔的发展前景。

在汽车Can总线系统中难道不是基于ARM芯片S3C4510的步进电机加减速控制让我们的车辆动起来了吗

随着工业的进步,嵌入式技术得到了广泛的应用和成熟。ARM嵌入式处理器作为一种高性能、低功耗的RISC芯片,支持多种操作系统、主频高、运算能力强,并且兼容8/16位器件,还能与海量低价的SDRAM数据存储器协同工作。这种芯片得到了各行各业的青睐,展现了强大的功能和巨大的商业价值。在控制领域,它获得了越来越广泛的应用。利用以ARM为内核的嵌入式微处理器进行运动控制系统开发,有着广阔的发展前景。

在某些要求成本较低的情境下,步进电机常被用于执行元件。步进电机在这些场合最显著优势是:可以开环方式控制而无需反馈即可对位置和速度进行精确控制。但正是因为负载位置对控制电路没有反馈,步进电机必须准确响应每次励磁变化。如果励磁频率选择不当,电机无法移动到新的位置,那么实际负载位置将与所期望位置出现永久偏差,即发生失步现象或过冲现象。因此,在开环控制系统中,防止失步和过冲成为是否能够正常运行的关键。

失步和过冲通常出现在启动或停止时发生。这意味着系统极限启动频率往往较低,而需要实现运行速度却比较高。如果直接以目标速度启动,因为该速度已超过极限启动频率而不能正常开始,只能导致丢步甚至根本无法启动,从而引发堵转问题。一旦达到终点后立即停止脉冲发送,则由于惯性作用,使转子停留在接近终点平衡位置下一个平衡位置,这样产生过冲现象。在加减速过程中,就需要通过软件实现加速、匀速及减速三个阶段。此过程采用恒加速度算法,以简化操作并取得良好效果,如图1所示。

图1 步进电机加减速曲线

为了通过微处理器对步进电机进行加减速,我们改变输出脉冲时间间隔来升降压。当升压时,每个脉冲之间增加时间间隔;当降压时,每个脉符之间缩短时间间隔。这一方法基于恒定加速度原则,即每个脉符之间增加相同数量的小数秒(Δtm),直至达到目标速度,如图2所示,其中阴影部分代表单一步。

图2 加减速时脉波变化

设定m为第m段增益值Fm,其斜率a=(Fm-F(m-1))/Δtm;同时(Fm+F(m-1)) * Δtm)/2=1;由此推导出A=((fmax-f0)(fmax+f0))/(2trans);

软件实现包括使用定时器中断来管理变换过程。当我们想要用ARM芯片S3C4510生成调节信号,我们就要调整其内部计数器加载值大小,这使得计数溢出的频率等于两倍于希望产生信号频率。此函数如下:

void pulse (REG16 f0, REG16 fmax, REG16 trans, REG16 steep){

UINT16 I;

SysDisableInt(INT_TIMER0);

SysSetInterrupt(INT_TIMER0, OnTimer2);

trans = tran;

A = ((fmax-f0)(fmax+f0))/(2trans);

for(i=0;i<=trans;i++){

f[i>]=sqrt_16(2Ai+f0*f0);}

f[steep] += f[steep];

TMOD=TMOD|TMOD_DISABLE; // disable timer

TDATA[TSTEP+TSTEPMAX-steep] = 00000000 | (steep<<5) | (steep<<4); // set up the value of step counter

TMOD|=TMOD_ENABLE; // enable timer

step++;

if(step <= steep)

{

output |= OSTEP;

}

else

{

output &= ~OSTEP;

}

status ^= OSTATE;

}

其中f[steep]为起始脉波周期,f[max]为最高可能周期,tans为从初始状态到结束状态经过多少个周期spsp表示总共有多少个循环step表示当前循环中的索引status表示当前输出状态SysEnableInt(INT_TIMER)

结论

利用具有高速主频、高指令执行效率并可输出高质量振荡波特性的ARM核心微处理器,以及适用的软件策略,可以有效地提高经济型数控设备中的性能,使其能够代替传统PC驱动设备,从而降低成本。此外,在开发嵌入式实时操作系统方面,要特别注意避免潜在的问题,比如保证定时中断不会干扰其他关键任务,以维持整个系统稳定的运行。

猜你喜欢