Building a rate table for Gyro calibration

Hi Everyone

I have just started using the Arduino uno. I would like to calibrate some mems gyros that i plan to buy.
I know control theory, but this is my first shot at 'real world' electronics. I know that motors can be controlled with a pwm signal generated by the Arduino.

My first set of questions are
1)Is pwm the way to go, if i want to ensure feedback control?
2)What sort of motors can be controlled with a pwm signal? I don't need a very high duty motor, that can pull a huge amount of torque.
3)If i have to use feedback to control the motor rpm, what encoders should i buy?
How will the choice of encoders and motor affect the accuracy of the rate table?

1)Is pwm the way to go, if i want to ensure feedback control?

If you require variable speed it's about the only option, along with suitable external drive electronics (H-drive if you require bidirectional rotation) rated at the voltage and current requirement for your specific motor.

If you require just on and off for the motor, then simple digitalWrite commands work fine using suitably rated transistor to drive the motor.

In both cases neither provides for or uses feedback control. That would require a sensor on the motor so the arduino could count or measure the motor speed. Then you would have to write a control algorithm that would utilize the speed value to adjust speed output as required. PID control is one such control method and there are several libraries around about.

I'm not familiar with how aq rate table operates, but have you considered stepper motors?

2)What sort of motors can be controlled with a pwm signal?

most any DC single phase (2 wires) motor is usable

I don't need a very high duty motor, that can pull a huge amount of torque.

How much less then huge? rpm, torque, voltage and current are the main specifications used in selecting a motor, but that is your burden as only you know what the motor will be required to perform.

Here are two pages of motors: http://www.allelectronics.com/make-a-store/category/400/Motors/1.html

3)If i have to use feedback to control the motor rpm, what encoders should i buy?

Any sensor can be made to work. Some motors come with speed sensors already mounted. optical sensors used with slotted wheels are pretty simple to work with.

How will the choice of encoders and motor affect the accuracy of the rate table?

Accuracy of control has many variables including can or does the load presented to the motor change or is always fixed? I suspect that encoder would be the least limiting thing in the control hardware and software loop.

Lefty

Thanks, Lefty

I also need to keep track and log the following signals
1)Commanded rpm for the table
2) Achieved rpm(as measured by the encoder on the motor)
3)Gyro output voltage
Another problem is that all these should carry the same time-stamp, so that i can 'build' a lookup table between the gyro output voltage and the table rpm.

Could i record data in Simulink? How do i ensure time synchronization?

Thanks
Sam