by Nathan Monson » Tue Jun 17, 2008 7:02 pm
by Nathan Monson
Tue Jun 17, 2008 7:02 pm
I haven't used this on an AVR, but I did exactly that with a Cypress uC and it worked fine. A pull-up is important because the AX-12 can't transmit unless the host is pulling the line to at least +3V. The default turnaround time for the AX-12 is 500us which should be plenty of time to float the pin!
If you still suspect you are not floating the pin soon enough, you could try dropping the baud rate, to increase your chances of receiving the tail-end of something. I did a lot of development at 9600 baud, where a simple status packet takes a good 6250us on the wire.
I happened to use 3V signalling, and I found that at 1mbps, I could not reliably send and receive with more than 2-3 servos on the bus. At 200kbps, I have had no problems with 10+.
I haven't used this on an AVR, but I did exactly that with a Cypress uC and it worked fine. A pull-up is important because the AX-12 can't transmit unless the host is pulling the line to at least +3V. The default turnaround time for the AX-12 is 500us which should be plenty of time to float the pin!
If you still suspect you are not floating the pin soon enough, you could try dropping the baud rate, to increase your chances of receiving the tail-end of something. I did a lot of development at 9600 baud, where a simple status packet takes a good 6250us on the wire.
I happened to use 3V signalling, and I found that at 1mbps, I could not reliably send and receive with more than 2-3 servos on the bus. At 200kbps, I have had no problems with 10+.