World's Smallest! Servo Driven Ornithopter

Ғылым және технология

I set out to make the smallest possible servo driven ornithopter. I used two 1.9 gram micro servos to move the wings. Completed in 2020, this ornithopter has a 50 cm wingspan and weighs 12 grams.

Пікірлер: 32

  • @kwouters
    @kwouters Жыл бұрын

    This is fantastic. I can’t wait to see the next episode! 😀 (I built one of your Crossbow kits, and it’s still one of my most favorite models to fly.)

  • @OrnithopterZone1

    @OrnithopterZone1

    Жыл бұрын

    Thanks!

  • @clerkmaxwell7912
    @clerkmaxwell7912 Жыл бұрын

    Nicely Done 👍🏻

  • @OrnithopterZone1

    @OrnithopterZone1

    Жыл бұрын

    Thanks 😁

  • @Distracteddesigner
    @Distracteddesigner Жыл бұрын

    I would appreciate a video on the mixing required for this. Nice work!

  • @OrnithopterZone1

    @OrnithopterZone1

    Жыл бұрын

    That's a good suggestion. I will be sure to talk about it in an upcoming video. If you look at the clip near the beginning of the video that shows the wings moving on a larger ornithopter, you can see how the steering works. To turn, raise one wing while lowering the other. For elevator control, raise or lower both wings together. The flapping is simply superimposed onto those steering movements.

  • @nokolo4216
    @nokolo4216 Жыл бұрын

    Regarding flapping rates, can be adjusted smoothly through a channel, I usually use high rates to take off , and then switch to low rates after flying. dual mode servo driven ornithopter i am very looking forward to

  • @OrnithopterZone1

    @OrnithopterZone1

    Жыл бұрын

    Using the PIC12F683 microcontroller, which doesn't have floating point math, I used lookup tables to specify the cycle of the wings. There was a separate lookup table for each flapping rate! When using a more powerful microcontroller, I normally use a sine function instead, and that lends itself much better to controlling the flapping rate the way you describe. Are you talking about servo driven or conventional ornithopters?

  • @erikisberg3886
    @erikisberg3886 Жыл бұрын

    One thought is that the optimum flapping rate may be strongly dependent on how vortices form around the wings. As I understand recent research into insect and slow flight this is an important mechanism. It would be really interesting to see the model fly in some visible smoke streams...

  • @hessammaleki
    @hessammaleki Жыл бұрын

    Hi Nathan, hope you are doing well, Your projects are always great; I hope to see more here. Regarding the flapping frequency, the servo can't reach its max amplitude at high flapping rates due to the servo speed limit, which will also decrease the flapping amplitude. Also, at a higher flapping rate, the flapping frequency will be close to the natural frequency of the carbon rod, which will be caused it to be bent.

  • @OrnithopterZone1

    @OrnithopterZone1

    9 ай бұрын

    All very true Hessam. I did test this ornithopter at lower flapping frequencies than those shown in the video. Although it permitted the servos to travel through a greater arc, the flight performance was not improved.

  • @MidEats
    @MidEats Жыл бұрын

    Hello sir , its me Ayan. Its lovely to see you. You birds master

  • @OrnithopterZone1

    @OrnithopterZone1

    Жыл бұрын

    Many thanks

  • @NKVD_Enjoyer
    @NKVD_EnjoyerАй бұрын

    thats very cool!

  • @zechenxiong6067
    @zechenxiong6067 Жыл бұрын

    Amazing work! Could you please tell me what material you use for the wing surface?

  • @OrnithopterZone1

    @OrnithopterZone1

    9 ай бұрын

    It's Mylar.

  • @johnfreeman7005
    @johnfreeman7005 Жыл бұрын

    love your awesome work ,but please tell me how do you get a servo to continue moving back and ford, that dual action one looks like its made for ornithopters. but only building planes and glders up till now I'm lost as to how you get a servo to continue moving . i have started to build a gear box ornithopter but like the look and sound of servo drive Many thanks john

  • @OrnithopterZone1

    @OrnithopterZone1

    9 ай бұрын

    Hi John. A small microcontroller is connected to the RC receiver. It reads the signal from the receiver, calculates the flapping motion, and then tells the servos what to do.

  • @revert2theStr8path
    @revert2theStr8path7 ай бұрын

    I can you help me with how to make it? Including the controller and how to program it?

  • @noidea4479
    @noidea44792 ай бұрын

    The lower frequency strokes seem to work better because they can get more travel on the wing

  • @OrnithopterZone1

    @OrnithopterZone1

    Ай бұрын

    Yes. Although I did try even lower frequency and it was not as good. There is an optimal value.

  • @revert2theStr8path
    @revert2theStr8path7 ай бұрын

    Hi Can you make a video on how to build it? Including how to program it? And can I put sensors on it through which I can extract the raw data like various angular rates and accelerations?

  • @OrnithopterZone1

    @OrnithopterZone1

    Ай бұрын

    Someday I hope to make a video like that.

  • @daviddavids2884
    @daviddavids2884Ай бұрын

    some late thoughts. i find it unsatisfying when a 'thopter flies like it's in a continuous stall. that is why i think a 'thopter needs to have a variable cg; slaved to throttle. maybe try a more forward cg with a higher flap rate. i'm sure you know that the amount, and bias, of the slack in a membrane wing are major factors in how a wing will perform. maybe try more wing membrane tension with a higher flap rate. d

  • @azadiIranaziz
    @azadiIranaziz Жыл бұрын

    درودبرشما بسیارعالی .امکان سفارش دادن هست

  • @user-fd7ze4dt3i
    @user-fd7ze4dt3i5 ай бұрын

    How can i get the code

  • @oribenzihry8571
    @oribenzihry85716 ай бұрын

    I want to build something similar, but I think that the servos will break after only couple of minutes of flight right? Is there a way to make the servo last?

  • @OrnithopterZone1

    @OrnithopterZone1

    Ай бұрын

    I never had any problem with the servos even after many flights. It is amazing, because they are very cheap servos. I rarely had servos quit working in other ornithopters. It is always cheap servos and I never had any problems with the Hitec brushless servos that I use in my larger ornithopters.

  • @rustynutz4493
    @rustynutz44933 ай бұрын

    What a sweet Orni ! sad to see all the chem-trails in the sky ! 😢

  • @geolis3809
    @geolis38092 ай бұрын

    Excellent work. Is this possible to share your arduino code?

  • @OrnithopterZone1

    @OrnithopterZone1

    Ай бұрын

    It's actually PicBasic. The code works within the limitations of the PIC 12F683, simple but effective. I do use Arduino for most projects, and then I use a sine function instead of the lookup tables. '**************************************************************** '* Name : UNTITLED.BAS * '* Author : Nathan Chronister * '* Notice : Copyright (c) 2013 Nathan Chronister * '* : All Rights Reserved * '* Date : 12/16/2013 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** ' The CONFIG section allows GP3 to be used as an input. #CONFIG ifdef PM_USED device pic12F683, intrc_osc_noclkout, wdt_on, mclr_off, protect_off else __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF endif #ENDCONFIG Define ADC_BITS 8 ' Set number of bits in result Define ADC_CLOCK 3 ' Set clock source (3=rc) Define ADC_SAMPLEUS 50 ' Set sampling time in uS flapcycle var byte flapcyclemax var byte pwout var byte angleL var byte angleR var byte ch5 var byte ch4 var byte ch3 var byte ch2 var byte ch1 var byte volt var byte ' The servos interfere with programming, and also ' you will need to unsolder the power connection to the receiver. servoR Con 4 ' Alias GPIO.4 servoL Con 2 ' Alias GPIO.2 rx1 con 5 CMCON0 = 7 ' Analog comparators off GPIO = %00000000 ' All outputs = 0 on boot TRISIO = %00100000 ' Set input pins ANSEL = %00000000 ' %00000100 Set analog input pins volt = 150 flapcycle = 0 flapcyclemax = 10 start: ' pause 4000 do gpio.4 = 0 gpio.2 = 0 gosub radio ' voltage check -- allows only low power flapping ' adcin 2, volt ' if volt 30 then ' ch3 = 30 ' endif ' look up wing positions if flapcyclemax = 10 then ' 4.5 cycles per second lookup flapcycle,[48,24,0,24,48,72,96,120,96,72],angleR lookup flapcycle,[48,24,0,24,48,72,96,120,96,72],angleL ' was [50,30,10,30,50,70,90,110,90,70] elseif flapcyclemax = 8 then ' 5.7 cycles per second lookup flapcycle,[60,30,0,30,60,90,120,90],angleR lookup flapcycle,[60,30,0,30,60,90,120,90],angleL ' was [60,35,10,35,60,85,110,85] else ' 7.6 cycles per second lookup flapcycle,[40,0,40,80,120,80],angleR lookup flapcycle,[40,0,40,80,120,80],angleL endif ' throttle scaling angleR = 55 + ((angleR * ch3) / 100) - ((50 * ch3) / 100) angleL = 55 + ((angleL * ch3) / 100) - ((50 * ch3) / 100) ' pitch down compensation (dihedral varies with throttle) ' this will not work with reverse rotation servos ' angleR = angleR - (ch3/16) ' angleL = angleL - (ch3/16) ' yaw steering adjustment (will not work with high tail angle) ' this may not work with reverse rotation servos angleR = angleR + ch1/2 - 75 angleL = angleL - ch1/2 + 75 ' reset flapcycle counter flapcycle = flapcycle + 1 if flapcycle = flapcyclemax then flapcycle = 0 gosub servo loop end servo: pwout = ch2/3 + angleR - 180 pulsout servoR,pwout pwout = 255 - ch2/3 - angleL pulsout servoL,pwout return radio: pulsin rx1,1,ch1 'aileron pulsin rx1,1,ch2 'elevator pulsin rx1,1,ch3 'throttle pulsin rx1,1,ch4 'rudder pulsin rx1,1,ch5 'aux 1 'pulsin rx1,1,ch6 'aux 2 if ch3 ch3 = 80 endif ch3 = ch3 - 80 ' causes throttle to range about 0 to 100 if ch5 > 150 then flapcyclemax = 10 elseif ch5 > 100 then flapcyclemax = 8 else flapcyclemax = 6 endif return

  • @geolis3809

    @geolis3809

    Ай бұрын

    @@OrnithopterZone1 Thank you. Much appreciated

Келесі