Spindle enable pin floating

I’ve been through the ringer getting my mini Rambo to play nice with a vfd. The speed control works perfectly using the default pwm pin (9 I believe, connector p1 slot 2) in the 5v port of the vfd. I can also confirm it with a multimeter.

However the spindle enable pin is floating and I cannot get it to stop. I’ve even connected external pull-up resistors to it and it makes no difference. I’m using the default pin (18 connector p1 slot 3.) the value floats below 1v on the dmm and doesn’t actually go high on m3. Yet, if I command m3, the disconnect and reconnect the pin it starts working…even though the dmm reading never changes.

Is there a place in the firmware to enable an internal pull-up for 18, or am i missing something else?

So here is the weird part. I found a setting in the vfd that allowed the external enable pin to start the device initially after power up, so that explains part of the issue.

The weird thing is…it’s working. Even though I don’t get stable voltage readings, m3 and m5 behave just as expected. I have no reverse, but I can’t imagine when I would need such a thing. I know marlin has a pin for it, but the way the vfd works is to have separate fwd and rev ports, and I assume they want the logic to flip flop between them. In any event, don’t need it.

One problem left. The spindle runs DURING power up…while the controller is still booting. Again, tried pull ups and pull downs on the enable pin, and the behavior doesn’t change. It’s not a problem if I let the controller fully boot before powering the spindle, but it’s a safety issue and I may forget one day.

I had the same problem with my laser on a grbl 3.0 controler it came on till the uno fully veey scary i will havr to see what fixed it this is several years ago i think it was a resister and making sure everything was on the same ground

So…this was my fault. Even though the pwm in to the vfd was 5v, the fwd/rev logic level on the vfd was 12v. So I have fried pins 18 and 19.

The problem is , I don’t know what else may be affected. The machine is moving fine, but I haven’t installed my end stops yet . I really have no way of knowing what other systems, if any, are affected.

Maybe I could move to other pins, but would have to install some logic level converters first. Speed control still works, and m5 still stops the spindle, but only because it sets rpm to zero. Until I fix this, the spindle will always be enabled.

I guess I could also change the vfd settings so enable is controlled by the panel, but speed by pwm…just means I have to manually turn the spindle on and off before and after jobs at the vfd. For that matter, I could set the speed too…kinda defeats the purpose. And I will be forced to get a new controller when I get a laser…

1 Like

You could do an opto isolation circuit, a regulator, or a voltage divider resistor bridge depending on your part cache and you inclination.

The automatic spindle trigger works on my board, I still have a manual on/off for it because I don’t trust the electronic side and turn the current off when changing endmills. You could add that as well, so you can turn it on after the boot sequence.

The Rambo is an atMega based board and the Mega2560 is well known to have issues with some pins floating during the boot sequence. If you are confident in programming the Rambo using an ISP programmer you can remove the bootloader so your board starts your loaded program instantaneously and so bypasses the problem time. Other than that you could just try some different pins until you find one that doesn’t float during the boot and then use a pull down resistor to ‘bias’ the pin off.

you bring up a good point about tool changes. god forbid some 1s and 0s flip for some reason there goes my hand. having a manual shutoff that isn’t just cutting power to the vfd may be nice for safety anyway. Come to think of it, if the unit is always enabled now (FWD permanently tied to ground), and m3/m5 are currently working just by setting spindle speed to 0, then the spindle should start and stop via gcode even if I put the vfd back in manual enable mode (on the vfd panel), but keep the remote speed control. This will be good enough for now until I can fix the logic level issue and find other suitable pins for enable. Im sure if the pins WERENT fried then a pull-up would work during boot.

Interestingly, having to include a logic shift may give me the opportunity to get reverse working too.

1 Like

$7 solution: https://www.amazon.com/gp/product/B07TCWTL82/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

Just gotta find some available pins for enable and direction that are still operable.

Finally got a chance to do more testing, and I officially fried 18, 19, and 82. I managed to spare 70, despite having spindle_direction connected to it briefly…though I suspect I never pulled it low.

I’ve now got 70 and 71 assigned along with 9 to spindle duties, and the dmm is showing all good. When I get the converter board I will be able to test for real.

Thanks for the suggestions, everyone!

2 Likes