Hello Guest it is September 29, 2023, 07:07:43 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - eforer

Pages: 1 2 3 »
Hi All,

I've been struggling with some issues with a plugin suddenly not working for reasons I don't completely understand.  As part of trying to fix it, I've reinstalled mach 3.  I always have a routine backup of the mach3 folder, so I have an up to date xml and if needed can just plop it on the computer and go back as if nothing happened.  I'm trying to sort of make a "clean" start. 

I uninstalled and then deleted the mach3 folder.  I then reinstalled mach 3 and the UC300eth 5lpt.  I copied my xml and macro directory over into the correct folders and fired her up.  Everything looks correct, the machine jogs and runs the spindle normally, sprays coolant etc.  I have my homing set to 15% on all axes which looks correct in the dialogue, however the issue manifests when I go to home:  It homes at like .5ipm.  I cranked the speed up to 200% on the homing routine and it's still like 2ipm or something ridiculously low.  It's a G0704 machine with ballscrews and pretty beefy steppers so it rapids at 120ipm comfortably, and my motor tuning still reflects that.  It's like the homing speed percentages are disconnected to my motor tuning despite my jogs and accelerations all being normal.

If I just replace the mach3 folder with my backup copy, everything goes back to normal, including the homing.  I want to do a clean install of everything to see if I can get my Lee Davis Xbox 360 plugin running correctly again.  This issue is preventing me from kind of freshening up my install.  I'm honestly not sure what would have changed from my backup to a new copy if I'm bringing over my macro folder and xml, but the fact that this is happening seems to indicate there are other parameters that do change that I'm missing.

I use this machine for work. I'm not a machinist obvs, but I'm a prototype engineer and use this in my work from home setup to make parts when needed and use it pretty much daily.  Any help would be greatly appreciated. 

Mach SDK plugin questions and answers. / Another xbox 360 game pad issue
« on: October 09, 2022, 06:01:13 PM »
This probably shouldn't be a new thread, but I didn't want to resuscitate a dinosaur thread either.  So here goes.

I've been using the excellent Lee Davis plugin for mach 3 under windows 7 64 with a real xbox 360 wired controller.  It's been working fine and I've had no issues until now.  Yesterday I got an error I've never seen before about there being a problem with the analog sticks and disabling them.  They are getting a little sticky so to speak and sometimes it will hang on a slow jog, so it wasn't surprising I guess.  I cleaned it out and ran the windows "calibrate" utility under the devices and printers gamepad item in the control panel.  Everything centered up and stopped bouncing around so I went back to try it in mach 3.  The error is gone, but the plugin no longer responds to anything from the gamepad.  Neither stocks nor buttons work at all.

I downloaded the newer? drivers from windows update. Didn't help.  I downloaded the old xbox_64eng installer, bupkis.  I reinstalled reinstalled Mach 3.  That also didn't help.  It is worth noting that when I copied my xml and macro folder over, my system restored seemingly perfectly, except now my homing routine (despite still being set at 15%) is going less than 1/2" per minute... No idea what that's about.  I do use a UC300eth, but I reinstalled that as well.  If I rename my backup directory back to mach3 everything is normal again.  Don't know if that has any diagnostic value or not.

It's worth noting that when I copy my preferences back, my previous configuration preferences for the gamepad plugin re-emerge.  I don't know where they're hiding, maybe in the actual profile xml?  I'll have to check.  I am also having the hardware id and vendor id issue where it won't take the new settings.  I hit enter, and when I open the config menu again, they are back to 0x0000.  I don't know if that's part of my problem or not.

Any help would be greatly appreciated.  I actually really prefer the game pad to the mpg and I have setups to finish today for tomorrow.  Yikes!

Thanks in advance!

How would i then set the g68?

Doh!  I just found this sensor which completely eliminates the need for the Arduino.  This provides a stand alone solution for registration mark detection.  Now we can just work on the VB!  This should be easy to wire in as a probe.  Does anyone have some examples of calculating an arc tan in VB and setting the G68 coordinate system rotation from a script?

Just a quick note to anyone who might be interested.  This sensor: http://www.amazon.com/gp/product/B00A6XKWR2/ref=oh_details_o01_s00_i01?ie=UTF8&psc=1 should do the trick for reg mark detection.  It will not require the use of an arduino or any other micro controller and if wired as a probe, should allow the use of a g31 command in a script to create the desired effect.

That will definitely help.  Once I get the sensor setup dialed in, I'll post all the details.  It's about $40.00 of components.  Very simple.

Hi All,

I'm working on a registration mark sensing macro that will allow for print cut registration (setting the origin), coordinate system rotation to account for imprecise placement of the graphic and stretch adjustment (scaling).  I have already discussed this topic a bit in some posts in this thread http://www.machsupport.com/forum/index.php/topic,26268.msg188768.html#new.  

I have already completed an arduino based mark sensor setup that will output +5V upon detecting the edge of a mark.  This can be easily wired to an input for mach3.

I'm not a VB guy, but I do have some programming and scripting experience in C++, Java and Actionscript.  I'm looking for some help.  I'm going to outline what the program needs to do below and perhaps you gurus of Mach3 can help!

Graphics will be printed with registration marks (L shaped blocks) of a known size printed at the corners outside the bounding box.
A cut file will be created in advance which will be offset from the origin according to the size of the registration marks.
The operator will place the graphic on the machine and position the photocell in the interior angle of the registration mark.
The operator will start the macro.
The macro will move the machine X+ slowly until the edge is sensed.
Once the edge is sensed, the machine backs up on the axis 50% the length of the (known) reg mark size and advances more slowly, recording the X position when the photocell senses the edge again.  The slow down is to ensure precise detection.
The machine again backs up 50% of the reg mark size and moves in the Y+ direction.
When the sensor detects the edge, once again the machine backs up and moves more slowly in Y+ recording the Y value of the registration mark.
Now the X and Y coordinates of our origin corner are recorded.
The machine will center itself between the x and y leg of the aforementioned mark and proceed to travel rapidly in X+.
Upon detecting the edge the machine will stop, and backup (a greater distance due to speed, this will have to be experimented with) and advance forward slowly.
Upon detecting the mark while moving slowly, it will record the X coordinate.
The machine will move forward slowly past the registration mark edge by 50% the registration mark size on the X axis and then proceed to move Y+
Upon detecting the edge, the machine will back up and then proceed slowly on Y+ again until the edge is detected.  Upon detection the Y coordinate is recorded.
Now with 2 points recorded, the rotation can be calculated with an arc tangent (used later)
The machine will return to the first corner defined (the corner nearest the origin) and run a similar routine to detect a 3rd mark at either remaining corner.

These 3 points should be sufficient to calculate rotation and linear stretch on both axis.  Can someone help me get started with the VB?  I'll be sharing the simple arduino reg mark detector design once it is mounted to the machine and working reliably.  If we all work a little on this I think we can quickly add some incredibly valuable functionality to Mach3 that many of us could really benefit from!


I have the sensor board working well, meaningful output difference as it passes over a reg mark and I am lighting up an output based on some simple evaluation of the incoming data.  I'm ready to start playing with a Macro.  Is there a way to make a sort of development environment so that I don't have to mess about on my mach 3 installation out in the machine shop? 

I should have the sensor mounted up and on the machine early next week. Does anyone want to help me with the macro?

Resurrecting a dead thread here...

We have several newer CNC machines and one old multicam which I converted to mach 3 when the factory controller electronics crapped out.  As we use it less and less, we have decided to make it a print/cut only machine.  We already do this successfully on routed substrates in conjunction with our flatbed printer with very accurate results.  We have print/cut thousands of dibond boards by just dropping them on the bed and using the stops we machined in as fences to align the board.  Fast, easy and accurate. 

I just purchased a Donek drag knife and want to start cutting our roll substrates on the machine.  When un-mounted, the distortion is fairly linear over a distance of less than 12 feet (our bed is 5'x10' anyways).  So the stretch and rotate work arounds that already exist will work just fine.  What we really want to do is automate the registration mark detection vs using a web cam or pointer.

Like the OP, we have a Mimaki vinyl cutter with registration mark detection which works very well.  The system works like this:  It has a light/dark edge detecting camera/sensor and two "L" shaped marks of between 10mm and 40mm long and 1-3mm wide are printed at the corners of the print.  Mind you, all this system does is address skew (rotation) and stretch.  The operator positions the sensor in the corner of the L and begins the automatic routine.  The camera scans approximately 80mm left and upon hitting the edge of the line, returns to its starting point and then travels 80mm up to find the horizontal line.  This gives the machine an origin corner so to speak.  It then travels along the X axis until it hits the edge of the next horizontal line for the upper corner mark.  It relies on the marks length and the operator loading the media vaguely straight to insure that it intercepts it.  If the media is too skewed, it will miss the mark and fail, but you have to be incredibly lazy to load it that far off.  Upon finding the horizontal edge, it advances a few mm forward and then finds the vertical edge and thus is able to divine the top corner inline with its new found origin corner (confusing I know, but when you see it it is simple).  It returns to the first corner and runs the same routine on the y axis.  Ultimately, by finding the coordinates of the 3 outer corners of the file, it can calculate linear stretch and skew and the job begins.  This system is pretty bullet proof.

I think many of us could benefit from a collaborative effort to get a system like this working in mach 3.  The commercial turn key options are obnoxiously expensive for the quality of the machines.  Compare what you get with an Esko or Zund vs a Biesse for the same money. 

Here are my thoughts on potential solutions:

Create a stand alone arduino based edge detecting camera.  When edges are located, have it simply go +5 feeding an input to your mach 3 interface (we use one the CNC 4 pc boards and its very easy to IO from, I think it's the C32?).  There is a healthy repository of open source machine vision type projects in the arduino community and it would entirely divorce the edge finding logic from the PC piece and mach 3.  Thus, all it would take is a simple macro that responded to the input from the arduino based edge finding sensor.

My other thought is to run in parallel on the PC a basic piece of machine vision software and use a sort of virtual IO to do the same as above. 

Am I just crazy or is this imminently doable?

Pages: 1 2 3 »