Hi everyone :)
I am trying to control 9 servos. I have read up on Binary Code Modulation (or Bit Angle Modulation), and I think this would be the wise path to take in case of controlling this many things. I also found out that a signal needs to be constantly sent or the servo goes limp (is this true?).
My microcontroller is ATMEGA1248P, so it doesn't have enough PWM ports. I was thinking of implementing it with the method above, but that will require quite a few interrupts, right? I have no experience using interrupts (I have avoided them until now), but I think I could try to figure it out.
The microcontroller also does receiving of data from a serial port, processing it, and updating servo duty cycles. And maybe updating an LCD, but we'll see about that one. With a single servo cycle of about 20ms (50Hz), and a duty cycle of maximum 2.5ms, that would leave about 17.5ms of work time for the processor. Could this be a problem with UART pins? I can't imagine so since I just write output value to a register, but you never know...
Of course there is also an option for me to get a servo controller IC and just let it worry about all of the overhead. What would you recommend? I would prefer to save board room and have fewer wires, as well as learn how to use interrupts finally. But if this would improve performance of my system, I'd do it.
Thanks for the read!