DMM DYN 4 servos + Mesa 5i25 & 7i77 XYZ+A Cnc 5x10
Hello Bevins, sorry for the late reply... work keeps me very busy lately.
To answer your question, Yes, I did manage to get the Dyn4 to work reasonably well with the 7I77. I am running them in torque mode, +-10v analog. I am not completely happy with the way they tune but I managed to get them tuned enough to where I can run programs. The drives have very limited and unconventional tuning parameters. On my system the only way to get a decent tune was in torque mode which requires a lot of filtering and dampening but the filter and tuning parameters in the drive did not seem to work for me at all running in torque mode so I could only tune in LinuxCNC. Also, using the torq const. filter in the drive would create runaways for whatever reason. Maybe in step and dir they run better but I would need to swap my board out with a 7I76 to test. I'm just going to stick with the 7I77 and try to work on the tune some more when I get a chance.
I drew some simplified sketches of how I wired the I/O from Dyn4 to 7I77. Now my control cabinet is a lot more complicated than the sketches and I have a electrical cad file with all the wiring, it can be a bit overwhelming. It would take a few hours to go through and study all the circuits. But hopefully the simplified sketches help you understand how I have it running.
The enable circuit (which is technically a disable in the Dyn4) required me to use a N/C relay to get this circuit working with the 7I77 since the Dyn4 enable(disable) logic is backwards. I run 24Vdc from the main logic PSU (Omron S82K-10024) to Dyn4 JP4 Pin 16, run pin 15 through a N/C relay to the PSU common. 7I77 triggers the coil which will enable drives when LinuxCNC is up and running. In my complete cabinet circuit I also run a PILZ safety relay tied to my main estop which keeps the drives from powering on till I am booted into LinuxCNC it also keeps me from powering on the drives when no 24vdc "disable" signal present or if there's any sort of fault. I don't have to worry about runaways happening before linuxCNC takes over and the control system is ready. I don't show the safety loop in thw simplified sketch but it shouldn't be too hard to implement in your system. Professional CNC cabinets should always have a good safety relay anyways to handle estops, failures and such.
I can, if needed, draw some simplified sketches of how my high voltage side is wired and how the main contractors power on sequence is setup.
Let me know if this is of any help.
Robert
I am not going to buy them if you cant run them in velocity mode. I spoke with them a while back and they said no problem. I also asked them about if you can change the backwards way they deal with enable/disable and they said you can change it.
Its too bad because it looks like a nice product.
Thanks for the files.
Please Log in or Create an account to join the conversation.
It has been a few months since I've tried velocity mode, so I am going off of what I remember off the top of my head.
The biggest issue I recall was not being able to add enough P-gain to get following errors down. Adding even very minimal D-term in order to boost P-gain in LinuxCNC would cause motor resonances and screeching sounds from hell, I kid you not. In velocity mode it was very easy to get an unstable loop with this drive and motor combination unless I ran very low numbers which would not be enough to stiffen the system up and get a desirable response, very sloppy high following errors etc.
Switching to torque mode I was able to get very high P-gain and stiffen the system up quite nicely. Of course, I had to add in Dterm to stabilize the loop. Got the following errors to be acceptable and system responsiveness seems pretty good, though I feel like I can get following errors a lot lower but adding more D-term so that I can push P-gain higher introduces high pitch resonances. I can not find a way to filter it out when adding a higher D-term.
The current loop gains that work for me in torque mode are: (example is X-Axis, heaviest load)
P: 2750 , I:0, D: 15, FF1: 15, FF2: 0.075
In velocity I would probably get to somewhere around:
P:250, I: 0, D: 1 FF1:1, FF2 0.01 till reasonably stiff before motor resonance.
With the Yaskawa's SGDH & SGDV drives on my other machines, tuning is much easier and just works. No weird resonances. The Yaskawa's have good resonance filtering that actually works.
Something I noticed is that when in torque mode the Dyn4 internal tuning parameters do nothing. This could be the reason why the tuning works better in LinuxCNC when in torque mode. Only the Torq Filt Constant parameter does anything but if I use it to try and filter the loop resonances it causes runaways in the opposite directions, I find that odd. The drives definitely have me scratching my head. On the hardware side as well as features the drives really are top notch and high quality but on the software side they are just a nightmare.
Yaskawa's are much easier to work with and trouble free.
I would actually like to try a setup similar to yours. Two Pid loops could possibly help me fine tune a lot better.
Not sure how to implement dual PIDs into LinuxCNC. I am still somewhat a newbie when it comes to the advanced features of LinuxCNC. All previous experiences were mainly with industrial control panels (centroid, fanuc, even Chinese ones like ADTech etc..) or mach based systems. This is my first machine on LinuxCNC and I already find LinuxCNC superior.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
- Posts: 5007
- Thank you received: 1441
I may have made some refinements to the thread ordering since the last time anyway. (There are some custom M-codes and other supporting files in the nc_files dir, that is why it is incuded to.)
Please Log in or Create an account to join the conversation.
I am not going to buy them if you cant run them in velocity mode. I spoke with them a while back and they said no problem. I also asked them about if you can change the backwards way they deal with enable/disable and they said you can change it.
Its too bad because it looks like a nice product.
Thanks for the files.
Bevins, maybe it is just me doing something wrong ( high possibility ) but I have not had much luck with my system in velocity mode. I know there are a lot of folks who run Dyn4 drives (on other forums) with no problems but they are also running them in position Step and Dir open loop in Mach 3 / 4. My setup is way different to theirs and that could be the main reason no one else ran into the problems I'm facing. They seem to be quite happy with their setup in "open loop" position step dir. I just want to run them with my current configuration and it has not been smooth sailing so far. I seem to be one of the few running them closed loop, analog +-10v. Also, I don't know of anyone running a DMM Dyn4 servo system bigger than 750w. Mine are all 1.3kw, could be that the bigger motors are just harder to tune.
You might not even encounter the issues that I am and velocity mode might work quite well for you... I don't want discourage you from using these drives because they are indeed quite nice, they just have some quirky and odd ways of doing things and it is mainly on the software side of things.
Also the enable logic reversing is only possible with the relay method if using 7I77, I don't think DMM will change it in the firmware.
Please Log in or Create an account to join the conversation.
I'm pretty sure I've posted copies of these config files somewhere before but here they are again.
I may have made some refinements to the thread ordering since the last time anyway. (There are some custom M-codes and other supporting files in the nc_files dir, that is why it is incuded to.)
Thanks Todd, I will give this a shot and report back. Much appreciated!
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
- Posts: 5007
- Thank you received: 1441
Please Log in or Create an account to join the conversation.
They are not even close to being tuned and we cannot get anywhere with linuxcnc connected. Cant dial out the errors. IT has the ability to open the loop up to external then close it. we tried both ways but chineese manuals, whew they are tough when they are translated half and half. They told us they tuned them to each other and would need little tinkering with an outside controller.haha, yeah...... they sure know how to BS. Last time I am sourcing from China. IF we had decent manuals, we may be able to get somewhere......
We are researching new drives for his motors because we cant tune them properly. on top of that it is a two motor gantry system so the two Y axis's have to be really closely tuned.
Everything is done on the machine including all the mesa cards and hardware, machine built.... Really nice 4X8 with roller pinions...... but we are stuck......
Thats why I dont even want to go there with the DMM drives if you are having issues..... I would rather go with some nice YASKAWA drives. Finding ones that will fit his motors is another tricky issue.
Whats the reasnoning behind the double PID?
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
- Posts: 5007
- Thank you received: 1441
1st for good response a torque mode servo needs to run in a faster loop than an ordinary velocity mode servo. Putting the velocity loop in the floating point base-thread let me run it a little bit faster than I could with just a servo-thread.
2nd using the duel loop made tuning much simpler, for me. With tuning strategies that are like a normal conventional velocity loop system. With it I was able to get good results with better following errors after only a minutes of tuning, on a system I had been struggling with for months before. Without using any complex filtering.
Please Log in or Create an account to join the conversation.
Whats the reasnoning behind the double PID?
PID works best when the output is one time-differential away from the controlled parameter.
So, position control and velocity demand or velocity control and torque demand.
Position control and torque demand puts two orders of time differential between the control and controlled.
Using cascaded loops gives you something actually rather similar to a velocity-controlled servo, it is just that you are running both loops in LinuxCNC rather than one in the drive and one in LinuxCNC.
Please Log in or Create an account to join the conversation.
Whats the reasnoning behind the double PID?
PID works best when the output is one time-differential away from the controlled parameter.
So, position control and velocity demand or velocity control and torque demand.
Position control and torque demand puts two orders of time differential between the control and controlled.
Using cascaded loops gives you something actually rather similar to a velocity-controlled servo, it is just that you are running both loops in LinuxCNC rather than one in the drive and one in LinuxCNC.
Is this drive specific? The parameters in the drive are still effecting the loop even if it is opened and Lcnc is closing the loop?
Would the double PID help if I am having trouble tuning a system with just one loop in velocity mode? I say that because I cant get anywhere close to stabalizing the loop. The drive just wont let me. The manual is in chineese and I dont understand all their parameters.
/EDIT Sorry, didnt mean to hijack this thread....
Please Log in or Create an account to join the conversation.