flute2k3@hotmail.com
10 W
- Joined
- Nov 26, 2019
- Messages
- 96
Hi Guys, I spend some time analyzed the VOTOL serial communication process, and decoded the parameters of rpm, battery voltage, battery current, temperature coefficient, etc so it helps integrate the coulomb-counter in speedo meter, DIY an Arduino based wireless meter or create a Android/ISO APP using Bluetooth connection. I'm working on a Android APP for myself now.
when you created the connect via serial port or BT, the host sends below HEX string asking VOTOL controller to send the data shown on Display page back:
c9 14 02 53 48 4f 57 00 00 00 00 00 aa 00 00 00 1e aa 04 67 00 f3 52 0d
after that the controller will send 24 byte string including the data we want:
c0 14 0d 59 42 02 14 00 0f 01 00 00 00 00 02 b8 5d 4b 22 d6 80 03 01 0d
among these 24 byte:
B0~B1:C0 14 is the head of string means data sent by controller
B5~B6:02 14 converts into fixed-point Dec is the battery voltage, for my case it is 53.2V
B7~B8: 00 0f converts into fixed-point Dec is the battery current, for my case is 1.5A
B14~B15: 02 b8 converts into integer is the rpm, for my case is 696
B16: 5d converts into Dec - 50 is the Controller temp, for my case is 43C
B17: 4b converts into Dec - 50 is the External temp, for my case is 25C
B18~B19: 22 d6 converts into integer is the temperature coefficient, for my case is 8918
the rest is still in decoding but it is enough for simple coulomb-counter purpose, if you do a simply math using the rpm and your tire size, you can get a very accurate speed value, which has fast response than GPS value, and you can get the distance as well.
Hope it helps
flute2k3
when you created the connect via serial port or BT, the host sends below HEX string asking VOTOL controller to send the data shown on Display page back:
c9 14 02 53 48 4f 57 00 00 00 00 00 aa 00 00 00 1e aa 04 67 00 f3 52 0d
after that the controller will send 24 byte string including the data we want:
c0 14 0d 59 42 02 14 00 0f 01 00 00 00 00 02 b8 5d 4b 22 d6 80 03 01 0d
among these 24 byte:
B0~B1:C0 14 is the head of string means data sent by controller
B5~B6:02 14 converts into fixed-point Dec is the battery voltage, for my case it is 53.2V
B7~B8: 00 0f converts into fixed-point Dec is the battery current, for my case is 1.5A
B14~B15: 02 b8 converts into integer is the rpm, for my case is 696
B16: 5d converts into Dec - 50 is the Controller temp, for my case is 43C
B17: 4b converts into Dec - 50 is the External temp, for my case is 25C
B18~B19: 22 d6 converts into integer is the temperature coefficient, for my case is 8918
the rest is still in decoding but it is enough for simple coulomb-counter purpose, if you do a simply math using the rpm and your tire size, you can get a very accurate speed value, which has fast response than GPS value, and you can get the distance as well.
Hope it helps
flute2k3