Hello Guest it is November 30, 2021, 06:47:38 AM

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 - b_ankenb

Pages: 1

I've tried this on three different versions of Mach3 now (.066, .062, and .057) and the behavior is the same across all three. When I click feed hold and then cycle start (to pause the machine briefly and then come back), it skips a line of gcode (goes to the next line instead of finishing the one it was doing when I clicked feed hold). When I click feed hold, then stop, and then cycle start, it doesn't skip a line and it works fine.

I'd be fine with the workaround of clicking stop, except that that doesn't work for the brain I'm writing. When the brain tries to click stop, it returns to the start of the file. This means that I've been unable to script a brain that pauses the machine and then resumes it.

So, then, my questions are these. First, is there a version of Mach3 where the feed hold/cycle start thing works like it should? If so, which one? If not, how can I write a brain to pause and resume the machine?



I'm using mach3 on a windows XP PC with a parallel port. I'm new to writing brains, and I'm trying to figure out how to make one output run when an input turns on (easy enough), but then a different output run when the input turns off (like when a limit switch turns off).

I'm using the fourth axis limit switch pin on a GeckoDrive G540, but it won't be configured as a limit switch; it's instead just serving as input (it will not home anything or e-stop the machine).

So, how would I write a brain to do this? So far I can run things when the switch turns on, but not when it turns off. Is it possible, or do I just need to hijack another input pin?


Brains are a lot faster but  there Comes the external Controller into the Focus.

Thanks TPS; it sounds like VB is out because of the speed limitation you noted, since I doubt I'd want to introduce a full 10ms of lag. Additionally, I just read on the SmoothStepper FAQ (https://warp9td.com/index.php/faq/faq-mach3 under "In ESS config, what does the Controller Frequency do") that the SmoothStepper's fastest buffer rate is 1/4 second.

I use Homan Designs MB2 bi-directional breakout boards which don't have optical isolation. I have been using them for over five
years and have had no issues due to the lack of isolation...

That's great to hear. I was, in a way, wondering why I should optically isolate if I can just connect the ground lines of my voltage microcontroller and the smooth stepper.

That is correct. You are adapting a realtime, that is to say an 'on board' feature over which you have no (software)  control, to do a job
for which it was not intended. There will be limitations and incompatibilities. Whether you can live with them or mitigate them
remains to be seen.

I see. I think I misunderstood exactly how much of a difference in speed exists between THC and other solutions, and I'll plan to use THC. I guess my final question, then, is, is there any possibility Brains will run noticeably faster? If so, how much faster? Or will it all be limited by the smooth stepper's buffer lag?

My concern is that when you link all your limits and home switches to one pin then Mach loses the ability to distinguish between a limit event or a home event and cant
even distinguish which axis.

From what I've read, Mach3 can home each axis in sequence so that it knows which one is homing when. I know that would be slower, but other than that is there another reason why it's worse? Also, should I have separate home switches and limit switches? The machines I've used, for example, on the x-axis, have one switch that homes and limits on the left and another switch that homes and limits on the right, and all of those are hooked to one pin. Admittedly each axis still has its own pin. I think this is how the G540 expects you to set it up too since it only has one pin per axis.

If you were to use an Ethernet SmoothStepper (ESS) you could have up to 51 inputs and outputs, with a maximum of 31 inputs. Is that enough? If not consider a UC300, now you have up to 85 inputs and outputs, which if I'm not mistaken, means you can have up to 57 inputs.

This sounds great. We were considering a SmoothStepper anyway, so this sounds like this is an easy way to go. I assume I'd still want optical isolation (or a breakout board with the same) on those extra inputs? Either way this sounds like a solution.

As to what you said about THC, I like that even better, but from what I've read THC only tells one axis (presumably the Z axis) to move up/down. I'm concerned that if I wanted to do more complex cuts it wouldn't work right; if, say, I had a sinker that was angled or flanged. Also, does that mean that the sinker would always be moving, since THC only has up and down? I also wonder if the sinker might plunge too far if it somehow bored all the way through; then it'd never have the signal to stop because the capacitor voltage would stay high. What part of the THC system prevents that? Of course, if THC allows more complex control, that would solve this all. I still feel like the best solution would be to forward/reverse feed.

Also, can I still get the few-millisecond (longer) response time you mentioned out of a Mach3 Brain? I'd guess a few milliseconds will be fine for this. I've actually found VB code that does this online, so I shouldn't need you (or anyone else) to bust their guts.

Wow, I'm amazed at the amount of support here. Thanks everyone!

In response to Tweakie's ask for more detail, we're running a sinker EDM machine with a microcontroller that acts as a voltage sensor. If the capacitor voltage drops too low, the controller tells Mach3 to reverse feed to avoid shorting out, and if it goes too high, it tells it to feed normally. If the voltage is in the middle, the sinker just sits stationary. All the voltage analysis is done on the microcontroller, so the problem is just how we communicate those three different states from the microcontroller to Mach3. Since you said you can't PWM the limit switch pin on the G540, I think that means this isn't possible with only one pin.

In response to ger21, that seems like a good idea. Do you mean that I could get a separate controller (I assume those boards replace a smoothstepper or something similar) and use the controller's pins? I assume I'd need some kind of breakout board to make use of the extra inputs safely.

In response to joeaverage, are you saying I could just plug in another PCIE parallel card, plug in a breakout board, and use that for a ton more inputs? I know I'd still need to process the input (it'll probably just be binary to decimal), and I was planning to use Brains, but other than that is the config as simple as defining the new inputs appropriately in Mach3? In that case, this seems like it'd give us a ton more input options.

Another thing though, I just saw something online about how you can put multiple limit switches on one pin. That would free up an extra pin, and then (with two pins) I could have up to four states, which would be fine. Would you all recommend putting multiple switches on one pin? It seems very simple but I know I may be missing something.

General Mach Discussion / Send PWM signal from Geckodrive G540 to PC
« on: June 28, 2019, 12:41:37 AM »
I'm new to this forum, so sorry if I make some mistake.

However, I've been looking everywhere to see if it'd be possible to send a PWM signal over the parallel port, from a Geckodrive G540 to a PC, as input that Mach3 would recognize (maybe a 50% signal does something, while a 75% does something else).

We're building a machine that needs an input to the computer to tell it to either reverse feed, continue forward, or stay stationary. Our plan was to just use the 4th axis limit switch on the terminal block's pin 4 (we don't have a fourth axis), but I think that's meant to transmit a normal binary on-off signal.

Will that pin work if we somehow send a PWM signal through it? If not, what's the best next move?

Pages: 1