dev.nlited.com

>>

BlinkUSB

<<<< prev
next >>>>

2014-08-27 17:58:06 chip Page 1103 📢 PUBLIC

August 27, 2014 -- Chip

MSP430F5529 80LQFNThe BlinkMtr3D project has stalled for more than a month, mostly due to a three week trip to Japan for my day job. The other, and perhaps more fundamental, reason is that the BlinkMtr3D adds more parts and complexity without really discovering anything new. This makes the project itself less interesting and kills a lot of my motivation to work on it.

So I am trying a new project, one that has two new aspects that will require some figurin' out: the BlinkUSB board. This will be a simple MSP430 board with a USB port that will allow me to control the motor from my PC using a virtual COM port. The critical aspects of this project are:

  1. Placing an 80-pin LQFP part
  2. The physical USB interface
  3. The virtual COM/USB software interface in Windows. This includes device discovery, detection, driver installation, and program interface.

TI provides a "Getting Started with USB" document ( [FILE 7026] ) that is a good introduction.

TI provides two USB experimenter's boards using the MSP430F5529 microcontroller: The simple MSP430F5529LP "Launch Pad" board and the much more complex MSP430F5529EXP board which is loaded with peripherals. I want to start with the Launch Pad board because I want to add my own peripherals as I move forward. I am not interested in spending time learning how to use an existing design.

The Launch Pad board is available from Digikey for $13.49. The MSP430F5529 is priced at $3.58 (1000) from TI. The price from Digikey is much higher, $8.31/1, $6.154/100, and $4.0275/1000. This is a bit more than I expected.

The TI page for the Launch Pad contains links for downloading the design files.

This project can be broken down into discrete steps:

  1. Order the Launch Pad board
  2. Connect the LP to my PC, detect and interact with it as-is in its "out of the box" configuration.
  3. Design my own version of the LP board from the reference design without any changes, dubbed "BlinkUSB".
  4. Create the BlinkUSB Bill of Materials
  5. Order parts and boards
  6. Build the BlinkUSB and test.
  7. Add the motor driver circuit from BlinkMtr02 to BlinkUSB to create BlinkMtrU1.
  8. Write a Windows app to control the stepper motor over USB.

I ordered two Launch Pad boards from Digikey today (Aug 27). Hopefully they will arrive Friday or Saturday, otherwise they will be delayed until Tuesday due to Labor Day (already?).

I downloaded the reference files from TI and put them in D:\Src\HQ\Dev\SB\Chip\EZ430\USB\TI\.



September 1 2014 -- Chip

BlinkUSB/Motor

Now that I have built the out-of-the-box sample projects, I want to create something new: merging the MSP430F5529 with my BlinkMtr project. This will take the motor driver components from the BlinkMtr project and extract them to a daughterboard ("JumpPack") for the MSP430F5529LP board.

This is a slight detour from the plan outlined above; rather than recreate exactly the same board as the LaunchPad, I will instead be creating a daughterboard, the "JumpMtr" board. This will be much simpler (no onboard MSP430) so there is less chance of a non-functional board and (hopefully) a shorter path to having something new and interesting. This decision was also influenced by a review of the LaunchPad BOM, which included many more parts than I expected. The parts order would be too big (and expensive) and the assembly would be more than I want to take on at this point. The other option would be to remove the USB hub and ezFET components and add a JTAG header, in which case it would be a new and untested design -- which would, if it worked, do nothing new. It is important to do something new with each iteration to keep it interesting and to add to my portfolio. The "something new" will be a three-axis motor controller that can be operated from a Windows app through a USB cable.

Once the JumpMtr project is working, I can then migrate the MSP430F5529 onto the JumpMtr board to make it a standalone motor controller.

I realized, a bit late, that TI calls the daughterboards "BoosterPacks" -- not "JumpPacks". The project really should be called "BoosterMtr", but that is a search-and-replace project that must wait for a later time.

The steps for this project:

  1. Preliminary Design: Do some research, make some design decisions, and design the JumpMtr schematic.
  2. Parts selection: Not much to do here as I am reusing the BlinkMtr02 design.
  3. Layout the JumpMtr board
  4. Create the BOM for the JumpMtr
  5. Order boards and parts
  6. : Create the Windows control app
  7. Assemble the JumpMtr board
  8. Test


WebV7 (C)2018 nlited | Rendered by tikope in 107.411ms | 3.133.126.232