My entry from a few days ago disappeared, must not have gone out correctly. Anyway, I'm off of night shift and am getting used to sleeping during the night again.
I got a new software routine developed where I send the femur (lift) motor the desired angle and the femur moves to that position. I mapped out all the angle ADC values from 35 (minimum angle) to 155 degrees (maximun angle) in 5 degree increments. I plotted the results and they aren't exactly linear. I was unable to develop a mathmatical formula that followed the observed values close enough so I ended up using a single dimension array of the 25 sets of data. Using array index posion 0 as equivalent to 35 degrees, I mapped the remaining indexes to their corresponding angles. I assume the ADC values between the observed values are basically linear so I use a math routine to extrapolate the additional values. Experimentation showed quite a bit of over shoot so when the motor gets close to the desired value I slow the motor down which gets a lot closer to the desired position. I still have some tweaking to do to get the value even closer.
The same routine can be used on the tibia (kick) motor, I only have to get the specific ADC values for that motor. The coax (swing) motor will be a totally different item since it uses a position encoder instead of a pot for feedback. It also has a limit switch that identifies the travel limits. I hope to get both of these motor run routines completed this weekend so I can start running the leg through a series of repetitive motions and look for any design issues that might need addressing. I already found screws that tend to want to loosen.
I'll post the motor run routines once I'm done, I'm sure someone can review them and suggest improvements!
Bob



Reply With Quote




Bookmarks