Search the Community
Showing results for tags 'flight control systems'.
Found 3 results
DerekF posted a blog entry in Digital Flight Control System for Foiling DinghiesAnother quick update, A productive weekend ended up with an IMU (BNO055) and a waterproof sonar range sensor (JSN-SR04T) being integrated to my Arduino Mega board. Both are yielding good data and easy to work with. I also am able to write commands successfully to a spare servo I from an RC Tricopter. I am still in the process of selecting the correct servo and identifying the correct attachment point(s) for the servo to flap linkage (please see and comment on servo math below). Additionally, I now have a PID library running giving servo commands based on the measured elevation. Tuning the loop gains will take some tweaking and I am beginning to realize a few buttons and a display of some sort may be necessary. I am trying to avoid scope creep but tuning control loops will most certainly need to be done on the water and doing so on a laptop will not be possible. More fun to come on UX... Lastly, it's time to think about packaging and power. The whole system runs on 5V and would be easy to power off of a set of AA or C cells. Eventually a lithium battery would work well and be rechargeable. I may need to add a power distribution board as the Arduino Mega won't provide enough current for the servo I am guessing. We'll see once the servo is selected. Servo Math Section Speaking of servos, my thinking here is to calculate how much torque is being imparted by the wand and using that as a minimum value required for servo torque. Being conservative my math is as follows: Calculate force on paddle: F = ma from Newton Finding a: Paddle will push flap down at minimum boat speed of about 3 knots or 1.55 m/s -- below that boat speed the flap rebound spring overwhelms the paddle drag. Therefore paddle must accelerate oncoming water from 0 m/s to 1.55 m/s. I am going to assume that this acceleration takes place over the course of 0.2 seconds. I have no scientific basis for this duration of acceleration. In reality this is probably a very complex fluid dynamics problem, but I think 0.2 seconds is a safe and conservative number. Therefore a = (1.55 m / s) / 0.2s = 7.75 m / s^2 Finding m: The paddle is around 4 square inches (~2 x 2 inches). (The wand also provides some drag that we will ignore for simplicity -- hopefully this isn't fatal =) Assuming that the amount of water accelerated from 0 knots to 3 knots is 4 square inches and 1 inch deep (yes another assumption), we have a total volume of water decelerated of 4 cubic inches or 65.5 cm^3 or 6.55e-5 m^3. The density of luke warm seawater is nominally 1027 kg / m^3. Therefore m = 6.55e-5 m^3 * 1027 kg / m^3 = 0.06726kg Finding F: Putting it all together total minimum force on the paddle to push the flap down is: F = ma = 0.06726 kg * (7.75 m / s^2) = 0.52 Newtons To be clear, this is the minimum force it takes to push the flap down when traveling slowly. As speed increases, it will take more force to actuate the wing as the speed of the water rushing by the wing is faster and will increase resistance to movement. Not to fear however, we can use the same approach to calculate the torque imparted on the wing by the paddle at higher speeds by varying a. At 18 knots (about as fast as my GPS has ever recorded me traveling) and assuming acceleration takes place over 0.2 s, our formula becomes F = ma = 0.06726 kg * 46.3 m / s^2 = 3.1 Newtons 18 knots = 9.26 m / s ; (9.26 m / s) / (0.2s) = 46.3 m / s^2 Finding Torque: Putting it all together to get torque, I assume that we are operating on the end of a 1m arm (our wand length). Therefore our torque values would be between 0.52 N-m and 3.1 N-m. A few caveats -- I made a lot of assumptions here and tried to be conservative. I also notice that at high foiling speeds (18 knots) the paddle depresses the flap with extreme ease indicating that while it imparts 3.1 N-m, a far smaller value would be sufficient. The last consideration comes with how to mount the servo and how many meters of moment arm we will use. I am thinking the servo will be mounted close to the fulcrum therefore our moment arm will likely be 0.2 m or similar. Therefore torque will need to increase by a factor of 5 to deal with the fact we only have a fifth the lever arm as the paddle. With all this math out of the way, I want to say that I am not a fluid dynamics or mechanics expert. I intend to take some empirical measurements next time I'm out foiling to verify my math. Please check my work and shoot holes in it wherever possible.
DerekF posted a blog entry in Digital Flight Control System for Foiling DinghiesTime for another blog installment of the Digital Flight Control System for my UFO. I have been busy at work on the project and making good progress toward a first flight in early 2020! Also attached is an updated block diagram with details on various subjects below: Data Logging: In my last blog post I mentioned that we needed some sort of data logging to really get into the meat of how well our control and filter algorithms are working. Post processing data after getting off the water will also allow us to see if there is data being generated by sensors that could improve control. For example, I received a suggestion that I take vertical acceleration from the IMU into consideration and use it to derive vertical position. This vertical position would then be fed into a Kalman filter along with the ultrasonic range sensor's vertical position measurements to determine a better estimate for boat altitude. Logging and crunching data after getting off the water would allow us to take these types of ideas into consideration easily. Datalogging would also greatly improve troubleshooting of all types. To this end, I have added an 8GB micro SD card to the design as well as written some simple code to log data to a CSV file for post processing. My current code logs speed (GPS), acceleration (XYZ axes), attitude (XYZ planes), and servo control input. Any other thoughts on datalogger inputs? PID Loop Tuning: It has also occurred to me that tuning PID loops while on the water will not be possible with a laptop. As such, I have integrated a wireless, 4-button, key fob (in a waterproof bag), a wireless receiver and an LCD screen. This will allow for wireless adjustment of PID constants and LCD feedback to the user. This setup should allow for easy adjustment while out on the water between foiling runs. The enclosure chosen also has a clear plastic top to make reading the LCD screen possible. Mounting, Wiring and Power Distribution: The Arduino board I am using only has so many pin outputs for 3.3V and 5V. While my sensors easily fall within the max current output of the board, I am short on pin space. I also have a 3D model of the enclosure that requires at least one mounting plate made from plastic / metal / fiberglass / FR-4. It occurred to me that rather than mess with mounting plates and a wiring rat's nest, I should just burn a simple PCB to handle mounting and power distribution. This PCB may also contain some custom circuitry--we'll see. The PCB will minimize the wiring mess and be a mounting plate in one shot. Many PCB shops will burn custom sized, one-off boards for ~$150. It's probably a small price to pay for much better reliability and maintainability (not to mention the time saved on creating a mounting plate(s) and hand wiring all of the modules). Enclosure: Now that I have selected a battery (2S LiFePo, 8000mAh) and all other components, I created a 3D CAD model of how the boards will lay into an enclosure. It appears that a 4x6 inch case will fit everything we need to hold the system (see photo of selected case). This enclosure will mount onto a mounting plate (probably custom fiberglass or carbon fiber) that will bolt on to click bond studs bonded to the spirit. The servo and ultra sonic sensors (both waterproof) will live outside of the case and be mounted to features on the mounting plate. This section of the design is the most open at the moment and will certainly require more CAD work. That's all for now. Comments are welcome!
DerekF posted a blog entry in Digital Flight Control System for Foiling DinghiesOk team, here goes my first blog post. My goal here is to build a Digital Flight Control System (DFCS) for my UFO using a sonar range sensor as opposed to the wand. The design needs to completely mimic the performance of the wand system currently in the boat. The system needs to be fully removable to allow for One Design Racing if desired. A few design guidelines... Improvements to current control system: 1) Sensing wave terrain out ahead of the boat 2) Not engaging the mainfoil flap until the boatspeed hits 7 knots to reduce drag while floating 3) Toggle settings for upwind vs. downwind (maybe a button press?) 4) Data acquisition 5) Auto rear foil rake adjustment (this is a maybe feature, this would be lots of extra hardware for limited improvement) Questions to answer: 1) Do I need a GPS to get good boat speed or is the accel, gyro, magnetometer IMS good enough? 2) How and where will I couple the servo to the flap control push rod 3) How big a challenge will marinization be? Is enough to buy waterproof parts and a waterproof box? 4) Is it useful to have more than two sonar sensors to create an accurate map of oncoming wave motion? Does wave motion traveling orthogonal to the direction of the boat matter? Or are waves going so slow compared to the speed of the boat that it doesn't matter? Design Philosophy: I will endeavour to use parts that have excellent tutorials available online. I will be concerned about the cost of my time even when it costs a bit more money to buy parts that are easier to integrate. Basic Block Diagram Below: https://drive.google.com/open?id=1fPYXJLlrcZufAwTNtmjy9HG_BbAYtpas