Question about motor rpm conversion

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Question about motor rpm conversion

labrob
Hi everyone,
I'm using the Asctec Pelican and I have to command directly the motor rotational velocities.
For this purpose I need to know the conversion factor from Asctec rpms to real ones (I know Asctec rpms have a range 0-200).
Since in the sdk.h file from asctec-sdk3.0-archive.zip (http://wiki.asctec.de/display/AR/SDK+Downloads) there are two comments (reported below) related to this concept and they explain two different ways of conversion, I just want to know which one is correct.

1:
/*
* Quadcopter (AscTec Hummingbird, AscTec Pelican)
*
* measurement equals a real rpm of motor_rpm*64

2:
* Quadcopter (AscTec Hummingbird, AscTec Pelican -> both Hacker motors)
*
* motor commands equal a real commanded rpm of (25+(motor*175)/200)*43
* please note that all fractions are removed during every calculation steps
* e.g. motor = 100; means a turning speed of (25+ (100*175/200))*43=4816 rpm
* Max. turning speed 8600 rpm


Thanks for the help.
Reply | Threaded
Open this post in threaded view
|

Re: Question about motor rpm conversion

andre@asctec
Actually, both are correct.
#1 is used for measurements and
#2 is used for commands

The commands have an offset in their formular to make better use of the variable range 0-200. In the lower RPM ranges the system won't take off anyway.
Nevertheless, the measurements go over the full range of motor RPMs.
Andre Ryll
AscTec Application Engineer
Reply | Threaded
Open this post in threaded view
|

Re: Question about motor rpm conversion

daemon13
Hi everyone,
I am trying to experimentally identify the relation between the commanded motor speeds and the real thrust produced by the motors....For this reason I am using the motor speeds provided in the LL_1khz_attitude_data struct. Ideally these should match the real rpm, but there is not any speed sensor under the motor shaft. So, I guess that these are obtained by mapping  the commanded PWM and the expected rpm. Could anyone confirm whether this is true or not ?  
Reply | Threaded
Open this post in threaded view
|

Re: Question about motor rpm conversion

andre@asctec
The motor speed is indeed measured, it is not just a simple PWM to RPM mapping. A separate sensor on the shaft is not strictly required.

The used motors are BLDC types, electronic commutation is performed by measuring the back-EMF of each motor. Each commutation step can be used to measure the true velocity of the motor.
Andre Ryll
AscTec Application Engineer
Reply | Threaded
Open this post in threaded view
|

Re: Question about motor rpm conversion

user_n
Is there any way then to obtain the speed of every motor without the discretization error caused  from the [0...200] mapping ?