KurtE
Senior Member+
Sort of a follow on question to Frank's questions about level converters.
I am probably going to make a new version of one of the boards I play around with to support a different manufactures Servos XYZ, which has full duplex TTL servos. There spec shows 5v TTL, so thought I would add TTL level translations... But while I was at it wondered if I should update some of my other converters on the board...
Some of it can be seen (maybe) in the extract from schematic... Please pardon the mess...
Also please pardon some of my questions as I am a Software Developer and not an EE... Many things I have done on the boards were simply using stuff I saw on other boards. So some of these questions may be obvious. The n) numbers below refer to the arrows in the picture above.
1) I am using an BSS138CT to do level translations for output to a Neopixel (maybe more than one). I am using same setup like the sparkfun board where two PU resistors. With this setup I notice that if I don't initialize and use the Neopixel it usually starts up lit with some color... Wondering if it would work that on the 3.3v side to instead of use the 10K PU change it to a PD?
2) I added two more BSS138CT with PU resistors to handle RX/TX on Serial3 for the XYZ servos. They appear to have a max of 115200 baud rate. Could probably go with Unidirectional, but thought if I use this board without these servos maybe nice to have those pins available at 5v? Reasonable?
3) Goes to Serial1 Half duplex at typically 1MBS (could maybe 2MBS) This is for Dynamixel servos. Currently using two units the direction pins, to direct either RX or TX to Serial pin on the Dynamixel connectors... What is nice with this is I can use the Teensy Serial code to handle the switching of RX/TX. Before I did this with only one level converter like an BSS138CT and used the half duplex support of the Teensy. But this required me to do things like Serial1.flush, then change the hardware registers to change pin direction... Wish I could add support to use the duplex support of the Teensy... Maybe could setup to use unused IO pin of Teensy, plus register a pinChange interrupt that would do it? Not sure if this would be better or not...
Thoughts?
4) Use two transistors, a BSS138CT plus a power transistor to allow me turn Servo power on and off. Currently the VSS here is from a 3S lipo but if some day I go to MX or like servos could maybe be 4S batteries... Other suggestions on how to do this?
Wondering if it would make sense to combine some of these above to something like a TXB1004 (probably wrong number)... I know that these have issues with things like I2C...
Thanks in advance for any input.
Kurt
I am probably going to make a new version of one of the boards I play around with to support a different manufactures Servos XYZ, which has full duplex TTL servos. There spec shows 5v TTL, so thought I would add TTL level translations... But while I was at it wondered if I should update some of my other converters on the board...
Some of it can be seen (maybe) in the extract from schematic... Please pardon the mess...
Also please pardon some of my questions as I am a Software Developer and not an EE... Many things I have done on the boards were simply using stuff I saw on other boards. So some of these questions may be obvious. The n) numbers below refer to the arrows in the picture above.
1) I am using an BSS138CT to do level translations for output to a Neopixel (maybe more than one). I am using same setup like the sparkfun board where two PU resistors. With this setup I notice that if I don't initialize and use the Neopixel it usually starts up lit with some color... Wondering if it would work that on the 3.3v side to instead of use the 10K PU change it to a PD?
2) I added two more BSS138CT with PU resistors to handle RX/TX on Serial3 for the XYZ servos. They appear to have a max of 115200 baud rate. Could probably go with Unidirectional, but thought if I use this board without these servos maybe nice to have those pins available at 5v? Reasonable?
3) Goes to Serial1 Half duplex at typically 1MBS (could maybe 2MBS) This is for Dynamixel servos. Currently using two units the direction pins, to direct either RX or TX to Serial pin on the Dynamixel connectors... What is nice with this is I can use the Teensy Serial code to handle the switching of RX/TX. Before I did this with only one level converter like an BSS138CT and used the half duplex support of the Teensy. But this required me to do things like Serial1.flush, then change the hardware registers to change pin direction... Wish I could add support to use the duplex support of the Teensy... Maybe could setup to use unused IO pin of Teensy, plus register a pinChange interrupt that would do it? Not sure if this would be better or not...
Thoughts?
4) Use two transistors, a BSS138CT plus a power transistor to allow me turn Servo power on and off. Currently the VSS here is from a 3S lipo but if some day I go to MX or like servos could maybe be 4S batteries... Other suggestions on how to do this?
Wondering if it would make sense to combine some of these above to something like a TXB1004 (probably wrong number)... I know that these have issues with things like I2C...
Thanks in advance for any input.
Kurt