Skip to content

Commit e80c05c

Browse files
committed
updated orni post
1 parent e7833dc commit e80c05c

File tree

232 files changed

+17345
-4861
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

232 files changed

+17345
-4861
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
I"�!<h1 id="concept">Concept</h1>
2+
<p>This project concerns itself with the development of an RC ornithopter (Flapping MAV) powered and controlled by two servos. Each servo is connected to a wing and flapped independently. This allows the motion of the wings to be controlled through software rather than through a specially designed mechanism. There are many advantages to this system.</p>
3+
4+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/servo_body_res.jpg" alt="image" /></p>
5+
6+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/bottom_view_res.JPG" alt="image" /></p>
7+
8+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/side_view_res.JPG" alt="image" /></p>
9+
10+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/flap_motion.gif" alt="image" /></p>
11+
12+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/roll_motion.gif" alt="image" /></p>
13+
14+
<h1 id="arduino-code">Arduino Code</h1>
15+
<p>The program is designed to receive 3 PWM inputs from an RC receiver operating in <a href="https://www.rc-airplane-world.com/rc-transmitter-modes.html">MODE 2</a> and outputs 2 PWM signals for off-the-shelft hobby servos. The aileron (1) and elevator (2) channels are used to bias the dihedral angle of each wing, with the aileron rotating the wings in unison, while the elevator changes the dihedral angle. The throttle channel (3) control the amplitude of a fixed-frequency oscillation.</p>
16+
17+
<p>There are 3 wave-forms the user can select: sine wave, triangle wave, and saw wave. The controller also is equipped with a low-voltage cutoff routine. This will dissable the throttle channel to prevent over-discharging a battery. The routine uses an analog-pin to read the input voltage via a voltage-divider.</p>
18+
19+
<p>The program was written for an Arduino Nano but it should be compatible with other boards.
20+
It requires the <a href="https://www.arduino.cc/reference/en/libraries/pinchangeinterrupt/">PinChageInterrupt</a> library.
21+
For more information on the controller, please see this <a href="https://www.rcgroups.com/forums/showpost.php?p=41325203&amp;postcount=69">RCgroups post</a>.</p>
22+
23+
<p>Github Repo: <a href="https://github.com/RCmags/ServoFlappingControl">ServoFlappingControl</a></p>
24+
25+
<p>See the attached schematic for an example of the required circuit:</p>
26+
27+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/ReceiverServoFlap_VoltCutoff.png" width="80%" /></p>
28+
29+
<h1 id="videos">Videos</h1>
30+
<p>Below you can see videos showing different iterations of the aircraft:</p>
31+
32+
<p>This video demonstrates how the controller works:<br />
33+
<a href="https://youtu.be/T6NfZD_iuEs"><img src="https://img.youtube.com/vi/T6NfZD_iuEs/hqdefault.jpg" alt="video" /></a></p>
34+
<p align="center">Video 1. Demonstration of servo controller</p>
35+
36+
<p><a href="https://youtu.be/mhs4mhZv6aE"><img src="https://img.youtube.com/vi/mhs4mhZv6aE/hqdefault.jpg" alt="video" /></a></p>
37+
<p align="center">Video 2. Underpowered servos</p>
38+
39+
<p><a href="https://youtu.be/tji2ks2tRWM"><img src="https://img.youtube.com/vi/tji2ks2tRWM/hqdefault.jpg" alt="video" /></a></p>
40+
<p align="center">Video 3. Inefficient wings</p>
41+
42+
<p><a href="https://youtu.be/1Y5dV8BgdM8"><img src="https://img.youtube.com/vi/1Y5dV8BgdM8/hqdefault.jpg" alt="video" /></a></p>
43+
<p align="center">Video 4. Assymetric wing elasticity</p>
44+
45+
<p><a href="https://youtu.be/EZ9vgVurDFM"><img src="https://img.youtube.com/vi/EZ9vgVurDFM/hqdefault.jpg" alt="video" /></a></p>
46+
<p align="center">Video 5. Segmented wing panels</p>
47+
48+
<h1 id="construction-blog">Construction blog</h1>
49+
<p>For much moere detailed information on the steps taken to develop this aircraft, see this thread on RCgroups: <a href="https://www.rcgroups.com/forums/showthread.php?3221699-Attempt(s)-at-a-servo-flap-ornithopter">Attempts at a servo flap ornithopter</a>. The most important posts are listed for easy access:</p>
50+
51+
<ol>
52+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41093927&amp;postcount=10">Very simple math model</a></li>
53+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41104533&amp;postcount=14">Energy and oscillating mass</a></li>
54+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41117281&amp;postcount=20">Elastic actuators - motors and springs</a></li>
55+
<li>First iteration - the build begins!:
56+
<ul>
57+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41126441&amp;postcount=24">Part 1</a></li>
58+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41126441&amp;postcount=25">Part 2</a></li>
59+
</ul>
60+
</li>
61+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41151391&amp;postcount=33">Control via dihedral offset: Pitch-flap coupling</a></li>
62+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41164641&amp;postcount=36">Oscillating wing as 2nd order damped system</a></li>
63+
<li>Second iteration:
64+
<ul>
65+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41166873&amp;postcount=37">New frame and servo horns</a></li>
66+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41183483&amp;postcount=40">Wing build</a></li>
67+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41195325&amp;postcount=43">Covering the wing</a></li>
68+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41229197&amp;postcount=47">Completed wings and mounted electronics</a></li>
69+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41251767&amp;postcount=50">Glide tests</a></li>
70+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41257839&amp;postcount=52">Longer tail boom and additional spring</a></li>
71+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41264455&amp;postcount=55">Wiring electronics</a></li>
72+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41273735&amp;postcount=57">Arduino Code</a></li>
73+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41307103&amp;postcount=61">Powered test flights</a></li>
74+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41325203&amp;postcount=69">Adding low voltage cutoff</a></li>
75+
</ul>
76+
</li>
77+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41250929&amp;postcount=49">Maximum motor efficiency: Idealized case</a></li>
78+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41350463&amp;postcount=70">A simple model to determine servo speed and torque</a></li>
79+
<li>Oscillating servo:
80+
<ul>
81+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41611419&amp;postcount=106">Initial experiment with springs</a></li>
82+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41793219&amp;postcount=114">Current experiment #2</a></li>
83+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42099773&amp;postcount=118">Direct and indirect drive</a></li>
84+
</ul>
85+
</li>
86+
<li>Forth iteration:
87+
<ul>
88+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42335531&amp;postcount=125">Constructing the fuselage</a></li>
89+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42352337&amp;postcount=130">Adding electronics and Tail</a></li>
90+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42368071&amp;postcount=136">Membrane wings inspired on Hang glider Sail</a></li>
91+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42374421&amp;postcount=141">Composite Foam-Fabric wings</a></li>
92+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42379981&amp;postcount=144">Adding tail servos</a></li>
93+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42380089&amp;postcount=145">Unsuccesful flight…</a></li>
94+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=43071065&amp;postcount=159">Experiments with wing articulation</a></li>
95+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=47159375&amp;postcount=188">Initial test with segmented wings</a></li>
96+
</ul>
97+
</li>
98+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=43079349&amp;postcount=164">Measured oscillations - Updated Servo controller code - servoMotor Library</a></li>
99+
<li>Analysis of the effects of wing elasticity:
100+
<ul>
101+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=43356729&amp;postcount=172">Part 1</a></li>
102+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=47154289&amp;postcount=185">Part 2</a></li>
103+
</ul>
104+
</li>
105+
</ol>
106+
107+
:ET
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
I"($<h1 id="introduction">Introduction</h1>
2+
<p>Ornithopters are aircraft that use oscillating wings to stay aloft. Depending on the characteristics of the aircraft, it is possible for an ornithopter to maintain flight a constant velocity like a bird. It is also possible for an ornithopter to hover in still air like an insect. Both of these scenarios are analogous to an airplane driven by a propeller and a helicopter respectively.</p>
3+
4+
<p>There are a few advantages to the method of flight. To start with, ornithopters are capable of</p>
5+
6+
<h1 id="design-concept">Design Concept</h1>
7+
<p>This project concerns itself with the development of an RC ornithopter (Flapping MAV) powered and controlled by two servos. Each servo is connected to a wing and flapped independently. This allows the motion of the wings to be controlled through software rather than through a specially designed mechanism. There are many advantages to this approach, mainly that it is very easy to generate adjust the amplitude of the flapp</p>
8+
9+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/servo_body_res.jpg" alt="image" /></p>
10+
11+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/bottom_view_res.JPG" alt="image" /></p>
12+
13+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/side_view_res.JPG" alt="image" /></p>
14+
15+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/flap_motion.gif" alt="image" /></p>
16+
17+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/example_pics/roll_motion.gif" alt="image" /></p>
18+
19+
<h1 id="arduino-code">Arduino Code</h1>
20+
<p>The program is designed to receive 3 PWM inputs from an RC receiver operating in <a href="https://www.rc-airplane-world.com/rc-transmitter-modes.html">MODE 2</a> and outputs 2 PWM signals for off-the-shelft hobby servos. The aileron (1) and elevator (2) channels are used to bias the dihedral angle of each wing, with the aileron rotating the wings in unison, while the elevator changes the dihedral angle. The throttle channel (3) control the amplitude of a fixed-frequency oscillation.</p>
21+
22+
<p>There are 3 wave-forms the user can select: sine wave, triangle wave, and saw wave. The controller also is equipped with a low-voltage cutoff routine. This will dissable the throttle channel to prevent over-discharging a battery. The routine uses an analog-pin to read the input voltage via a voltage-divider.</p>
23+
24+
<p>The program was written for an Arduino Nano but it should be compatible with other boards.
25+
It requires the <a href="https://www.arduino.cc/reference/en/libraries/pinchangeinterrupt/">PinChageInterrupt</a> library.
26+
For more information on the controller, please see this <a href="https://www.rcgroups.com/forums/showpost.php?p=41325203&amp;postcount=69">RCgroups post</a>.</p>
27+
28+
<p>Github Repo: <a href="https://github.com/RCmags/ServoFlappingControl">ServoFlappingControl</a></p>
29+
30+
<p>See the attached schematic for an example of the required circuit:</p>
31+
32+
<p><img src="https://raw.githubusercontent.com/RCmags/ServoFlappingControl/main/ReceiverServoFlap_VoltCutoff.png" width="80%" /></p>
33+
34+
<h1 id="videos">Videos</h1>
35+
<p>Below you can see videos showing different iterations of the aircraft:</p>
36+
37+
<p>This video demonstrates how the controller works:<br />
38+
<a href="https://youtu.be/T6NfZD_iuEs"><img src="https://img.youtube.com/vi/T6NfZD_iuEs/hqdefault.jpg" alt="video" /></a></p>
39+
<p align="center">Video 1. Demonstration of servo controller</p>
40+
41+
<p><a href="https://youtu.be/mhs4mhZv6aE"><img src="https://img.youtube.com/vi/mhs4mhZv6aE/hqdefault.jpg" alt="video" /></a></p>
42+
<p align="center">Video 2. Underpowered servos</p>
43+
44+
<p><a href="https://youtu.be/tji2ks2tRWM"><img src="https://img.youtube.com/vi/tji2ks2tRWM/hqdefault.jpg" alt="video" /></a></p>
45+
<p align="center">Video 3. Inefficient wings</p>
46+
47+
<p><a href="https://youtu.be/1Y5dV8BgdM8"><img src="https://img.youtube.com/vi/1Y5dV8BgdM8/hqdefault.jpg" alt="video" /></a></p>
48+
<p align="center">Video 4. Assymetric wing elasticity</p>
49+
50+
<p><a href="https://youtu.be/EZ9vgVurDFM"><img src="https://img.youtube.com/vi/EZ9vgVurDFM/hqdefault.jpg" alt="video" /></a></p>
51+
<p align="center">Video 5. Segmented wing panels</p>
52+
53+
<h1 id="construction-blog">Construction blog</h1>
54+
<p>For much moere detailed information on the steps taken to develop this aircraft, see this thread on RCgroups: <a href="https://www.rcgroups.com/forums/showthread.php?3221699-Attempt(s)-at-a-servo-flap-ornithopter">Attempts at a servo flap ornithopter</a>. The most important posts are listed for easy access:</p>
55+
56+
<ol>
57+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41093927&amp;postcount=10">Very simple math model</a></li>
58+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41104533&amp;postcount=14">Energy and oscillating mass</a></li>
59+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41117281&amp;postcount=20">Elastic actuators - motors and springs</a></li>
60+
<li>First iteration - the build begins!:
61+
<ul>
62+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41126441&amp;postcount=24">Part 1</a></li>
63+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41126441&amp;postcount=25">Part 2</a></li>
64+
</ul>
65+
</li>
66+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41151391&amp;postcount=33">Control via dihedral offset: Pitch-flap coupling</a></li>
67+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41164641&amp;postcount=36">Oscillating wing as 2nd order damped system</a></li>
68+
<li>Second iteration:
69+
<ul>
70+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41166873&amp;postcount=37">New frame and servo horns</a></li>
71+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41183483&amp;postcount=40">Wing build</a></li>
72+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41195325&amp;postcount=43">Covering the wing</a></li>
73+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41229197&amp;postcount=47">Completed wings and mounted electronics</a></li>
74+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41251767&amp;postcount=50">Glide tests</a></li>
75+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41257839&amp;postcount=52">Longer tail boom and additional spring</a></li>
76+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41264455&amp;postcount=55">Wiring electronics</a></li>
77+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41273735&amp;postcount=57">Arduino Code</a></li>
78+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41307103&amp;postcount=61">Powered test flights</a></li>
79+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41325203&amp;postcount=69">Adding low voltage cutoff</a></li>
80+
</ul>
81+
</li>
82+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41250929&amp;postcount=49">Maximum motor efficiency: Idealized case</a></li>
83+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41350463&amp;postcount=70">A simple model to determine servo speed and torque</a></li>
84+
<li>Oscillating servo:
85+
<ul>
86+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41611419&amp;postcount=106">Initial experiment with springs</a></li>
87+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=41793219&amp;postcount=114">Current experiment #2</a></li>
88+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42099773&amp;postcount=118">Direct and indirect drive</a></li>
89+
</ul>
90+
</li>
91+
<li>Forth iteration:
92+
<ul>
93+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42335531&amp;postcount=125">Constructing the fuselage</a></li>
94+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42352337&amp;postcount=130">Adding electronics and Tail</a></li>
95+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42368071&amp;postcount=136">Membrane wings inspired on Hang glider Sail</a></li>
96+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42374421&amp;postcount=141">Composite Foam-Fabric wings</a></li>
97+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42379981&amp;postcount=144">Adding tail servos</a></li>
98+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=42380089&amp;postcount=145">Unsuccesful flight…</a></li>
99+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=43071065&amp;postcount=159">Experiments with wing articulation</a></li>
100+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=47159375&amp;postcount=188">Initial test with segmented wings</a></li>
101+
</ul>
102+
</li>
103+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=43079349&amp;postcount=164">Measured oscillations - Updated Servo controller code - servoMotor Library</a></li>
104+
<li>Analysis of the effects of wing elasticity:
105+
<ul>
106+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=43356729&amp;postcount=172">Part 1</a></li>
107+
<li><a href="https://www.rcgroups.com/forums/showpost.php?p=47154289&amp;postcount=185">Part 2</a></li>
108+
</ul>
109+
</li>
110+
</ol>
111+
112+
:ET

0 commit comments

Comments
 (0)