Контроллер махания крыльями для Angry Birds

a_semchenko

Владимир, речь идет именно об украинском контроллере. Мне его в подарок прислал Костя Afa, вот как он работает. Термоусадку я не снимал с него, поэтому не знаю, на чем он реализован. Я бы не хотел погружаться снова в программы/железо, в свое время наигрался… По применению готов посотрудничать. Требования сформулировать.

blade
a_semchenko:

Требования сформулировать.

Извините, что вмешиваюсь, но в название темы- закралась неточность: птичка машет не крыльями, а винглетами.
Это не дает никакой подъемной силы, да и частота/амплитуда махания особой роли не играет, зато изменение положения винглет очень прилично меняет характеристики крыла: от V , когда они подняты вверх на 30- 45*, до непоймичего, когда они опущены?
Но смех полет данного аппарата вызывает- это совершенно точно.
Я к тому, что может и не стоит маяться с частотой/амплитудой махания- и так все забавно?

Air_Hamster

На днях изготовил платки, вот так они теперь выглядят:

Контакты снизу можно будет выпаять после прошивки.
Калибровка крайних точек газа будет проводиться также, как и на регуляторе, т.е. включением питания при верхнем положении стика, а кнопки будут нести следуюфий функционал:
при крайнем нижнем положении стика ими можно будет регулировать амплитуду маханий. При полном газе ими же будет регулироваться максимальная частота.
Еще не прошивал, программатор в пути.

a_semchenko
blade:

Извините, что вмешиваюсь, но в название темы- закралась неточность: птичка машет не крыльями, а винглетами.
Это не дает никакой подъемной силы, да и частота/амплитуда махания особой роли не играет, зато изменение положения винглет очень прилично меняет характеристики крыла: от V , когда они подняты вверх на 30- 45*, до непоймичего, когда они опущены?
Но смех полет данного аппарата вызывает- это совершенно точно.
Я к тому, что может и не стоит маяться с частотой/амплитудой махания- и так все забавно?

да нифига оно не меняет, как ни назови -))

blade:

Я к тому, что может и не стоит маяться с частотой/амплитудой махания- и так все забавно?

тогда 3 герца, и не больше

Air_Hamster:

При полном газе ими же будет регулироваться максимальная частота.

а если больше будет по факту - тогда что? Остановится?

Air_Hamster
a_semchenko:

а если больше будет по факту - тогда что? Остановится?

немного не понял фразы. имеете ввиду, если стик газа будет выше, чем откалиброванное значение? если да, то махать будет и дальше, только с еще большей частотой. можно, конечно, сделать защиту от таких событий, памяти еще половина в запасе. калибровка газа делается лишь для расчета коэффициента пропорциональности зависимости газ - частота

a_semchenko

на украинском контроллере на большом газе махи останавливаются, крылья в среднем положении. Думаю, не надо добавлять частоту сверх установленной, см. мой пост выше - амплитуда махания уменьшится, будет не красиво.

Air_Hamster
a_semchenko:

на украинском контроллере на большом газе махи останавливаются, крылья в среднем положении. Думаю, не надо добавлять частоту сверх установленной, см. мой пост выше - амплитуда махания уменьшится, будет не красиво.

если честно, после сравнения видео от хоббимании с вашим у меня создалось впечатление, что ваша серва просто не успевает отрабатывать частоту в верхнем положении стика, т.к. на видео у продавца серва машет и на среднем, и на полном газу. в любом случае, меня попросили сделать с линейным изменением частоты, поэтому пока смастерю так. потом буду рассматривать варианты.

a_semchenko
Air_Hamster:

ваша серва просто не успевает отрабатывать частоту в верхнем положении стика

вот-вот, это как раз и портит картину машущего полета -)) Амплитуда уменьшается.

Kwiki

Залейте в тиньку 45 или 85, через ардуино подключите плюс(8) минус(4) с приемника(2) на серву(3) , где pwm >800 можно поставить значение своего газа вниз чтоб не махала когда газ внизу, еще можно коэффициенты подредактировать, если тинька дип то плата не нужна паяите проводки на поджатые ножки после отладки проверки остальные обломить и в термоусадку


#include <SoftwareServo.h>
#define RCIN 3
SoftwareServo servo;
void setup()
{
  pinMode(RCIN, INPUT);
  servo.attach(4);
  servo.setMaximumPulse(2200);
}
void loop()
{
  int pos;
  int pwm;
  pwm = pulseIn(RCIN, HIGH, 25000);
  if (pwm > 800) {
    for (pos = 0; pos < 180; pos += 1) {
      servo.write(pos);
      delay(abs(((2500 - pwm) / 200) - 1)); // сдесь меняется скорость например пвм 1000 2000-1000/200 получаем задержку 5мс умножаем на 180 и имеем около секунды, 2000-2000/
      SoftwareServo::refresh();
    }
    for (pos = 180; pos >= 1; pos -= 1) {
      servo.write(pos); //тоже самое
      delay(abs(((2500 - pwm) / 200) - 1));
      SoftwareServo::refresh();
    }
  }

}
7 days later
V_Alex

Наконец сделали платы под контроллер птицелёта. Собрал, получилась такая цацка. Вес без термоусадки 1,4 грамма.

afx

еще такой сервотаймер есть (тыц) программируется на разные движения в зависимости от положения стика

11 days later
Air_Hamster

Завершил устройство. Да, долговато, но на это были свои причины. Воплотил все, что хотел: регулировку амплитуды и частоты, калибровку газа, сброс настроек.
Но плату можно уменьшить в 1.5-2 раза.
Сделал видео, как это все работает.
Файл платы для Sprint Layout 6.
Прошивка для ATtiny13A под частоту 9.6 Mhz.
Исходники добавлю позже, как только приведу их в порядок.
По вопросам изготовления пишите в личку

capicator

Молодца! Но есть вопросы.

  1. Зачем четыре одинаковых платы в Sprint Layout?
  2. Через что и как идет обмен на устройство?
  3. Что за программа на мобильнике?
Air_Hamster
capicator:

Молодца! Но есть вопросы.

  1. Зачем четыре одинаковых платы в Sprint Layout?
  2. Через что и как идет обмен на устройство?
  3. Что за программа на мобильнике?

Делал четыре экземпляра, просто забыл стереть лишние. Контроллер берет сигнал с канала газа приёмника, на предыдущей странице есть фото, где справа можно увидеть двухрядный разъём, куда вставляется провод от приёмника и от регулятора.
Не обращайте внимание, на то, что используется в качестве аппаратуры. Просто вдали от дома приходится выкручиваться и применять свою старую разработку www.*************/ru/blogs/view_entry/10287/ (форум не любит паркфлаер, меняет на звёздочки)

2 months later
V_Alex

Наконец получилось сделать настоящий “энгри-бёрд”-контроллер 😃
Девайс исполнен на attiny10. Размер 12 х 7 мм, вес 0,3. Впаивается прямо в разрыв провода сервы, которая занимается маханием.

capicator

А как настраивать такую кроху. Печатная плата есть?

V_Alex

Не совсем понятен вопрос. Платка есть, она изображена на фотографии. Если вопрос касается прошивки, то она выполняется в адаптере под корпус SOT-23-6. Сама прошивка перенесена с предыдущей версии на тини13, она была неоднократно проверена на добровольцах 😃
Настройки фиксированные, если хочется фэн-шуя, так он в избытке присутствует в любом современном передатчике. Цепляй серву на отдельный канал, микшируй с газом и настраивай в свое удовольствие. Либо не микшируй, а просто ставь на крутилку, как было сделано на исходном прототипе, и выставляй махи, как хочешь.
Сама концепция данного девайса заточена по легкие пенолетики, где каждый грамм на счету.

capicator

Имелось в виду файл с печатной платой для повторения, а также файл для прошивки. За настройки спрашивал о кнопках со старой версии, а по сему пожалуйста схему сюда бы тоже надо.А так все как всегда зачетно, вот бы еще подробностей посмотреть почитать от добровольцев.

V_Alex

Увы, добровольцы попадаются все больше ленивые и необязательные 😃 Прошивки выкладываться не будут. Платки проектировались и делались, как “заполнитель” пустых мест в составе большой сборной платы, осталось с десяток не собранных, которые, в принципе, можно доукомплектовать прошитыми контроллерами (10 тинька - камешек весьма специфический, на коленке не шьется). Рассылки не будет, предложение действительно только для москвичей, желающих попаять с микроскопом и не имеющих комплексов в отношении компонентов 603 типоразмера. За подробностями - в личку.