04-18-2007 12:04 PM
04-19-2007 02:05 AM
04-19-2007 07:19 AM
Hi,
We have tried that, unfortunatley it still does not work. Last night we decided to try a virtual master (an axis with nothing connected) and have both our motors set as slaves. Unfortunatley that does not work, with both motors set as slaves with a 1:1 gear ratio over night the motor shafts drifted by almost 15 degrees while spinning at 100rpm (driven by the virtual master). All axis were set to open loop. We are currently using NI-motion 7.4, PCI-7358, LabVIEW 8.01. Since we now have the motors both as slaves this opens up some more things for us to try: virtual master in closed loop, slave the second slave off the first slave (encoder & axis), we may even have to resort to that unsatisfactory work around mentioned in my other post (closed loop stepper and gearing issue). Please help urgently the customer delivery is already late, this could turn out to be one of those projects with a non-satisfactory conclusion if we don't resolve this issue soon.
-Martin
04-19-2007 08:41 AM
04-19-2007
09:14 AM
- last edited on
07-11-2025
08:27 AM
by
Content Cleaner
Martin,
I have been running a test for almost 1 hour now and the master and the slave axis have stayed perfectly in synch. The slave axis' commanded position and the encoder value are exactly the same (I have a motor with 2000 microsteps/rev and an encoder with 2000 counts/rev).
I don't know if this is relevant, but I'm using NI-Motion 7.5. I haven't found an explicit hint that 7.4 contains bugs in the step generation that are fixed in 7.5 but you may give it a try.
Here is another idea: What type of drive are you using and how is it connected to the 7358? I have seen several cases where the output high voltage of the step signal from a 73xx was pulled down to a value below 2.5 V which could also result in a step loss when the threshold of the drive is close to this value. This happens if the input impedance is quite low compared to the 3.3 kOhm resistor that is used as a pull-up resistor to +5V at the step output.
The output can sink up to 64 mA so you can safely connect a 200 Ohm resistor from the step output to +5V (e. g. available on an UMI-7764) to increase the output voltage of the step output (the same is true for the direction output).
I hope this helps,
Jochen
04-19-2007 10:55 AM
Hi Jochen,
Thanks for helping us with this because it’s causing our company major issues. We have 4000 steps/rev and an encoder with 4000 counts/rev. I do know that the issue is velocity and electronic gearing related, the commanded position and the encoder position stays perfectly in sync for most velocities but 100rpm and 1:1 gearing ratio is what we use to make the system go wrong. Remember that running the axis independently (no gearing) at 100 rpm is fine - the two motors stay in sync. So I don’t think it’s a wiring issue. I’m quite sure that out of the two options you put forward we have issue 2 (The PCI-7358 doesn't generate the correct number of steps) – unfortunately. I hope you can recreate the problem at your end, Are you running the master at 100rpm if so try 80rpm and maybe double / half these speeds because of the your motor & encoder has half the resolution. Also our slave is in absolute operation mode. Also try comparing the master axis' commanded position and the slave encoder value. I am explicitly enabling the encoders in LabVIEW and polling them in a 100ms loop, I know this is not deterministic but we have established that if we plot encoder 1 – encoder 2 that if the noisy line has a gradient (over about 5mins) the motor shafts are drifting, we can confirm this due to the resulting product. We are using a laser to spin optical lenses that cut different size holes depending upon the relative angle. And sure enough when the gradient of the line changes the hole size changes as well – this is our problem.
I will try and match your setup this end to confirm that you should see the issue.
I will also try version 7.5.
I have also started to think of an alternative implementation. Do you know could we achieve the desired control by using a vector space? The relative angle changes are pre-defined and form a profile that is superimposed onto the base velocity.
I will not be here for about 15hrs now, so I’ll pick up any of your results in the morning – Thanks again.
-Martin
04-20-2007 02:29 AM
04-20-2007 04:46 AM
Hi,
I'm pleased you have managed to recreate the bug at your end. And yes I am familiar with contouring, I can see no reason why this will not work for our application except I may have varify the user definable profiles due to the memory restrictions on the card, but I think there is enough memory, on the other hand I think a rolling buffer is also possible - best I get busy now!
Thanks for your help.
-Martin
05-10-2007 07:17 AM
Hi,
Just thought I would let you know that we are now using contouring and not gearing for our application. The system has been running for some time now and has proven to be very accurate and reliable. Thanks.
-Martin
05-10-2007 07:38 AM