Hello,
This is my first post on the Arduino forums and I'm fairly inexperienced with Arduino micro controllers in general, so I apologize in advance if I don't provide the correct information or provide it in an incorrect way.
I am building a custom payload for a drone. The payload needs to be lowered and raised long distances, at least a few hundred feet, but potentially 1000ft+. I am planning to achieve this by building a motorized spindle that can wind/unwind a line with the payload attached at the other end. It is important that I am able to accurately monitor the current length of the line I've lower/raised. From what I've researched so far, it seems like a good way to do this would be to attached a gyro to the spindle to sense the angular rate. Of course, I would then write the code to convert the angular rate to a linear distance. This information would then being wirelessly transmitted to an Arduino attached to a laptop (or some other receiving setup) so the drone operator could monitor how far the payload has been raised/lowered in realtime.
There are two major parts of this that I am having trouble with:
-
I have never built an angular rate sensing circuit before and I'm not sure how I should select components. I understand that I need to choose a gyro that has a range matching the rate at which I want to turn the spindle. I suppose I also know that I only need a single axis of measurement capability, though additional axis won't hurt, I just won't use them. Other than this, I'm not sure how to select a gyro.
-
I'm not sure what would be the best way to wirelessly transmit the data output from the gyro on the spindle. Of course, it will first need to interface with an Arduino onboard the drone, and I think having that Arduino do the data processing would be best, but how can I wirelessly transmit the current length output to the operator on the ground? I found some code that I could modify to give me the length measurements (Arduino Playground - Gyro). I also found an Instractables article describing a way to wirelessly communicate between 2 Arduino using an HC-12 wireless serial port communication module (http://www.instructables.com/id/Long-Ra ... ss-Commun/). If I did this, I suppose I would just monitor the serial output of the Arduino on a laptop to keep track of the current line length. Although, a smaller more portable screen would be better than a laptop. I'm not sure if these HC-12 modules are the best things to use though.
Other questions in my head:
The gyro has to be mounted on the object whose motion it is detecting. For me this means the gyro has to be mounted on the spindle (on an end and centered on the axis of rotation). However, the gyro also needs to interface with the Arduino, which means the Arduino needs to be mounted on the end of the spindle, too. This also means that the power source for the Arduino needs to be mounted on the spindle. So:
a) Which Arduino model would be best for this? Obviously a small one, but will all the small Arduinos be compatible with the gyro I choose? If not, how do I ensure compatibility?
b) Any suggestions for an appropriate power source? I was thinking on of those small Eflite rechargeable LiPo airplane batteries. Probably a 2S or something. I have a few of those lying around from another project.
c) If people have suggestions on what type of motor I might use to turn the spindle that would be appreciated, too. The payload will weigh at least 0.8kg, so the motor needs to be able to put out quite a bit of torque, but it also needs to be small/lightweight to fit on the drone. I will probably be powering the motor via the drone's own batteries, so a power supply for the motor isn't really an issue.
If there is some type of "angular motion sensing Arduino package" that would be ideal, but I haven't been able to find anything like that.
I'm totally open to other/better ideas on how to achieve my goal of monitoring the current extended length of the line. Any suggestions or advice would be much appreciated! Please let me know if I need to provide more information. Thanks!