I currently use the RMC70 for a hydraulic press and it works awesome. however spending $2000 on a controller to turn a DC motor seems like over kill.
Over kill definitely! We like over kill. Over kill means you would be done by now. How much is your time worth?
How much is your time in the future and lost production worth?
Here is a video where I tune a small 200W DC motor with no velocity loop in the amplifier. It takes 2 minutes. BTW, I wasn't testing the RMC. I was testing the picture in picture capability of the screen flow software.
The amplifier only converts the voltage from the controller to current and the resulting torque. You can see the control output is proportional to the acceleration and deceleration, not velocity like a hydraulic system or motor connected to a drive with a velocity loop.
http://deltamotion.com/peter/Videos/AutoTuneTest2.mp4
There are two routes to take.
1: Buy a real motion controller with a sample time of 1Khz that has a PID and velocity and acceleration feedforwards. The controller will need to do the job of the velocity loop like in my video.
2: Buy a small drive with the velocity loop. You may be able to get by with the PLC you are using.
The derivative gain is critical. The derivative gain must be somewhere you your control loop. In option 1 the controller must have a derivative gain. In option 2 the velocity loop's proportional gain is the position loops derivative gain.
Adjust the velocity loop or derivative gain first depending on the option you take. The derivative gain adds damping and will reduce oscillation.
The encoder is key to using the derivative gain or velocity loop. Ideally, you want to be at the upper limit of the count rate. At 100KHz your PLC could get as many as 1000 counts in 10 ms. That is good because a little variation in the counts per second due to sprockets etc will change the reading by 1 count per 1/1000. At your current number of counts per revolution you will get 10 counts per scan and if that varies by 1 count the measured speed will vary by 10%. This is not good. The other item people forget is that during the housekeeping time of the PLC the interrupts are turned off. This means the time between reading could be 10.5 milliseconds and the next scan 9.5 millisecond. That will cause bad velocity measurements that will look like noise and limit the ability to use the derivative gain.
The RMC uses a FPGA to latch data every millisecond with no sample jitter. There is only a quantizing error due to resolution of the encoder.