1730201_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1730201_zh-CN

1730201_zh-CN

S32K116 电机控制器增加了油门(电位器)以实现速度控制

我想添加ADC通道ADC0_SE13来测量电位器电压。控制电机转速。我尝试了很多方法,但仍然无法在PDB块中正确设置它。ADC 已在 ProcessorExpert 中正确配置,然后我配置了 PDB0。我尝试了很多组合,但每次在 MCAT 工具中都会出现 PDB0 错误。

以下文件我应该如何处理?我正在使用k116 FOC 2sh示例代码。

1. 要实现这一点,需要进行哪些适当的设置?

2. 处理器专家中的ADC配置?

3. 处理器专家中的PDB配置?

4. 修改 periferals_config.c 中的代码?

5.修改main.c中的代码?

6. meas_s32k.c 中的代码修改?

客观的:

1. 将电位器连接为油门控制装置,用于控制速度。

2. 通过 PDB 背靠背触发 ADC。

3. 在中断例程中读取ADC值。其中电流和电压是使用 meas.c 测量的。

4. 根据油门需求设定速度。在ADC中断例程中。速度是哪个变量决定的?

这是配置代码,我正在修改其中的几行。以及处理器专家。

void McuPdbConfig(void)
{
/* PDB0 模块初始化 */
PDB_DRV_Init(INST_PDB0, &pdb0_InitConfig0);

/* PDB0 CH0 预触发初始化 */
PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig0);
PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig1);
PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig2);
>>>>>//PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig3);

/* 设置 PDB0 模数 */
PDB_DRV_SetTimerModulusValue(INST_PDB0, 7800);

PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 0, 0);
PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 1, 1200);
>>>>//PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 2, 2400);


Screenshot from 2023-09-27 11-57-05.png截图来自 2023-09-27 11-57-05.png

Re: S32K116 Motor Control add throttle (potentiometer) for speed control

要在 S32K1xx 电机控制项目中使用 PDB 模块通过 ADC0_SE13 添加电位器油门,MCAT 工具的核心问题源于通道分配冲突或预触发序列计数未对齐。在电机控制(FOC 2-分流)中,PDB 通道 0 通常被大量用于与 PWM 重载同步的精确电流采样。添加慢速油门测量需要单独的 PDB 通道(如果可用)或将其添加为独立的预触发序列,而不会干扰主 PWM 硬件触发信号。

Re: S32K116 Motor Control add throttle (potentiometer) for speed control问题已解决,我忘记读取 ADC 值来清除 COCO 标志。
タグ(1)
評価なし
バージョン履歴
最終更新日:
‎08-21-2026 02:37 AM
更新者: