keshmaster81
Member
I am working on a project for a company designing paintball triggers. We currently use old, expensive and proprietary PLC architecture for a data logging test rig. I believe that open source hardware has come far enough to the point where I can replicate the entire functionality of this previous rig possibly to an even better degree, at a fraction of the cost. My prior experience with this stuff is very much at the simple hobby level with Arduino and I have a very limited understanding of signal processing which I have been attempting to learn. After exploring and researching how I can achieve this, I landed on the Teensy being the most capable microcontroller for this task.
The previous datalogger is capped at a sampling rate of 10khz and a resolution of 16 bit. How the rig works currently is we have strain gauge load cell attached to a linear actuator stepper motor which pushes against the trigger. The displacement of the trigger is measured by a linear potentiometer which is also actuated by the stepper. With these 2 inputs we can generate a force vs displacement curve, which helps understand trigger creep.
I am aiming to remake the rig and add more powerful sensing capability in the future, and hence landed on using an external ADS from TI, which samples at 32khz and a 24 bit resolution. I can also sample simultaneously on 8 different channels which allows for more expandability in the future. To prototype with this chip, I will be using this breakout board and I understand to interface with my external ADC with the Teensy I will need this external 8.192 MHz clock.
At a high level how I understand my system to operate will be for the Teensy to log the raw sensor data input store it to RAM, then write to the SD card which can be used later for post-processing, clear the RAM, and repeat. I am also considering writing data to RAM, then transmitting the data through wifi to firebase where I can process and filter the raw data with DSP using python, then send the data back to be displayed on an LCD. I envisioned the processing part to be done off-board due to the speed requirements of my data logging. However I know the Teensy is capable of DSP and has an audio library built for it, which would be nice to use if possible.
From my basic understanding, I think I should have enough RAM, assuming all my sensors had a frequency response equal to my sampling rate, and I collect my trigger data over 3 seconds, 32000kHz x 3s x 24 bits = 2304000 bits which is only 0.3 megabytes.
At the current stage, I am choosing what type of peripherals and sensors I should use. Given the nature of the project, extreme precision to the 1-10 micron scale is desired. Cost is not really an issue for my peripherals considering I have the potential to save 15k+ by ditching the old datalogger and PLC.
For actuation, I was looking to ditch the linear pot and somehow use an encoded stepper to measure displacement, but I think backlash would be an issue.
For load cells, I found out that strain gauge based load cells are actually incapable of the really high sampling rate that I have the potential to utilize. It's not a huge problem as the current system using a strain gauge load cell which has a frequency response of around 1 kHz. However more datapoints wouldn't hurt, so I have been exploring piezoelectric load cells but I know they have some caveats related to creep but I don't fully understand this so I am curious to if this would be viable.
For the load cell, I know that my ADC has a built in instrumentation amp at each pin which I can use to amplify the load cell signal. I this would be sufficient to pre
One of the products I explored for actuation was this piezoelectric micro linear actuator, which is really cool and has nanometre levels of precision. Only problem here is the force output limitations for one actuator cap at 10N. I require a minimum of 50N for my triggers.
I would really appreciate any advice related to my approach, any major hurdles or key things I need to consider, other things to buy, how to get started with prototyping etc. Or even if I'm totally in over my head and this isn't achievable. Thanks!
The previous datalogger is capped at a sampling rate of 10khz and a resolution of 16 bit. How the rig works currently is we have strain gauge load cell attached to a linear actuator stepper motor which pushes against the trigger. The displacement of the trigger is measured by a linear potentiometer which is also actuated by the stepper. With these 2 inputs we can generate a force vs displacement curve, which helps understand trigger creep.
I am aiming to remake the rig and add more powerful sensing capability in the future, and hence landed on using an external ADS from TI, which samples at 32khz and a 24 bit resolution. I can also sample simultaneously on 8 different channels which allows for more expandability in the future. To prototype with this chip, I will be using this breakout board and I understand to interface with my external ADC with the Teensy I will need this external 8.192 MHz clock.
At a high level how I understand my system to operate will be for the Teensy to log the raw sensor data input store it to RAM, then write to the SD card which can be used later for post-processing, clear the RAM, and repeat. I am also considering writing data to RAM, then transmitting the data through wifi to firebase where I can process and filter the raw data with DSP using python, then send the data back to be displayed on an LCD. I envisioned the processing part to be done off-board due to the speed requirements of my data logging. However I know the Teensy is capable of DSP and has an audio library built for it, which would be nice to use if possible.
From my basic understanding, I think I should have enough RAM, assuming all my sensors had a frequency response equal to my sampling rate, and I collect my trigger data over 3 seconds, 32000kHz x 3s x 24 bits = 2304000 bits which is only 0.3 megabytes.
At the current stage, I am choosing what type of peripherals and sensors I should use. Given the nature of the project, extreme precision to the 1-10 micron scale is desired. Cost is not really an issue for my peripherals considering I have the potential to save 15k+ by ditching the old datalogger and PLC.
For actuation, I was looking to ditch the linear pot and somehow use an encoded stepper to measure displacement, but I think backlash would be an issue.
For load cells, I found out that strain gauge based load cells are actually incapable of the really high sampling rate that I have the potential to utilize. It's not a huge problem as the current system using a strain gauge load cell which has a frequency response of around 1 kHz. However more datapoints wouldn't hurt, so I have been exploring piezoelectric load cells but I know they have some caveats related to creep but I don't fully understand this so I am curious to if this would be viable.
For the load cell, I know that my ADC has a built in instrumentation amp at each pin which I can use to amplify the load cell signal. I this would be sufficient to pre
One of the products I explored for actuation was this piezoelectric micro linear actuator, which is really cool and has nanometre levels of precision. Only problem here is the force output limitations for one actuator cap at 10N. I require a minimum of 50N for my triggers.
I would really appreciate any advice related to my approach, any major hurdles or key things I need to consider, other things to buy, how to get started with prototyping etc. Or even if I'm totally in over my head and this isn't achievable. Thanks!