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.

LAUNCHXL-F28069M: How to setup PWMDAC module in Lab01b - InstaSPIN Project

Part Number: LAUNCHXL-F28069M
Other Parts Discussed in Thread: BOOSTXL-DRV8301

Hello,

I'm currently working on Lab01b - InstaSPIN-FOC, following the prescribed lab process for my BLDC motor control project. The BLDC motor is spinning as expected, but I'm encountering difficulties when trying to monitor SVGEN (Space Vector Generation) using the PWMDAC module with an external oscilloscope.

In the file hal.c, the following GPIO pins are being used for DAC configuration:

// DAC1
GPIO_setMode(obj->gpioHandle,GPIO_Number_40,GPIO_40_Mode_EPWM7A);

// DAC2
GPIO_setMode(obj->gpioHandle,GPIO_Number_41,GPIO_41_Mode_EPWM7B);

// DAC3
GPIO_setMode(obj->gpioHandle,GPIO_Number_42,GPIO_42_Mode_EPWM8A);

// DAC4
GPIO_setMode(obj->gpioHandle,GPIO_Number_43,GPIO_43_Mode_EPWM8B);

However, when I refer to pages 9 and 10 of the User's Guide - SPRUI11B - LAUNCHXL-F28069M Overview, I cannot find any mention of GPIO pins 40,41,42 or 43 being associated with the DAC configuration. I have identified that DAC1 and DAC2 are located at J4 pins 32 and 31, respectively. However, I am unsure about the steps and code required to configure these DACs for analog output.

I would greatly appreciate it if someone could clarify this discrepancy and provide guidance on which GPIO pins should be used for DAC configuration on the LAUNCHXL-F28069M board. It's crucial for my project, and I want to ensure that I have accurate information.

And one more question that I have successfully got my BLDC motor to spin using scalar Volts/Hertz (V/f) control. However, I recently watched a TI video titled "Implementing Digital Motor Control," where it was mentioned at the 42nd minute that V/f control is typically used for Induction Motors. I would like to seek clarification on whether scalar V/f control is also suitable and correct for BLDC motors. Can I continue to use open loop control V/f for BLDC motors, or are there alternative control methods that I should consider for better performance? I want to make sure I'm using the most suitable control strategy for my BLDC motor application and would appreciate any insights or guidance on this matter. 

Thank you for your expertise and assistance!

  • Hi Vo,

    In the reference you attached, please go to page 14, where you can find the pin mux information in the schematic.

    Generally speaking, the V/f control is open-loop control, which doesn't need feedback signals, thus it is easy to implement, but the performance is not as good as closed-loop control. The closed-loop control usually consists of a speed control loop and a current control loop, which is complex than the open-loop control method, but has better performance.

    Thanks,

    Jiaxin

  • Hello Jiaxin,

    Thank you for your response and the information about V/f control. It's good to know the distinction between open-loop and closed-loop control.

    Regarding the pinout of GPIO40 and GPIO41 (corresponding to DAC1 and DAC2) on the LAUNCHXL-F28069M, I've looked at the schematic on page 14 as you suggested. While I can see the pins labeled as DAC1 and DAC2 on J4, I'm still not entirely clear about GPIO40 and 41 exact positions among the 80 pins on the board.

    Are GPIO40 and GPIO41 physically located in the same positions as DAC1 and DAC2 on J4 ? I want to ensure about that.

    Could you kindly provide more specific information about the physical location of GPIO40 and GPIO41 on the LAUNCHXL-F28069M board? This would be greatly helpful in ensuring I have the correct pins for DAC configuration.

    Thank you for your assistance and expertise.

  • Hello Vo,

    Are GPIO40 and GPIO41 physically located in the same positions as DAC1 and DAC2 on J4 ?

    Yes. According to the schematic in page 14, and DAC3, DAC4 is the same as GPIO42, GPIO43. The GPIOs need to be configured as ePWM to achieve the PWMDAC function.

    Thanks,

    Jiaxin

  • Hello Jiaxin,

    Thank you for confirming the correspondence between GPIO42, GPIO43, DAC3, and DAC4. This information is very helpful.

    I have a follow-up question regarding monitoring the PWMDAC signal by an external oscilloscope in my setup, which includes the LAUNCHXL-F28069M board and BOOSTXL-DRV8301 for Lab1b.

    While I've been able to monitor SVGEN using Code Composer Studio, I'd like to monitor it with an external oscilloscope for certain requirements in the lab process.

    In my setup, I'm using PWM1, PWM2, and PWM3 to drive the motor. Could you please advise on the best approach to monitor the PWMDAC signal by an external oscilloscope? Is it correct to use an external low-pass filter ?

    Your guidance and support are invaluable to me in this endeavor. I appreciate your help and insights on this matter.

  • Hi Vo,

    Yes, it would be necessary to have an external low-pass filter to view the actual signal waveforms.

    You can refer to the universal motor lab users guide (https://www.ti.com/lit/ug/spruj26/spruj26.pdf?ts=1697129162948&ref_url=https%253A%252F%252Fwww.google.com%252F), in which section 2.4.2 talks about monitoring feedback through PWMDAC function.

    Thanks,

    Jiaxin

  • Thank you, Jiaxin, for your prompt and informative response. Your guidance is much appreciated. I will review the information in the universal motor lab user's guide, Section 2.4.2, to further understand monitoring feedback through the PWMDAC function. If I have any more questions, I'll be sure to reach out. Thanks again for your assistance!