Alternative to acceleration estimation with encoder velocity data

Thread Starter

el_maxx

Joined May 27, 2021
4
I tried to estimate angular acceleration of a shaft with angular velocity points collected from an incremental encoder but, when I differenciate numerically, errors of estimation became very high due to the delay in capturing flanks (detecting slits). What alternatives do you suggest for my velocity and acceleration measurements? The real velocity follows a rectified sinusoidal waveform with 150 rpm as maximum amplitude and 0 rpm as the minimum amplitud. The minimum and maximum values for the period of the rectified sine wave are 0.5 seconds and 2 seconds respectivelly.
If you know about journals, researches or thesis/masters regarding to this topic please comment the link.
 

Papabravo

Joined Feb 24, 2006
16,103
I tried to estimate angular acceleration of a shaft with angular velocity points collected from an incremental encoder but, when I differenciate numerically, errors of estimation became very high due to the delay in capturing flanks (detecting slits). What alternatives do you suggest for my velocity and acceleration measurements? The real velocity follows a rectified sinusoidal waveform with 150 rpm as maximum amplitude and 0 rpm as the minimum amplitud. The minimum and maximum values for the period of the rectified sine wave are 0.5 seconds and 2 seconds respectivelly.
If you know about journals, researches or thesis/masters regarding to this topic please comment the link.
I'm not entirely certain what data is available from the encoder. If you have edges when the disc goes from light to dark and dark to light then using input capture hardware will give precise time measurements without appreciable delay. Using an interrupt routine to process the edge times should allow for a more accurate process.
 

BobaMosfet

Joined Jul 1, 2009
1,768
delay doesn't matter as long as it's consistent. It is the relative time between detection of slits that matters. Are you using an opto-slot-interrupter? All need is to have a pin-interrupt when the slot is registered, and then check time between them. Simple.
 

Thread Starter

el_maxx

Joined May 27, 2021
4
"It is the relative time between detection of slits that matters" --> This is what I called delay. I attach two images, be aware that they are in spanish. Better resolution doesn't solve the problem (not even with 5000 ppr). The error is defined as equal to measured velocity minus real velocity.
 

Attachments

Thread Starter

el_maxx

Joined May 27, 2021
4
Integrating the real sine wave from a time, let's call it t_beginning (or t_previous flank), until the integration equals the swiped angle by the slit. When it happens, the code calculates the angular velocity as Angular velocity=Swiped angle by the slit divided by (t_current flank-t_previous flank). But this angular velocity is supposed to be shown by the encoder after t_current flank.
 

andrewmm

Joined Feb 25, 2011
1,464
Integrating the real sine wave from a time, let's call it t_beginning (or t_previous flank), until the integration equals the swiped angle by the slit. When it happens, the code calculates the angular velocity as Angular velocity=Swiped angle by the slit divided by (t_current flank-t_previous flank). But this angular velocity is supposed to be shown by the encoder after t_current flank.
What Im guessing,
is the time between the event happening and the time its time stamped is long and / or variable.

To cpature these sort of ns events, you need a good circuit,

how is the data from the senocr getting into matlab,
rs232 link , usb ? where is the time stamp applied ? on the PC , at the sensor ?
 
Top