PC based DRO. I know, done to death, but...
I know this topic has been done to death but why isn't there a good PC based DRO that works on later Windows OS. Every things I've looked are either for DOS 3.x or are so feature poor as to be not much better than a felt tip marker and counting cranks on the ball hand wheels.
Most DRO's even the state of the art advanced ones are feature poor or the features they have are not intuitive and require a strict order of operation of GIGO is to be avoided.
Some time ago, one of the regulars sent me a trial version of a DRO program he was writing but I'm so computer ignorant I didn't know what to do with it. I do know he was working on some advanced features but alas...
So we need a DRO program that supports regular scale counting, segmented scale calibration, bolt patterns in different arrays, rectangular/polar conversions, on screen RPN or algebraic engineering calculaor (switchable) with transferrable results to selected axes, probe ready, 3 point probing circular features, skewed frame of reference, shared input from lathe or mill scales, tool data registers, compatible with step and direction or quadrature input, and a bunch of other cool stuff. I'd pay a hundred bucks for something like this if it was well designed and bullet proof stable.
Anyohe got add-on specs? Maybe touch screen compatible?
I can see this getting to a smart fellow eager to make a buck and do a machinist a favor in the process.
The "new" operating systems have so much going on, they can't be bothered (trusted) top do anything in real time. Heck, there might be an important system update coming in over the inter web.
Get a DOS box!
I've been doing a home brew CNC and did a bare bones touchscreen DRO to get me going in the short term. My system would never fly as a low cost DRO because my servo drives, etc. are expensive.
If one wanted to do this for real, however, I think it could be done. I am thinking of this as a bare bones spec (stealing a bunch of what you said):
- USB to three axes of quadrature input (could be step / dir, but why?)
- DRO display on PC
- Big buttons on screen to make touch screen use easy
- Windows XP and later
- Fancy features like skewed frame of reference, etc., like you say
- Would sin/cos inputs (a la Heidenhain) be useful
- The cool scales these days are serial inductive ones, like the new Mitutoyos. Does it need to do that, too?
- A bunch of youtube videos to make it easy to use
- Screw terminals for connections
Is this what you are looking for? I'm having trouble seeing a business case at $100 customer price. It's close, though if volume is decent (close to 1000). Do you think a bunch of people would do this? The PC isn't free, and a touch screen sure isn't.
I like systems like this, but I am beyond an early adapter for stuff like this. I wonder how many real customers are out there. Also there needs to be some HW locking or some assurance someone doesn't clone it and destroy the business. This isn't a big IP hurdle for someone to copy.
If you dont mind losing windowz then go linuz. I cant remember the name but there is one out there with more than just dimensions. I sorta looked at it but then forgot about it. it was on the to do list as i have a few odd old scales, that frankly are way to much of a gamble to spend a few hundred on a control box for!
Like CalG suggested, PC's operating systems aren't that suited to realtime applications. That said you could use a more expensive absolute type encoder and with a bit of interfacing just read the current location and throw it up on the screen.
It is overkill though but the larger display would have advantages. There are compact motherboard types such as PC104 and mini ITX which show up on ebay which would lend themselves to this project.
Nick Müller the author of Yadro (pc dos based dro , DIY DRO kit for lathes and (mini) mills) has mentioned on his newsletters that he is porting yadro to run under windows and possibly linux although he hasnt given a time frame for that to happen.
I recently rebuilt the feed drive system on our foil printing machine at work. I used an XP box with 15" touch panel, a four axis CNC card to drive three feed motors via drive boards and encoders, the fourth axis was used to conrol the VFD for speed. Front end was written in Visual Basic.
It took a bit of learning to get it done but its bloody impressive as it replaced a 1980's CRT type controller which had very few functions. We now have step / repeat on all 3 feeds, low foil warnings and ah host of other features.
It only worked because the real-time stuff was handled by the CNC card not to PC, windows even has trouble running simple timers in VB, but this worked really nice and could easily be used as a DRO if the glass scale-to-CNC card bridge could be made (its a quadrature input with direction) OR you could fit up some basic servos for a position type CNC system or fit ball screws and go the whole way.
Downside was cost of course, the screen alone was about £400, plus the PC, a UPS box, the CNC was about £600 plus three drive amplifiers @ £130 each, a new VFD and various hardware made to mount the panel in the old machine.
However, now its done it kicks arse, i love touch-screen stuff now
You mean windows operating systems. Linux has a realtime kernel available.
Originally Posted by SAG 180
I said "New operating Systems", With implications that the latest release of Linux was not on the "latests style" radar for most.
(As I type from my Ubuntu 8.04 decktop with EMC2 ;-)
A DRO has zero need for a realtime OS . . . even with 100msec latency, you would never know the difference as you are depending on hand-eye coordination anyway when using a DRO.
How do you handle the interface between the PC and the Encoder?
You will spend $100/channel just on converting the encoder signal from any number of formats:
sin/cos (incremental) + hyperface (absolute)
and quite a few proprietary scale outputs . . .
This is the rub - getting the scale interface into something that the PC can query and process and display is not trivial.
US Digital has a 4 channel quadrature encoder to USB interface for $350+ . . . then you have to write your own DRO software to use the data from the USB device.
Here is a $44 USD per axis hw interface. It still needs a program, but maybe an open source project could happen here. Kind of neat that it could be a modular number of axes. I will count at 6 MHz (after quadrature). Incremental quadrature only.
US Digital | Products » QSB Quadrature to USB adapter (Coming Soon!)
Kind of interesting. I have purchased encoders from these people before. I have had good experiences.
There is most likely a patent troll holding a critical piece of intellectual property hostage.
Real Time is what interrupts are for; lock the machine down with limited software and peripherals, NO SCREEN SAVER OF THE GRANDKIDS, and it would most likely work well.
But at that point (no email, no printer, no screen saver of the grandkids), would the cost of the box and the boards make any sense?
Windows XP and Apple OS X both have a "real time" priority setting, which means they put the program with such priority above every other process, including (I am told) the operating system. A DRO program running under such priorities would be more than fast enough.
As for the actual program, a DRO program, even with all of the features described, would not be very difficult. If others can figure out the scale-to-PC interface (it can't be that difficult, with all these desktop CNC guys doing it every day), I believe I could write an open-source DRO program in python.
Furthermore, I agree with Motion Guru. Unless code is very, very cumbersome, or your computer has 50 different programs running, code executes fast enough as to appear instantaneous. That's close enough for DRO on a manual machine.
Free and easy EMC2:
The presumed need for "real time" is due to the fact that most hobby types are using the parallel port to read the encoders. DOS does it easily, but it's DOS. Windows will do it with a device driver. The problem is that device drivers are not trivial to write or implement.
And NO, there is no such thing as a real time kernel for windows - doesn't matter what they tell you on that other forum. It's a device driver that runs in Ring 0 along side the windows kernel.
Linux, OTOH, has an optional "real" real time kernel. Programs that run on this kernel, such as emc2, will continue to run even if the linux OS crashes.
But the whole thing is irrelevant. Follow Guru's advice and get a US Digital USB converter. Latency becomes a non-issue. I believe a driver is available from USD so it is just a matter of simple Visual Basic programming to create a custom DRO.
You do know how to code in VB, right?
That bit is trivial for an experienced programmer. I used to have 40 instruments spitting data at my system at data rates varying from 40 Hz to 0.1 Hz, logging the streams to disk, relational database and re-broadcasting them via UDP/IP over the ship network plus driving a control console. Many of those streams also had to integrate data from other streams in as close to real time as possible. We used the same data logging system for a helicopter mounted ice radar that had a data rate of over 200 Hz. The biggest problem we faced was driving the screen displays at high data rates as this took a LOT of CPU cycles. We rarely bothered with updates at faster than 10 Hz and then only for graphical plots (line charts, bar charts etc) as nobody could read fast-changing numbers anyway.
Originally Posted by motion guru
You give me a data feed with a defined format via USB or an ethernet port and I can turn it into a display in virtually no time at all. I have all the code already and it's written in Java so portable to ANY operating system with a Java VM.
Note that we are talking about data DISPLAYS. Not bidirectional drive systems. We did do that too but not at the data rates required for a CNC system. A linux real-time kernel would be fine but I don't think the Java VM would be up to it.
I sorta had some hopes the Apple iPad might be useful for something like this (a nav display on my sailboat) until I read that it had the iPhone o/s, not the unix based OS X I run on my laptop. Lost interest at that point.
Last edited by PDW; 04-01-2010 at 04:14 PM.
Reason: Extra info re display update speeds
I have done a number of DROs using quadrature encoders and a Windows box running a 3rd party graphical interface software package (Mitsubishi E-Terminals, Wonderware, Motion Commander, etc.) . . . the DRO part can be hacked together in hours without much effort.
The key is the hardware interface to the actual scales (and the type of electrical interface is not at all standard between companies)
Newall Spherosyn scales can be ordered with quadrature output - and the US Digital box would be fine for this - still, by the time you buy the scales, buy the interface board and program the unit - an Anilam in the box seems pretty cheap to me.
All too true but the big screen, the touch sensitivity, the potential for a really smart, intuitive screen interface etc of present day computers would lead to the features found in conversational CNC controllers for 25 years. Seems like the extra cost in hardware would be well worth it. The pitifully slow progress in DRO' reminds me of the US automakers in the '70's, They'll take what we give them and tell them they should be grateful for any improvement at all."
Originally Posted by motion guru
That was my point. Grass roots order of magnitude progress not death by the nibbles of a thousand ducks.
Not sure much changed there to be honest!
Originally Posted by Forrest Addy
Forrest - you are correct, it is pitiful what they pass for progress with today's DRO's - if you are willing to invest in a touch screen and a windows box and a little VB programming, the unit from US Digital would give you all manner of flexibility.
Another option is an all in one Panel PC from Advantech and an encoder interface that works over Ethernet + VB and you have a nearly unlimited set of options in front of you.