Anyways I’ll try to fix this but it is mostly guesswork as I don’t have one of the affected Megas.
Christian, can I do something for you? Estlcam runs on a dedicated machine and I have teamviewer installed, so if you want you can take over the machine?
@ Steve. Use the PP I have attached for Vectric software.
I ended up resetting my stepper voltages, and triple checking my threaded rod and making sure it was lubbed with a lightweight oil. Fingers crossed…>So far so good. Ive done several 3d cuts that were 2+ hours without issue.
Could someone explain to me how I can use spindle control with ramps and Estlcam? What port do I have to use and what extra wiring is required?
I have one of these 400 W chinese air cooled spindles. I got my steppers working properly with estlcam but didnt find anything about how to set up the spindle.
Today I’ve tried the new Estlcam software with my MPCNC and it seems that the spindle doesn’t get switched on any more… When I connect the spindle control to +5V, the router runns, but when I connect it to Aux 4 pin 16 (D23), nothing happens either on manual spindle motor control nor when i start the .nc program…
Anyone else has some problems with spindle motor control or did I fry my D23 output of my Arduino?
Christian, in your Spindle Configuration page you have an example of the wiring for the spindle control, presumably for PWM control of AC spindle like a router. “Zero Crossing Circuit” is mentioned, and I see that is supposed to deal with how AC SSR triacs don’t switch off until the phase hits 0. Do you (or anyone else) have experience with that, is it a viable way of controlling router speed, and if so, does it affect the torque and cutting characteristics of the router? Presumably the builtin feedback speed control of certain routers would become pointless, and without one’s own way of determining speed and adjusting the PWM, you’d lose that. But what are the negatives of this method?
Also, good job on adding control into the program, but I would love to be able to see the FW before it’s compiled and uploaded. I can’t imagine there’s an IP issue given the multitude of RAMPS FWs out there.
the zero crossing circuit is required to avoid interferences and voltage spikes (those voltage spikes can destroy SSRs not designed for inductive loads). It cannot be used to control spindle speed.
PWM is not available on the Estlcam Ramps compatible pin layout. It is only available for the Arduino UNO and Nano versions.
The firmware is completely written by myself - besides the pin layout it has basically nothing in common with Ramps.
the spindle signal is very weak and may need an amplifier.
I’ve configured the pin as input so it is only supplying 0.5mA current.
The reason is too many people forgot to remove things connected to Aux4 - and if I configure the pin as output it will destroy some of those things. I don’t want to get any more angry mails about destroying boards.
The Estlcam Arduino Mega firmware is a compromise.
Only the Arduino UNO and Nano firmware supports all functions.
Maybe you could put out one Estlcam Arduino Mega firmware version with all the functionalities and big disclaimer that it has a 5V outputs for spindle, probe or whatever
I have just started putting my MP CNC together and was looking forward to having a spindle control
@Christian
My solid state switch turns on at 3VDC and draws 6mA. At 5VDC it draws 10mA. When connected to the spindle pin, the voltage only rises to 1.0V. The pin correctly outputs 5V with no load. I did not measure the source resistance.
So in the firmware, I guess instead of the normal:
pinMode(pin, OUTPUT) which provides a 5VDC source or sink of up to 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms.
You do the following:
pinMode(pin, INPUT); // set pin to input
and when spindle is required:
digitalWrite(pin, HIGH); // turn on pullup resistors
and it sources whatever is available through the internal pull-up resistor.
I agree with @Walter Rotter: Nothing should be connected to the AUX ports unless specifically supported by the firmware. User Beware!! I would very much appreciate such a minor firmware change to correctly set the output pins as OUTPUT.
One of the major reasons I started using ESTLCAM is the MEGA2560/Ramps 1.4 support. That hardware combination is very convenient and inexpensive for many purposes…
On an unrelated note: I’ve never had any of the falsing problems many have reported so I’m hoping not to have to add additional circuitry that really shouldn’t be needed.
If I configure as output people will complain about destroyed hardware.
If I configure as input it will only work with sensitive relays or additional amplifier.
The first one is worse for my reputation even if it is the users fault for not disconnecting unsupported hardware - it just creates a very bad impression to potential new customers.
Christian, this may be a dumb suggestion, but can’t you by default configure as output, but add a commmand / configuration toggle (with appropriate warnings, security unlock/pseudo safety cover, secret handshake yadayada ) to switch it to output ? I suppose this could be made via a dedicated gcode message or the equivalent in the software to firmware ESTLCAM protocol
Guys the uno board is super cheap, you can get ones that you can even swap the drivers into. You can use all Christians features for $10-$20.
Instead of him spending all his time making the ramps do a few more things I would rather he use that time for other things. The ramps board is designed for something else entirely (3d printing) and super expensive compared to the uno boards. It is awesome that it works at all, think of it like a test drive.
I use the ramps so people can easily use my machine for any purpose they want. If it was just a cnc machine ramps is not the least expensive choice. If you are not using the marlin firmware try the uno based boards.
@vicious1 I looked at using Uno, but that requires separate driver boards which must be wired. The only shield solution I found was a CNC shield which is GRBL compatable. The Uno pin mapping is very different than for ESTLCAM. Perhaps you can suggest something?
The nice thing about the RAMPS board is what you noted: Easy to use for any purpose. Its a nice, cheap small solution.
I’m not asking for the RAMPS implementation to do more things, just correctly implement the existing capabilities. Using inputs for outputs is not good design practice. The off state is simply not defined and there is nothing to actually pull the pin low. For me, it’s not that much trouble to change my spindle interface, but that is not a great general solution as you can’t find an off the shelf switch.
Apparently the only issue Christian has is people trying to use a graphic display that Repetier/Marlin supports while running ESTLCAM firmware. I would not try to use ESTLCAM firmware for 3D printing. If I wanted a multi-functional machine I’d probably go back to Marlin. reflashing the firmware for a function change is a real pain.
Still, for 2.5D routing, ESTLCAM is a nice solution, much easier to use than the CAM functions in applications like Fusion 3D.