PWM Voltage Wrong After Random Disconnect – No Company Support

That category though, it’s telling!

Preface – middle of 2022
A few years ago I had trouble with my motion PCB, and had a few long conversations with someone at Carbide3D who had a good understanding of the board and possible problems and solutions. Purchasing a new PCB solved my problem, and I was happy to spend the money to get it back up and running. (My conversation with carbide3d’s support was to confirm my suspicions before purchase). To summarize, they made money on our support conversation, and I was happy with my machine working again–win, win.

My machine has been working for the past two years without issue! Then Friday it disconnected mid cut! No problem, I’ll reconnect, only I couldn’t. I restarted everything and also had to reset the USB ports on my computer, and I was finally able to reconnect–success #1.

I started my cut again only to realize the machine was no longer controlling my spindle. (Aftermarket random Amazon/Ebay spindle and HY VFD–aka unsupported)

I reset everything on the vfd (I don’t believe this was necessary, I manually hit the stop button on the VFD when it turned on spinning, and that usual makes it unhappy, but restarted it, and that probably was the only issue with it).
I tested it in manual mode, and it worked perfectly, full button and speed control–success #2.

I changed the setting over to the appropriate PWM control, moved the jumper to “input voltage”, and connected back to the machine and it all worked! … almost.

I was able to control the spindle speed from the computer through the MDI command again! Success #3 (I’ve run on Carbide Motion from the start.)

BUT, m05 would not stop the spindle!

The command would slow it to about 500rpm. Every other m03 speed command set it to the appropriate speed. I checked voltage on the PWM pin, and m03 S24000 gave full voltage (my spindle’s max rpm), S12000 gave about half voltage, but m05 would only bring the voltage down to 0.15v. Same voltages read with the VFD unplugged and plugged into the PCB.

Normally I’d consider this within margin, but a quick calculation says this is the perfect voltage to get 500rpm. So my VFD is interpreting the signal correctly, and I have control of the speed, but it won’t stop.

I have checked for ground looping and emi interference–no problems–I’m running shielded cables everywhere.

Any ideas? I’m in the middle of a commission for this Christmas season, and could really use extra brain power to solve this one. (I can still run it like a router through CM, but shop time is the reason I upgraded to rpm control in the first time.)

–Is the motion PCB fried?

–Is there a minimum PWM voltage adjustment in either hardware or software?

I’m happy to buy a new board if it’s the problem, but I don’t want to waste money and time if that’s not the problem.

After failing to solve this on my own and consulting an electrical engineer who verified my series of tests to narrow down the problem, I contacted support yesterday. I was heartily disappointed. (Personal info and names have been removed out of kindness for this agent. I have nothing against them, but I feel Carbide3D has let me down.)

Transcript of call/email:

“Hi, this is Josiah. My number is [xxx-xxx-xxxx], and email is ___@gmail.com. My machine, Shapeoko, what is that, the three, shut down randomly in the middle of a cut, and I was able to get it back up and running, but it is not talking to my VFD properly anymore. I’ve done a bunch of tests, and I just need some input and advice on where to go from here. Thanks.”

“Hey Josiah,

I am curious, what kind of tests did you run for your VFD? Also, please send me clear photo of your control board and its connections along with a wide shot photo of your machine.

When did you buy your VFD? I don’t see a VFD or machine purchase connected to the email you gave me. Did you buy it with another email, do you have an order number or copy of your order invoice that could help me in tying a machine and VFD to you to better assist you?

Regards,
[support agent]”

“Hey, thanks for the quick response. I am running a vfd/spindle from before you guys started offering them. It’s running directly off the 0-5v pwm signal. Attached are a couple photos, let me know if you need anything else.

I’ve been running this setup for the past 1-2 years–whenever I got the replacement motion pcb–without issue, 200+ operations without issue. Yesterday a problem code popped up mid-cut, unfortunately I did not get a screenshot of it as I wasn’t expecting problem, but it disconnected from the machine. I restarted everything, and it still didn’t connect, so I reset the usb driver on my computer, and that seemed to do it–random, but I could connect to the machine and move it around.

However, I had no control over the spindle at this point. I would not start or stop from a .nc file, or a direct mdi command. I reset the vfd, corrected the settings again, and it all started working again, almost perfectly. I first tested the control manually from the vfd, then switched the input control over to the pwm input, and I could control the spindle speed again, however, M05 would not stop the spindle, only bring it down to about 500rpm. All other speed commands were correct, or close enough, reading the rpm on the vfd matched up with the speed command, and checking the pwm voltage lined up with the commands, all except the command to stop it, which would leave 0.15v on the pwm pin. Normally I would think this was an acceptable range of variance, except the spindle won’t stop with that voltage supplied, and 500rpm lines up with 0.15v in the 0-5v control over a 0-24000rpm range almost perfectly.

When the pwm cable is unplugged from the vfd, the spindle immediately stops since it is no longer receiving any voltage on the input, and once it is plugged back in, it starts back at 500rpm again. If I change the minimum speed for the spindle on the vfd, the spindle jumps up to that speed, and goes back to 500rpm after setting minimum speed to 0.

To summarize, I have perfect control directly from the vfd (not the problem). I have accurate speed control from carbide motion mdi (not the problem), but m05 does not stop the spindle, or bring the pwm signal to 0v (problem).

Machine pwm settings:
$30 = 24000
$31 = 0

I have read through every relevant forum I could find regarding pwm, spindle, vfd, and emi, and grounding issues without finding a scenario similar to mine.

Thanks for your help.”

“Hey Josiah,

Try the code m5 instead of m05, if the issue continues after that, I’m afraid we can’t support a third party spindle, you would have to contact the company you bought your spindle from for trouble shooting since the issue lies in a component that isn’t Carbide3D.

Regards,
[support agent]”

“ I tried the command, it did the same thing as M05. It slowed the spindle, but it did not bring it to a full stop, but left it spinning at 500RPM.

Please re-read my summary, the VFD and spindle are functioning perfectly, following every PWM command. The problem is the motion PCB is sending 0.15 volts when the command M05 is sent, not 0 volts. This leaves the spindle running, following the PWM command from the board.

Is the board busted or is the board broken or is there a minimum PWM setting that I can change?”

“ Hey Josiah,

The board may be busted, but the third party VFD is a variable that I can’t account for, you can try replacing your PCB but I’m not sure what effect the VFD had on it or will have on the new one since it wasn’t made specifically to operate with our PCBs. You can try changing the version of Carbide Motion you are using to something more recent since the m5 commands aren’t being accepted but if that fails then yes, try a new control board and see how that works out for you.

Regards,
[support agent]”

“ Hi [support agent],

Please stop trying to skirt your company’s responsibility. I am not blaming anyone or anything, I am looking for knowledgeable help.

I have tried multiple version of carbide motion, as I said, “I’ve done a bunch of tests…” The results were all the same. Both the m05 and m5 commands were sent through mdi, and they were received by the machine (recorded in the log). But, the pwm signal from the pcb is going to 0.15v, not 0v.

The vfd, that you said “wasn’t made specifically to operate with our PCBs” has been running flawlessly receiving commands from the motion controller for the past couple years. It does not “operate with the pcb” as you said, it only receives the pwm signal.

I am looking for more knowledge about the PWM signal on the motion pcb for the shapeoko 3 xxl. If you cannot provide support for this information, please forward me to someone who can.

I realize you are trying to protect your company, and that my request is not a an easy win, but how you handle support for your products tells much about the company.

Please help me solve the problem I have encountered with my machine.

Regards,
Josiah”

“ Hey Josiah,

It isn’t a matter of protecting my company, or seeking an easy win, the Carbide3D team supports Carbide3D products, considering your VFD spindle is the issue and is not a Carbide3D product it is not something we support. Your best bet is to contact the VFD manufacturer, the people that created the spindle that is malfunctioning as there is nothing I can do since the company I am associated with did not produce or design your VFD and Spindle, I have no knowledge of your VFD and my colleagues will have the same level of knowledge and ability to troubleshoot you as I do.

Regards,
[support agent]”

“Do you have ann idea why the pwm signal from the motion pcb would not go down to 0v on command?

-Josiah”

“Hey Josiah,

Could be complications caused by having to communicate with a VFD that the PCB wasn’t made to communicate with damaging the board.

Regards,
[support agent]”

I hate that the first response started with the attitude, “you didn’t buy it from is, it’s not my problem.”

–Am I mistaken in how the VFD receives signal? I’m pretty sure I have a good understanding of it, but please correct me if I’m wrong. I do not believe there is any “communication” between the components, one transmits, one receives, independently regardless of what the other one is doing.

To be clear, I’m okay with an “I don’t know” from support, BUT with some explanation or comprehension for the problem. All I heard from them was, because I used their machine as a “real” cnc machine (before they even released a spindle :rofl:) they can’t/won’t help–along with a complete lack of understanding of my problem, or how their own PCB works. They refused to recognize my problem. (Based on the responses, I’m not sure they bothered reading through my dilemma.)

Maybe stop mentioning the third party VFD.
Start over with a different email address.
Just let support know you want your board to work properly.
As in, Maybe you are considering purchasing the C3D spindle package, then you could ask, for clarification, “what does the C3D spindle do when it’s PWM input is 0.15v” instead of 0v.
Also, you are correct, there is no “communication” between the two components. The PWN signal is sent out to the VFD, but there is no return communication from the VFD.
Of course, the expected reply will likely be, order a new control board.

Hi Josiah, did you write down your VFD parameters before the reset? Please refer to VFD Parameters (Huanyang model) it has a good discussion on setting up the inverter. I think between PD010 and PD011 you can set a minimum operating speed higher than the “command” generated by the PWM offset from the controller. this would prevent operation at that low a speed but get the spindle to stop with just the offset voltage.

1 Like

Thank you for your suggestion and knowledge. It feels a little bit like cloak and daggers just get support–very different from my experience with them a couple years ago.

Do you suspect the control board is bad? With everything else working on it and no visible burnt/puffed up components, I was wondering if re-flashing the stock software might reset that pwm signal?

Ha, sort of. I’ve used that vfd writeup Julien made from the start, so setting the parameters again was a breeze. I have since setup two other VFDs–different brands–for other machines successfully, and jumping between manuals has helped clarify some of the parameters.

I had initially tested that, hoping for that exact result, both trying the vfd and the $31 settings with a higher minimum rpm (an arbitrary 3000rpm), and the results were the same. When under vfd control, while “on”, the spindle would always spin (regardless of the PD010 or 011 settings), but the lower end of the potentiometer would not slow it down past that 3000rpm unless I hit the “off” button.

I could get speed changes above 3000rpm through MDI commands, but any command below s3000 would leave the spindle running at 3000rpm (regardless of which device I had set to a minimum of 3000rpm, or higher voltage minimum). This includes the m05 command–that still had positive voltage on the pwm pin.

My understanding, those settings keep the spindle from burning up from low rpm by speeding it up, not stopping it. So the vfd takes 0v as “off”, and anything above 0v up to the minimum rpm voltage as “minimum rpm.” Numerically written:

0v = 0 rpm
[0.01v, 0.60v] = 3000 rpm
Then any voltage above is equal to its rpm equivalent e.g.
0.61v = 3050 rpm
0.62v = 3100 rpm
0.63v = 3150 rpm
etc.

Yes.

I have no idea why it would be “Bad” or what would have caused it to go bad but the characteristic you describe is not normal.
I do not know how you reflash the board as I have never tried to do that, actually, I wouldn’t even try. I would just order a new board. If it fixes the issue, do your attempt at reflashing the old one and keep it as a questionable spare. I don’t remember the price but last time I looked a new board is only around $100 or so.
I run my VFD/spindle manually. Reason being- I started using the PWM signal to run a laser add-on. I found a similar issue to what you have but mine is at the top end, PWM will max out at 4.85v. I never considered checking its lowest output. Now, I am thinking about checking it. My board will control the laser to complete shut off, but, when I use a framing feature, my laser will mark material even though I have framing output set at 0.02%. So, for my safety, when the laser path is finished and before I remove safety glass and safety glasses, I switch my laser driver off manually and I don’t remove safeties until both fans have stopped spinning.
In other words, I do not trust the CM boards PWM control. To add, if I used this CM board to control spindle speed I would switch VFD power off before changing bits…
I could tolerate a little owie to a couple of fingers, but losing eyesight would suck.

Hi @Josiah,

I have no idea why your PWM output is 0.15V for a command of 0 RPM, but having a look at the Huanyang manual (after all these years) I wonder if you could try playing with PD072/73/74/75/76 to workaround this problem, by configuring the VFD to NOT start for any value below 0.xx Volts

While I never experimented with those specific settings, if I read the (poor) documentation correctly, by setting those parameters a certain way you can alter the input-voltage-to-commanded-phase-frequency curve, and this specific example looks interesting:

Note the frequency curve that will only take a non-zero value after the input voltage has reached a given threshold. Note also how the comment mentions that this is useful when “it is better not to use signals below 1V”.

by tuning PD072 and PD073 you may be able to find a setup that has the VFD start spinning only above, say, 0.2V input, while retaining the normal voltage-vs-frequency above 0.2V

Worth a try anyway (make a note of current values before altering anything). Also double-check the manual of your specific vfd model, your mileage may vary.

Take all of this with a grain of salt, again I did not try this, I just read the docs and thought I would share this idea of things to look into.

Cheers
Julien

3 Likes

@Julien Thank you for sharing your knowledge with the community, your VFD post was immensely helpful when starting out!

I had originally tested adjusting PD073 and PD075 independently to get the VFD to stop with m05, but neither seemed to have an effect. However, on your suggestion I read through the Descriptions of Functions for this block of numbers again and set according to this graph (it makes the most sense for what I’m trying to achieve, but perhaps trying the PD073=50 from the graph above would be safer?) It mostly worked!

The spindle stopped with m05, but the max rpm was limited to ≈2000rpm with m03 s24000. This led me to believe that PD072 was the issue and reset it (400), and it worked! Full rpm and full stop. I then tried lowering PD073=5, thinking it might be too much for a 0-5v signal (the graph example is a 0-10v), but the spindle immediately started back at 500rpm, so I reset it to 10. Then I tried PD075=0 with spindle jumping to life again, so I reset it to 1. From my observations, I believe PD072 is for specific spindle requirements, and PD073 and PD075 work together to filter the low voltage. If time allows, I will test PD073 with higher numbers and report back. With the current settings, I was able to get 1000rpm which would be about 0.2v (calculated–not tested this morning), and that’s way lower than I need.

Current working settings:
PD072=400 (Hz) [as specified for my spindle]
PD073=10
PD074=0 [did not test adjustments]
PD075=1
PD076=0 [did not test adjustments]

@MindlessCorpse I did notice the max PWM output was 4.5v on my board (is that too low?), but it wasn’t an issue for my setup because the spindle speed can be tuned with its max rpm setting PD144 (not sure how lasers work with all of this, I haven’t set mine up yet). I figured a new PCB was inevitable. I’ll order one, but hopefully now I won’t have to install it during busy season.

Thank you all so much for your help! I’m not confident the PCB is 100%, and I’m not sure what happened to make it unhappy, but my machine is running as it should again.

2 Likes

For my instance I find it acceptable because I prefer to not run my laser at 100%. I always figure that if I need more I will upgrade the laser to a higher wattage unit. I think of my spindle the same way, it is rated up to 24k but I don’t tend to run it that fast. Usually around 18k some instances 20k but no reason to run at 24k.
Congratulations on finding a workable solution for your spindle issue.
MC

I got busy catching up with orders after my last update. However, the first operation rpm was off, and ended with the spindle still spinning (at 500rpm again). Tested voltages again, and the minimum PWM voltage jumped to 0.27v, AND the max voltage dropped to 3.52v!

I adjusted PD144 until the rpm on the VFD matched the appropriate m03 commands (simple enough).

I also adjusted PD073, jumping by 5 until I got the spindle to stop with the m05 command again (PD073=25 worked this time). I then proceeded to try m03 S500. Theoretically, with these settings suggested from the manual, it should not run, but the spindle jumped to life just over 500rpm. This is perplexing. I tested to PWM voltage with that command, and it produced 0.41v. I am wondering if my understanding of this parameter is wrong…

…But it’s all working. I’ve since run about 50 operations without issues. Tested voltages again once I was caught up on work, and nothing has changed. :man_shrugging:

I’ve been following this thread with some interest as I had upgraded my SO3XXL with a 3rd-party router speed controller(SuperPID) to run the Makita trim router I had for it. The last time I had it running (it’s been packed away for some time now) it ran fine & responded well to the PWM & spindle on/off signals.

I realize that VFD spindles may be somewhat different, but still essentially the same. So my question is:

How do you know that the signal output from the Shapeoko controller is compatible with your VFD input?
I have a background in electronic controls, so seeing wonky voltages to my mind brings up the question of whether the VFD is putting too much load on the PWM signal line or otherwise interacting with it in an unexpected way electronically. This doesn’t exclude the possibility of the Shapeoko controller having a potentially poor signal line.
But it does seem to me that a signal buffer circuit would be helpful in this context.

Interesting.

Running a router is simpler than the spindle, since it can be controlled by triggering a relay. But, the VFD works similarly, with a separate power source, but instead of power on/off relay, the VFD assigns a rpm for “each” voltage it receives.

How do you know that the signal output from the Shapeoko controller is compatible with your VFD input?

Do you mean…
Is the board sending out the correct type of PWM signal, the signal VFD is expecting? (It Is.)
OR
Is the VFD pulling more amperage than the control board is putting out?

For that, I don’t know. I would think the VFD would respond with “the lowest reasonable amperage signal”. Again, the VFD is not pulling power from the control board, but it obviously must have some current provided on the PWM input to function. How much, I don’t know. If this were the issue, I would speculate I wouldn’t have been able to run the machine so long without issues showing up before now. :rofl:

I’m not entirely sure how to test that, since it’s not a straight voltage, but a PWM signal… Any suggestion or ideas?

But it does seem to me that a signal buffer circuit would be helpful in this context.

A buffer circuit does seem like good practice, but they don’t appear to be common on full-size/commercial machine setups–using the “big boy” setups as guidelines has been rather reliable–up to the individual machine’s limits–as those machines usually have to run 8+ hours a day (though admittedly I don’t have a ton of experience with +$250k machines).

This doesn’t exclude the possibility of the Shapeoko controller having a potentially poor signal line.

With all of this, my biggest question is, what changed?

If you had an oscilloscope, you would be able to look at the voltage waveform on the signal line to the VFD - both with & without the VFD connected. A PWM signal is ideally a square waveform that changes in width. Once it passes through a low-pass filter it reads as a steady voltage - but never totally 0V or Vmax because then there would be no Pulse-Wave-Modulation.

If the VFD input is loading the signal output of the C3D controller too much, then the square wave will not look very square & the signal voltage will be reduced. I consider this scenario quite likely - a VFD designed for industrial equipment is likely meant to connect utilizing 4-20mA/0-10V signalling. The C3D controller(utilizing a low-cost, low-power platform) is not designed for that & I would be suspicous that the PWM output on the micro has burned out - a direct, non-buffered output from a micro can be burned out by little more than 5mA/5V. Industrial controllers use buffer signal chips for IO interfacing - protects the micro & conforms the signal to industry standards. C3D machines are not industrial.

The VFD may have been just barely able to ‘see’ the signal from the C3D controller while putting the C3D controller’s signal output under stress until it finally just quit.

I guess my point is that without deep-diving into specs/design on both sides of the line, there’s no way to know if there’s a reasonable expectation that they should be able to work together without burning out. Obviously you’ve proven that they can work, but now have the problem of why it failed & how to prevent it again - which leads me back to putting a buffer on the PWM line.

Joel, thank you for sharing your breadth of knowledge!

I don’t have an oscilloscope, and they’re a bit cost prohibitive, but it would be nice to better see what’s going on. I realize my use is probably beyond the intended scope of the machine. I got it for a great deal used and it’s worked very well for me, so I really can’t complain, however, I am hoping to circumvent repeat failures for all VFD users if possible.

Indeed, even without testing the this motion pcb, this seems like a reasonable conclusion based on my experience with other micro controllers. That said, you’re reaching into an electrical realm I’m not terribly familiar with; are you suggesting I use a signal buffer chip, or make a buffer circuit?

This topic was automatically closed after 30 days. New replies are no longer allowed.