Hello guys,
i was wondering if there is a way to increase arduino UART level voltage from 5V to 10V for a deice (turbine ECU) that uses 10V UART logic.
i know i can use a level shifter but trying to avoid it if possible.
i thought about a pull up resistor on the TX line - is that possible or will that kill the UART channel?
any other options? once again hopefully without external hardware.
thanks.
Shifting down (10V TX to 5V RX) can be done with a voltage divider.
Shifting up (5V TX to 10V RX) can be done with a transistor - do make sure you're not inverting the signal. This page tells you how it's done for 3.3V to 5V, same for 5V to 10V except that you have to change the resistor values of the divider to be equal.
Not even for a transistor in SOT23 package and 3x 0604 resistors? That must be one super tight packed PCB. Maybe you should place them on the other side then, or is that packed as well?
If really no space, too bad. End of story. This is impossible without extra hardware.
theres no datasheet. its a reverse engineering project.
the ECU HW is based on LIN bus but with regular UART protocol.
logic 1 is pulled up to power supply which is 10V in my case.
both.
ive already decoded the protocol using a voltage devider on the Rx line.
thinking about a level shifter on both Tx and Rx lines for next stage to be able to transmit too.
A MAX232 makes a great level shifter for both TX and RX. You could hack it to 0-10V by omitting one capacitor from the recommended circuit and connect V- to ground. But be aware that it reverses the polarity too: a HIGH input gives a low-voltage output.
interesting idea as i actually have a MAX232 at hand. but i need non reversed UART. is it possible to logically invert the software serial UART from the ardu?
i didnt explain but my board id already made without room for more components. the max232 can easily be mounted on the uart cable though.
MorganS - can you describe the correct way to get the Max232 to output 0-12v (or so) uart? will it also be able to read the LIN bus and transmit TTL (inverted) uart to Ardu?
MorganS:
A MAX232 makes a great level shifter for both TX and RX. You could hack it to 0-10V by omitting one capacitor from the recommended circuit and connect V- to ground. But be aware that it reverses the polarity too: a HIGH input gives a low-voltage output.
I have found this scheme of max3232.
do yo umean removing C4 and connecting V- (pin 6 in max3232) to GND?