Wireless Telemetry System

Bartimaeus

10 W
Joined
May 31, 2012
Messages
94
Hello all,
just thought I'd share my solution for a wireless telemetry system using an Arduino and the Cycle Analyst, as well as xbee modules. I tried simply using the sparkfun xbee explorer board to the CA, but it wouldn't send the characters, although it was making the scroll bar get smaller, indicating that *something* was going on. Wanting to get it working before I went to class, I did a google search for a simple serial echo program for the Arduino (source: http://spacetinkerer.blogspot.com/2011/02/serial-port-echo-with-arduino.html )
It works like a charm, with the odd exception of nonsense data being sent while the CA is off, still in the proper CA format but with random characters. Also noteworthy is the fact that the Ah column was still printing out correctly-- guessing that is because the value is stored in the memory even when the CA is off. Further investigation might yeild more results, but I'm satisfied with the results.
The idea is to have wireless telemetry system that you can use on the racetrack so your pit crew can monitor everything and let the rider know if they need to stop so the rider can focus on not crashing. Also going to either write a python script to log the data in a text file or just use my openLogger, so i'll have telemetry and data logging in one easy to set up package.
here's a shoddy video I took to show you, sorry that i'm terrible about getting a clear shot but now i'm close to being late for class so this is what you get:
http://www.youtube.com/watch?v=c0a7OR9d2Vk&feature=youtu.be
 
Do you think you might be able to come up with wireless on-bike sensors as well? I ask because there are a number of things that would require wireless sensors to check:
  • tire pressure
    tire temperature
    motor temperature on the rotor both externally and internally
    magnet temperature on the rotor
    airflow monitoring both external to a motor and inside it on the rotor
Etc.
 
amberwolf said:
Do you think you might be able to come up with wireless on-bike sensors as well? I ask because there are a number of things that would require wireless sensors to check:
  • tire pressure
    tire temperature
    motor temperature on the rotor both externally and internally
    magnet temperature on the rotor
    airflow monitoring both external to a motor and inside it on the rotor
Etc.

In theory, absolutely. Practically, not so sure. Right now all of the information is coming through the cycle analyst, so using a v3 would increase the possibility of what you can send wirelessly very easily.

Motor temperature on the motor doesn't need to be wireless, the stator temp would be easy enough as it doesn't move, and you could measure the temperature of the rotor using an infared thermometer.

I've thought about tire sensors before, but all of the kits are way out of my price range ( example: http://www.amazon.com/Accutire-MS-4362GB-Motorcycle-Pressure-Monitor/dp/B003HFV61M/ref=sr_1_14?s=automotive&ie=UTF8&qid=1349152849&sr=1-14&keywords=Wireless+Tire+Pressure)

Another thing that I would absolutely love to do is set up a wrist mounted wireless pulse rate oximeter, so everyone can see how fast your heart is racing during the race :twisted:
 
The tire sensor would probably be kinda bulky, but it could be made with a little MCU and a pressure sensor fitted to an off-the-shelf aluminum valve cap. Sparkfun probably has everythiung neeeded to do it, or some similar place. Note that I don't iknow how to do this, just have enough experieince to know it could be done. :)

Unfortunately it looks like they're using some form of bluetooth or other pairing-sensitive link for the one you posted, or I would suggest just getting a set of new valve caps from the manufacturer (they do sell them, according to some of the reviews, and I'm sure they're cheap compared to the reciever/display thingy). If you could reverse engineer the transmissions, you could still use them on your own receiver.


I'm not sure the IR thermometer can distinguish between internal magnet temperatures and external case temperatures for the rotor, which is why I was suggesting an internal monitor for that. There won't be much difference on average, but at high-kw bursts you could see huge spikes on magnet temperature, and it'd be interesting to see what they are and then correlate/compare that to any effects on performance you see.

I guess if you ahve a big enough axle you can run multiple stator sensors in there wired, but wirelessly you could have any number of them and put them on any system without having to add new wires. Just pop the cover and install. I guess it would be a problem getting the signal out, though, thru the metal covers. You would need a hole for the antenna to broadcast thru, and to save power you would want a sensor for the transmittor so it knows when the hole passes and transmits only then.
 
You could put a little microcontroller in the motor like the Arduino Nano (or something a little cheaper, just any microcontroller with enough pins and serial capability), and then have all the sensors you want go to it, and then you only need to have three wires come out of the hub (pos./neg. power and serial out). You run the microcontroller with a DC-DC converter from your main pack or with it's own source and then pick up the serial info on your main board.
The only thing you'd have to do is make sure you cover whatever board you put in there and maybe have it stand off the center of the stator so it doesn't get all the heat transfer or short out. This wouldn't work if you don't have any wiggle room inside your casing, but I know there's plenty of space inside my 9c.
 
Project Update:

I bought some 60mW xBee Pros that have a claimed max range of 1 mile. haven't tested that yet but it will certainly give me more room than the 1mW models I originally had.

My laptop has an expansion slot in the case for a mini(?) pci-e card that also happens to be right next to one of the usb boards. Ordered a small usb hub that I'm going to fit in the case with one of the xbees and my wireless mouse receiver. Going to take the third port on the hub and run it back out to the original USB spot in the case. This should let me stuff the laptop into a backpack without having to worry about the xbee.

I also got extremely lucky and picked up a 7" usb lcd monitor for $1 at a thrift store. I'm thinking for a race setup there will be a member of the "pit crew" with the laptop in a backpack with a usb cable coming out to the lcd screen. Easy way to stay mobile, and they can be watching everything while the racer focuses on staying alive. Add in a bluetooth intercom system or just cell phones and you've got rider/pit crew communication.

It turns out that in the next few weeks we will be learning how to write our own programs in C++ that can act as a terminal viewer. I'm hoping to eventually develop a gui that will display the values in an easier to read manner, and have data logging and graphical representation.
 
Just made some headway with the wireless tire pressure sensors. I found this very helpful presentation given by Mike Metzger titled "Letting the Air Out of Tire Pressure Monitorign Systems". He shows how easy it is to access information about pretty much any wireless tire pressure sensor by typing in the FCC ID # into this page: http://transition.fcc.gov/oet/ea/fccid/

He's got a 20 minute presentation here: http://www.youtube.com/watch?v=oghx-FsIvrs

If you don't want to watch all of it, here's the slides he used for the presentation: https://www.defcon.org/images/defcon-18/dc-18-presentations/Metzger/DEFCON-18-Metzger-Letting-Air-Out.pdf

He mentions that he is working on an opensource database and an arduino shield (mentioned in the video), but not where this info is posted. I'm going to send him an email to see if he has made any progress and would be willing to share some of his insights and/or any arduino designs he's come up with.
 
Alright, it took a lot longer than I thought it would but I've done it. Here's some photos from the build.


2012-11-05211032.jpg


2012-11-05211256.jpg


2012-11-05220400.jpg


I had to sacrifice a USB 3.0 port to do it, but I feel like it was totally worth it to have my mouse receiver and my xbee inside the laptop with a USB 2.0 in the original spot.

2012-11-05215624.jpg


also thought I'd mention that I can still access the xbee and the explorer board from a small door in the back of my laptop.
 
Alright, here's the latest:

I've posted a thread for an Android app to display data from the cycle analyst, you can find it here: http://www.endless-sphere.com/forums/viewtopic.php?f=2&t=45661

I've also gotten permission to make the GUI for this my final project for my computer science class. It's due Friday November 30th, so I should have the .exe file posted for download around that time ;)
It will be a simplified serial terminal that will primarily display the info from the cycle analyst (you can use a bluetooth serial module, xbee, or a TTL to USB converter like the one for sale on ebikes.ca). You just have to be able to open a serial port with it. Right now I'm leaning towards a seven segment style display for the data.

Depending on how long everything takes me I may add a datalogging feature to store the information as a .txt file. But I'll try not to promise too much before I get something basic that works available

If anyone has any thoughts or suggestions I'd love to hear them.
 
I think you mean:
http://www.endless-sphere.com/forums/viewtopic.php?f=2&t=45661

(the link you posted above is to the first post of this thread itself)
 
Bartimaeus is a beast. That is all.

Source? Github it so that we can start some form of svn.
 
cohberg said:
Source? Github it so that we can start some form of svn.

It's coming, I promise. I'm holding myself on a tight leash right now until I finish my finals on Tuesday. Here's a screenshot of the "finished" program (or at least what I turned in for my cs final):

Cycle_Dash_Windows.png


I added the ability to change the way the data is delimited, so now you can have the default CA tab-delimited standard or separation by commas, spaces, and semicolons. Oh, and now you can save the .txt file in any directory instead of just the one that the program is in.
 
Sorry for the delay, I'm a total noob to github. I *think* I've got everything set up, here's the link:
https://github.com/Bartimaeus-/Cycle_Dash_for_Windows

To use the program you just need to download the .zip file and extract it anywhere and run Cycle_Dash.exe

If you get it to work, you should post it here so I can get some confirmation that it works outside of my laptop and desktop.
Also if you guys could report the bugs/ give any suggestions to make this better that would be awesome.
 
Had the first real update with the telemetry system for quite a while, had a pretty successful outing with Farfle's bike at Pat's Acres Racing Complex. We didn't get the motor hot enough to test the liquid cooling system, but the telemetry did get sent to the laptop from everywhere on the track (until we fried Farfle's CA through his bike frame).

bike_telemetry%28small%29.jpg
 
One thing the track day taught us was that carrying around a laptop is a PITA. I spent some time today doing a major cleanup of the cycle analyst android app, and we will now use phones to display the telemetry by taking the output from the xbee and inputting it to the bluetooth module. Not the most efficient way to do it but it was quick, easy and free.

file.php
 
Aye Bartimaeus. Could you please send me the circuitry you used on the creation of the wireless telemetry system... I am intending on building a wireless data logging system for a bike. I would like to implement your system to add to that I'd also like to use both the mobile and pc versions of the cyle_dash ... I tried looking at the code that you developed and try to change a few lines but unfortunately i am using Visual Studio 2017 and it does not support the libraries you used. If you can share the circuit please do share it... Thanks in advance :pancake:
 
Back
Top