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.

Help selecting the right MCU

Other Parts Discussed in Thread: MSP430F5529, INSTASPIN-BLDC, DRV8301, DRV8312, LM3S818, TMS320F28035, CONTROLSUITE, DRV8302

Hello,

I'm in the initial phase of a new project and I would like your suggestion to select the correct micro.

The application is ebike type motor driver and the main requirements are:

1/ BLDC sensored (3 hall effect) and sensorless operation

2/ input control monitoring (4 buttons, 1 encoder signal, 1 PWM input)

3/ USB and bluetooth communication

4/ field upgradable sw

5/ low cost

low power is also impprtant as this is battery operated, however the battery is quite large so we can compromise a little on this requirement....

Thanks,

 Andrea

  • Andrea,

     

    You might want to have a look at Stellaris. Specifically our new M4 devices. They are equipted with encoder inputs, PWMs, GPIOs, USB and are upgradable in the field through our bootloader. The hall effect sensor can be interfaced using software and there is example code available for just that.

    Here is a link to the LM4F232:

    http://www.ti.com/product/lm4f232h5qc

     

    Bluetooth can be added using one of our modules, such as the CC2560-PAN1315:

    http://www.ti.com/product/cc2560-pan1315

  • Hi David,

    as far as the micro I had mainly been looking at these families from TI:

    - MSP430

    - Piccolo

    - Stellaris M3

    How does the M4 compare to these? Isn't it higher power? I think BLDC (even sensorless) requires very little CPU power, wouldn't you agree? Woudl the instaspin method require more?

     

    For the bluetooth I did take a look at those and I think it would work well for me. What is required on the MCU side? I am expecting maybe a serial communication and some SW to handle the communication stack?

    Btw, do you also have similar modules for wireless LAN?

     

    Thanks,

    Andrea

     

     

  • Andrea,

    The MSP430 will not be suitable for what you want. It does not have a QEI. There are some versions with USB (ie. MSP430F5529). Piccolo does not have USB on board.

    The Stellaris M4s offer noticeably lower standby current than the M3s. 

    I cannot comment on the CPU overhead for BLDC as I have no experience with it. Instaspin is more math intensive as it is sensor-less so my first guess is that it would require more CPU time, but is a nice solution.

     

    On the Bluetooth side, you can run the Bluetooth stack right on the MCU or you can run it on a host MCU. The PAN1315 module has only the radio transceiver so how you want to run the stack is up to you.

     

    We do have a wireless LAN (b/g) module, the CC3000, which uses SPI for host control. Here is a link to the wiki:

    http://processors.wiki.ti.com/index.php/CC3000_Wi-Fi_for_MCU

  • Hi,

    is the instaspin library available for the m4?

    Thanks,

     ANdrea

     

  • Andrea,

    We will have InstaSPIN-BLDC running on the M4 early in '12, but the existing M3 library should run right away on it (maybe a few cycles inefficient).

    I agree with above, the Stellaris family is the best choice for your application considering all of the connectivity you are looking for.

    There is a Stellaris M3 kit with InstaSPIN-BLDC that will be released on 12/12, so you can get started with this.  We have plans to release an M4 version in March which will also include sensored BLDC and sensorless FOC, but we could probably get you something early in the year to get started.

    www.ti.com/instaspin-bldc

    I am guessing for the current requirements you will want to look at the DRV8301 or 8302 kit.  This is currently available only with Piccolo, but the port to a Stellaris device would be rather simple (especially if you start with the Stellaris software for the DRV8312).

    I've run e-Bikes with both kits and InstaSPIN-BLDC.  Very fun to see if instantly spin!

     

  • Hi Chris,

    I will take a close look at the different MCU available in the Stellaris family, but is there any reason that would push me to use M4 instead of M3?

    I also did not realize Instaspin was already ported to M3 family, can I already order this? Or could you tell me on which MCU it will run so I can start familiarizing myself with it?

    It looks like this would be the fastest path ...

     

    Thanks,

     Andrea

     

  • Andrea,

    DK-LM3S-DRV8312 is the part number, it will be announced 12/12. It uses the LM3S818 device (on a controlCARD)

    I mention the M4 device because it is higher performance, has USB, better ADC, more Flash, more RAM, (more everything) and I'm sure will have the latest support on the communications interfaces / stacks you are interested in for the rest of the system.

    From the motor control side it's essentially a wash.


  • Since the M4 is still part of the Stellaris family, will it run the same code as the M3? So can I start development on the M3 and decide later to move to the M4?

     

    Do you have a more detailed description on how the instaspin works?

    In particular I'd like to know:

    - how does it handle first start?

    - does second start work differently? (so after a stop, but not loss of power)

     

    Thanks,

     Andrea

     

  • Yes, in general the M4 will run the same code as the M3.  There are some different peripherals and set-up code of course. But StellarisWare APIs abstract a good deal of even that to make the porting process pretty seamless.  InstaSPIN-BLDC.lib is compiled on a per platform basis, so it will be re-compiled for the M4F, but it will be functionally the same.

    There are a couple of start-up options, basic and advanced. I'm attaching the project guide from DRV8301-HC-C2-KIT and here is the short Workshop/Lab, you'll want to look at section 3.2.1 and 3.2.2

    For high torque start-up motors the advanced start-up mode has worked very well.  A controlled start-up where you synch into the back-emf commutation is exactly what is needed.

     

     

  • Hi Chirs,

    I see the DK-LM3S-DRV8312 has been released. However the kit does not meet our current requirements.

    In the product page it says that the MDL-LM3S818CNCD control card is compatible with the DRV8302-HC-EVM.

    Is it possible to order these 2 items?

    I can find the the  MDL-LM3S818CNCD on your website for $49, does it include the instaspin software? Even if not purchased as the whole DK-LM3S-DRV8312) kit?

    I could not find the DRV8302-HC-EVM sold separately, do you know if it is available?

     

    Thanks,

     Andrea

     


  • Andrea, the DRV8301-HC-C2-KIT and DRV8302-HC-C2-KIT are both available from eStore and distribution. If it shows out of stock it is only a day or so, our supplier is building these constantly. Both of these come with the TMS320F28035 controlCARD.

    Yes, the Stellaris controlCARD MDL-LM3S818CNCD is available for order, and it is interface compatible to the DRV830x board.  Note that there is NOT a specific software project support for the kit yet.  The best way to do this IMO is

    1. look at the F28035 version of the software that is in controlSUITE

    C:\ti\controlSUITE\development_kits\DRV830x-HC-C2-KIT_v101

    you'll notice the code is actually built off of the DRV8312 code and it's clear where there are differences between the two in the main code (search for DRV8312 and see the ifelse statments, plus obviously check the ADC, PWM, and DRV830x SPI/IO interfacing)

    2. With these places in mind, make those changes to the Stellaris DRV8312 project that is included in StellarisWare

    I was going to point to the link to download the specific contents, but the page appears to be having issues

    http://focus.ti.com/mcu/docs/mcuorphan.tsp?contentId=87903

     

  • Hi Chris,

    thanks for the feedback: I just want to clarify step 2:

    the SW for the controlCARD MDL-LM3S818CNCD can be generated by using the DRV8312 SW modified according the  DRV8302-HC-C2-KIT SW, correct? Both of these are available for download...

    (basically I don't need the full DRV8312 kit, but I do need the full DRV8302 kit)

     

    Thanks,

     Andrea

     

  • Yes. The Stellaris + DRV830x software will be the Stellaris + DRV8312 software with some minor changes that are recognizable by viewing the F28035+DRV830x software (and maybe some aren't so recognizable like PWM and ADC set-up. It may be helpful to diff the F28035 DRV8312 vs DRV830x files to see all differences)

    And if you download Crosshairs Interface Designer evaluation you should even be able to use the Stellaris Interface Designer source project, connect using your new Stellaris + DRV830x .out, and have full GUI operation w/o any changes (the F2803x based InstaSPIN_GUI already supports both DRV8312 and DRV830x with the same GUI source/exe, just a different .out running on the MCU)

    All of the SW is free to download.

     

  • Hi Chris,

    I went on the DK-LM3S-DRV8312 home page to try and download the project software, but I could not find the link.

    I already downloaded ControlSuite but it includes only the Piccolo version of InstaSpin. I also downloaded Stellarisware but could not find the Instaspin sw in it...

    Could you post the link?

    Thanks,

     Andrea

  • sorry for the delay

    All Stellaris MCU SWU is available through www.ti.com/stellarisware

    you can download the whole thing or specifically for the DRV8312 kit:

    http://www.ti.com/product/sw-dk-lm3s-drv8312

    There was an issue on the 22nd where the wrong documents were put into the package, haven't checked if this download was repaired yet.

     

     

  • Can someone tell me why this thread has been moved to the MSP430 forum?
    Please move it back to the Stellaris.

    (It's not the first time such an obviously wrong move happened, so I suspect a bug in the forum software, moving the wrong thread)

  • Hi Chris,

    I've been working on configuring the micro and I have a question on the external clock used in the MDL-LM3S818CNCD control card.

    In the user manual (page 18) the clock (Y4) is identified as 16MHz. However on the same page the micro (U2) is labelled LM3S3601. I'm wondering if this page is correct?

    Especially because it does not seem that 16MHz is supported, and most of the example codes use SYSCTL_XTAL_6MHZ to configure the clock, leading me to believe the clock is 6MHz.

    Could you clarifiy this for me?

    Thanks,

     Andrea

  • The crystal is 6 MHz, part number FQ7050B-6

    I've sent both issues to Stellaris team. 

  • Awesome!

    Thanks,

     Andrea

  • Andrea,

    I just realized you were looking at the Stellaris device that is used for USB-JTAG communication.  Page 17 has the LM3S818 which does show 6 MHz crystal.

  • that was pretty stupid of me...sorry to waist your time.

    Thanks,

     Andrea