Go Back  R/C Tech Forums > General Forums > Radio and Electronics
The Homebuilt Dynamometer (Dyno)Thread!!! >

The Homebuilt Dynamometer (Dyno)Thread!!!

Community
Wiki Posts
Search
Like Tree16Likes

The Homebuilt Dynamometer (Dyno)Thread!!!

Thread Tools
 
Search this Thread
 
Old 04-21-2024, 06:27 PM
  #151  
Tech Elite
iTrader: (51)
 
trilerian's Avatar
 
Join Date: Apr 2005
Location: Lexington KY
Posts: 2,273
Trader Rating: 51 (100%+)
Default

In a couple more weeks I should have some time available to look into this as well. I have a bunch of different dev boards that can be tried. I can use the MiniPro flywheel and base for the hardware. I'll look at downloading Simple Dyno and messing around with that. But what would be really cool is if someone could help make a more up to date app for Windows. I will say, that isn't me, lol.
kufman likes this.
trilerian is offline  
Old 04-21-2024, 07:39 PM
  #152  
Tech Elite
iTrader: (6)
 
kufman's Avatar
 
Join Date: Feb 2004
Location: Elburn, IL
Posts: 3,668
Trader Rating: 6 (100%+)
Default

Ok, tried a couple things tonight.

1. Tried sending the serial data as a bunch of Serial.Print lines. Unfortunately, there must be something in the SimpleDyno software that doesn't work with this. Couldn't get the software to read or record any data.

2. I did an array with the Minima (as mentioned in my previous post). Here are some plots. Very nice curve but you can see in the zoomed plot that my disk isn't very symmetrical.



trilerian and DadRacer like this.
kufman is offline  
Old 04-22-2024, 12:47 PM
  #153  
Tech Elite
iTrader: (6)
 
kufman's Avatar
 
Join Date: Feb 2004
Location: Elburn, IL
Posts: 3,668
Trader Rating: 6 (100%+)
Default

Ok, short update. I fixed the new way of sending the serial data. I was missing a value and the SD software didn't know what to do. With that working and the new "delay" setup, I can get data every 15msec. If I go any faster, the SD software falls behind in some weird way. I am currently printing a bigger peg wheel for the RPM measurement. I am hoping this will yield better results due to the symmetry issue. If my 3d printer is off by some number of mm, then that same number of mm on a bigger wheel should still be better. On the other hand, having the holes on a larger radius means they are passing the sensor with a higher angular velocity. This may cancel out the whole advantage but I am too lazy to do the math.
kufman is offline  
Old 04-22-2024, 06:15 PM
  #154  
PDR
Tech Elite
iTrader: (31)
 
PDR's Avatar
 
Join Date: Oct 2008
Location: Sydney, Australia
Posts: 2,145
Trader Rating: 31 (100%+)
Default

Originally Posted by kufman
Ok, short update. I fixed the new way of sending the serial data. I was missing a value and the SD software didn't know what to do. With that working and the new "delay" setup, I can get data every 15msec. If I go any faster, the SD software falls behind in some weird way. I am currently printing a bigger peg wheel for the RPM measurement. I am hoping this will yield better results due to the symmetry issue. If my 3d printer is off by some number of mm, then that same number of mm on a bigger wheel should still be better. On the other hand, having the holes on a larger radius means they are passing the sensor with a higher angular velocity. This may cancel out the whole advantage but I am too lazy to do the math.
How many samples per revolution are you picking up?
PDR is offline  
Old 04-22-2024, 06:30 PM
  #155  
Tech Elite
iTrader: (51)
 
trilerian's Avatar
 
Join Date: Apr 2005
Location: Lexington KY
Posts: 2,273
Trader Rating: 51 (100%+)
Default

Originally Posted by kufman
Ok, short update. I fixed the new way of sending the serial data. I was missing a value and the SD software didn't know what to do. With that working and the new "delay" setup, I can get data every 15msec. If I go any faster, the SD software falls behind in some weird way. I am currently printing a bigger peg wheel for the RPM measurement. I am hoping this will yield better results due to the symmetry issue. If my 3d printer is off by some number of mm, then that same number of mm on a bigger wheel should still be better. On the other hand, having the holes on a larger radius means they are passing the sensor with a higher angular velocity. This may cancel out the whole advantage but I am too lazy to do the math.
Your angular velocity will be the same no matter where you are on the disc. Linear velocity will change, but that will not matter.
Do you have any gear reduction at all in the setup? 15ms is about 4000 RPM without any gear reduction, so not very good. I thought you were saving all the data to an array then do a serial dump after the run.
trilerian is offline  
Old 04-23-2024, 08:16 AM
  #156  
Tech Elite
iTrader: (6)
 
kufman's Avatar
 
Join Date: Feb 2004
Location: Elburn, IL
Posts: 3,668
Trader Rating: 6 (100%+)
Default

Originally Posted by PDR
How many samples per revolution are you picking up?
Currently 4. I have experimented with 1, 2 and 4 pickups. The main problem with my pickup is that PLA doesn't block IR light so I have to cover the disk with electrical tape. I then cut out the holes in the disk with an X-acto knife and the edges aren't as clean as the 3d printed part.

Your angular velocity will be the same no matter where you are on the disc. Linear velocity will change, but that will not matter.
Do you have any gear reduction at all in the setup? 15ms is about 4000 RPM without any gear reduction, so not very good. I thought you were saving all the data to an array then do a serial dump after the run.
Yes, sorry. Wrong velocity. The big wheel didn't really work any better anyway. No gear reduction but the data points are timed revolutions not a polling. Every 15msec, it records the next 1/4 revolution time and equates that to RPM. I have been playing around with 2 different ideas. The first being the improvement of the Simple Dyno sketch. The second is dumping the whole run to an array using the Minima (doesn't work with SD yet or my Win7 shop computer. Had to bring a Win10 computer down to the shop).
kufman is offline  
Old 04-23-2024, 02:57 PM
  #157  
Tech Elite
iTrader: (51)
 
trilerian's Avatar
 
Join Date: Apr 2005
Location: Lexington KY
Posts: 2,273
Trader Rating: 51 (100%+)
Default

Originally Posted by kufman
Currently 4. I have experimented with 1, 2 and 4 pickups. The main problem with my pickup is that PLA doesn't block IR light so I have to cover the disk with electrical tape. I then cut out the holes in the disk with an X-acto knife and the edges aren't as clean as the 3d printed part.



Yes, sorry. Wrong velocity. The big wheel didn't really work any better anyway. No gear reduction but the data points are timed revolutions not a polling. Every 15msec, it records the next 1/4 revolution time and equates that to RPM. I have been playing around with 2 different ideas. The first being the improvement of the Simple Dyno sketch. The second is dumping the whole run to an array using the Minima (doesn't work with SD yet or my Win7 shop computer. Had to bring a Win10 computer down to the shop).
How big is your encoder wheel? I can print one in PETG, or even PA6-GF. Haven't had a chance to print with the PA6 yet, but it is supposed to be dimensionally stable.

Would you care to share your timing for the 15ms intervals and how you go about collecting the times? I'm curious if you are using only timers or if you are using any delays.
trilerian is offline  
Old 04-23-2024, 03:56 PM
  #158  
PDR
Tech Elite
iTrader: (31)
 
PDR's Avatar
 
Join Date: Oct 2008
Location: Sydney, Australia
Posts: 2,145
Trader Rating: 31 (100%+)
Default

Have you thought about using a hall effect sensor instead of the optical one? It's also possible to tap into the motor's own sensors. You'd get three samples per revolution.
PDR is offline  
Old 04-24-2024, 05:52 PM
  #159  
Tech Elite
iTrader: (6)
 
kufman's Avatar
 
Join Date: Feb 2004
Location: Elburn, IL
Posts: 3,668
Trader Rating: 6 (100%+)
Default

Originally Posted by trilerian
How big is your encoder wheel? I can print one in PETG, or even PA6-GF. Haven't had a chance to print with the PA6 yet, but it is supposed to be dimensionally stable.

Would you care to share your timing for the 15ms intervals and how you go about collecting the times? I'm curious if you are using only timers or if you are using any delays.
The original wheel is 36mm in diameter. The larger test was 96mm. The windows in the wheel are 5mmx5mm. PETG is also transparent to IR. I haven't heard of PA6-GF till your post. Looks interesting from a strength aspect but sounds nasty to print with.

It is the code that I shared above and modified with the suggestions that were posted. Maybe I don't understand how it works? I created a Github repository for sharing

https://github.com/Kufman/Dyno/blob/...New-Delay_Nano

And the one without a string for the serial

https://github.com/Kufman/Dyno/blob/...lay_New-Serial

Array code for Minima

https://github.com/Kufman/Dyno/blob/...t_Array_Minima

Last edited by kufman; 04-24-2024 at 06:07 PM.
kufman is offline  
Old 04-24-2024, 06:00 PM
  #160  
Tech Elite
iTrader: (6)
 
kufman's Avatar
 
Join Date: Feb 2004
Location: Elburn, IL
Posts: 3,668
Trader Rating: 6 (100%+)
Default

Originally Posted by PDR
Have you thought about using a hall effect sensor instead of the optical one? It's also possible to tap into the motor's own sensors. You'd get three samples per revolution.
I did this as a test early on but I want to test brushed motors as well so I changed the design. I thought it would be easier for my to manufacture an optical wheel. That was before I realized that PLA doesn't work. I also have concerns that a hall probe may have speed related, variable delay problems
kufman is offline  
Old 04-25-2024, 07:42 AM
  #161  
Tech Elite
iTrader: (51)
 
trilerian's Avatar
 
Join Date: Apr 2005
Location: Lexington KY
Posts: 2,273
Trader Rating: 51 (100%+)
Default

Originally Posted by kufman
The original wheel is 36mm in diameter. The larger test was 96mm. The windows in the wheel are 5mmx5mm. PETG is also transparent to IR. I haven't heard of PA6-GF till your post. Looks interesting from a strength aspect but sounds nasty to print with.

It is the code that I shared above and modified with the suggestions that were posted. Maybe I don't understand how it works? I created a Github repository for sharing

https://github.com/Kufman/Dyno/blob/...New-Delay_Nano

And the one without a string for the serial

https://github.com/Kufman/Dyno/blob/...lay_New-Serial

Array code for Minima

https://github.com/Kufman/Dyno/blob/...t_Array_Minima
Do you tell the program the update time or does it take it from the timestamps of the readings?
If you are telling it the update time then this:
if((currentTime - lastUpdateTime) > UPDATE_INTERVAL)

should change to:
if((currentTime - lastUpdateTime) >= UPDATE_INTERVAL)

The first statement will make the update time greater than the interval while the second statement will keep it at the update interval.

So the code has an ISR that is constantly running checking for the falling edge of the rpm sensor. Then the code that is running in the main loop checks for the update time and then serial prints all the variables it it currently knows. It goes through 6 analog sensors, I assume this is in case you want to use them all, but I would comment out all the sensors not being used and change the number of ports to read to the number of analog sensors you have. Then store the other non needed sensors as 0s in a string in flash (use FlashStringHelper). This will save time and not have to analog read the sensors you are not using as each analog read take approximately 110µs. I would also write a function for the analog reads instead of reading them while serial printing and then just serial print the results.

After that, I would test a sensor on the motor by connecting off of one into pin 2 of your Uno. But these sensors work reliably for low turn BLDC motors with high rpm (50,000+).



And... I just looked at the array code. Which is completely different, lol. So question I have now; what does the Simple Dyno software actually expect for data? I don't think you need all these data points for current and voltage. Your array size is 1550, and I think you said you can get 4 seconds, so if you average it, 400 sample/seconds. I understand the longer the run goes the more samples there will be because the RPM goes up, but just for numbers sake let's make it easy. So the idea is to split up the analog read from the rpm sensor (and please take those out of the ISR) and treat the timing of these (rpm and other sensors) independently. I would put the analog sensors on a timer to start with and go from there. After looking through this there are quite a few different things I want to try.

As to the IR transparency, are you using black filament? Some on the interwebs claim the black PLA can be used. I'm not seeing a lot of results for PETG and IR transparency. I also have some black PLA-CF I can test with. Not sure if the small amount of carbon filament in it would make a difference, but I will print a test wheel and test it with a ir tachometer.
trilerian is offline  
Old 04-25-2024, 02:14 PM
  #162  
Tech Elite
iTrader: (6)
 
kufman's Avatar
 
Join Date: Feb 2004
Location: Elburn, IL
Posts: 3,668
Trader Rating: 6 (100%+)
Default

Originally Posted by trilerian
Do you tell the program the update time or does it take it from the timestamps of the readings?
If you are telling it the update time then this:

Good question, I am not 100% sure what the SD software is looking for.

if((currentTime - lastUpdateTime) > UPDATE_INTERVAL)

should change to:
if((currentTime - lastUpdateTime) >= UPDATE_INTERVAL)

The first statement will make the update time greater than the interval while the second statement will keep it at the update interval.

So the code has an ISR that is constantly running checking for the falling edge of the rpm sensor. Then the code that is running in the main loop checks for the update time and then serial prints all the variables it it currently knows. It goes through 6 analog sensors, I assume this is in case you want to use them all, but I would comment out all the sensors not being used and change the number of ports to read to the number of analog sensors you have. Then store the other non needed sensors as 0s in a string in flash (use FlashStringHelper). This will save time and not have to analog read the sensors you are not using as each analog read take approximately 110µs. I would also write a function for the analog reads instead of reading them while serial printing and then just serial print the results.

I will have to think about that.

After that, I would test a sensor on the motor by connecting off of one into pin 2 of your Uno. But these sensors work reliably for low turn BLDC motors with high rpm (50,000+).

They work fairly well but you are subject to the sensor balance causing the same problem as my wonky wheel. If I was only using a single sensor pickup per revolution, either system works fine. I have spoken to Tekin in the past about the hall sensors and they don't really like them but that is the way the industry went. Tekin and Castle both said that the sensors can give bad timing data during periods of high torque (Lots of magnetic field from the stator). The magnetic field can actually shift in the rotor which is why using sensorless, back EMF gives the best timing information. I also test brushed motors so it wasn't a good option for me.

And... I just looked at the array code. Which is completely different, lol. So question I have now; what does the Simple Dyno software actually expect for data? I don't think you need all these data points for current and voltage. Your array size is 1550, and I think you said you can get 4 seconds, so if you average it, 400 sample/seconds. I understand the longer the run goes the more samples there will be because the RPM goes up, but just for numbers sake let's make it easy. So the idea is to split up the analog read from the rpm sensor (and please take those out of the ISR) and treat the timing of these (rpm and other sensors) independently. I would put the analog sensors on a timer to start with and go from there. After looking through this there are quite a few different things I want to try.

So far, I have been black box testing what the SD software is looking for. I know it wants all the values for each data point. I also know that is is looking at the RPM in real time to determine when data taking should begin and when it should end. It is a settable parameter in the software.

As to the IR transparency, are you using black filament? Some on the interwebs claim the black PLA can be used. I'm not seeing a lot of results for PETG and IR transparency. I also have some black PLA-CF I can test with. Not sure if the small amount of carbon filament in it would make a difference, but I will print a test wheel and test it with a ir tachometer.

Yes, black and dark blue PLA with 100% infill and up to 5mm thick. I also know that painted lexan doesn't work (tried a scrap piece of a painted body). My cousin does vinyl cutting so want to try that route as well since electrical tape works very well.
1
kufman is offline  
Old 04-25-2024, 02:26 PM
  #163  
R/C Tech Elite Member
iTrader: (56)
 
CCristo's Avatar
 
Join Date: Aug 2005
Location: Millbury, MA
Posts: 1,494
Trader Rating: 56 (100%+)
Default

How about a carbon fiber wheel with a 3d printed hub to attach it to the shaft? I can help you with the CF if you want. Send me a PM with a drawing
CCristo is offline  
Old 04-25-2024, 03:57 PM
  #164  
Tech Elite
iTrader: (6)
 
kufman's Avatar
 
Join Date: Feb 2004
Location: Elburn, IL
Posts: 3,668
Trader Rating: 6 (100%+)
Default

Originally Posted by CCristo
How about a carbon fiber wheel with a 3d printed hub to attach it to the shaft? I can help you with the CF if you want. Send me a PM with a drawing
That was going to be my next choice since my cousin also has a CNC router. If he can't do it, I will get in touch with you. Thanks for the offer. Here is the original design

https://www.tinkercad.com/things/1zf...dyno-rpm-wheel
kufman is offline  
Old 05-06-2024, 06:38 PM
  #165  
Tech Elite
iTrader: (51)
 
trilerian's Avatar
 
Join Date: Apr 2005
Location: Lexington KY
Posts: 2,273
Trader Rating: 51 (100%+)
Default

Any progress on this?
EDIT: And do you have the Simple Dyno software? I checked the github link, but there is not a packaged zip file that I can find.
EDIT: And sometimes you just got to click a few more times to find it...

Last edited by trilerian; 05-06-2024 at 06:52 PM.
trilerian is offline  


Contact Us - Archive - Advertising - Cookie Policy - Privacy Statement - Terms of Service -

Copyright © 2024 MH Sub I, LLC dba Internet Brands. All rights reserved. Use of this site indicates your consent to the Terms of Use.