This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MCF8329EVM: Meaning of different current registers (where are phase currents? Why are Iq and ID always 0)

Part Number: MCF8329EVM

Hi, I'm driving the motor with the MCF8329EVM and looking to get more detailed current information. The BUS_CURRENT looks good but is heavily filtered so I'd like to know what other information is available, I have several questions

  1. Why is it not possible to monitor/plot the phase current registers in motor studio?
  2. Iq and Id are always 0, do they only have meaningful values when in current control mode instead of RPM?
  3. What are IALPHA and IBETA? I could not find any explanation in the datasheet. They also appear to always be 0.

  • Hi Ian,

    Thanks for evaluating the MCF8329EVM.

    1. We are adding the phase current variables in the Charts panel in the next GUI release. However, due to the bandwidth limitation/refresh rate of the GUI when reading registers, I've found it to not really be that useful in monitoring the phase current, other than to simply verify that the device is indeed commutating its outputs.

      To better monitor the phase current and observe the shape of the waveform, I would recommend using the DACOUT feature of this device. You can then use an oscilloscope and regular voltage probe to capture a real time phase current waveform on the DACOUT pin. To use DACOUT pin, you'll need to:
      1. Configure register DEVICE_CONFIG1.[DAC_SOX_ANA_CONFIG] to DACOUT
      2. Configure register DAC1.[DACOUT1_VAR_ADDR] to the address of the algorithm variable you wish to monitor (e.g. 0x43C for PHASE_CURRENT_A)
      3. Configure register DAC1.[DACOUT1_SCALING] to 0x2 (or any other values depend on how you want to scale it)
      4. Configure SW1 on the EVM to the LEFT position (towards the "BRAKE_SW" silkscreen")

    2. There are some bugs for variables in the Charts panel that causes the values to not be calculated properly. We have fixed these in our internal builds, and all variables should display correct values in the Charts view in the next release.
      1. If you look at the register map view and read the algorithm variable registers, you'll see values being updated for Id, Iq, Ialpha, and Ibeta. You can then use the equation in the register description tables of the datasheet to convert the hexadecimal into appropriate current values in Amps.
      2. Id and Iq should always display the device's actual Idirect and Iquadrature output.

    3. Ialpha and Ibeta are the intermediary current components during the Clarke and Park transforms used in FOC calculation. Clarke transform converts the 3-phase components from the stationary ABC/UVW reference frame into the Ialpha and Ibeta components in the orthogonal stationary reference frame (αβ). Afterwards, Park transforms then converts the Ialpha and Ibeta components into the Id and Iq in the orthogonal rotation reference frame (dq).
      1. Please refer to https://www.mathworks.com/solutions/electrification/clarke-and-park-transforms.html
      2. Also this page with good visualizations: https://www.switchcraft.org/learning/2016/12/16/vector-control-for-dummies

    Regards,
    Eric C.

  • Thanks, I set DACOUT to monitor Iq and confirmed it is working, and you're right thats probably a more useful method of viewing phase currents as well