I am trying to build the exact same project as discussed here:
I came across MPU-6050 - a 3 axis accelerometer and gyroscope. To control the 4 linear actuators, I am planning to use 2x SHIELD-MDD10. I've used this DC motor driver in the past and it should achieve what we need including PWM control.
On top of that I am planning to include an ammeter for each actuator to be able to measure the current draw. The idea is to cut the power should the actuators start fighting each other during the leveling process. Maybe use it to determine lowest/highest positions, but for that I'll probably use limit switches.
My biggest hurdle at the moment is the code - I know the position of the platform using the gyroscope but I need to drive each actuator (or at least 3) at different speeds and for different lengths to achieve a leveled platform. Any suggestions?
Unfortunately I don't have the option to use only 3 actuators due to physical constraints. I am forced to install the actuators on each of the 4 corners of a rectangle.
It's one of the forum rules. The original post was more of a mechanical discussion and yours is about code. Plus it's been over a month with the last reply.
You might see an existing topic related to what you want to ask and think about tagging your question on the end. Please don't do this. If the existing question is just what you were looking for and the answer helps you then there is no need. Otherwise, the existing topic isn't what you were looking for and you should create a new topic. There's no harm including a link back to the existing discussion if you think there's some relevance.
Thanks for your suggestion. I think they would still "fight" unless I sequentially activate the remaining 3 in pairs which is what I think I will do. Will update when I have a chance to verify this approach.
I have mechanical engineering background, basic knowledge of Arduino and programming. I can put together a few lines on my own but, nothing too complex. I can understand the logic (to certain extent) of a relatively complex code.
Neither. It is a hobby project but it is already built from hardware point of view. I want to level the top lid of a trailer with 4 vertical walls (think of the lid of a box). I do not wish to sacrifice useful space in the trailer hence why I opted to install actuators only in the corners.
Yes. I have successfully built another project where I controlled 2 DC motors using the MDD10A from Cytron. I will reuse the same code.
I thought that the 6050 will always output values relative to the ground but this is not the case. Whatever the position the sensor is in upon powering up, that will be the reference for the output values. I don't know how I am going to get it to show the values relative to the ground. Research in progress.
Yes, I got code that reads the 6050. I got 6 readings (Yaw, Pitch, Roll in deg. and acceleration along all 3 axis). I am planning to use only Pitch and Roll angles.
There is a lot more on the internet about using three . If you adjust the PID terms for each so some are fast responding others not , or (as I think u suggest ) prioritise which side levelled at a time , should do it .
doesn't it output acceleration which mean double integration to compute position and then how much error (i.e. dead reckoning) will accumulate
considering a robotic arm in robotics and the angles of each joint to move the end of the arm along some path. are similar geometric computations required to keep all actuators aligned?
If the lid is sufficiently stiff, you could level it using actuators in 3 corners, leaving the 4th corner free floating (no actuator). After leveling, lock the 4th corner into place with the mechanism of your choice... manually or automatically.