Custom built motolyzer
#1
I have been thinking of building my own motolyzer equivalent to or better than that of the latest version by Trinity.
After asking them how fast the latest version samples at, I received no response. Checking the manual does not answer my question either. After some thought, I suspect the sample rate could be as little as 10hz, but not more than 50hz. I say this as timing is usually tested at a low throttle input, say 10-20%. And given that there is a 15k rpm limit on the current motolyzer version, this I believe further supports my assumption.
Since building my own dyno with arduino, I've realized that building a custom motolyzer is also possible. I've already got a current sensor, which would be used to record the current per phase. All I need to figure out is the formula to calculate timing.
Since arduino can be set to sample at high rates, my dyno for example is currently set at 200hz which is much faster than the already expensive MiniPro, when maxed out can only achieve 50hz. At one point I considered buying one, but when I found arduino I opted to build my own. The discovery has already become a cheaper option, with better results.
Since all all sensored motors are setup with hall effect sensors, reading the interrupt is just the same as my dyno, just multiplied by three. Recording the moment one of the sensors is triggered can be done in microseconds, and the current flowing to that phase can also be recorded at the same time. All I need to figure out is how timing advance is calculated. If someone can assist, that would be great, please post your input here to share with everyone.
After asking them how fast the latest version samples at, I received no response. Checking the manual does not answer my question either. After some thought, I suspect the sample rate could be as little as 10hz, but not more than 50hz. I say this as timing is usually tested at a low throttle input, say 10-20%. And given that there is a 15k rpm limit on the current motolyzer version, this I believe further supports my assumption.
Since building my own dyno with arduino, I've realized that building a custom motolyzer is also possible. I've already got a current sensor, which would be used to record the current per phase. All I need to figure out is the formula to calculate timing.
Since arduino can be set to sample at high rates, my dyno for example is currently set at 200hz which is much faster than the already expensive MiniPro, when maxed out can only achieve 50hz. At one point I considered buying one, but when I found arduino I opted to build my own. The discovery has already become a cheaper option, with better results.
Since all all sensored motors are setup with hall effect sensors, reading the interrupt is just the same as my dyno, just multiplied by three. Recording the moment one of the sensors is triggered can be done in microseconds, and the current flowing to that phase can also be recorded at the same time. All I need to figure out is how timing advance is calculated. If someone can assist, that would be great, please post your input here to share with everyone.
Last edited by MaxRain; 12-31-2018 at 07:32 PM.
#3
Tech Master
Joined: Jul 2018
Posts: 1,011
From: Florida
You just described a whole science but I agree that you can buy chips to do motor control or commutation and the documentation is good enough for you to figure out what you want to do.
sampling data at a high rate is one thing. Repeatable is what you want for most things. If you work out the delay through the power circuit, wiring, coil charge and empty and its repeatable you can manage you task processing to feed forward the end effect if its repeatable.
look for stuff on trapezoidal commutation or zero crossing point calculation.
Here is a nice starting point.
https://www.ncbi.nlm.nih.gov/pmc/art...5/#!po=35.7143
I’ll help if I can but i have a few things i need to do as well
sampling data at a high rate is one thing. Repeatable is what you want for most things. If you work out the delay through the power circuit, wiring, coil charge and empty and its repeatable you can manage you task processing to feed forward the end effect if its repeatable.
look for stuff on trapezoidal commutation or zero crossing point calculation.
Here is a nice starting point.
https://www.ncbi.nlm.nih.gov/pmc/art...5/#!po=35.7143
I’ll help if I can but i have a few things i need to do as well
#4
I assume the zero degree detection is done with a delta peak detection on the coils
Other option is to controll the motor as a gimball with 360 or 720 steps to turn it arround. Then you can start at a zero position and count the steps needed whwn the sensor is activated.
Other option is to controll the motor as a gimball with 360 or 720 steps to turn it arround. Then you can start at a zero position and count the steps needed whwn the sensor is activated.
#6
What I am thinking of doing to accomplish this with the arduino is to read the interrupt from the sensor wire, while it is connected to an esc, simply by splitting the output of the Hall effect sensor to both. The esc controls the state of the the Hall effect sensor (on/off) and the arduino would listen to what is happening and record it via its digital input. This essentially is how a motolyzer is built.
The arduino would be configured/programmed to record data in this manner (think a spreadsheet)
Column A, Column B, Column C, column D
row 1 time stamp , interrupt time stamp, Current, Voltage
row 2 repeat all of the above
row 3 repeat again
now the trick is to use the time stamp to calculate the timing and rpm. This is what the motolyzer does.
RPM can be easily calculated post sampling, all in excel, or can be programmed with Visual Basic or java. Similar to what Bob does in RC3, also known as rc crew chief. Would just need to find what the formula would need to be and set it up in excel.
The arduino would be configured/programmed to record data in this manner (think a spreadsheet)
Column A, Column B, Column C, column D
row 1 time stamp , interrupt time stamp, Current, Voltage
row 2 repeat all of the above
row 3 repeat again
now the trick is to use the time stamp to calculate the timing and rpm. This is what the motolyzer does.
RPM can be easily calculated post sampling, all in excel, or can be programmed with Visual Basic or java. Similar to what Bob does in RC3, also known as rc crew chief. Would just need to find what the formula would need to be and set it up in excel.
#8
Tech Master
Joined: Jul 2018
Posts: 1,011
From: Florida
I cheated on my recent dive into this. I used the back emf of the non firing coil to calculate the dynamic relationship between the Hall effect and the center point of the coil. The only issue was that I expected the sensor to be a non linear relationship as rpm went up because of the hysteresis and it didnt. i wouldnt depend on my method for fine control but it did get a couple percent on the efficiency.
#9
Tech Master
Joined: Jul 2009
Posts: 1,416
From: Deep South Texas
#12
Tech Master
iTrader: (4)
Joined: Dec 2018
Posts: 1,065
If you can drive to 95% consistency, and your fastest lap is .1-.2 off the lap record then you can use lap times to see if something is genuinely better.
Motor analyzers are just a froofroo accessory most people have no business buying or using. Congratulations on wasting money on something that will not impact your lap times.
It really isn't that difficult. Any motor worth running will be set very close to the perfect timing out of the box. Gear it where the manufacturer specifies, and just go drive. A motor analyzer won't let you pick a magic timing that you somehow couldn't have picked otherwise. It really is not that difficult.
#13
And if your driving is that noisy, a slightly faster motor will not mean anything more than your car is going a tiny bit faster when you crash on of the 10-15 times per race. Time and money is better spent on practice than a new motor.
If you can drive to 95% consistency, and your fastest lap is .1-.2 off the lap record then you can use lap times to see if something is genuinely better.
Motor analyzers are just a froofroo accessory most people have no business buying or using. Congratulations on wasting money on something that will not impact your lap times.
It really isn't that difficult. Any motor worth running will be set very close to the perfect timing out of the box. Gear it where the manufacturer specifies, and just go drive. A motor analyzer won't let you pick a magic timing that you somehow couldn't have picked otherwise. It really is not that difficult.
If you can drive to 95% consistency, and your fastest lap is .1-.2 off the lap record then you can use lap times to see if something is genuinely better.
Motor analyzers are just a froofroo accessory most people have no business buying or using. Congratulations on wasting money on something that will not impact your lap times.
It really isn't that difficult. Any motor worth running will be set very close to the perfect timing out of the box. Gear it where the manufacturer specifies, and just go drive. A motor analyzer won't let you pick a magic timing that you somehow couldn't have picked otherwise. It really is not that difficult.
And motor analysers do more than just measure timing vs amp and KV. They also can tell you how symmetrical the sensor board is or even if it's faulty. It is a useful diagnostic tool.
#14
Tech Master
iTrader: (4)
Joined: Dec 2018
Posts: 1,065
95% consistency will still give lap times that vary by more than half a second. When you're chasing that last 0.1-0.2 gain, that consistency won't let you measure your gains.
And motor analysers do more than just measure timing vs amp and KV. They also can tell you how symmetrical the sensor board is or even if it's faulty. It is a useful diagnostic tool.
And motor analysers do more than just measure timing vs amp and KV. They also can tell you how symmetrical the sensor board is or even if it's faulty. It is a useful diagnostic tool.
In practice, if you can do a 15.1 as your fastest lap, and you can regularly run 15.2's and 15.3's and you swap in a new motor (or make whatever other adjustment), and your new fastest lap is a 14.9 and you can now hit 15.0's and 15.1's on the regular, then you can say for sure the change was valid. If your best lap time happened once, an you can't hit it regularly, you are not consistent enough to notice if something is truly better.
Last edited by waitwhat; 01-02-2019 at 05:42 PM.
#15
Tech Master
iTrader: (6)
Joined: Dec 2015
Posts: 1,418
From: San Jose CA
And if your driving is that noisy, a slightly faster motor will not mean anything more than your car is going a tiny bit faster when you crash on of the 10-15 times per race. Time and money is better spent on practice than a new motor.
If you can drive to 95% consistency, and your fastest lap is .1-.2 off the lap record then you can use lap times to see if something is genuinely better.
Motor analyzers are just a froofroo accessory most people have no business buying or using. Congratulations on wasting money on something that will not impact your lap times.
It really isn't that difficult. Any motor worth running will be set very close to the perfect timing out of the box. Gear it where the manufacturer specifies, and just go drive. A motor analyzer won't let you pick a magic timing that you somehow couldn't have picked otherwise. It really is not that difficult.
If you can drive to 95% consistency, and your fastest lap is .1-.2 off the lap record then you can use lap times to see if something is genuinely better.
Motor analyzers are just a froofroo accessory most people have no business buying or using. Congratulations on wasting money on something that will not impact your lap times.
It really isn't that difficult. Any motor worth running will be set very close to the perfect timing out of the box. Gear it where the manufacturer specifies, and just go drive. A motor analyzer won't let you pick a magic timing that you somehow couldn't have picked otherwise. It really is not that difficult.



13Likes