New TouchDRO Adapters Coming Soon

Thursday, November 5, 2020

Since the pre-assembled TouchDRO Adapter for Glass DRO scales has been out of stock for over a month, I got a fair number of emails and Facebook messages asking when the board will be in stock. The short answer is that it won't be - I have discontinued that version of the adapter and am replacing it with two new options for Glass/Magnetic scales.

I have been working on a DIY DRO Kit and a more advanced pre assembled DRO adapter for a few months now. My original plan was to order one more batch of the old adapter version and phase it out by the end of the year. Unfortunately, as I was placing my order, I was informed that the assembly has been re-quote using a new formula, and it will now cost two-and-a-half times more. This caught me completely by surprise. The new boards were still not fully ready for the production run, but I didn't want to rush them to avoid dumb mistakes. Now that I have ironed out a few of the remaining issues, I'm finally ready to place the first production order for both adapters. If things go as planned, I will have the first production batch of the two new boards by the end of November and will start shipping them in the beginning of December. Meanwhile, I will take this opportunity to do a quick preview of the new adapters and go over the differences and what my motivations were for the change.

Introduction

There will be a DIY Kit version of the adapter that is based on the MSP430 microcontroller, and a pre-assembled version based on a much more powerful 32-bit microcontroller. The adapters have very similar basic features but are designed for different use cases. The DIY Kit uses a bit more basic circuit, compared to the old board, and is designed to be budget-friendly and easy to build. The pre-assembled adapter, on the other hand, is much more sophisticated and powerful than the old version and is designed to satisfy the most demanding performance requirements.

Overview of the DRO Firmware

Before diving into the adapter details, I'd like to go over some concerns and design considerations that are specific to the glass scale adapter so you will have a better idea what the differences between the new adapter versions are.

Since Glass and Magnetic DRO scales don't have any internal logic to keep track of their position, the work has to be done by the adapter. Therefore, it's critical for the firmware to not miss-count any pulses from the scales, or the DRO will accumulate position error over time, and lead to slow position drift and loss of accuracy. There are three main ways in which the DRO can develop this error:

  • The firmware can mistake line noise for a legitimate pulses (state transition), leading to over-counting
  • If a scale is moved very fast, the pulses can come faster than the microcontroller can process them, leading to under-counting
  • If two scales produce a pulse at [almost] the same time, the firmware can miss the one of them, also resulting an under-count

There are techniques that can reduce or eliminate the possibility of position drift but they usually pose a tradeoff between cost and reading speed. For instance, the inexpensive Chinese DROs have a very basic circuit based on older 8-bit microcontrollers. They rely solely on the fact that under normal conditions a machinist will not be able to move an axis fast enough to overpower the controller, and even if some pulses are missed, the total accumulated error will be reset when the DRO is power-cycled. In contrast, High-end name brand DRO units (those costing upwards of $1000 or more) use dedicated quadrature counter chips that are purpose built for this application and can handle millions of pulses per second. Since each axis has a dedicated counter and very robust input conditioning circuit, these units remain very accurate.

The original MSP430 version of TouchDRO falls somewhere in between the two. It lacks any special quadrature decoder hardware, but since it uses a more modern and powerful 16-bit microcontroller, it has some built-in ways to mitigate the risk:

  • The microcontroller has faster instructions and can handle larger numbers, so each pulse is handled much faster (as much as 3-5 times faster)
  • Since TouchDRO uses a dedicated Android tablet for display and all other heavy lifting, the controller can dedicate almost 100% of its resources to handle scale input
  • The interrupt handling hardware (the thing that detects input pulses) can "remember" that a pulse was received while it was in the middle of handling the previous pulse
  • The firmware uses a state machine that helps it detect and ignore sporadic line noise

All this combined significantly improves TouchDRO's performance, compared to most Chinese DRO heads. In my testing the adapter was able to comfortably handle 50,000 edges (state transitions) per axis when all four scales were moving, or upwards of 100,000 edges with a single moving scale. In practice this means that it can handle up to four 5-micron scales moving at around 9.8 inches per second (250mm per second).

* Edges are state transitions that are correlated to the number of tickmarks on the encoder strip and are 4x the signal frequency. For instance, a 5 micron scale will output 5,000 edges per millimeter.

Adapter Overview

DIY Adapter Kit

Assembled Prototype of a TouchDRO DIY Adapter Kit

As mentioned earlier, the DIY Adapter Kit is based on the same architecture as the original pre-assembled board but uses a bit more basic circuit in order to reduce the cost and simplify the assembly. In fact, the main difference between the kit and the old board is the fact that the kit uses a basic line driver/buffer IC instead of the differential receivers, so it works only with the single-ended scales (or differential scales with the secondary lines disconnected). Since the vast majority of inexpensive Chinese Glass DRO scales use single-ended output with a very basic circuit, the DIY kit is a good match for them. It uses an updated and optimized version of the tried-and-true MSP430 Quadrature Firmware that can handle moderate axis movement speeds and offers a good position refresh rate.

Side note: it's hard to do an apples-to-apples comparison between TouchDRO and a Chinese DRO unit, since the Android tablet is in a completely different performance bracket. Based on my testing, the kit can comfortably handle traversal speeds three-to-five times higher than a basic Chinese DRO head when the tachometer is not used or used with less than 1000 pulses per second; otherwise I was able to get two-to-three times higher traversal rate.

Pre-Assembled Adapter Board

Pre-Assembled DRO Adapter Board Prototype

The new DRO adapter is designed for a completely different microprocessor architecture that is factors of magnitude more powerful. It's based on a new dual-core 32-bit microcontroller, which not only uses core frequency that is 10x faster than MSP430, but also has dedicated internal hardware for quadrature input decoding and high-speed tachometer counting. While it's not entirely equivalent to a set of dedicated counters that are used in high-end DROs, it's pretty darn close.

As a result, the adapter can handle extremely high axis movement speeds, wide range of tachometer configurations, offer up to 5x faster position refresh rate and 12x higher data transmission speed. This makes it perfect for very demanding setups that use 1-micron DRO scales, high resolution tachometer inputs, etc. Furthermore, the input circuit is designed to correctly interface with differential DRO scales that provide RS-422 (AKA EIA/TIA422) output.

On top of the tremendous performance boost, the new adapter has a new feature that was not available on any of the previous adapter versions. Namely it has four axis home switch inputs that can be used to "home" the machine. For instance, each axis can use a precision proximity sensor at the extreme of its travel that resets the position readout to zero when triggered. Similar functionally is common on high-end DRO units, but those DROs usually work only with their proprietary scales; now TouchDRO can offer the same functionality even with the inexpensive Chinese DRO scales.

Finally, I intentionally designed the board extensible. Besides breaking out UART and programming pins, I added a dedicated header for the SPI pins, which I left unused by any other firmware functionality. My plan is to add the ability in a future firmware version to interface the board with other sensors and pass-through the reading to the application. I will have more info on this later.

Feature Comparison

I will post more detailed specs on the adapter details page once they are available, but the comparison below should cover the most important details:

  DIY Adapter Kit Pre-Assembled Board
Scale Inputs Axes 4 4
TTL Inputs (single-ended) Yes Yes
RS422 Inputs (differential) No Yes
Single Axis Max Pulses 100,000 At least 1,000,000
Four Axis Max Pulses
50,000 At least 1,000,000
Position Refresh Rate 10Hz (20Hz burst) 50Hz (100Hz Burst)
Tachometer Input
Tachometer Pulses/Second 10-1000 1-50,000
Probe Input Yes Yes
Limit Switch Inputs No Yes

There are a few notable differences between input configurations between the two adapters. In general, most DRO scales work best with input lines pulled down to the ground, but some magnetic and optical rotary encoders are "open drain" type and require the line to be pulled up to 5V to work correctly. The DIY Kit can be configured for either output type by altering the position of the resistor network, so all inputs can be either pulled up or down. In contrast, the pre-assemble adapter uses the differential receiver ICs to offer two pairs of inputs per axis, one that is pulled up and another that is pulled down allowing each axis to be configured individually.

Testing Results

Due to the increased reliability, I'm extremely cautious about making any changes to the firmware for Glass and Magnetic scales. Some time ago I wrote a quick program for STM32 microcontroller that simulates four different quadrature outputs that are clocked by an external frequency generator(s). This allows me to accurately benchmark the processor performance and have good comparison points as I make changes.

In essence each pair of outputs has an input that they are tracking. On each input pulse the firmware "moves" the simulated scale by one tick. Internally it counts those pulses, and once it reaches the predefined number (10,000,000 pulses), it reverses the direction. This way I can set all four outputs to different, even random, frequencies and let the test run for hours. At the end, no matter how many iterations I run, I expect the "readout" to always hit 10,000,000 and 0. If I see any drift, this means that the firmware is missing pulses.

Based on my testing so far, the kit can comfortably handle 100,000 pulses per second when only one scale is moving (equivalent to a bit over 19" per second with 5-micron scales) and about half that if all four scales are moving. In contrast, using the hardware quadrature decoders, the pre-assembled board can handle in excess of 1,000,000 pulses per scale, regardless of how many scales are moving.

Pricing and Availability

At the time of this writing I've gone through a few versions of the prototype circuit and firmware and am ready to order the first production run. Assuming things go as expected, I will have the boards ready for shipping in the beginning of December and kits a bit before that.

The DIY Adapter Kit will include a PCB, pre-programmed MSP430 microcontroller and the rest of the components needed to assemble the board. I'm still looking for a source of good quality but inexpensive DB-9 connectors and power adapters, so I'm not yet sure if those will be included in the kit. The kit will sell for around $50-55 (USD), including domestic shipping.

The pre-assembled board will come with a set of DB-9 pigtail connectors, similar to the old glass scale adapter. It will sell for around $80 (USD), including free domestic shipping. Furthermore, I am exploring the possibility of including an unfinished, or semi-finished enclosure with the kit in the future, but the price is still hard to predict.

Summary

By replacing the old Glass Scale Adapter board with a DIY kit and the new pre-assembled adapter board I will be able to offer more flexibility for using TouchDRO with Glass or Magnetic scales. Budget conscious users who have basic soldering skills will be able to build a capable adapter for around $50, while people who want advanced features, high-end performance, or simply the convenience of a pre-assembled and tested adapter will be able to get one for under $100.

4 comments :

  1. Hey this definitively looks cool! I cannot wait to buy one.

    Q: Will the board handle reference marks/pulses (single or distance coded)? That would be an excellent option for all of us using Heidenhain / Numeric Jena / AMO / Renishaw / Sony /Givi Misure / ... scales!

    ReplyDelete
    Replies
    1. No, it will not, for two reasons:
      1. There are several different variants of reference marks, so the firmware would be much more complicated
      2. 99.x% of people using TouchDRO use it with Chinese scales, so the cost/benefit is just not there to spend a bunch of time and money to add the reference mark support.
      Regards
      Yuriy

      Delete
  2. Hi, very cool new board, it has inputs for A,A',B,B' RS422,
    but what if my chinese scale only have A y B ?? (no differential)

    ReplyDelete
    Replies
    1. The chips that handle RS422 work perfectly fine with only the primary lines (no differential signal).

      Delete