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.

MSP430G2755: MSP430G2755 + DRV8886AT design review and questions

Part Number: MSP430G2755
Other Parts Discussed in Thread: MSP430G2744, , DRV8886AT

Hey team,

 

I am working on a motor drive demo board and am using an MSP430G2755 (or MSP430G2744 if that is capable enough) to interface with 6 DRV886AT to control them simultaneously.

 

What I would like to find out now is how we would generate the STEP signals from the MSP430 for the DRV8886AT, and if this particular 430 would be able to generate 6 independent STEP acceleration and deceleration curves to drives the 6 stepper motors? After chatting with the apps engineer from the Motor drive team they said it may be difficult to do and suggested I check with your team to make sure we have the right MCU paired up for this task.

 

Originally we only had 6 step and 6 DIR signals going to the motor drivers, but we might also have 6 additional signals for torque and 6 signals to control the ref voltage so we may need 24 GPIOs, and 6 of them need to be able to be tied directly to the timer to create the timer related step output  – I think the MSP430G2755 should be able to handle this, but wanted to confirm.

 

I would also need to set up the MSP430 to receive a SPI into - If there's an example of the best way to wire that on this MSP430 that would be helpful, I think at the moment the signals required are occupied so I'd have to move some GPIOs around.

 

Please take a look at the design to see if things are wired appropriately. I’d like to get a proper schematic review as well, the Altium design files can be found uploaded to the box here:

Download 1

 

 Thank you For your help with this!

best regards,

Saqib Mohammad

 

  • Hey Saqib,

    The MSP430G2755 has 6 timer PWM outputs (TA0.1, TA0.2, TA1.1, TA1.2, TB0.1, TB0.2) from 3 timers. Outputs from the same timer will have to share a common frequency but I'm guessing that this will not be an issue as the duty cycle is what's most important. One problem arises if your application requires a separate timer for some other functionality since all timers are used for the DRV886AT step control. If you don't need to control all 6 stepper motors at the same time then it could be possible for pairs of stepper motors to share a PWM (can be output on multiple pins in some cases) and control which one is currently active with the PxSEL register. What specific concerns did the Motor Drive Team have?

    Your MSP430 schematic looks fine at the moment, I imagine the LEDs can easily be moved from P3.1-P3.3 so that you can access the USCI SPI, code examples are provided by TI to help you get started with this communication interface. The G2755 has 32 I/O pins which should be enough for your application even with the torque and reference voltage control, possibly even add a LFXT so that the MSP could possibly enter LPM3 during operation.

    Regards,
    Ryan
  • Hello Ryan,

    The MSP430 having only 3 timers is something we only recently noticed as well, and that could potentially be a problem - for this demo we will proceed with this device, but ultimately we may need to have the MSP430 only controlling 3 motors. Alternatively do we have a MSP430 that does have more than 3 independent timers? If the option is between adding a second MSP430, or using a more expensive (2x or 2.5x the cost) device with 6 timers, then we may ultimate go with a single device for space savings.

    I have updated the Altium files uploaded - if you could kindly take a look to make sure the changes I made are okay?

    * I added a header for SPI

    * Tied nFAULT pins together to an LED

    * MSP430 is now connected to the torque signal also

    Could you pleaes elaborate on adding a LFXT? If I don't add a crystal, it will still work, but just not be able to enter the LPM?

    thanks!

    best,
    Saqib

  • Hi Saqib,

    MSP430 offers very few components with 6 individual timers (FR59xx family) and these will indeed cost twice as much as using a value-line component. SPI requires a clock signal, UCA0CLK/UCB0CLK must therefore be connected to the header (use I2C or UART for two-wire bus communication). Your application will still work without a crystal and you will even be able to use LPM0, I was just making a suggestion for maximum power savings.

    Regards,
    Ryan

**Attention** This is a public forum