Skip to content

Commit eeb26ca

Browse files
committed
add fritzing diagrams
1 parent 810b84a commit eeb26ca

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
# ServoFlappingControl
2-
This Arduino sketch is the servo controller for an RC ornithopter (Flapping MAV) powered and controlled by two servos. Each servo is connected to a wing and flapped independently.
1+
# ServoFlappingControl :bird:
2+
This Arduino sketch is the servo controller for an RC ornithopter (Flapping MAV) powered and controlled by two servos. Each servo is connected to a wing and flapped independently.
33

44
## How it works
5-
The program is designed to receive 4 PWM inputs from an RC receiver operating in [MODE 2](https://www.rc-airplane-world.com/rc-transmitter-modes.html) and outputs 4 PWM signals for off-the-shelft hobby servos. Two servos control the wings and two servos control a V-tail. The aileron (1) and elevator (2) channels are used to modify the motion of the wings and to control the tail. The dihedral angle of the wings is altered in unison with elevator, while the aileron rotates them in opposite directions. Simultaneously, the frequency of the wing-oscillation can be modulated, such that the wings move faster during the downstroke or during the uptroke. Depending on whether this is done symmetrically or assymetrically, one can obtain pitch or roll control.
5+
The program is designed to receive 4 PWM inputs from an RC receiver operating in [MODE 2](https://www.rc-airplane-world.com/rc-transmitter-modes.html) and outputs 4 PWM signals for off-the-shelft hobby servos. Two servos control the wings and two servos control a V-tail.
6+
7+
The aileron (1) and elevator (2) channels are used to modify the motion of the wings and to control the tail. The dihedral angle of the wings is altered in unison with elevator, while the aileron rotates them in opposite directions. Simultaneously, the frequency of the wing-oscillation can be modulated, such that the wings move faster during the downstroke or during the uptroke. Depending on whether this is done symmetrically or assymetrically, one can obtain pitch or roll control.
68

79
<p align="center">
810
<img src = "/images/plots/triangle-fmod.png" width = "70%">
@@ -14,21 +16,21 @@ The throttle channel (3) control the amplitude of a fixed-frequency oscillation.
1416
<img src = "/images/plots/triangle-truncation.png" width = "70%">
1517
</p>
1618

17-
Lastly, rudder channel (4) is used to assymetrically vary the amplitude of the wings. While the program was written for an Arduino Nano but it should be compatible with other boards. See the attached schematic for an example of the required circuit:
19+
The rudder channel (4) is used to assymetrically vary the amplitude of the wings.
1820

1921
## Schematics
20-
__Nano__:
22+
__Nano__: While the program was written for an Arduino Nano, it should be compatible with similar boards. If you don't want to use tail servos, simply remove them from the circuit and dissable their code using the _parameters.h_ file.
2123

2224
<p align="center">
2325
<img src = "images/diagrams/nano/schematic-nano.png" width = "80%">
2426
</p>
2527

26-
__ATTiny__:
28+
__ATTiny__: As this microcontroller has less pins it does not support tail servos or a rudder channel. Rather, the assymetric amplitude can be mixed into the assymetric dihedral.
2729

2830
<p align="center">
2931
<img src = "images/diagrams/attiny/schematic-attiny.png" width = "80%">
3032
</p>
3133

3234

3335
## Example
34-
See this video to watch the controller in operation: [servo controller](https://youtu.be/T6NfZD_iuEs)
36+
See: [Explanation and operation of servo controller](https://youtu.be/T6NfZD_iuEs)

0 commit comments

Comments
 (0)