2 weeks obsessed yield a quite satisfying outcome.
I've always wanted to build a balancing rig like this And finally the stars aligned and made thoughts into matter.
The physical construction is pretty self-explanatory in the images. As for the electronics I'm using a pair of 20 kg load cells that I pulled out of a pair of handheld digital scales I purchased from Amazon for $9 each. Those sensors are tied into an x1000 gain amplifier and fed into a teensy 4.0. I'm also using a magnetic rotary angle position sensor which has a 3.3 volt power input and analog output from 0.3 volt to 2.8 volt over a 360° rotation.
The teensy has two different operating modes: stream and burst. Streaming mode samples position and load cells and spits that data out through the serial port as quickly as it can crunch. This is mostly used just for making sure the position sensor and load cells are working properly. Burst mode writes out to two separate arrays of 10x360 where load cell data is stored for each degree of rotation. Then the average is taken over those 10 samples for each degree. This process is performed over 150 revolutions and each degree averaged once again. At that point serial data is sent to the PC to cover one full rotation of load cell data.
The windows UI is written in VB6 and is pretty self-explanatory. At the moment it is at its most basic it can functionally be but I couldn't be happier with the results.
I've attached a link to a YouTube video I put together today of it as a walkthrough. I have quite a few more code implementations to write up but now having a functional machine has really helped to fuel the motivation.
https://youtu.be/cknnzavM24E
I've always wanted to build a balancing rig like this And finally the stars aligned and made thoughts into matter.
The physical construction is pretty self-explanatory in the images. As for the electronics I'm using a pair of 20 kg load cells that I pulled out of a pair of handheld digital scales I purchased from Amazon for $9 each. Those sensors are tied into an x1000 gain amplifier and fed into a teensy 4.0. I'm also using a magnetic rotary angle position sensor which has a 3.3 volt power input and analog output from 0.3 volt to 2.8 volt over a 360° rotation.
The teensy has two different operating modes: stream and burst. Streaming mode samples position and load cells and spits that data out through the serial port as quickly as it can crunch. This is mostly used just for making sure the position sensor and load cells are working properly. Burst mode writes out to two separate arrays of 10x360 where load cell data is stored for each degree of rotation. Then the average is taken over those 10 samples for each degree. This process is performed over 150 revolutions and each degree averaged once again. At that point serial data is sent to the PC to cover one full rotation of load cell data.
The windows UI is written in VB6 and is pretty self-explanatory. At the moment it is at its most basic it can functionally be but I couldn't be happier with the results.
I've attached a link to a YouTube video I put together today of it as a walkthrough. I have quite a few more code implementations to write up but now having a functional machine has really helped to fuel the motivation.
https://youtu.be/cknnzavM24E
Attachments
-
IMG_20230116_204434_(1080_x_1080_pixel).jpg127.7 KB · Views: 118
-
IMG_20230116_204535_(1080_x_1080_pixel).jpg155.7 KB · Views: 100
-
IMG_20230116_204554_(1080_x_1080_pixel).jpg81.1 KB · Views: 92
-
IMG_20230116_204645_(1080_x_1080_pixel).jpg137.1 KB · Views: 94
-
IMG_20230116_204627_(1080_x_1080_pixel).jpg148.3 KB · Views: 98