我正在处理马达伺服驱动器应用程序。
该设计的第一个应用涉及与相对高功率的电动机(200V直流无刷/高达30A,因此6kW)配合使用
我提到这个细节,因为它将与动态关系/电流波形预计随时间变化的速度有关-我尚未研究电机的具体特性...
此外,我们可以预期高电流被切换时会出现恶劣的瞬变现象...
H形电桥配置将用于驱动电机。
TB1CCR0将定义PWM的周期(当前使用5kHz频率,因此周期为200US)。
对于SMCLK (DCO)的默认1MHz,该值为199。
TB1CCR1用于发送至H形电桥一侧的PWM信号,以及发送至另一侧的TB1CCR2。
因此,工作循环可以在0到200之间以1为步长进行调整,对应于1US的步长。
(我可以在以后增加时钟频率和PWM频率以及分辨率(0和100 % 占空比之间的步数)-但这些是当前使用的参数。)
两个问题:
1)我需要测量电机电流(我打算使用高侧电流感应分流器)。
建议的良好做法是通常不在I/O切换期间进行ADC测量。
由于涉及到高功率电机,我们可以预期H桥接器正在切换时会发出令人厌恶的瞬时信号...
这将得出这样的结论:ADC测量值最好与PWM信号同步。
这样,电机电流的ADC测量可以在PWM高电流周期的中间(和/或PWM低电流周期的中间)进行。
唯一可用的ADC触发源是(msp430fr2355.pdf的第77页)
0 ADCSC位(软件触发器)
1个RTC事件
2 TB1.1B
3 eCOMP0 cout
TB1.1B与我的H桥PWM信号的一侧有关。
但是,当电机以相反方向驱动时,这将是恒定电压,而不是PWM信号(而TB1CCR2将驱动来自H形电桥另一侧的相关PWM信号)。
此外,当沿该方向行驶时,TB1CCR2不能与ADC触发事件相关联。
因此,问题在于如何将电机电流测量值与PWM信号同步?!
[一厢情愿的想法:
如果可用的ADC触发器是TB3.x (请记住TB3有7个CCR,而TB1只有3个),那么就不会有很大的困难;
TB3CCR0可以定义PWM周期/ TB3CCR1和TB3CCR2 H桥每侧的两个PWM信号,例如,TB3CCR3是ADC测量的触发信号。
借助此功能,可以在相对于PWM波形的精确时间进行ADC测量。
是否有任何MSP430芯片具有此功能?!]
还需要考虑工作频率/采样和转换时间。
例如,如果采样在PWM波形的高周期内,则低占空比只能使用较短的时间。
软件可能变得相当复杂... :-(.
ADCSC位(软件触发器)可用于控制采样,作为可能的前进方向。
然而,会有相关的延误,使问题复杂化。
1a)另一种办法是考虑采取更简单的执行办法。
为此,将以与PWM启动和停止或其占空比无关的频繁间隔采样电机电流。
潜在的缺点包括:
(A)易受到开关瞬态和对ADC信号的干扰
(B)测量值的代表性有问题(因为采样将在PWM占空比的不同阶段进行)。
可能测量结果会以合理的方式达到平均值?!
2)还有其他几个ADC测量值(大约6个),包括+/-10V模拟速度请求命令,实际电动机速度,散热器温度...
每个ADC测量所需的采样速率将有所不同;例如,相对较少地对散热器温度进行采样是足够的,而电机电流,电机速度等则是如此
大概需要以更快的速度进行采样。
对于如何以不同速率采样6个左右ADC输入,是否有建议的策略(和示例代码)。
(还请记住,在问题1之后,最好与PWM信号的特定部分同步采样马达电流)。
重复序列转换模式是MSP430FR2355的一个很好的功能。
为了能够使用此功能,我需要提前仔细计划如何准确地订购6路ADC输入。
对于MSP430FR2355,采样从向下到A0,而在其它芯片中,我知道可以设置停止点,即从向下到Am的采样
如果电流测量的执行频率高于其他测量值,我是否应该将其与最高的ADC通道编号相关联?
我们非常感谢您提供任何帮助和建议!