Hello Guest it is March 28, 2024, 11:22:18 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 - Rene van der Heijden

Pages: 1
1
In addition to what I wrote before, we modified the M3.m1s file such that, after starting the spindle, it has a build-in sleep of 4 seconds. This is the time that, according to our motor control settings, is needed to slow-start the spindle. Consequently, the spindle always has sufficient time to start and will run at the requested rate when the work actually begins. Being inexperienced with CNC routing (and Mach3), I wonder whether you consider this a clever of obsolete precaution. Please feel free to comment.

2
Let me start by bringing the good news: we have solved the problem  :).

First, we modified the M3.m1s file such that we can see the difference between a direct call to DoSpinCW() and a call through the M3.m1s file (like a programmatic M3). The conclusion was clear (and in line with the remarks of TPS): pressing the "Spindle CW F5" button does NOT invoke the M3.m1s file and hence, the button-click event must turn the spindle on in a different way (e.g. by making an internal call to DoSpinCW ). On double-click it still started our spindle while a single click did not. Accordingly, I believe that there must be two different event handlers in place.

Because you insisted, we then checked all settings again, comparing them against the instructions from the manufacturer. Although everything was set as described in our machine documentation, I noticed that in "Ports & Pins", under the "Spindle Setup" tab, the checkbox for "Disable Spindle Relays" was UNchecked. I wondered about this setting before as, to my knowledge, our spindle is PWM controlled. Ignoring this manufacturer specification, I tried to check this box, effectively disabling the spindle relays. This appeared to solve our problem! :D

The double-click behavior remains a mystery, but our machine is now fully up and running.

Thank you for your concern and support.

3
Hi TPS,

Thanks for your further suggestions. I cannot access the machine right now, but will follow your instructions, probably tomorrow. However, I can clearly testify that the double-click definitely does something else than two single clicks: double click actually starts the spindle! By my knowledge, Windows generates another event for a double click than for a single click. There can be two different implementations having different effects (very different even, depending on the programmer). I have no clue how this is in Mach3 however.

As soon as I can, I will test whether a single button click invokes the M3.m1s script, simply by adding a MsgBox() command to that script and testing whether that message comes up. I expect it will. I will also check whether the double click does this as well ... (now I am curious).

Is there any way to access the implementation of DoSpinCW() command?

4
@Tweaky.CNC
Thanks for your suggestion. We will check this asap, although we have checked all pins as part of the process of setting up the system. Also, we don't expect the problem to be in the hardware (or hardware setup) as the spindle runs perfectly fine when we double-click the spindle button in the Mach3 interface (and it actually stops on M3 - I don't see how that can be caused by a defect in the spindle controller or an error in the pin-setup). It looks like there is some software safeguard that prevents M3 from doing its thing and which is overridden by a double-click.

We also checked the M3.m1s file which holds one line of code which seems to be just fine ( "DoSpinCW()" ). In addition, we added a file called M03.m1s with the same line of code (as someone suggested that the single click might try to access that in stead). Having said that, the single click does something, as only after a single click (or M3 code), the spindle stops on M5 (stopping means: it starts a little bit before stopping). We expect this also to be a software thing (we think that the stop-command is ignored e.g. if the "spindle running flag" is not set). Is there any way to check the implementation of DoSpinCW()?

@TPS
We checked this, as we have been looking through this forum quite extensively. The code seems fine (as described above) and matches the code of a fresh Mach3 install. It contains one line of code: DoSpinCW(). This line didn't contain a CR at the end - not sure if that is required. So we added CR-LF, but that didn't help either.


We are open for more suggestions  :-\

5
I have a new Chinese import Router, controlled by Mach3. After some experimentation, most aspects seem to be working fine. However, the spindle does NOT start when simply pressing the "Spindle CW F5" button. Yet, the yellow rim around the button starts blinking, indicating that the spindle should be running. When I click it again, the blinking yellow rim disappears and the spindle stops (the spindle actually turns a little bit before stopping completely). This behavior is very similar in code: M3 S10000 doesn't do anything, but an M5 AFTER that makes the spindle rotate a little before stopping. M5 without being preceded by an M3 doesn't do anything. So far, one might think that some pin wasn't set correctly or a connection fails. Yet, the strange thing is that we can actually use the router! This is done by removing all "M3" assignments from the code and starting the spindle manually. Starting the spindle manually requires a DOUBLE-CLICK on the "Spindle CW F5" button (yes: double click starts the spindle normally, single click doesn't work). When the spindle runs, an M3 assignment in the code stops it again?! That's why we remove all M3 assignments.
    =>  Single click or M3 code: spindle doesn't start but the button starts blinking (yet something happens because M5 behaves differently).
    =>  Double click: spindle starts normally while the button blinks (M3 stops the spindle, as does M5).
Accordingly, we have the impression that the machine works fine and the problem resides somehow in the software. We have searched and read a lot (and learned a lot too) but yet without a solution. :'(

Any help is highly appreciated.

Pages: 1