I recently got the Motor DC Trainer (Quanser). They include two different VIs to measure: one measures simultaneously current and speed and the other VI measures only speed. You expect to get the same value regardless the VI.
However, when measuring Speed with one or the other you get different values (by a factor of around 3). I review the block diagrams for both VIs and discover that the math is different. One VI (QNET_DCMCT_Speed_Current_Read.vi) does a division by -360/1024, while the other (VI QNET_DCMCT_Speed_Current.vi) doesn't. This division turns the calculations into a difference of a 3 factor. Obviously one is incorrect. My question is which one is the correct??
The trainer has a good manual on how to use the 3 main VIs of the trainer but does not provides any single idea of the hardware specifications.
Solved! Go to Solution.
I have been looking in to your issue and found a few hardware specs on the DC Motor Control Trainer:
This document gives data on the motor, linear amplifire, current sense resistor, and encoder. Given that the encoder gives 2048 lines/rev, and 1024 is 2x that amount, that may be the correct configuration. I also found some example VIs similar to the ones you reference that have the configuration set to 1050 (which may not be correct). Here's a link to those files:
thanks for your kind assistance. It is weird that the Quanser webpage has other specs: http://www.quanser.com/english/downloads/solutions/QNET%20DC%20Motor%20PIS.pdf for the encoder (1024 lines/rev).
The other thing is that the conversions in the VI are in RPM/V which means that it is not an encoder count reading but a voltage reading. Maybe there is an internal converter frequency to voltage in the electronics of the device.
That is very odd, especially since both documents were produced by Quanser. I am checking with them to verify which specs are correct.
if you contact them, could you please check which VI is correct: a) QNET_DCMCT_Speed_Current_Read.vi or b) (VI QNET_DCMCT_Speed_Current.vi
Both VIs are part of the library that comes in the CD with the trainer, but one includes a division by -360/1024 and the other doesn't. Therefore, the measurement results are very different.
There are 2 revision of the QNET DC Motor experiment. See the attached PDF. The QNET information on the Quanser website is for QNET rev 1 and needs to be removed or updated.
QNET REV 2 has an encoder resolution of 360 lines / rev. Which means the angle resolution in quadrature mode (4x resolution) is 360 deg / 360 lines / 4 = 0.25 deg/count. Note that the updated QNET brochure has a typo - the DC motor resolution is not 2048 lines/rev.
If you have a REV 2, then use the sub-VI that contain the 360 division. The tach gain will also changed in REV 2 because it is digital tach that gets its speed from the encoder.
Also, you should have received the QNET User Manual in the Resources CD, which includes the hardware specifications for all the QNET boards. The specs in that document are correct.
thanks for your input. I was out of town an haven't reviewed the blog in several weeks.
My question is: what is then the number 1024 (part of the division) that is also included in the subVI where the speed is calculated? Is is also incorrect!!
I don't have the SubVIs in this computer but I will send you both files tonigh. I want to know which is one is correct.
If you are using the REV 1 motor, the QNET_DCMCT_Speed_Read.vi is the correct sub-VI to use. If you are using the REV 2 motor, the QNET_DCMCT_Speed_Current.vi should be used. See the PDF in the posted link above to identify which motor you have.
The QNET DC Motor Trainer has a digital tachometer - it computes the velocity based on the encoder. Because the REV2 motor has less resolution (and the motor sign change), the original TACH calibration gain of 1050 RPM/V has to be multiplied by "-360/1024". The REV1 system encoder has 360 lines/revolution and the REV2 system has an encoder with 1024 lines/revolution. That's where the numbers for that calibration factor comes from.
The Speed_Read and Speed_Read_Current VIs should both share the same calibration - Speed_Read.vi did not get updated when REV2 was released. We'll make sure to update this fix in future releases.
Hope this clarifies things,