UPDATE: There is another version of this controller that uses MSP430 Launchpad and can read other types of encoders, such as “Standard” Chinese scales, cheap calipers as well as glass scales and rotary quadrature encoders. Please take a look at the "Android DRO" page for more details on different hardware versions.
|Google Nexus 7 Running an Early Version of DRO Application|
Having a full-featured DRO on a milling machine or a lathe would, no doubt, be very convenient. Unfortunately the cost of commercial units is very high, so the only way I could afford one would be to go the do-it-yourself route. My initial plan was to build a tradition digital readout unit using six 7-segment LED displays per axis and an ARM microcontroller (STM32VL Discovery Board). To build the first prototype I used the free version of Atollic Studio. Even though it was "crippled", compared to the full version, at least there was no code size limits. Well, as of the last version, Atollic added a code size limit so I decided to scrap the idea of an ARM-based DRO. Instead the DRO would consist of an Arduino-based scale driver and an inexpensive Android tabled as a readout display.
Decoupling the driver and the display unit has several benefits:
- The hardware is much simpler, making the DRO much more accessible to people without electronics experinces. In fact I build the first protoptype using Arduino UNO, 5 resitors and a $10 Bluetooth module.
- The DRO uses a wireless (Bluetooth) link between the controller and the tabled, so the latter can be easily moved around. Therefore single Anroid tablet or phone can be used with multiple controllers. For example, if you have a milling machine and a lathe, you can share the display between the two.
- More controllers can be designed to support other types of scales without any changes to the display unit
- Since many people already have a device running Android OS, the total cost of the DRO (excluding the scales) can be as low as $20
- Even the low-end Android tablets have gobs of processing power and memory (when compared to microncotrollers tha are accessible to the hobbyists), the tablet can easily support advanced features that would be unavailable on an "embedded" DRO
|Parts required to make a wireless reader
for Grizzly iGaging scales using Arduino Uno
IGaing Remote DRO scales use a design that makes reading them very easy. Unlike the standard calipers and scales that provide their own clock, iGaging scales receive their clock signal from the display unit. Furthermore, they used 3.3V power supply which eliminates the need to input level shifter etc. Using code similar to that described in the Reading iGaging Scales with Arduino the controller can convert the raw data into "clicks" and send them to the Android application wirelessly, using a UART to Bluetooth adapter. Only four general IO pins are required, so even the smaller Arduino boards would work well for this project. For that mattery any microcontroller with six available digital IO pins can be used in a controller.
Using a tablet as a DRO display unit offers several important benefits. First of all, a DRO unit performs surprisingly large amount of mathematical operations in order to display the readout. Furthermore, things like unit conversion, tool offsets, trigonometric calculations etc. require floating point multiplication and division. Unfortunately very few microcontrollers available to the hobbyists have floating point hardware, so they tend to really struggle with such operations. Application processors that come with even low-end tablets and phones are super-computers in comparison that can do millions of floating point operations per second. Second, Android tablets come with large, bright touch screens. Instead of scrolling through the functions using a 10-key pad and a 7-segment LED display, you would be dealing with an intuitive and convenient graphical user interface. Finally, since most tablets are internet-enabled, you would have access to any reference materials, notes, powerful scientific calculators right at your fingertips.
Taking a nice shiny tablet into the garage might be a bit unnerving. After all it can be easily scratched, dropped etc. Fortunately several companies make excellent protective cases, some even water proof, that would make a table much more garage-worthy.
Since the CPI can be configured individually for each axis in the software, the Digital Readout application can support any type of position encoder, as long as the controller implements the standard communications protocol. The application would receive the position data in Clicks-per-Inch (CPI) and would then convert them to the standard units, apply offsets etc. based in the user-entered settings. Similarly, the user interface can be tweaked on-the-fly. For example, things like font size, number of digits and axis labels can be changed at will. Finally, adding new features would be as easy as downloading the new version of the application.
Overall, I think this is a good approach for a do-it-yourself DRO. On one hand it significantly simplifies the construction process by reducing the complexity of the reader hardware. On the other hand it provides a way to tap into the performance and easy of use of a modern Android tablet. Android tablets and phones are quickly becoming ubiquitous. Cheap no-name tables are sold for under $100 on eBay, but there are quite a few full featured "brand name" 7 inch models in $200 range. It only makes sense to use an Android app running on an old phone or tablet rather than building the display from scratch. In reality nothing you or I can build for under $200 will approach the performance, flexibility and utility of Google's Nexus 7 or a similar unit. In addition to the gobs of processing power available from dual or quad core ARM processor running at 1 Gigahertz, hundreds of megabytes of RAM and gigabytes of storage, those units offer a gorgeous, easy to read and use touch screen. Not to mention that the table can be used for other purposes when not busy performing it's Digital Readout duties.