Smalltim OSD and autopilot (часть 1)
Вот это замечание меня несказанно порадовало 😃 А на плате автопилота ничего переразводить не будем ???😈
Вообще-то, будем. Точнее, уже 😃
Дима, без паники, это просто переразводка под заводской монтаж, так же как с пилотом и телеметрией. Оно надо, ибо есть требования технологов.
Всю распиновку и прочее естественно оставилибез изменений. Есть только пара фиксов по мелочам типа импульсников и резисторных делителей на входе.
Почему бы и пироголовы не потюнить под требования? 😃
>Или мы видим, то что видят пиродатчики без коррекции (упреждения, доп. доворотов и прочь)?
Так точно. То, что видят пирометры, с коррекцией, но без упреждения.
>Значит и вертикальный пирометр весьма критичен к установке, вроде раньше считалось, что ему плюс-минус лапоть - пофиг. Спасибо, попробую.
Да, работает вся система из 6 датчиков, все равнозначны. Каждая пара датчиков определяет свою компоненту X,Y,Z вектора ориентации самика, и если по какой-то компоненте размах сигнала значительно отличается от остальных, вся система начинает работать неточно.
Это как мерять длину, ширину и высоту рулетками, растянутыми произвольно как придется. Правильный объем из такой длины, ширины и высоты не выйдет:)
Вот это замечание меня несказанно порадовало 😃 А на плате автопилота ничего переразводить не будем ???😈
Я же написал “наверное”, это если Тимофей сочтет нужным для технологичности серийного выпуска, и по вашей просьбе. А так всё работает, зачем менять. Решать ему.
Лучшее враг хорошего 😉
Вот, а Тимофей уже ответил.
Поясню, что для автоматизации сборки существуют свой требования, на что в основном и делается упор. Учитывая размеры плат.
Сегодня эксперементировал с пирометрами в домашних условиях. Вынес Z модуль по максимуму. Все равно самик преимущественно видит “перевернутый полет”. Что-бы горизонт отображался вниз ногами, нужно не просто поднести ладонь под нижний глазок (как помню было на старом АП), а практически зажать его пальцами. Это кстати объясняет жуткую дискретность моего авиагоризонта.
Замерил уровни сигнала на выходе платки. Питание - 4.96 В. Средняя точка -2.47 В. Как я понимаю, середине соответсвует значение Z=8000 или 8192 в контрольной панели. Меньше - нормальный полет, все что больше - считается вверх ногами. Так вот значению Z=8000 в контрольной панели соответсвует напряжение 2.3 В на выходе платы. А при 2.48 В (идеальная середина) КП показывает 8500. Это нормально? Или что-то не так с АЦП на плате АП?
Сегодня эксперементировал с пирометрами в домашних условиях.
У меня дома не получается выставить горизонт. Даже кастрюлька кипятка под Изиком не помогает.
Сначала “дергался” на эту тему. Но выйдя на улицу горизонт встал в норму. Видимо в квартире слишком много влияющих факторов.
Сегодня эксперементировал с пирометрами в домашних условиях.
Я тут уже пИсал, что для пироголов в комнатных условиях главное- “небо” сымитировать.
Подношения ладони или паяльника- не ту картину даёт 😮
А “небом”- отлично работает железная кружка в которой толчёный лёд с солью.
По термометру это -13*С.
Двигая вверх- вниз эту кружку, можно и крен- тангаж проверять 😃
Кстати, на родном Co-Pilot е, голова питается от 3,3 В.
Соответственно середина- 1,65.
Максимальный размах выходного напряжения:1,15-:-2,15 В
У меня дома не получается выставить горизонт. Даже кастрюлька кипятка под Изиком не помогает. Сначала “дергался” на эту тему. Но выйдя на улицу горизонт встал в норму.
Как он работает на улице я уже видел в прошлый раз. Здесь что-то не так.
Собственно меня смущает больше не трудность иммитирования, а несоответствие значения на выходе платы, показаниям КП.
Кстати, на родном Co-Pilot е, голова питается от 3,3 В. Соответственно середина- 1,65. Максимальный размах выходного напряжения:1,15-:-2,15 В
Здесь диапазоны сигнала примерно такие-же, с учетом 5 В пропорции (1.2 - 3.7 В). И по значениям напряжения на входе в АП - все похоже на правду, но вот трактовка - не радует.
На первой версии АП любое крайнее состояние легко имитировалось ладонями. Понятное дело, что ровный горизонт дома не сделаешь, но проверить общую логику направлений - хватает.
Сегодня эксперементировал с пирометрами в домашних условиях. Вынес Z модуль по максимуму. Все равно самик преимущественно видит “перевернутый полет”. Что-бы горизонт отображался вниз ногами, нужно не просто поднести ладонь под нижний глазок (как помню было на старом АП), а практически зажать его пальцами. Это кстати объясняет жуткую дискретность моего авиагоризонта.
Замерил уровни сигнала на выходе платки. Питание - 4.96 В. Средняя точка -2.47 В. Как я понимаю, середине соответсвует значение Z=8000 или 8192 в контрольной панели. Меньше - нормальный полет, все что больше - считается вверх ногами. Так вот значению Z=8000 в контрольной панели соответсвует напряжение 2.3 В на выходе платы. А при 2.48 В (идеальная середина) КП показывает 8500. Это нормально? Или что-то не так с АЦП на плате АП?
А какое число показывает КП для средней точки Z? Напряжение там нормальное, 2.47В. Если показывает сильно в сторону от 8192, то, значит, с АЦП фигня. Точнее, не с АЦП, а с ускоренной математикой. Потому что схематически там ничего нет: с разъема сигнал идет прямо на АЦП через резистор в 1кОм.
Посмотри, пожалуйста, напряжение и число в КП для средней точки для XY головы. Она ближе к истине?
Еще прекрасным критерием будет подача на вход VCC или GND прямо с того же разъема пироголовы. Если числа в КП будут верные, то с самим АЦП все в порядке.
Возможно, я не всегда корректно усредняю показания по пачке выборок с АЦП, включая в сумму одно значение с предыдущего канала АЦП. Раньше это маскировалось бОльшим числом выборок, а сейчас вылезло. Странно, что вылезло только у тебя.
Если ошибка программная, то найти и прибить ее просто. Жду чиселок 😃
Сегодня эксперементировал с пирометрами в домашних условиях. Вынес Z модуль по максимуму. Все равно самик преимущественно видит “перевернутый полет”. Что-бы горизонт отображался вниз ногами, нужно не просто поднести ладонь под нижний глазок (как помню было на старом АП), а практически зажать его пальцами. Это кстати объясняет жуткую дискретность моего авиагоризонта.
Замерил уровни сигнала на выходе платки. Питание - 4.96 В. Средняя точка -2.47 В. Как я понимаю, середине соответсвует значение Z=8000 или 8192 в контрольной панели. Меньше - нормальный полет, все что больше - считается вверх ногами. Так вот значению Z=8000 в контрольной панели соответсвует напряжение 2.3 В на выходе платы. А при 2.48 В (идеальная середина) КП показывает 8500. Это нормально? Или что-то не так с АЦП на плате АП?
А какое число показывает КП для средней точки Z? Напряжение там нормальное, 2.47В. Если показывает сильно в сторону от 8192, то, значит, с АЦП фигня. Точнее, не с АЦП, а с ускоренной математикой. Потому что схематически там ничего нет: с разъема сигнал идет прямо на АЦП через резистор в 1кОм.
Посмотри, пожалуйста, напряжение и число в КП для средней точки для XY головы. Она ближе к истине?
Еще прекрасным критерием будет подача на вход VCC или GND прямо с того же разъема пироголовы. Если числа в КП будут верные, то с самим АЦП все в порядке.
Возможно, я не всегда корректно усредняю показания по пачке выборок с АЦП, включая в сумму одно значение с предыдущего канала АЦП. Раньше это маскировалось бОльшим числом выборок, а сейчас вылезло. Странно, что вылезло только у тебя.
Если ошибка программная, то найти и прибить ее просто. Жду чиселок 😃
Сегодня эксперементировал с пирометрами в домашних условиях. Вынес Z модуль по максимуму. Все равно самик преимущественно видит “перевернутый полет”. Что-бы горизонт отображался вниз ногами, нужно не просто поднести ладонь под нижний глазок (как помню было на старом АП), а практически зажать его пальцами. Это кстати объясняет жуткую дискретность моего авиагоризонта.
Замерил уровни сигнала на выходе платки. Питание - 4.96 В. Средняя точка -2.47 В. Как я понимаю, середине соответсвует значение Z=8000 или 8192 в контрольной панели. Меньше - нормальный полет, все что больше - считается вверх ногами. Так вот значению Z=8000 в контрольной панели соответсвует напряжение 2.3 В на выходе платы. А при 2.48 В (идеальная середина) КП показывает 8500. Это нормально? Или что-то не так с АЦП на плате АП?
А какое число показывает КП для средней точки Z? Напряжение там нормальное, 2.47В. Если показывает сильно в сторону от 8192, то, значит, с АЦП фигня. Точнее, не с АЦП, а с ускоренной математикой. Потому что схематически там ничего нет: с разъема сигнал идет прямо на АЦП через резистор в 1кОм.
Посмотри, пожалуйста, напряжение и число в КП для средней точки для XY головы. Она ближе к истине?
Еще прекрасным критерием будет подача на вход VCC или GND прямо с того же разъема пироголовы. Если числа в КП будут верные, то с самим АЦП все в порядке.
Возможно, я не всегда корректно усредняю показания по пачке выборок с АЦП, включая в сумму одно значение с предыдущего канала АЦП. Раньше это маскировалось бОльшим числом выборок, а сейчас вылезло. Странно, что вылезло только у тебя.
Если ошибка программная, то найти и прибить ее просто. Жду чиселок 😃
А какое число показывает КП для средней точки Z?
В среднем - 8160. При манипуляциях вокруг пирометров: от 8145 до 8176
При замыкании (без разъема) средней точки на GND - 0, на +5В - 16368.
При замыкании сигнала на GND - 670, на +5В - 16368.
От 8145 до 8176 - это практически идеальная точность.
1023 отсчета соответствуют VCC. Намерянные тобой 2.47В - это
(2.47/4.96)*1023 и еще умножить на 16 - оверсэмплинг по 16 выборкам. Получается 8151.
16368 - это 16*1023, тоже ок.
670 при замыкании выхода ОУ на землю - не совсем понятно, земля из-за ненулевого сопротивления проводков приподнимается на ((670/16)/1023)*4.96=0.2В. Многовато.
Можно попросить тебя о еще одном одолжении?
Пожалуйста, оберни самик или пиродатчики например полотенцем, чтобы обеспечить нулевую разницу температур, и напиши, какие напряжения получаются на разъемах голов и все числа, которые КП говорит на странице диагностики горизонта. Спасибо!
Сегодня провёл настроечные работы в поле с компом.
Удалось настроить возврат домой, но с приличной раскачкой по крену. По тангажу раскачки нет. Делает круги радиусом метров 70 над базой, высота примерно целевая.
Играл двумя параметрами: чувствительностью и резкостью реакции. Чувствительность 55%, резкость 35%.
Во время одного из полётов, врезался в провода высоковольтки:). Морда почти в мочалку, потроха все наружу. Но, поскольку очень хотелось найти лекарство от раскачки, решил испытания не прекращать. Замотал мордочку скотчем вместе с клубком проводов и продолжил полёты.
Ставил различные комбинации, но лучше результат не становился. Лишь при комбинации Чувствительность 55%, резкость 50% самик резво развернулся на базу и, кажется без раскачки попытался лететь в мою сторону, но тут сдох акк и он плавно сел в 150 метрах от меня. Так что чистота эксперимента была нарушена.
Если интересно, есть видео с борта, как Изи, качаясь крутит круги вокруг меня. Но снимать начал уже после краша и видео (видимо из-за него) ужастного качества.
670 при замыкании выхода ОУ на землю - не совсем понятно, земля из-за ненулевого сопротивления проводков приподнимается на ((670/16)/1023)*4.96=0.2В. Многовато.
На всякий случай прозвонил эти цепи. Неполядок не выявил. Сопротивление от разъема до ножки меги - строго 1 кОм. Единственное, что смутило - при неподключенных разъемах приодатчиков, на всех входах АЦП - 16368. Ты там случайно подтяжку к +5 В не включил?
Пожалуйста, оберни самик или пиродатчики например полотенцем, чтобы обеспечить нулевую разницу температур, и напиши, какие напряжения получаются на разъемах голов и все числа, которые КП говорит на странице диагностики горизонта.
С полотенцем: нейтраль XY=8610 U=2.50 В
нейтраль Z=8160 U=2.48 В
X=8680; U=2.50 В;
Y=8576; U=2.53 В;
Z=8512; U=2.48 В
При посадке всех входов, кроме Z нейтрали на GND, КП показывает - 670-672;
При замыкании на +5 В, на всех входах - 16368.
670 - похоже на делитель 1к/10к, если предположить включенную подтяжку к +5В. 😃
Во время одного из полётов, врезался в провода высоковольтки
Видимо ЛЭП была достаточно высоковольтной, с большим расстоянием между проводами. На 6/10 кВ изик легко мог бы перекрыть фазы, и тогда Вы бы не мордочку скотчем заматывали, а в угольках копались. Повезло. 😃
Наверняка у обоих датчиков существуют свои погрешности и они, накладываясь, дают ощутимую разницу в показаниях.
Дмитрий, как Вы выводите такие графики? Научите. Хотелось бы и у себя такие сравнения сделать.
1 лог из АП скачиваете
2 делаете импорт в ексель, разделитель точка с зяпятой
3 выделяете нужный столбец и жмакаете кнопку построить график
ексель может зависнуть если будет большое количество значений в графике, лучше не превышать 1000
Наверняка у обоих датчиков существуют свои погрешности и они, накладываясь, дают ощутимую разницу в показаниях.
а мне кажется что математика от Тима виновата
чем больше высота тем больше разница в показаниях
давайте сравнимся, выложите плз графики логов ваших полетов
возможно, не совсем верный алгоритм температурной коррекции (либо неточное измерение забортной температуры по той или иной причине)
насчет скорости тут все просто - по ветру путевая скорость (по GPS) больше чем воздушная, против ветра наоборот, что и видно по графику
а мне кажется что математика от Тима виновата чем больше высота тем больше разница в показаниях
Выведите параллельно график температуры. На 800 м падение температуры должно быть порядка 5 градусов, по сравнению с началом полета.
Как у Вас стоит термодатчик?
Внутренние резисторы подтяжки включены, да. Неужели они работают даже когда функция порта меняется с обычного ввода-вывода на работу АЦП?
Коли так, позор мне, надо доки внимательней читать. Наверняка там где-то мелким шрифтом, как говорится…
По поводу отличия баровысоты от ГПС высоты - я сам голову ломаю, математику проверил, всё ок, температура корректная, да и не даст она такой погрешности. Я даже график погрешности построил. Чем больше высота, тем меньше влияние разной инерционности баро и гпс (баро шустрее) и тем ближе чоотношение высот к 1.12, т.е. баро на 12% завышает.
Помедитировать на код у меня вреиени не было, летать надо было.
Прилечу- вылечим, фигня.
По поводу отличия баровысоты от ГПС высоты
Не помню что-бы в прошлом году у меня существенно отличались баро и GPS высота. Летал и на 750 м и на 830 м. Вечером дома еще раз гляну те ролики, но по памяти - значимой разницы там не было. По крайней мере по доступным роликам, что выложены на Vimeo - до 400 м расхождения высот - нет.
Внутренние резисторы подтяжки включены, да.
Тогда попробую их пока аппаратно скомпенсировать. Не помнишь, там 20 кОм или 22?
давайте сравнимся, выложите плз графики логов ваших полетов
Спасибо за науку, графики освоил! Пока у меня телеметрия не работает - соответственно нет бароданных в логах. Просмотрел старые видеозаписи с телеметрией - максимальная разница 10-12 метров на высоте 300м, баро показывает больше.
Внутренние резисторы подтяжки включены, да. Неужели они работают даже когда функция порта меняется с обычного ввода-вывода на работу АЦП?
.
Да, если порт настроен на вход, то без разницы включен ацп или нет. Подтяжки работают как и работали.
Это тебе не кортекс с 8 битами конфигурации каждой ноги 😃