Those of you that follow the TouchDRO Users G+ community know that I've been working on a pre-made adapter board for iGaging scales. Today I finished testing the first batch of the boards and will ship them out to the people that ordered them. The intention of this post is to clarify what the board does and doesn't do, as well as provide some basic instructions how to set it up.
UPDATE Dec. 4, 2016 - For more detailed instructions on how to connect various scales to TouchDRO BlueTooth adapter for iGaging scales please see Connecting iGaging Scales to TouchDRO Controller post.
TouchDRO "iGaging" board is a self-contained adapter for iGaging DigiMag Remote DRO, iGaging EZ-View DRO Plus, AccuRemote and iGaging Absolute DRO+ scales*. It supports up to four scale inputs, directional tachometer input (A/B channels), and a touch probe input. The board is designed to be a self-contained unit that doesn't require any soldering. Moreover, the software detects the protocol automatically, so there is no settings to worry about either. Basically you will get a board that is fully built, programmed, tested, and ready to go. You will need to provide your own scales and a power supply (more on that below).
Important: there are two version of Absolute DRO scales. The older version, branded Absolute DRO, is not compatible since it uses a proprietary protocol. The supported version is branded Absolute DRO+ (Plus). The ones sold on Amazon currently are of the never variety, but to be safe, double check with the seller before placing the order
|iGaging AbsoluteDRO (not supported) and AbsoluteDRO+ Reading Heads|
|TouchDRO iGaging Controller Pin Functions (click to enlarge)|
Power is supplied to the board via a standard 2.1mm power jack (same as is used by Arduino UNO and like), so any wall wart that can supply between 5V and 13V will work. The board draws very little current, so the mA rating is unimportant. If you can find one, I would recommend an old-school wall wart that has a heavy transformer in it, since it will provide isolation from the mains circuit and thus eliminate that ground loop.
The board has four scale inputs as seen in the picture. Each of the inputs has four lines: Vcc, Clock, Data, and Ground**. The scales are connected to the inputs using screw terminal blocks, so there is no soldering involved. Instead you simply cut and strip the cables. Better yet, I recommend replacing the stock cables with braid-shielded ones. In this case the shield needs to be tied to the ground on one side of the cable. Easy way to check is to see if there is continuity between connector shrouds on boths sides. If not, tie ground wire and the shielding together at the screw terminal. Otherwise leave the controller-facing side of the shielding disconnected. This way you get to keep the stock cables intact and will drastically reduce the interference from the shop noise.
Alternatively, if you want to avoid cutting the cables, you can purchase a set of Mini-USB or Micro-USB breakout boards (depending on the scales you have) and make an adapter.
It appears that different batches of iGaging scales come with different cables and wire colors. To ensure proper connection you will need to open up the reading head and check continuity between the wires and the test points on the PCB inside the head.
Keep in mind, the inputs are connected directly to the microcontroller's input pins, so the voltage should never exceed 3.6V (which shouldn't be a problem as long as the scales are powered from the board).
**Please note, silkscreen on the first batch of the boards is inaccurate: data and clock line as swapped. I will correct this problem in the next run.
Tachometer inputs can be connected to the 5-pin screw terminal block on the bottom of the board as shown in the picture. There are a few nuances to be aware of. First of all, the board is configured to accept two inputs by default (A and B). If only one input is provided, it has to be connected to the A line, and the reading will be inverted. This can be fixed either by a setting in the TouchDRO app ("Invert Reading" under the "Tachometer" section), or by adding a 5K Ohm resistor between the B line and Vcc to pull it up. Second, there are "open collector" (sometimes called "NPN") type tachometer setups. If you intend to use one, the inputs need to be pulled up to Vcc as well using 5 KOhm resistor(s).
Touch Probe Input/Tool Height Setter
A probe should be very simple to connect, since it's basically a switch that is either normally closed or normally open. One side of the probe should be connected to the probe input pin on the board, and the other should be connected to the supply voltage (Vcc). During the power-up cycle the board will query the state of the probe and set it as the "off" state.
On both sides of the MCU there are two unpopulated 8-pin headers, SV1 and SV3, that are currently unused. SV1 (on the left) is connected to pin 1.7 that is used for 21-bit clock output in the standard firmware. Since this version provides the clock directly to the relevant pins, P1.7 is currently inactive. The header on the right (SV3) is connected to four unused pins of the MCU but might be used at some point as a "Ready" line for Mitutoyo SPC protocol (once I add the support for it), or as a settings jumper.
Finally, there is an unpopulated 6-pin programming/UART header SV2 that can be connected to a LaunchPad in case the MCU needs to be reprogrammed, or for connecting a UART-to-USB adapter.
In order to avoid ground loops, there should be a single reliable connection to the machine chassis, and scale frames should be isolated from the machine. Ideally the cables to the scales should be shielded and the shields tied to the ground as close to the common grounding point as possible. There are plenty ground points on the board. First of all, each screw terminal has a ground pin. Additionally, there is a ground pin the programming header, and there is access to four ground points on the SV3 header (the side closest to the edge of the board). Finally, the PCB mounting holes are tied to the ground plane as well and make a good place for a common ground point.
The board has three LEDs:
- Green - power
- Amber - status
- Blue - BlueTooth status
When the board is powered up the green LED should be lit solid immediately, indicating the the board is getting power. A few milliseconds later the board is going to go through a 2-second self-configuration routine during which it detects scale protocols and the touch probe state. During that stage the amber LED will blink rapidly. Once the detections is complete the LED will start blinking once per second.
Blue LED can be in one of three modes: When the board is not paired, the LED will blink twice per second. Once paired the blinking pattern will change to one brief pulse every 2 seconds. Finally, when the board is connected to the application, the LED will switch to two brief pulses every 2 seconds.
My main goal was to create an adapter that is easy to use for people without any electronics experience or don't have access to soldering equipment, etc. Although this is not strictly a plug-and-play solution, the board provides a good balance between flexibility and ease of use. I've performed a lot of testing under different conditions and the controller behaves very well in a high-noise environment. As is the case with most capacitive scales, interference can still enter the system. While the board will be able to cope with moderate amount of noise, there are some easy steps that can be taken to minimize interference picked up by the wiring by using shielded cables and avoiding ground loops.