PDA

View Full Version : Max Baud Rate, I2C, >12 PWM Outputs and RC Servo Feedback


xenofied
08-19-05, 03:43 PM
I'm looking at using a ServoPod for a project, but I have a few questions about its operation:

What is the maximal baud rate for the RS-232 serial interfaces on the ServoPod? In the documentation for the IsoPod it is stated that the rates can be up to 57600 baud, but due to clock issues the highest standard rate that can be accurately supported is 9600 baud. Do the same restrictions also apply to the ServoPod?

I have read that it is possible to connect I2C devices to the SPI bus by connecting SCL to SCLK and SDA to SDIO and only performing I2C transactions between START and STOP. Are there any pitfalls here, or is it that simple?

The documentation suggests that it's possible to control up to 26 RC servos, but the PWM unit only has 12 outputs. Is the idea to use some of the timer channels and generate PWM signals for the additional servos in software?

Finally, though not directly related to the ServoPod: How is positional information usually retrieved from RC servos? Rather than using external potentiometers/contacting encoders or incremental (reflective/optical switch) encoders, tapping in to the potentiometers inside the servos and connecting them to the ADC seems to be a good method. In an experiment the voltage was found to vary with 0.82v, so the idea would be to use an op-amp to amplify the signal (for increased precision) and a 3v zener diode to protect the ServoPod (the servos would run at 6v). Would any other precausions be necessary to prevent damage to the ServoPod and incorrect servo operation?

nmitech
08-19-05, 05:19 PM
What is the maximal baud rate for the RS-232 serial interfaces on the ServoPod? In the documentation for the IsoPod it is stated that the rates can be up to 57600 baud, but due to clock issues the highest standard rate that can be accurately supported is 9600 baud. Do the same restrictions also apply to the ServoPod?

The current production IsoMax version for the 'Pod(TM) operates at 115,200 baud.


I have read that it is possible to connect I2C devices to the SPI bus by connecting SCL to SCLK and SDA to SDIO and only performing I2C transactions between START and STOP. Are there any pitfalls here, or is it that simple?

It maybe simpler to use the GPIO's to simulate the I2C. There are couple of the I2C examples are available here,
http://www.newmicros.com/store/product_details/download.html


The documentation suggests that it's possible to control up to 26 RC servos, but the PWM unit only has 12 outputs. Is the idea to use some of the timer channels and generate PWM signals for the additional servos in software?

Beside 12 PWM channels, there are 14 other timer channels can be used as PWMs, Encoders, and GPIOs. As the matter of fact, the timer channels can generate wider frequency range than the PWM module does.


Finally, though not directly related to the ServoPod: How is positional information usually retrieved from RC servos? Rather than using external potentiometers/contacting encoders or incremental (reflective/optical switch) encoders, tapping in to the potentiometers inside the servos and connecting them to the ADC seems to be a good method. In an experiment the voltage was found to vary with 0.82v, so the idea would be to use an op-amp to amplify the signal (for increased precision) and a 3v zener diode to protect the ServoPod (the servos would run at 6v). Would any other precausions be necessary to prevent damage to the ServoPod and incorrect servo operation?

I found this thread is very much related to your RC Servos question above.
http://www.newmicros.com/discussion/showthread.php?t=877
For the ADC over voltage protection, a zener diode (3.6V) and a limiting current resistor (470-1K) is appropriated.

xenofied
08-20-05, 01:31 PM
Thank you for the information. That should be enough to get me started. :)