Система автоматического тестирования ВМГ (народный проект)
Бинарный исходник? Это не удобно для гита будет надо что-то другое придумывать.
labVIEW использует визуальный “язык” программирования. никакой читабельный текст от туда не извлечь. эт для таких как я - не программистов. по этой же причине я не могу разделить ваше желание рефакторить код.
Заморочился постройкой коптера, заказал всякого, но пришли пока только моторы, регули и акумуляторы и пропелееры. Потому и решил опробовать все на ардуинке.
Накидал скетч:
#include <Servo.h>
Servo myservo;
int l_out_1 = 3;
int l_out_2 = 4;
int l_out_3 = 5;
int angle = 0;
void setup()
{
myservo.attach(12);
delay(5000);
myservo.write(angle);
delay(2000);
}
void loop() {
for (angle = 95; angle <= 130; angle += 5) {
myservo.write(angle);
led_out(angle);
delay(2000);
}
}
void led_out(int ang) {
int value = (ang - 95) / 5;
digitalWrite(l_out_1, (value & 1) * HIGH + (value & 1 == 0) * LOW);
digitalWrite(l_out_2, (value & 2) * HIGH + (value & 2 == 0) * LOW);
digitalWrite(l_out_3, (value & 4) * HIGH + (value & 4 == 0) * LOW);
}
Мотор завелся, но смущает очень низкий диапазон углов: при 100 мотор стартует, при 110 - максимальные обороты. Это как то калибруется, или это чей-то баг?
Нашел на сайте производителя регулей упоминание о пробемах при использовании совместно с Ардукоптером и Мегапиратом, на которое изначально не обратил внимание, так как была куплена Наза. Там рекомендуется установить некий параметр в 1, но как это сделать на Ардуине?
Мотор завелся, но смущает очень низкий диапазон углов: при 100 мотор стартует, при 110 - максимальные обороты. Это как то калибруется, или это чей-то баг?
Предлагаемое решение не использует стандартную библиотеку servo.h, посмотрите как сделал Никита, он использовал библиотеку pwmservo
Я тоже попробовал с ней, в принципе на регуляторе калиброванном на диапазон pwm 900-2100, большего не смог добиться с помощью сервотестера, библиотека крутит начиная с 33 и до 160. Что более чем достаточно для построения разного рода графиков.
Там рекомендуется установить некий параметр в 1, но как это сделать на Ардуине?
А вы пробовали традиционным способом регуль калибровать, написано же что проблемы могут быть при калибровке ?
Кажется понял, где засада. 12 пин не умеет pwm.
А как калибровать без аппы?
Сработает ли скетч эмулирующий следующую последовательность? Или лучше не лезть?
Подключите один из ваших регуляторов ESC трехпроводным кабелей в канал газа радиоприемника приемника. (Это, как правило 3-й канал.)
Включите аппаратуру и установите ручку газа в максимум (полностью вверх).Подключите аккумуляторную батарею LiPo
Вы услышите музыкальный тон, затем два звуковых сигнала.
После двух звуковых сигналов, опустите ручку газа полностью вниз.
Вы услышите несколько гудков (количество гудков соответствует количеству ячейк батарейки, которую вы используете) и один длинный сигнал, указывающий конечные точки были установлены и ESC откалибровался.
Отключите аккумулятор и повторите эти действия для всех регуляторах ESC.
Если окажется, что регуляторы скоростей не калибруются то возможно , канал газа находиться в инверсии (смотрите настройки аппаратуры) и его необходимо настроить (влючить или выключить инверсию).
Если все же возникают проблемы после попытки калибровки (например, регулятор по прежнему издает непрерывно звуковой сигнал) попробуйте уменьшить ваш триммер газа на 50%.
так ведь стандартная процедура калибровки регулятора: подаем на выключенный регулятор максимальный сервосигнал, включаем регулятор, он подает определённые звуки , уменьшаем сигнал на минимум, регулятор запоминает диапазон. у меня регулятор RCtimer 30А нормально воспринимает диапазон 0-180 , а ZTW Spider 20А 0-160.
тут они yadi.sk/d/_SCP7BogbpLRA
Добрый день, не могли бы вы выложить сырые данные с вашего стенда, вместе с servo уровнем, вы используете внешнее управление и не понятно пока по какому принципу, толи при стабилизациио боротов переключаете толи по времени, смотреть на vi файл не предлагать 😃 Т.к. фильтрация у всех может быть разная хотелось бы понять до какого уровня имеет смысл убирать вибрации с тензо датчика, играться с параметрами rc фильтра для датчика тока и делителя напряжения если вы их используете. Напряжение в вашем бп все равно как видно проседает поэтому думаю что он не идеален, использовал бп от питания диодной ленты 12в - легко получить просад в 1в при 10А.
Пока не могу собрать адекватные данные с тензо датчика - на определенных оборотах появляются вибрации не связанные с балансировкой винта на магнтном подвесе, т.е. эффект бабочки. Использовал следующую стратегию - добавляем 1 к значению servo сигнала, если начать собирать данные сразу то будем иметь плавно увеличивающиеся обороты тягу и остальные характеристики в течении некоторого времени разгона винта, т.е. переходные процессы, чтобы их не мерить, сразу после подачи нового значения на серво канал использовал delay(1000). Далее собираю 500 показателей всех датчиков в цикле, времени уходит много минут 5 на прогон. На сырых данных тензо датчика видны различимые ступени с ровными шумными горизонтальными полками, однако это не помогает при больших оборотах. Использовал демпфера на тензодатчике улучшений нет. Полки не ровные а кривые с кривизной больше уровня шумов, фильтровать такие данные считаю неверным, результаты будут не повторяемые.
Тоже есть проблемы с ecs758 и 10 битным ацп, фильтр 10nf+50кОм помогает но бывает что при увеличинии servo сигнала ток падает. Также у меня вопрос если не потреблять ток датчик выдает 0.6в 125 на ардуине использую 100U версию, понимаю что у все направленных датчиков есть оффсет коло 500 но почему у меня оффсет 125 не пойму. Проверил все датчики которые есть у меня все выдают 0.6в. Фильтр 0.1nf поставил далеко не возле датчика а уже на макетной плате после 10см провода, может это влиять?
evgen42 мало что я понял из написаного… данные завтра размещу. вот видео есть
тут 1 шаг 0.3с для ускорения записи ролика. на практике 1с на шаг
тут видно и вибрации и стабилизацию показаний после стабилизации обротов. для графиков я беру в каждом шаге только последние записи. потом сглаживаю их. высокая повторяемость получается после прогрева всех элементов в цепи. просадка напряжения эт следствие увеличения падения напряжения на проводах и датчике тока в зависимости от тока в цепи. уровень просадки у меня настолько мал, что по сути ни на что не влияет. и все равно учитывается в расчетах.
в расчетах физических величин надо привязываться не к теоретическим описаниям датчиков, а к реальным показаниям. там линейная функция. нужны 2 точки из рабочего диапозона. по ним рассчитывается коэфициент и смещение. у меня в ПО смещение нулей некоторых величин оперативно правится руками, так как они “плывут” изза всяких причин вроде нагрева датчиков .
а вот серьезная проблем моего стенда
rcopen.com/forum/f123/topic218743/4545 частично исправил тут rcopen.com/forum/f123/topic218743/4556
потом буду еще пытаться улучшить. если будут положительные результаты отпишусь и сделаю некиы выводы\рекомендации по организации конструкции условий.
и будут перезамеры всего
потом сглаживаю их
Спасибо за видео. Проясняет многое. Все таки открыл ваш проект labview и увидел как же магическим образом графики становится таким гладким. Б-сплайны да понятно теперь, что скользящие окна ничего мне не давали. Я уж думал что у вас fft используются с вырезанием частотной области, а оказалось метод наименьших квадратов и б-сплайн как и написано в википедии это хороший вариант.
Из бесплатного простого софта сразу не нашел чтобы на своих данных проверить.
Читал про ваши винты правого и левого вращения, хотел попробовать, но пока нет б-сплайнов сравнивать 2 графика не представляется возможным.
не очень радужные выводы rcopen.com/forum/f123/topic218743/4688
вот такая штука на ХК появилась, не нашел ее обсуждения что то
как думаете, стоит брать? или самому с нуля собирать?
вот такая штука на ХК появилась, не нашел ее обсуждения что то
как думаете, стоит брать? или самому с нуля собирать?
прикольная штука. берите. с ходу результат получите. не будет удовлетворят, можно будет переделать.
там бяда с наличием… как появиться приобрету, можно потом будет сравнить результаты, узнаем погрешность
там бяда с наличием… как появиться приобрету, можно потом будет сравнить результаты, узнаем погрешность
да, но это всего навсего весы…какие еще результаты можно сравнивать? кстати. с нынешним курсом >2500р за возможность измерять тягу эт как то …
Друзья, кто нибудь сравнивал эффективность разбиения одного мотора на два? Дело в том что квадрокоптер по сути своей система без запаса и при выходе из строя одного мотора (винта) падает. Значит более эффективно использовать трикоптер, все равно упадет, а железа меньше. Но трикоптер требует серво, поэтому заманчивей использовать Y6 (три луча по два мотора). С точки зрения надежности это уже гекса, при выходе из строя одного мотора есть шанс посадить аппарат. Потому вопрос: сравнение эффективнсти 3 и 6 моторов одной суммарной мощности, и для разнообразия 4 и 6 моторов одной суммароной мощности…
кто нибудь сравнивал эффективность разбиения одного мотора на два?
По воводу измерения оборотов. Магниты прекрасно светят полем через чашки. Снять его можно либо обычной катушкой
www.youtube.com/watch?v=4Z6daMm8umg
(я использовал 220 мкГн + 1,5к нагрузки), затем вычистив сигнал RC цепью и компаратором (на моём видео сигналы без фильтрации), либо дискретным датчиком холла.
Остаётся ввести в систему число магнитов конкретного мотора.
Если будете пользовать катушку, ищите минимального размера, не шире магнита, иначе будет эхо в сигнале.
Подскажите, из чего и как считается гр/Вт.
Ну Вт понятно, IU 😃 А вот что за гр?..
Если будете пользовать катушку, ищите минимального размера, не шире магнита, иначе будет эхо в сигнале.
… идеальный вариант: магнитная головка от магнитофона.
Подскажите, из чего и как считается гр/Вт.
Ну Вт понятно, IU А вот что за гр?..
тяга в граммах. замеряем весами которые нынче делаются на тензомостах.
То есть это график грамм/ватт к этим же граммам?
идеальный вариант: магнитная головка от магнитофона.
не уверен. Слишком большая чувствительность для такого применения.
То есть это график грамм/ватт к этим же граммам?
ага.