I own the Tamiya 72101 Gear Head Motor set. Has a transfer function or frequency response function quantifying torque response to PWM duty cycle input been developed? What a good approach for synthesizing the transfer function. I’m adding a Kalman filter to my project (gbot90 balancing robot, link below). The Kalman filters require reasonably accurate math models. I developed equations for the gbot pendulum, but I am unable with the motors. The motors are off-the-shelf and specs do not get into FRFs. Help is very much appreciated.
[video=youtube;bxx14Xe2iNg]http://www.youtube.com/watch?v=bxx14Xe2iNg
Liam
Let me clarify…
I’m looking for a transfer function (RPM-to-DutyCycle) that characterizes how quickly the motor (RPM) responds to duty cycle (duty) input. The motors are driven by Pololu’s VNH2SP30 driver. My microcontroller (ZX-40 device based on ATMEGA644P chip) sends a PWM signal to the motor driver in terms of duty cycle (0% to 100% for max RPM). For now, I’m assuming the driver circuit board has zero response time.
In light of that, what’s a good way of measuring the transfer function? I don’t own an encoder and I don’t own an oscilloscope. If you had a product that would do the trick for $50, I’d purchase it. I think that’s a good investment considering I’m spending my spare time learning Kalman filters
The Kalman filter is needed to improve the IR sensor (GP2D120) distance measurement, which is very noisy. I added low-ESR filter capacitors and other circuitry to my system and butterworth filters in the software, and it dropped the noise from +/-0.25" to +/-0.05" (see link below for more details). This may seem good, but I derive rate from distance, and the rate is still noisy. Anyway, to implement a Kalman filter would be a very good exercise - they are ubiquitous in feedback control systems. Thanks for your reply.
httphttp://www.zbasic.net/forum/about12 … pc_t=78266
LIam
Hi Liam. Very impressive project (and very popular around the Internet too!)
As far as we know, there are no readily available transfer functions for those motors. The best approach would be to measure the step response of the motors for a closed loop proportional control system. this way you will be able to gather some significant information, Also, you can seep the motor with several wave frequencies to determine its frequency response. From those (and a bit of fiddling and luck) you should be able to get a very decent model for your motor.
Please, let us know how your progress goes as this could be very useful for the entire community!
Hi Liam,
You can measure the RPM of the motor by adding encoders to the motors and connecting the to a microcontroller, which I assume you already have.
You can get the DFRobot Wheel Encoders for ~ 18 $ and adapt them to your motor shaft size if required.

Then you can simply note the RPM corresponding to a series of PWM duty cycles and derive a rule from there (by using a spreadsheet and linear regression for instance).