CAD CAM EDM DRO - Yahoo Group Archive

Re: Response to Matt Shaver's response

Posted by hansw
on 2000-01-31 17:12:24 UTC
Matt,
Thanks for the response, I will reply as best I can.
If anything sounds like a flame, IT IS NOT INTENDED to be...
(That's for those that are so sensitive about such things ! )

Reply between your text....

Matt Shaver wrote:

> From: "Matt Shaver" <mshaver@...>
>
> > From: hansw <hansw@...>
> > This is no criticism, but you nailed it. I don't want the hassle of all
> > of this,
> > I know Windows well enough the do everything I need, form writing the
> > device drivers
> > through to high level programs. For my CNC part, I like the FlashCut
> > idea, but think they made it
> > out of reach for the hobbyist, so I'll just do my own version. Pity the
> > people doing EMC did not think of that instead before fixing themselves to a OS because of the need for "apparent" more
> accurate timing.

>
> Actually, both Flashcut and Ahha (and maybe others as well) use external
> hardware to help them generate their step pulses.

Yes ! I've looked at Flashcut web site, but have not the Ahha. Anyway that's what I want to do... ( but with a little difference
) and more affordable, and OS independent.


> As far as the EMC goes, the
> main consideration was low cost. That meant using off the shelf components,
> preferably mass produced PC compatible items like parallel port boards. I
> guess we didn't appreciate the magnitude of the problem until we started to
> test the code.

Low cost, at what cost !

> the step frequency as the step rate increases. As an example, suppose you are
> generating your step output by looping through a section of code decrementing
> a delay counter on each pass, and toggling the step bit each time the counter
> underflows. Let's say you are using a delay of 100 and you need to speed up
> slightly, so now you switch to using 99. This is a 1% change, no problem. As
> you accelerate and go faster and faster the delay values get smaller and the
> difference between a delay of 5 and a delay of 4 is 20%. This is a big
> problem due to the inverse relationship between speed and torque in stepper
> motors. You reach a point at which the motor doesn't have enough torque to
> make the jump to the next step rate and it stalls. The only way to increase
> your resolution is to get through your code loop faster, and there you are
> limited by the speed of your computer.

Yes, so far understood.. but what are your units for "Let's say you are using a delay of 100 " , 100 what ?

> Offloading all of this CPU intensive
> stuff to external hardware is a great idea!

My idea would be to SHARE the load, let the outboard hardware do the pulse generation plus some more, and let the PC do the
number crunching.

> Something like an 8254 CTC chip
> on a plug in board, or even one of the new DDS chips like Analog Devices
> makes could be used to generate step pulse trains at higher resolution, and
> greater rates than can be done in software alone.

Except the 8254 is not intelligent, and would still require handling from the main CPU.

The DDSP is special, it's moderately fast and has a few built in features that are perhaps more directly suited to Servo
control, that said; it does have Digital I/O and could be used. Reading the prelim. spec. sheet it does not make me see anything
to write home about. TI have been doing faster DSP for years...

Anyway, I don't think DSP speed is needed for a Load Sharing approach like I plan. I've been designing with Microcontrollers
since 1980 and my choice today is the PIC series, writing code in "C' and assembly. ( The new Scenix looks real promising ).


> If you go that route
> (external hardware) there is the additional problem of accumulating the count
> of step pulses for each axis so that the control software can keep track of
> position.

Why is that a problem ? Steppers loose steps normally because of mechanical reasons. If you send it 1000 steps it should do 1000
steps, accumulating them and keeping track would be easy in the External Hardware and the PC could also do it... I don't see
this as a problem at all.
Only closing the loop would allow for real feedback about lost steps.

> Also the comm link between the external hardware and the PC has to
> have sufficient bandwidth to allow reading all the count registers and
> writing step frequency updates at least every few milliseconds.

Correct, and I think with the external uP programmed to be as autonomous as possible in it's tasks, will reduce the need for
large bandwidths.

Your statement "writing step frequency updates at least every few milliseconds.", well lets look at the simple RS-232 running at
what is considered normal HIGH speed of 115,200 Baud. It takes 86.8 Microseconds to send a single byte. I'm not sure what the
"Few" in "few milliseconds" is, but lets say 2 as Few and plural milliseconds it can't be 1 mS, but could be as little as 2mS.

In 2mS the simple 115,200 connection can send AND receive 23 bytes ( full duplex ) That's 46 bytes of data total.

Then comes the question of how these bytes are implemented.

If the control instructions were done in human readable ASCII it most likely will require several of those 23 byte to transfer a
command.
Using binary commands there (I expect you know all of this, I am not trying to insult anyone) 256 possible commands in one byte
and if that is not enough make it a 2 byte command structure and then you have 65536 possible commands. Now, with a 2 byte
command structure you would still have 21 bytes of DATA space every 2mS...

All of my RS-232 designs are made to run at 230400 Baud and getting a 2X RS-232 card cost as little as $20-30 for a two port
version. But 230400 is not "normal" so I would not design my external CNC system for it...However I would make it be available
for my them that wanted to implement it. BTW most modern Motherboards have UARTS that will do over 460,800 Baud, just Micrsoft
never released the driver for it.

With command and data buffering in the external hardware, the bandwidth requirements go down even further, such buffering is
possible. Pulses generation would be much more predictable doing it this way, I've done it so many times I've forgotten how
many..

There are also two sets of hard wired hand shake lines in every RS-232 port, and these could be used for emergency stops, or
anything else that needed immediate attention.

Then there is the USB.... well for the Slower version ( 1.5mbs ) you multiply the 23 bytes by 16 so you would have 368 byte per
2mS slot... and the Fast (12mbs) USB about X 130 will do... or 2990 bytes per 2 mS slot...

With a well done external uP and PC program sharing the load, I think 115200 Baud is plenty fast enough for at least 4 axis. (
people are already doing it so it's possible, I'm not inventing anything here, I just want an inexpensive solution, that is
INDEPENDENT of ANY Operating SYSTEM. RS-232 is just that. The USB is becoming that. The Printer port is not the same on all OS's
and present more of a challenge to implement. )

As to my statement " That's what I want to do... ( but with a little difference ) " the difference is very little.

1) I would make the interface so that it could use the current printer port connections, and thereby allow all the current
hardware to be used, no need to make it redundant.

2) I would like to close the loop ( enough said about that recently , there are benefits, using (say) Dan's DRO, it should be
possible, regardless of Servo or Stepper, to use the DRO and confirm positions. I have yet to see a program do that... How
about EMC ? )

Yes ! it may take more than 1 Microcontroller to do all of this, that's fine, they are cheap. ( don't look at catalog prices
they are inflated by 200-300% for good reason) Doing multiple uP's in a design is not difficult, my serial 7 seven port
multiplexer ( see my web site) has Eight PIC's all talking and running full duplex and bandwidth galore...

It has been done and it can be done cheaper so everyone can write programs for it, even for the MAC... (arrrg!)

>
>
> > It would be neat to see some actual figure on this constant claim for
> > accurate timing, I remain unconvinced.
> > This is not a flame for any EMC nut to jump on, it's a statement of
> > doubt.
>
> Well, here is a pretty good study (with actual figures) of the real time
> performance of the standard version of Windows NT:
>
> http://www.hyperkernel.com/paper1.html
>

Interesting, but very biased... They would love to sell the HyperKernal I'm sure... If they had published the source code for
the test programs, it might have been a different thing ( much like Sieve Algorithm test code's are published, which are used
as part CPU speed testing, etc. ).

That said; I think the figures are most likely reasonable, I just don't trust things like this that have commercial bias and no
real documentation. And yes ! I would understand the code, it's what I do...

>
> >From the above link:
>
> "Windows NT, throughout our tests, is shown to be fairly deterministic when
> the real-time application is the only application running on the operating
> system. Once other NT applications are introduced or a mouse movement or any
> other user interaction occurs, the Windows NT determinism begins to degrade."
>
> Test data on the performance of RT-Linux can be found in these two articles:

HANG ON A MINUTE..... let's compare Apples to Apples ! There are several Real Time Windows NT kernels out there..

How about using this product and similar test conditions http://www.hyperkernel.com/paper1.html

Is the a similar test for straight Linux not the R/T version ?.


>
> http://rtlinux.cs.nmt.edu/~rtlinux/papers/usenix.pdf
>
> http://rtlinux.cs.nmt.edu/~rtlinux/papers/lj.pdf
>

I'll read these tonight...


>
> > I don't believe something just because someone told me they think it's
> > needed. And if it's government funded I believe it even less, remember
> > all that scare about electromagnetic radiation from power lines.... Well
> > a couple of months ago the guy that has been doing the "research" was
> > debunked, from the new cip I heard ( that;'s all one gets here i the
> > USA) he was making up the "data"..... That was government money also...
> >
> > That does not mean to say the same thing is happening here, there are
> > needs for stadnards, but I'm not so sure it needs to be funded by tax
> > payer money. They tried stuff like that in other countries and called it
> > something else...

>
> A short time ago, in another forum, I made remarks addressing a similar issue
> which I believe I can reuse here:
>
> *****
> Well, from:
>
> http://www.nist.gov/public_affairs/guide/glpage.htm
>
> ' The National Institute of Standards and Technology was established by
> Congress "to assist industry in the development of technology ... needed to
> improve product quality, to modernize manufacturing processes, to ensure
> product reliability ... and to facilitate rapid commercialization ... of
> products based on new scientific discoveries." '
>

Yes ! It's good , I applaud it, even though they spent millions of researching "Single Panel computer displays" and they are (
just about) all made out side of this country, what happened to that research, did it got to overseas manufacturers, like our
rocket technology did..ops! I'm getting political now!

BTW This is often overlooked, when US companies criticize European Government backed development, it's then called
"Subsidized"... somebody is calling the kettle black I think.. !

There are other bodies that operate without government funding ( although I'm sure they would love to get a slice of the pie )
and do a good job of it... Who much does the IEEE get from Congress ? and NEMA and the NMEA and many more, I don't know I'd
like to find out ?

How about improving the g-code documentation... Unless I've missed it in my web searching I have not yet found a single well
documented version. Of course the web is so vast I found about a 1000 pages on g-code and 320,000 for CNC ... I just don't have
the time to look at them all..


Matt, thanks for your reply.

Best regards
Hans Wedemeyer

No comment on political issues, I refuse. However, as a tax paying person, and I'm sure there are many of us, it would not be
political to say it is all to obvious to see how the third and fourth arm of government fritters away our tax money and without
responsibility. In today's Corporate world, if anyone dared to waste money like that, they would be held accountable. That's the
difference. See I did not mention a single political party... they are all the same, garbage in ... garbage out ! As my
American friend once said, "We have the best politicians money can buy " !

FOM HERE ON DOWN, NO COMMENT.

>
> I guess I should state for the record that I'm a registered Libertarian. If
> the Libertarian party ever becomes the majority party on the US, we will seek
> to drastically reduce the size of the Federal government. As far as the
> Commerce Department and NIST are concerned the only relevant reference is the
> Constitution itself:
>
> Section 8. The Congress shall have Power:
>
> [3] To regulate Commerce with foreign Nations, and among the
> several States, and with the Indian Tribes;
>
> [5] To coin Money, regulate the Value thereof, and of foreign Coin,
> and fix the Standard of Weights and Measures;
>
> Section 9, paragraphs 5 and 6 having to do with interstate commerce may also
> apply here (they might as well, they've been stretched to imply that the
> government has authority over everything that might conceivably have been
> transported across state lines!).
>
> Until such time as the Libertarians achieve political dominance, and the
> future of NIST becomes a matter of debate (or an asteroid strikes the earth
> and kills us all, an event of equal likelihood), the logical thing to do is
> help the folks at NIST to "ensure relevance and focus in [their] programs"
> (from http://www.nist.gov/public_affairs/nist_mission.htm ).
> *****
> I'm not sure this is a sufficient reply to what you have said, however it's
> 3:30am and I'm not in good enough form to do any better right now.
>
> > After all of this I perhap will try loading that RH5.2 that I got with a
> > book for $5 and a second hand book store...
> > But it will be on a straight single CPU system. I have not heard of
> > Linux doing mutli CPU's.
> > BUT THEN IS HAVE NOT BOTHERED TO RESEARCH IT.
>
> For a nice overall comparison see:
>
> http://www.sunworld.com/sunworldonline/swol-08-1998/swol-08-linuxvnt.html
>
> Matt
>
> --------------------------- ONElist Sponsor ----------------------------
>
> GET A NEXTCARD VISA, in 30 seconds. Get rates as low as 2.9 percent
> Intro or 9.9 percent Fixed APR and no hidden fees. Apply NOW.
> <a href=" http://clickme.onelist.com/ad/NextcardCreative4SR ">Click Here</a>
>
> ------------------------------------------------------------------------
>
> Welcome to CAD_CAM_EDM_DRO@...,an unmoderated list for the discussion of shop built systems in the above catagories.
> To Unsubscribe, read archives, change to or from digest.
> Go to: http://www.onelist.com/isregistered.cgi
> Log on, and you will go to Member Center, and you can make changes there.
> For the FAQ, go to http://www.ktmarketing.com/faq.html
> bill,
> List Manager

Discussion Thread

hansw 2000-01-31 17:12:24 UTC Re: Response to Matt Shaver's response Matt Shaver 2000-02-01 00:25:51 UTC Re: Response to Matt Shaver's response