Other Parts Discussed in Thread: MCF8329A
器件型号: MCF8329A
使用 MCF8329A 定制卡以及 ATMEGA2560 微控制器的 Im。
根据 MCF8329A 数据表,我执行了 READ-MODIFY-WRITE 机制来修改寄存器而不更改保留值,然后我执行了 MPET 序列。 在 MPET 序列期间、我的 BLDC 电机运行大约 1 到 2 分钟、BEMF、Current、Speed (kp、ki) 值被加载到 shadoe 寄存器中。 1 到 2 分钟后、我的 BLDC 电机平稳停止(而 MPET 序列电机消耗 0.25 个电流)。
在电机的 MPET 序列号极数从 4 更改为 8 之后、这就是我修改该寄存器、然后加载到 EEPROM 中的原因。
然后、我尝试在断电后读回寄存器、我得到每个寄存器的 0x00000000 值。 我不知道这种情况的根本原因。
我认为、在 MPET 序列期间、从设备的地址发生了变化、并且没有注意到我将修改加载到 EEPROM 中(我猜)。
从那时起、我获得相同的 0x00000000 值。我检查了 ATMEGA2560 和 MCF8329A 的运行状况(电源轨引脚,外部上拉电阻,VCC 和 GND 之间短路,每个东西都正常)。
我尝试了扫描方法,使用 for 循环得到 I2C 从器件地址,但 bo 使用. IM 仅获得 NACK。
请更正我出错的地方、我需要集中精力找出根本原因。
两天我尝试运行 MPET 序列、此时 MPET 序列执行正确、电机也顺利旋转。 我在读取时得到 0x00000000 寄存器值、现在没有发生什么情况。