Телеметрия (часть 1)

Brandvik

Я так понимают он управляющий сигнал подтягивает до 5ти В.

Dikoy

Подтянуть можно и без степапа, тупо меняя направление вывода МК с выхода на вход, и имея резистор подтяжку к +5 вольт.
Если и ставить степап, то дял питаняи всей аппы. И не степап, а сепик…
По этому я и удивился - отдельный степап на сигнал серв…

pvp
smalltim:

…Какой же корявый код USB библиотек у Атмела…

Позволю себе ещё разок указать на www.fourwalledcubicle.com/LUFA.php.
На мой взгляд, вполне проработанная библиотека usb для atmel’ов, сопровождающаяся кучей примеров устройств различных классов. По крайней мере, в части реализации HID и CDC устройств, у меня всё работало.

pvp
serj:

…Также я обычно не использую первые 30-50 байт eeprom.

Я тоже так делаю, а точнее, начинаю использовать eeprom со старших адресов.

serj
Dikoy:

А кто нибудь проверял работу серв при управляющем напряжении 3,3 вольта?
Я вчера проверил, вроде работает (питалась она от 5). И принципиально выходит, что должна, если там КМОП вход. Но вдруг мне просто повезло?..

Управляющий сигнал в 3.3-3.7 вольта является “де факто” стандартом большинства приемников- по питанию приемника стоит стабилизатор на 3.3- 3.7 вольта.

Питание самой сервы, понятное дело должно быть нормальное - 4.2-6 вольт.
Также следует обратить внимание на помехи по “земляному” проводу- если есть вч- составляющие тока, то они могут снижать помехозащищенность- при большой нагрузке некоторые аналоговые сервы начинают дрожать. Обычно такие помехи проявляют себя при использовании удлинителей серв.

smalltim

>Позволю себе ещё разок указать на www.fourwalledcubicle.com/LUFA.php.

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

Теперь вот сижу в DDK ковыряюсь - атмеловские библиотеки для Win32 теряют почти половину из приходящих HID-репортов. Опять придется всё руками делать, хехе.

Dikoy

Да ладно? Уж пяток проектов сдали на кее с атмельским CDC, и всё как часики. Хотя тоже библиотеки правил. Что подразумевается под библиотеках под вин32?
ПС. А при диагональном расположении пирометров вы как считаете дельту? Как дельту среднего арифметического между соседними датчиками?

smalltim

>Уж пяток проектов сдали на кее с атмельским CDC, и всё как часики.
CDC и HID - это разные вещи кагбе. HID клевый, потому что драйверов вообще не надо. То есть, вообще юзеру ничего делать не надо. Воткнул и работаешь. Только для режима DFU надо драйвер. Хотя в принципе и бутлоадеры HID есть.
Зато HID медленный. 64 кбайт/сек - это если очень повезет. Я пока выжал почти 32, не знаю, что получится, когда откажусь от атмеловских библиотек. Почти 32 - это потому что атмельская либа, зараза, пакеты теряет когда между пакетами меньше 5 мсек.

>Что подразумевается под библиотеках под вин32?
ATUsbHid.dll и иже. Там организуется отдельный поток с несинхронным, зато неблокирующим чтением из девайса-файла, и с FIFO приходящих с девайса HID-репортов. Надо синхронное. Не надо FIFO. Поковырявшись в DDK понял, что, оказывается, это просто.

>А при диагональном расположении пирометров вы как считаете дельту? Как дельту среднего арифметического между соседними датчиками?
Ну здрасте. Матрица поворота на 45 градусов.
Крен - сумма дельт двух пар. Тангаж - разница дельт двух пар. Ну или наоборот, смотря в какую сторону на 45 градусов голову повернули 😃
Ну и поделить на корень из двух. На всякий случай 😃

PigTail

2 Dikoy, а какие у Вас цифровые сенсоры, буковки у них какие, чой то не могу найти 😦

Dikoy
smalltim:

рен - сумма дельт двух пар. Тангаж - разница дельт двух пар.

А пары у вас, это диаметрально противоположные датчики?

Вахтанг

Я надеюсь, что вы об этом помните, но вдруг…
При переходе бортовой системы на управление от автопилота, при пропадании сигнала от передатчика, может возникнуть неприятная ситуация, по причине изменения нулевой точки РМ. Дело в том, что настройки всех триммеров хранятся именно в передатчике, а не в приемнике, и при пропадании сигнала от передатчика, по идее, приемник должен выставить РМ в свой нейтрал (справедливо для аппаратуры на 2,4ГгЦ, ибо у FM нет «сейф моде» и едет крыша, если потерял передатчик)!

smalltim

>А пары у вас, это диаметрально противоположные датчики?

Да.

Dikoy

2smalltim
Может я конечно туплю, но поворот есть умножение матриц. Причём матрица поворота состоит из синусов/косинусов 45 градусов, то есть 0,7.
И того имеем:


d1 d3 * 0.7 -0.7 = 0.7(d1+d3)  0.7(d3-d1)
d2 d4   0.7  0.7   0.7(d2+d4)  0.7(d4-d2)

Так я себе представляю матрицу поворота.
Как выведен ваш способ?.. Мне просто интересно 😃

serj
Dikoy:

2smalltim
Может я конечно туплю, но поворот есть умножение матриц.
//-------
Как выведен ваш способ?.. Мне просто интересно 😃

Мне кажется, смеситель Тимофея сильно похож на смеситель элевонов 😃

smalltim

>синусов/косинусов 45 градусов, то есть 0,7.

Точно. А синус и косинус 45 градусов это единица делить на корень из двух. Примерно Ваши 0.7

[x 0]  (исходная матрица)
[0 y]

*

[cos45 -sin45] (матрица поворота)
[sin45  cos45]

итого у Вас

a= (x/V2+y/V2) = (x+y)/V2
b= (x/V2-y/V2) = (x-y)/V2

Dikoy

Блин, я всё время забываю, что у Вас на АЦП сразу делта 😃 А я заточил иптематику на индивидуальную обработку датчиков.
Упростил свою систему и получил почти то же, только минус где-то теряется… Ну да ладно. Потом отлажу.

smalltim

Прошивка для телеметрии v232nb - для плат без бародатчиков.
Можно использовать и v232, но тогда в соответствующих местах экрана будут бессмысленные числа или нули.

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

Так что, кому надо, забирайте v232nb:

smalltim

Решил сделать пару заманушных скриншотов 😃

Как побочный продукт организации своего потока, обрабатывающего HID-репорты, вышло так, что в процессе скачки памяти автопилота можно плату отресетить или вообще отключить от USB - поток будет продолжать вертеться, и если плату подключить обратно, через долю секунды всё прочухается и скачка продолжится с того места, где прервалась 😃
Ну или можно насильно прервать скачку, просто закрыв окно. Ничего не зависнет, не сломается и не утечет 😃

Только вот HID медленный, зараза. Я засекал время: скачка 2 МБ набортной памяти занимает в среднем минуту и 25 секунд. Ну да ладно, переживем.

slides
smalltim:

Решил сделать пару заманушных скриншотов 😃

Как побочный продукт организации своего потока, обрабатывающего HID-репорты, вышло так, что в процессе скачки памяти автопилота можно плату отресетить или вообще отключить от USB - поток будет продолжать вертеться, и если плату подключить обратно, через долю секунды всё прочухается и скачка продолжится с того места, где прервалась 😃
Ну или можно насильно прервать скачку, просто закрыв окно. Ничего не зависнет, не сломается и не утечет 😃

Только вот HID медленный, зараза. Я засекал время: скачка 2 МБ набортной памяти занимает в среднем минуту и 25 секунд. Ну да ладно, переживем.

😈 Да он издевается над нами !!!😃

Dikoy

Проздравьте мине! Вчера был первый автоматический вылет! 😃
Сыкотно было аж жуть, но ничё… Из крена машину выводит! Машинки позамёрзли, сажал аппарат в снег фактически одним элероном 😃
Пока из недостатков - очень тормознутая система получилась. Надо уменьшать фильтрацию и подбирать ПИД… Бум думать.