| James Bowmaster 02/10/10 14:40 Read: 192 times |
#173041 - Maybe of some use... Responding to: Yash Chitalia's previous message |
I uploaded some code to the library that i use to control servos. Granted, i've never used
it to control more than two servos, but the code is designed to control up to eight. It is pretty simple to work with... you populate an eight byte position table (position 0 -> servo 0, etc), then set the "update ready" bit. Next time the ISR fires, it will start working with the new values. Because the control runs in the background, the rest of the time is available for other user tasks. The code requires 37 bytes of sram, 2 bits, and timer 0. The minimum PWM step size is 4.35 microseconds. The code is assembly, written for the TASM assembler. The uploaded code has an example that swings servo 2 back and forth. Hope this helps! btw... as someone else mentioned, the best code in the world will not do anything for you if you do not have the current to run the motors. -jim |
| Topic | Author | Date |
| Controlling multiple servo motors | Yash Chitalia | 01/17/10 14:47 |
| executing code takes time | Erik Malund | 01/17/10 15:27 |
| PWM code | Steve M. Taylor | 01/17/10 15:35 |
| Thanks...now, about the PCA timer.. | Yash Chitalia | 01/17/10 16:06 |
| If SDCC Then Keil | Michael Karas | 01/17/10 16:15 |
| PWM IRQ code in C, bitops, 45 byte | Frieder Ferlemann | 01/18/10 05:19 |
| Optimization having no effect. | Yash Chitalia | 01/18/10 11:36 |
| PWM IRQ code in C, lookup table, 32 byte | Frieder Ferlemann | 01/18/10 05:29 |
| I haven't understood the table lookup concept very well... | Yash Chitalia | 01/19/10 00:55 |
| table lookup | Frieder Ferlemann | 01/19/10 02:39 |
| PWM IRQ code in C, lookup table, 30 byte | Frieder Ferlemann | 01/19/10 03:07 |
| Compiler specifics | Andy Neil | 01/19/10 04:35 |
| absolutely-locating xdata at 256 byte boundary | Frieder Ferlemann | 01/19/10 05:00 |
| I see. | Andy Neil | 01/19/10 06:34 |
| An example code.. | Yash Chitalia | 01/20/10 02:20 |
| Keil: Specifics and non-specifics | Andy Neil | 01/20/10 02:50 |
| Not really working... | Yash Chitalia | 01/20/10 03:55 |
| Enough power? | Per Westermark | 01/20/10 09:45 |
| RE: running 32 servo motors | Andy Neil | 01/20/10 10:34 |
| The chip sounds perfect... | Yash Chitalia | 01/18/10 11:47 |
| not worth it | Erik Malund | 01/18/10 12:10 |
| Servo control will become difficult then... | Yash Chitalia | 01/18/10 12:42 |
| output | Andy Peters | 01/18/10 12:52 |
| HCT chips have ... | Erik Malund | 01/18/10 14:12 |
| Eval a concept with a single PCA and 3:8 HCT multiplexer? | Frieder Ferlemann | 01/18/10 14:36 |
| Check their website | Andy Neil | 01/18/10 14:44 |
| Here is the code... | Yash Chitalia | 01/18/10 15:28 |
| "sbit MTRS=P2^0;" is not OK here | Frieder Ferlemann | 01/18/10 16:11 |
| Keil syntax? | Andy Neil | 01/18/10 17:36 |
| "#define" not working.."sbit" works | Yash Chitalia | 01/18/10 23:32 |
| Yes, you were correct originally! | Andy Neil | 01/19/10 01:22 |
| Seconded | Andy Neil | 01/18/10 12:45 |
| Servo_0.1.zip | Murray R. Van Luyn | 01/18/10 15:02 |
links | James Hinnant | 02/18/10 21:10 |
| Eventually feed the guys at http://servomaster.sf.net ? | Frieder Ferlemann | 01/18/10 15:12 |
| servomaster.sf.net FLOSS | James Hinnant | 02/04/10 11:48 |
| Maybe of some use... | James Bowmaster | 02/10/10 14:40 |
| Whoops... found a bug | James Bowmaster | 02/10/10 16:35 |
| What bug? | Andy Neil | 02/10/10 16:41 |
| Bug | James Bowmaster | 02/10/10 18:47 |
| Improved version uploaded | James Bowmaster | 02/12/10 21:26 |



