Last week, after posting the “Roadmap for the DRO project”, I received a few emails from different people who were working on developing a custom PCB for the controller that can use the firmware I created. During one of the conversations it dawned on me that I never explained what my intentions for the Launchpad Interface are. At this point a lot of the controller functionality is still “vaporware” (i.e. I’m still working on it). Fortunately, when selecting the platform for the DRO controller I planned out the connections. I wanted to be sure that MSP430G2553 that come with the “Value Line” LaunchPad kit, so I carefully mapped out the future needs. In this post I will try to explain how the pins are currently used, and which pins will be used for future expansion.
I get copious amounts of flack for not posting the source code and designs sooner, but there is a good reason I “procrastinate”. Even though the DRO is a relatively small project, the fact that I decided to go the open source route comes with some responsibilities on my part. For instance, once the source code or a hardware design is posted on the blog, I consider the interface to become a contract and I can’t just change it at will. This way, when someone creates an adapter board or makes a change to the firmware, they can be certain that their contribution will be compatible with the rest of the system. The practical implication for me is that when I need to make changes, I can only add things, but the existing functionality needs to stay in place. With this in mind, it’s makes sense to hold off until I’m certain that the design will stick around.
Scale and Sensor Connections
At the time of this writing there are three different versions of DRO interface firmware for MSP430G2553 microcontroller: “Basic” (supports only iGaging scales), “Universal” (supports a mix of inexpensive capacitive scales), and “Quadrature” (supports only quadrature encoders, such as glass or magnetic scales). Neither of these versions supports tachometer or edge probe (yet). My goal for the near future is to unify all three versions into a single “Mixed Scale” firmware that can auto-detect and read all of the above scales and add the missing functionality.
|MSP430 Launchpad pins used for sensor/scale connections|
- X/Y/Z/W Clk/A - clock line input for capacitive scales using iGaging (21-bit), BIN6, 7 BCD and Sylvac (2x24) protocols; “A” channel input for quadrature encoders.
- X/Y/Z/W Data/B - data line input for capacitive scales; “B” channel input for quadrature encoders.
- Tachometer A/B - input lines for a directional tachometer that uses square quadrature signal. For non-directional tachometer the firmware will simply count pulses per second on the “A” line, so “B” channel can be left disconnected.
- Edge probe - input line for an normally-open edge probe.
Please note, all of the above input pins have large value (approx 50 Kohm) internal pull-down resistors enabled in the firmware.
The controller sends the data to the application via UART (serial port), using either a UART-to-Bluetooth adapter or an Serial-to-USB adapter. Each UART port has two lines: Rx and Tx; standard connection scheme is Rx->Tx and Tx->Rx. Since the firmware only uses one-way communications with the application, only MSP430’s Tx pin needs to be connected to the adapter’s Rx.
|MSP430 Launchpad pins used by the BlueTooth transceiver|
Please note, the microcontroller that ships with the current version of the Value Line Launchpad (MSP430G2553) has hardware UART implementation. Effective as of Rev. 1.4, Rx and Tx ports on the Launchpad are swapped. The unrelying connections are the same, and the change is in the “legend” only. I.e. the older version of Launchpad works just fine with the new chip.
Finally, for those building a DRO unit, here are the points of the LaunchPad where different power supply and the ground connections.
|Power and ground connections|
Please keep in mind, though, that the 5V voltage available at TP1 come straight from the Mini-USB connector; there is no on-board 5V regulator. When the board is connected to a PC, the 5V supply is likely clean and tightly regulated; if you plug the board using a “wall wart”, make sure that the voltage is what it says it is, or you might end up frying a set of expensive scales.