by fleek » Fri Aug 11, 2006 8:31 am
by fleek
Fri Aug 11, 2006 8:31 am
Hi all,
I am in the process of developing a new controller for the robonova, based on the same ATmega128 chip of the MR-3024. The reason I went for Atmel chip is because of the abundance of free tools (C compilers/IDE) available.
The circuit will be very similar to the MR-3024, but it will be running off a 16mhz crystal rather than the 7.xx mhz crystal on the MR-3024. I will be incorporating the Bluesmirf bluetooth module as well for a truly wireless connection.
I have read from this forum about the complexity of reverse engineering the coordination of the servos. But I have an idea which might work without any reverse engineering.
1) How do we ensure that a group of servos be commanded to act together?
The solution is pretty simple. Each port can be configured to be a 8 bit port instead of individual pin outs. So by sending pulse signals as a latched 8 bit port, it will allow us to control one group of 8 servos at the same instant.
2) How do we ensure that a group of servos will end all the different movements at the same time?
If you look at the sluggish performance of the robonova, i believe hitec could have implemented a scaled down approach.
Lets take an example of 3 motors, A, B and C, A has to move from 0-10, B from 0-20 and C from 0-90. To ensure we get to the end position at the same time, we will need to slow down A and B and let C move as fast as possible to the end position.
So for each degree that A moves, B has to move 2 degrees and C has to move 9 degrees.
thus we need to send 10 sets of commands to the servos
A 1 2 3 4 5 6 7 8 9 10
B 2 4 6 8 10 12 14 16 18 20
C 9 18 27 36 45 54 63 72 81 90
Through this method the servos will move to the end positions at almost the same time. In this example I am using 1 degree as the resolution, but in actual fact, we can use even finer resolution.
3) As for the firmware, if we can use a high level language like C, we will just need a bootloader to load the code, and some C routines to perform functions like the above.
Contributions welcome.
Hi all,
I am in the process of developing a new controller for the robonova, based on the same ATmega128 chip of the MR-3024. The reason I went for Atmel chip is because of the abundance of free tools (C compilers/IDE) available.
The circuit will be very similar to the MR-3024, but it will be running off a 16mhz crystal rather than the 7.xx mhz crystal on the MR-3024. I will be incorporating the Bluesmirf bluetooth module as well for a truly wireless connection.
I have read from this forum about the complexity of reverse engineering the coordination of the servos. But I have an idea which might work without any reverse engineering.
1) How do we ensure that a group of servos be commanded to act together?
The solution is pretty simple. Each port can be configured to be a 8 bit port instead of individual pin outs. So by sending pulse signals as a latched 8 bit port, it will allow us to control one group of 8 servos at the same instant.
2) How do we ensure that a group of servos will end all the different movements at the same time?
If you look at the sluggish performance of the robonova, i believe hitec could have implemented a scaled down approach.
Lets take an example of 3 motors, A, B and C, A has to move from 0-10, B from 0-20 and C from 0-90. To ensure we get to the end position at the same time, we will need to slow down A and B and let C move as fast as possible to the end position.
So for each degree that A moves, B has to move 2 degrees and C has to move 9 degrees.
thus we need to send 10 sets of commands to the servos
A 1 2 3 4 5 6 7 8 9 10
B 2 4 6 8 10 12 14 16 18 20
C 9 18 27 36 45 54 63 72 81 90
Through this method the servos will move to the end positions at almost the same time. In this example I am using 1 degree as the resolution, but in actual fact, we can use even finer resolution.
3) As for the firmware, if we can use a high level language like C, we will just need a bootloader to load the code, and some C routines to perform functions like the above.
Contributions welcome.