Hello Guest it is January 29, 2020, 11:51:11 AM

Author Topic: How fast can you send G90 and get accurate feedback on the current XYZ position  (Read 1608 times)

0 Members and 1 Guest are viewing this topic.

Hi,

Quote
If you have a suggestion of where I could get a C# example of moving an axis with the smoothstepper that would be awesome
No such number....the smoothstepper expects P(oint)V(elocity)T(ime) data from the plugin and in a manufacturer specific format.

There has been some talk about Warp9 releasing a low level API which would allow you to microprogram the ESS but it may be a long while
before its ready.

I think your encoder idea is workable, although I think you have chosen to wrong encoder. The one you have linked to produces Grey code and
you will require a PC or micro to decode it. Why?

Just an ordinary A,B,Z differential encoder would hook to three inputs of the ESS and Mach can read the encoder directly and process it and display it in a DRO.

Craig
My wife left with my best friend...
     and I miss him!

Offline TPS

*
  •  1,452 1,452
    • View Profile
i have tryed the same Thing with a other user here from the Forum, he had an UC300 as Motion Controller.

i have tryed to get the Points "on the fly" with less sucess, because the update of the X or Y Position is to slow.
the only way to get a good result was do to the move, wait for the axis to standstill, and take then the measurement.

IMHO i would "walk the street" with an ARDUINO.

control stepper motor's with arduino is no Problem.
read a TTL Encoder with arduino is no Problem.
read a analog Input with arduino is no Problem.

then initiate the move read the Encoder and analog value and send it via Serial Interface.

ok that is a Little bit of ARDUINO programming to do, but it is not inpossible and very fast of tracking.

Thomas  

btw i have written a wizard for the Point by Point digitizing, just let me know if you want to try it.
« Last Edit: August 21, 2018, 05:40:16 AM by TPS »
anything is possible, just try it.
if you find some mistakes, in my bad bavarian english,they are yours.

Just an ordinary A,B,Z differential encoder would hook to three inputs of the ESS and Mach can read the encoder directly and process it and display it in a DRO.

Craig

This encoder has the same outputs. I don't see why I couldn't use it with the ESS. I'm writing the remote control in C# so even if I had to capture the data myself through usb it shouldn't matter. Also, wouldn't I be limited to the 10hz output of the ESS. It seems I would be in the same boat I'm in now of not getting the data fast enough.
« Last Edit: August 21, 2018, 09:23:10 AM by stevesy »

IMHO i would "walk the street" with an ARDUINO.
I would have to disconnect everything to use my new "feature". I'm trying to make this an on demand kind of thing.

The other thing main point of the project is to do this as a pass..meaning I don't stop moving. Otherwise it will take forever to scan something. The goal is 60IPM with 0.5mm resolution..

Quote
btw i have written a wizard for the Point by Point digitizing, just let me know if you want to try it.
Let me give it a try first..the funnest part of this is doing it. You know what I mean?
« Last Edit: August 21, 2018, 09:28:08 AM by stevesy »
Hi,
re-reading the spec sheet on the encoder and there are both incremental (quadrature) models AND absolute (Grey code) models.
The ESS /Mach can read quadrature encoders but would require a decoder to read Grey code.

Rather depends on the model of encoder that you get.

Craig
My wife left with my best friend...
     and I miss him!
Hi,
re-reading the spec sheet on the encoder and there are both incremental (quadrature) models AND absolute (Grey code) models.
The ESS /Mach can read quadrature encoders but would require a decoder to read Grey code.

Rather depends on the model of encoder that you get.

Craig
The one I bought is the CWZ3E it's 1200P/R
But doesn't the ESS only report at 10HZ to Mach3? I read that somewhere. If that's the case I will still only get a reading every 10th of an inch at 60IPM.
« Last Edit: August 21, 2018, 05:04:42 PM by stevesy »
Hi,
 kool, that looks like an incremental encoder thus if you wish Mach and ESS can read and display it directly.

You may be right about the 10Hz rate of the ESS.

I think you would be advised to make an enquiry on the Warp9 forum about that. I now use Mach4 for which I believe
the ESS reporting rate is very much higher.

The reasons that I would do that is that it is possible for Mach to generate a file of data points directly. There is a
probe file feature which could be useful to you.

Craig
My wife left with my best friend...
     and I miss him!

Offline TPS

*
  •  1,452 1,452
    • View Profile
I would have to disconnect everything to use my new "feature". I'm trying to make this an on demand kind of thing.
The other thing main point of the project is to do this as a pass..meaning I don't stop moving. Otherwise it will take forever to scan something. The goal is 60IPM with 0.5mm resolution..

ok i see, but i would say back on the ARDUINO road again.

there is a sample code for the Encoder on the supplieres Homepage to Count the Encoder pulses.
hook your laser distance sensor also up to the ARDUINO, and you can create a syncronised data stream
on the ARDUINO and send it via Serial Interface.

for the Moment you have hooked the laser to the PC, and any way you will take it will be allways not syncroniced.

the ARDUINO solution will ive the possibilty to use it as an ADDON at your existing machine.

this is just brainstorming

i can give you the wizard, no Problem, but it reqires that the laser is connected to your ESS.

Thomas
anything is possible, just try it.
if you find some mistakes, in my bad bavarian english,they are yours.
Hi,
I've just had  a look at the default plugin frequency of the ESS Mach4 plugin, its 40 Hz. You can change this which allows Mach to respond faster
but it requires your PC to work faster.

If you were to use Mach4 and increase the plugin frequency to 60Hz, then at your intended 'scan speed' of 60ipm, or 25.4mm/sec:

distance between successive samples= 25.4 / 60
                                                     =0.42mm

So you could push the ESS into service if you used Mach4.

You have not said how the laser scanner works or more importantly how it signals it output.
Is it digital or analogue?
What vertical resolution do you require?
How often can you sample it?

If the laser output is digital or can be converted to digital with sufficient resolution Mach could read it and construct data entries in a file.
I imagine that Mach3 can do it, but I don't know (or care) about VB. Mach4 has Lua and a substantial API and to have Mach4 construct a data file
would be easy, even fun.

If you think that the ESS and/or Mach is too slow then a dedicated microcontroller is the way to go. I personally find the wee 8 bit Arduinos a PITA,
I use a Texas Instruments Lanchpad which is equipped with 90 MHz 32bit single cycle Floating Point processor with all the periphials you could ask
for to control rotating machinery. The Lauchpad has an opto isolated JTAG built in and is ready to rock, all the free development software from
Texas Instruments you can eat, for under $50. For instance the processor has a periphial to read quadrature encoders in hardware with minimal CPU
supervision.

Craig
« Last Edit: August 22, 2018, 03:40:25 AM by joeaverage »
My wife left with my best friend...
     and I miss him!
Warp9
Quote
The ESS reads each input at about 30 MHz. It can easily read encoder signals of up to 4 MHz (however this greatly depends on the Break Out Board's input pins, since too much capacitance or resistance will limit the maximum signal rate).

The ESS reports this data back to Mach3 10 times every second (which is the hard coded plugin update rate in Mach3).

The ESS reports this data back to Mach4 40 times every second (which is the default plugin update rate in the Mach4 ESS config, but it can be changed).
So getting anything through ESS isn't going to work for my project in Mach3. Possibly Mach4 though.