Специальные цены   новые товары
Закрытая тема
Страница 34 из 50 ПерваяПервая ... 24 32 33 34 35 36 44 ... ПоследняяПоследняя
Показано с 1,321 по 1,360 из 2000

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

Тема раздела Полеты по камере, телеметрия в категории Cамолёты - Общий; Сообщение от smalltim В доках достаточно ясно написано об этом, надо только внимательно читать. Я с самого рождения модуля телеметрии ...

  1. #1321

    Регистрация
    02.06.2005
    Адрес
    Ростов Великий
    Возраст
    53
    Сообщений
    556
    Цитата Сообщение от smalltim Посмотреть сообщение
    В доках достаточно ясно написано об этом, надо только внимательно читать.
    Я с самого рождения модуля телеметрии после переключения каналов АЦП первый полученный результат выбрасываю.
    А можно поинтересоваться, в какой доке и где написано, что после переключения канала АЦП AVR надо ждать или откидывать первый результат?

  2.  
  3. #1322

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    У меня была где-то аппноута про АЦП Атмеги.
    Её не нашел, но вот что нашел, например, в даташите по AT90USB1287, которую использую в автопилоте:

    In Free Running mode, always select the channel before starting the first conversion. The
    channel selection may be changed one ADC clock cycle after writing one to ADSC. However,
    the simplest method is to wait for the first conversion to complete, and then change the
    channel selection. Since the next conversion has already started automatically, the next
    result will reflect the previous channel selection. Subsequent conversions will reflect the new
    channel selection.
    When switching to a differential gain channel, the first conversion result may have a poor accuracy
    due to the required settling time for the automatic offset cancellation circuitry. The user
    should preferably disregard the first conversion result.

  4. #1323
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    48
    Сообщений
    655
    Если есть оверсэмплинг к примеру 4 канала по 64 считывания, то без постоянного переключения между каналами при каждом АЦП - результаты будут неравномерно взвешенны во времени, что чисто теоретически не есть хорошо. Так что лично я для чистоты совести исповедовал переключение MUX при каждом АЦП - к примеру если общий цикл накопления результата по всем каналам 1 секунда - то результат будет "более честным" - мало ли какие были всплески сигнала, а мы их могли прозевать и не усреднить.

  5. #1324

    Регистрация
    22.08.2008
    Адрес
    Moscow
    Возраст
    44
    Сообщений
    55
    Цитата Сообщение от Psw Посмотреть сообщение
    Если есть оверсэмплинг к примеру 4 канала по 64 считывания, то без постоянного переключения между каналами при каждом АЦП - результаты будут неравномерно взвешенны во времени, что чисто теоретически не есть хорошо. Так что лично я для чистоты совести исповедовал переключение MUX при каждом АЦП - к примеру если общий цикл накопления результата по всем каналам 1 секунда - то результат будет "более честным" - мало ли какие были всплески сигнала, а мы их могли прозевать и не усреднить.
    Ну да, логично, я так-же пошел.

  6.  
  7. #1325

    Регистрация
    22.08.2008
    Адрес
    Moscow
    Возраст
    44
    Сообщений
    55
    Цитата Сообщение от Psw Посмотреть сообщение
    Порылся в своей коллекции убитых девайсов, содеял фотку:
    Вложение 202656
    двух убитых датчиков Мурата ENV-03 на фоне исправного ENV-05. Убились на верте при крашах на кухне. В одном 03 датчике даже краешек кристалла обломился, хотя корпус был целым естественно - обломился чисто от "ускорения несовместимого с жизнью". Что-то мне подсказывает, что в ENV-05 кристалл ещё жирнее и убъётся при краше ещё легче. Про вибрации ДВС уж ваапще молчу - как он их там "переварит" без наводок.

    А я вот сам грызу гранит схемотехники потихоньку. Но то что после переключения MUX надо подождать для зарядки конденсатора УВХ перед началом АЦП - вроде и в даташитах написано и само по себе понятно.

    Ну да, это тоже способ "подождать", только не самый быстрый.
    Речь была об алгоритме получения каждого АЦП результата Переключил-Подождал зарядки УВХ -Запустил АЦП/Отключение конденсатора УВХ. Либо можно - при отсутствии регулируемой аппаратной задержки для УВХ как в 18 пиках, можно было делать в прерывании от готовности АЦП результата - Начало Обработчика Прерывания АЦП - пауза реакции на флаг прерывания и на сохранение регистров достаточна для зарядки УВХ - Запуск нового АЦП/Отключение УВХ - переключение MUX - быстрое копирование/накопление результата АЦП пока новый результат не готов - выход из прерывания.
    И при этом не надо ничего выбрасывать и АЦП работает достаточно шустро без особых пустых программных задержек. Делал так в 16 пике.
    Что же вы там с ним на кухне делали- то? ENV-05 только питанием отличается(5в). При краше, мне его меньше всего жалко будет, по сравнению со всем остальным... Я для него уже соорудил силиконово-пластиковый гробик А ДВС именно с этими гиро и летает лет 10...

  8. #1326
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    48
    Сообщений
    655
    Краш на кухне со смертью гиры выглядит легко - обороты ротора 2к, лопастью по стальной трубе ножки стола, ударная волна через деревянную лопасть-ось-раму-демпфер-копрус в датчик заходит и ломает кристалл или просто ломает датчик. А сам верт без особо тяжких повреждений оказывапся. Полётный Вес верта около 400 грамм.

  9. #1327
    dmk
    dmk вне форума

    Регистрация
    11.03.2001
    Адрес
    Jerusalem
    Возраст
    51
    Сообщений
    80
    Цитата Сообщение от Vad64 Посмотреть сообщение
    А можно поинтересоваться, в какой доке и где написано, что после переключения канала АЦП AVR надо ждать или откидывать первый результат?
    Присоединяюсь к вопросу. Единственное ограничение - не переключать канал во время первого в конверсии цикла АЦП. Как собственно и объяснено в цитате от smalltim из даташита по AT90USB1287.
    to lodeworx:
    И действительно ли сэмпл после переключения канала шумный? Может причина в другом? Какая частота клока у АЦП?

  10.  
  11. #1328

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Цитата Сообщение от dmk Посмотреть сообщение
    Присоединяюсь к вопросу. Единственное ограничение - не переключать канал во время первого в конверсии цикла АЦП. Как собственно и объяснено в цитате от smalltim из даташита по AT90USB1287.
    Откройте ЛЮБОЙ учебник с описанием АЦП и там это будет. Это само собой разумеется.
    В апнотах на АЦП, наверное, любой фирмы есть упоминание этой задержки.

  12. #1329

    Регистрация
    02.06.2005
    Адрес
    Ростов Великий
    Возраст
    53
    Сообщений
    556
    Вот не знаю, где у lodeworx глюки, но, подозреваю, что не в AVR. В даташитах AVR английским по-белому написано, что проблемы с точностью первого преобразования могут быть только при работе в режиме с дифференциальными входами или если выходное сопротивление источника сигнала больше 10 ком или при переключении на измерение bandgap reference. Остальное - домыслы и моя практика это подтверждает.
    Не знаю, зачем lodeworx выложил в данной ветке куски какого-то левого кода, но забавно, как дружно народ подхватил и понес пургу.
    Dikoy, спасибо за совет, но, думаю, Вам он будет полезен даже в бОльшей степени.

  13. #1330

    Регистрация
    27.12.2000
    Адрес
    С-Петербург
    Возраст
    42
    Сообщений
    1,747
    Цитата Сообщение от Vad64 Посмотреть сообщение
    Вот не знаю, где у lodeworx глюки, но, подозреваю, что не в AVR. В даташитах AVR английским по-белому написано, что проблемы с точностью первого преобразования могут быть только при работе в режиме с дифференциальными входами или если выходное сопротивление источника сигнала больше 10 ком или при переключении на измерение bandgap reference. Остальное - домыслы и моя практика это подтверждает.
    Дело не столько в самом ацп, сколько в схемотехнике аналоговой части. Проанализируйте как работает узел ацп когда вы переключаете коммутатор, и все сразу станет понятно.

  14. #1331
    dmk
    dmk вне форума

    Регистрация
    11.03.2001
    Адрес
    Jerusalem
    Возраст
    51
    Сообщений
    80
    to Dikoy:
    Время (необходимое и достаточное для AVR, в пределах его скоростных возможностей) в течении которого вход подключен к конденсатору УВХ составляет 1 цикл АЦП (исключая первое после запуска АЦП преобразование) и начинается сразу после старта преобразования. После этого и до следующего старта вы можете играться с мультиплексором как хотите - конденсатор уже отключен от входа и соответственно подключен ко входу компаратора ЦАПа. Мне кажется, что это более "само собой разумеется" и упоминаются в "ЛЮБОМ учебнике". Раз lodeworx писал про недокументированый глюк, я хотел выяснить, не связан ли он с определенной моделью AVR или конфигурацией АЦП, и только. А если у Вас есть "ЛЮБОЙ" учебник или апнот с подтверждением или доказательством противного, дайте ссылку, или цитату, как это сделал smalltim .

    Цитата Сообщение от serj Посмотреть сообщение
    Дело не столько в самом ацп, сколько в схемотехнике аналоговой части. Проанализируйте как работает узел ацп когда вы переключаете коммутатор, и все сразу станет понятно.
    Я бы с удовольствием, но как можно судить о схемотехнике аналоговой части, имея в даташит только упрощенную блок схему?

  15. #1332

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Цитата Сообщение от dmk Посмотреть сообщение
    to Dikoy:
    Время (необходимое и достаточное для AVR, в пределах его скоростных возможностей) в течении которого вход подключен к конденсатору УВХ составляет 1 цикл АЦП (исключая первое после запуска АЦП преобразование) и начинается сразу после старта преобразования. После этого и до следующего старта вы можете играться с мультиплексором как хотите - конденсатор уже отключен от входа и соответственно подключен ко входу компаратора ЦАПа. Мне кажется, что это более "само собой разумеется" и упоминаются в "ЛЮБОМ учебнике". Раз lodeworx писал про недокументированый глюк, я хотел выяснить, не связан ли он с определенной моделью AVR или конфигурацией АЦП, и только. А если у Вас есть "ЛЮБОЙ" учебник или апнот с подтверждением или доказательством противного, дайте ссылку, или цитату, как это сделал smalltim .


    Я бы с удовольствием, но как можно судить о схемотехнике аналоговой части, имея в даташит только упрощенную блок схему?
    Вот, например, выдержки из даташита на 1287:
    If a different data channel is selected while a conversion is in progress, the ADC will finish the current conversion before performing the channel change.

    The channel and reference selection is continuously updated until a conversion is started. Once the conversion starts, the channel and reference selection is locked to ensure a sufficient sampling time for the ADC. Con-tinuous updating resumes in the last ADC clock cycle before the conversion completes (ADIF in ADCSRA is set). Note that the conversion starts on the following rising ADC clock edge after ADSC is written. The user is thus advised not to write new channel or reference selection values to ADMUX until one ADC clock cycle after ADSC is written.

    Special care should be taken when changing differential channels. Once a differential channel has been selected, the stage may take as much as 125 μs to stabilize to the new value. Thus conversions should not be started within the first 125 μs after selecting a new differential chan-nel. Alternatively, conversion results obtained within this period should be discarded.

    Там же есть Figure 25-8, показывающая схему аналогового входа. Нетрудно посчитать, что постоянная времени составляет 1,4 мкС. То есть заряд ёмкости входа после смены канала потребует минимум 1,4 мкС, при услови нулевого выходного сопротивления источника.
    Об этом подробно расписано в апнотах атмела, касающихся АЦП. Искать их чтобы что-то доказать я не буду - лениво. Можете убедиться сами.
    Наконец, автоматические генераторы кода, например, CV, в функциях АЦП генерят либо задержку 10 мкс, либо пустую конверсию (что надёжней) после каждой смены канала или настроек.
    В даташите вы также можете найти рекомендацию останавливать ядро процессора во время преобразования. О "После этого и до следующего старта вы можете играться с мультиплексором как хотите" речи даже не идёт.

  16. #1333

    Регистрация
    20.06.2006
    Адрес
    Baku
    Возраст
    38
    Сообщений
    41
    Доброе время суток,

    может кому то пригодиться http://www.foxdelta.com/products/foxtrak-m.htm


    APRS Tracker Module используя сотовый телефон

  17. #1334

    Регистрация
    02.06.2005
    Адрес
    Ростов Великий
    Возраст
    53
    Сообщений
    556
    Цитата Сообщение от Dikoy Посмотреть сообщение
    Вот, например, выдержки из даташита на 1287
    Вот это уже более конструктивный разговор. Итак, написано:
    If a different data channel is selected while a conversion is in progress, the ADC will finish the current conversion before performing the channel change.

    Это означет, что если задать новое значение канала, то АЦП закончит текущее преобразование, а потом уже поменяет канал.

    The channel and reference selection is continuously updated until a conversion is started. Once the conversion starts, the channel and reference selection is locked to ensure a sufficient sampling time for the ADC.

    А это означает, что канал и опора обновляется только до тех пор, пока не началось преобразование. После начала преобразования эти установки блокируются и т.д. Это и имеет в виду коллега словами "После этого и до следующего старта вы можете играться с мультиплексором как хотите"

    Про постоянную времени. Если в худшем случае она 1.4 мкс, то нужно 9.7 мкс для устаканивания сигнала в ошибку 0.1% при максимальном разбросе сигналов на переключаемых входах. При 1.5 тактах сэмплирования это обеспечивается на частотах АЦП 150 кГц и ниже при рекомендованном диапазоне 50-200 кГц.
    Лично я склонен полагать, что сопротивление 100 кОм на рисунке - крайний случай, характерный для очень низкого напряжения питания. В реальности при питании 3.3 - 5В я не наблюдал никакого влияния между каналами при максимальном разбросе входных напряжений и частоте АЦП до 200 КГц. В доказательство, в пояснениях к рисунку написано: The ADC is optimized for analog signals with an output impedance of approximately
    10 kΩ or less. If such a source is used, the sampling time will be negligible. Т.е. время сэмплирования пренебрежимо мало, если источник имеет сопротивление менее 10 кОм. Именно под это оптимизирован АЦП и его времена. Если бы 1.5 такта было недостаточно для переключения каналов и сэмплирования, думаю, Атмел увеличил бы это время, как оно увеличено у них для первого преобразования (до 13.5 тактов). Понимаете, быстродействием просто так не бросаются. Если выкидывать каждый 2й отсчет АЦП, то это уже не очень хороший АЦП.
    Случаи с дифференциальными входами и bangap - да, требуют задержек и об этом действительно написано.

    Наконец, просто проведите эксперимент - задайте на соседних входах 0 и Ucc и посмотрите, чему будут равны первый и последущий отсчеты после переключения.

    Успехов

  18. #1335
    dmk
    dmk вне форума

    Регистрация
    11.03.2001
    Адрес
    Jerusalem
    Возраст
    51
    Сообщений
    80
    to Dikoy:
    Останавливать процессор рекомендовано, но не обязательно, а при работающем процессоре переключение мультиплексора шумов не добавит. И мультиплексором вы можете играться как хотите, читайте хотя бы свою цитату из даташит (правда несколько другими словами): "The user is thus advised not to write new channel or reference selection values to ADMUX until one ADC clock cycle after ADSC is written.
    По поводу постоянной времени. Внимательно читая даташит видим что общее последовательное сопротивление может быть от 1 до 100 кОм. Так что, время заряда будет от 14 нано секунд до 1.4 мкс (я думаю что при разном усилении входа(отличном от 1) и использовании дифференциальных каналов сопротивление может меняться). Но даже ваши 1.4 мкс легко влезают в 1 цикл АЦП при максимальной частоте (для АЦП AVR 15 килосэмплов в секунду или 65 мкс на преобразование).
    ЗЫ. Спорить больше не буду, меня вполне устроило подтверждение Vad64. А то что Вы тут Самый Грамотный Спец доказывать не надо (даже если бы не было лениво), все и так здесь это знают.

    ЗЫ.ЗЫ. Пока писАл, с ответом опередили. Ну да ладно.

  19. #1336

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Цитата Сообщение от dmk Посмотреть сообщение
    to Dikoy:
    Останавливать процессор рекомендовано, но не обязательно, а при работающем процессоре переключение мультиплексора шумов не добавит. И мультиплексором вы можете играться как хотите, читайте хотя бы свою цитату из даташит (правда несколько другими словами): "The user is thus advised not to write new channel or reference selection values to ADMUX until one ADC clock cycle after ADSC is written.
    По поводу постоянной времени. Внимательно читая даташит видим что общее последовательное сопротивление может быть от 1 до 100 кОм. Так что, время заряда будет от 14 нано секунд до 1.4 мкс (я думаю что при разном усилении входа(отличном от 1) и использовании дифференциальных каналов сопротивление может меняться). Но даже ваши 1.4 мкс легко влезают в 1 цикл АЦП при максимальной частоте (для АЦП AVR 15 килосэмплов в секунду или 65 мкс на преобразование).
    ЗЫ. Спорить больше не буду, меня вполне устроило подтверждение Vad64. А то что Вы тут Самый Грамотный Спец доказывать не надо (даже если бы не было лениво), все и так здесь это знают.

    ЗЫ.ЗЫ. Пока писАл, с ответом опередили. Ну да ладно.
    Блин, при чём здесь доказывать? Есть ПРАКТИКА. И эта практика говорит, что НАДО. Есть апнота, которая тоже говорит, что НАДО. И есть вы, с теорией. Я програмлю АВР уже 5 лет, начинал ещё с 89-х. Эволюцию их АЦП прочувствовал на своей шкуре, а так же АЦП других производителей, вплоть до 24 бит с нановольтными весами разрядов. Не у всех это явление описано, но у всех проявляется в той или иной мере.
    Все параметры в ДШ описаны для конкретного случая, лабораторного. В некотрых ДШ над таблицами так и пишут, при каких условиях был получен параметр. Не надо огульно применять эти значение, не подумав и минуты.
    Много у вас источников с сопротивлением ниже 10 к? нормальный делитель, это 50-100к. Вот тут вам атмел и скажет - мы расчитывали на 10к, а всё, что выше, проблемы ваши. Соединив два входа с Ucc и GND, по совету Vad64, мы действительно не увидим шума.
    Вот выдержка из кодегенератора CV:
    // Read the AD conversion result
    unsigned int read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
    // Delay needed for the stabilization of the ADC input voltage
    delay_us(10);
    // Start the AD conversion
    ADCSRA|=0x40;
    // Wait for the AD conversion to complete
    while ((ADCSRA & 0x10)==0);
    ADCSRA|=0x10;
    return ADCW;
    }

    То есть как минимум 3 человека в мире (я, автор, программер CV) про проблему знают. Рекомендую задуматься.

  20. #1337

    Регистрация
    02.06.2005
    Адрес
    Ростов Великий
    Возраст
    53
    Сообщений
    556
    Цитата Сообщение от Dikoy Посмотреть сообщение
    Есть апнота, которая тоже говорит, что НАДО.
    Апноту укажите, пожалуйста.

  21. #1338

    Регистрация
    22.08.2008
    Адрес
    Moscow
    Возраст
    44
    Сообщений
    55
    Цитата Сообщение от Vad64 Посмотреть сообщение
    Апноту укажите, пожалуйста.
    Мне тоже интересно. В моем случае, физически подключено вот так:Нажмите на изображение для увеличения
Название: Image010.jpg
Просмотров: 102
Размер:	17.9 Кб
ID:	203154
    ADC4 не имеет отношения к дифф. каналам. Частота 125кгц, мега32...

    // Delay needed for the stabilization of the ADC input voltage
    delay_us(10);
    А такие вещи,в программе, меня как-то пугают. А использует ли функция delay_us() таймер? Уверен нет- это макро на ассемблере, которое наверняка запрещает прерывания при входе в нее. Замечательно полезно!

  22. #1339

    Регистрация
    22.08.2008
    Адрес
    Moscow
    Возраст
    44
    Сообщений
    55
    Для общего обозрения, заморочился:
    "относительный", усредненный спектральный анализ для 1 результата после переключения на 4 канал, с гироскопом, 31 фрейм, ADC-125khz, переключение между 0 и 4 каналами 16x оверсемплинг:
    Нажмите на изображение для увеличения
Название: zeroes.jpg
Просмотров: 57
Размер:	35.6 Кб
ID:	203195
    для 16-го:
    Нажмите на изображение для увеличения
Название: 16_th.jpg
Просмотров: 36
Размер:	36.7 Кб
ID:	203197
    Шумит?! Все это понятно, про зарядку, импеданс... И что Atmel не очень- то в аналоговую часть углубляется...
    С вариометром я AD7705 использовал- там в datasheet этому вопросу целая страница посвящена- стр.16!
    Для общего дела, с наилучшими пожеланиями!

  23. #1340

    Регистрация
    29.06.2007
    Адрес
    Москва
    Возраст
    65
    Сообщений
    3,925
    Цитата Сообщение от lodeworx Посмотреть сообщение
    Мне тоже интересно.
    А такие вещи,в программе, меня как-то пугают.
    Прямо как в старом анекдоте : пришел Пьер и все опошлил
    А как все хорошо начиналось : Smaalltim с год назад решил сделать устройство телеметрии.
    И сделал!
    Очень приличное, недорогое и работающее.
    Одно это- достойно большого уважения !
    Выложил информацию для всех.
    И тут приходит боксер- теоретик, утверждающий, что по его (авторитетному и непререкаемомому) мнению- все это "вторичный продукт" (почитайте В.Войновича- узнаете расшифровку термина )
    Батенька!
    А где можно увидеть что то, сделанное Вашими ручками?
    Или Вы действуете по театральному принципу: актера из меня не вышло, пойду в критики?

  24. #1341

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Народ подскажите как в WinAVR (плагин для студии) в ассэмблерной вставке указать адрес памяти (.org). Не могу таблицу знако генератора расположить по 100 кратному адресу памяти. В доки написано так :-(
    Note that .org is available in gas as well, but is a fairly pointless pseudo-op in an assembler environment that uses relocatable object files, as it is the linker that determines the final position of some object in ROM or RAM.
    . Решил переписать код с CodeVisionAVR на WinAVR, протестил один и тот же код компилированный в разных средах и WinAVR чутьли не в 2 раза шустрее. Вообще ассемблер в WinAVR странный, .db там нет, как я понял замена ему .byte.

  25. #1342

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    Рисую схему и печатную плату автопилота.
    Пока остановился на следующем наборе входов и датчиков:

    - Вход с GPS модуля
    - 2 пары пирометров
    - 2-осевой компас

    На плате предусматриваю еще, из главного:

    - 4 входа и 4 выхода РРМ
    - 16 мегабит памяти
    - USB интерфейс
    - 2 светодиода состояния
    - Разъем SPI для обновления прошивок платы телеметрии и обмена данными с платой телеметрии.

    Из неглавного понадобится:

    - Сдвоенный ОУ для компаса, сдвоенный ОУ для платки пирометров.
    - Линейный стабилизатор 3.3В для питания потрохов

    Ну, и мелочевка: кварц, резисторы, конденсаторы, разъемы


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

    Навигация по меню планируется с пульта:

    - вправо-влево-вверх-вниз - ручкой крен-тангаж.
    - Да-Нет-больше-меньше - ручкой РН

    Настройки предполагаются следующие:
    - Установка уровней, при которых соответствующие индикаторы на экране начинают мигать: расстояние до базы, высота, напряжения батареи, и т.д.
    - Установка уровней, при которых включается автопилот: расстояние до базы, высота, напряжения батареи, и т.д.
    - Чувствительность системы стабилизации по крену/тангажу
    - Крейсерская высота на автопилоте
    - Крейсерская воздушная скорость на автопилоте
    - Максимальные допустимые углы крена-тангажа на автопилоте
    - Инверсия каналов и расходы на автопилоте

    Если платы телеметрии нет, то плата автопилота должна стабилизировать высоту не по бародатчику, а по GPS, и вместо заранее заданной воздушной скорости поддерживать заранее заданный уровень газа.

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

    Что еще забыл?
    А, раз в секунду все параметры со всех датчиков сливаются в память платы автопилота и потом при подключении к компуку по USB могут быть слиты и просмотрены на компуке.
    Если плата телеметрии отсутствует, то в память сливаются только те данные, что дают пирометры и GPS.

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

    Поддержка готовых "голов" с пирометрами типа того, что продается на FMA, обязана быть. Только я для удобства и убирания необходимости калибровки на своей "голове" выведу еще и напряжение средней точки (VCC/2), от которой отмеряются выходы. Потому что она нифига не VCC/2 обычно, а "где-то рядом".

  26. #1343

    Регистрация
    22.08.2008
    Адрес
    Moscow
    Возраст
    44
    Сообщений
    55
    Цитата Сообщение от foxfly Посмотреть сообщение
    Прямо как в старом анекдоте : пришел Пьер и все опошлил
    А как все хорошо начиналось : Smaalltim с год назад решил сделать устройство телеметрии.
    И сделал!
    Очень приличное, недорогое и работающее.
    Одно это- достойно большого уважения !
    Выложил информацию для всех.
    И тут приходит боксер- теоретик, утверждающий, что по его (авторитетному и непререкаемомому) мнению- все это "вторичный продукт" (почитайте В.Войновича- узнаете расшифровку термина )
    Батенька!
    А где можно увидеть что то, сделанное Вашими ручками?
    Или Вы действуете по театральному принципу: актера из меня не вышло, пойду в критики?
    Как- то не в тему.....
    1. Я тему ADC поднял на примере !СВОИХ! ошибок и наблюдений(вариометр, гироскоп для вертолета).
    2. Пусть Smalltim скажет, если я не хвалил OSD...и его самого!
    3. Только литературного кружка не хватает

  27. #1344

    Регистрация
    22.08.2008
    Адрес
    Moscow
    Возраст
    44
    Сообщений
    55
    To:Smalltim. Вполне рабочая конфигурация- ни добавить-ни убавить.
    1. Память на карте или чип?
    2. Из-за чего принято решение на 3.3в перейти?

  28. #1345

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    Память - чип.

    3.3В - из-за того, что на AT90USBKEY всё питается от 3.3В, и память максимум вроде как 3.6В. А так - непринципиально, 3.3В или 5В.

    К гуру есть пока один только вопрос:
    Можно ли обойтись 2-осевым магнитным датчиком, допуская погрешность по курсу в не строго стабилизированном состоянии? 3-х осевой правильнее, но для корректного проецирования вектора на север на плоскость нужно точно знать углы крена-тангажа. С пирометрами я никогда не узнаю их точно, несмотря на то, что стабилизировать самик/верт с пирометрами можно очень точно - нули я узнаю всегда

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

  29. #1346

    Регистрация
    29.10.2006
    Адрес
    Москва
    Возраст
    52
    Сообщений
    402
    Вы готовы мириться с погрешностью вычисления и отображения курса на базу до 10-15 градусов, когда углы крена и тангажа ненулевые? Точный-то курс автопилот всегда при необходимости сможет узнать, приведя крен и тангаж к нулям.
    Для возвращения на базу врукопашную вполне достаточно знать примерное направление, большая точность не нужна, всё равно ветром болтать будет. А по мере приближения к базе и гораздо большая погрешность не сыграет роли, главное попасть в район взлета.
    С уважением.

  30. #1347

    Регистрация
    29.06.2007
    Адрес
    Москва
    Возраст
    65
    Сообщений
    3,925
    Цитата Сообщение от lodeworx Посмотреть сообщение
    Как- то не в тему.....
    1. Я тему ADC поднял на примере !СВОИХ! ошибок и наблюдений(вариометр, гироскоп для вертолета).
    2. Пусть Smalltim скажет, если я не хвалил OSD...и его самого!
    3. Только литературного кружка не хватает
    То, что Вы анализируете свои ошибки- весьма похвально!
    Но вопрос был о другом: есть ли в Вашем творчестве успешные и работающие конструкции?
    А ошибок при любом реальном действии- у кого хочешь (в т.ч. и у меня- вагон)
    Как раз против превращения реальной темы в пустую болтовню- я и выступаю
    Предвидя встречный вопрос к себе- отправляю Вам в личку ссылки на мои конструкции (дабы не быть обвиненным в саморекламе )

  31. #1348

    Регистрация
    29.06.2007
    Адрес
    Москва
    Возраст
    65
    Сообщений
    3,925
    Цитата Сообщение от leliksan Посмотреть сообщение
    Для возвращения на базу врукопашную вполне достаточно знать примерное направление, большая точность не нужна, всё равно ветром болтать будет. А по мере приближения к базе и гораздо большая погрешность не сыграет роли, главное попасть в район взлета.
    С уважением.
    С погрешностью "курса на базу" в 15%- точно на нее не попадешь. Достаточно посчитать треугольник с гипотенузой 2км Даже в поле зрения не прилетишь.
    Но и биться скажем, за 0,1*- тоже смысла нет, поскольку раз в сек. приходит коррекция курса с GPS и самолет "доворачивает" в нужном направлении.
    2 Smalltim: если ставить компас- то 3х координатный, ибо врет при крене 2х- страшно.
    А с пирометрами- боюсь вы все бежите не туда: смысл FMA -два пирометра без усилительных каскадов (т.е. две термобатарейки DEXTER DST 60) включены встречно! А операционник нужен с нулевым дрейфом.(AD8552)
    Тем самым они компенсируют температурный уход, и на выходе операционника- всегда (при равной "засветке" пирометров) сидит точно половина питания- 1,65 в.
    Точность определения крена- около 3*

  32. #1349

    Регистрация
    27.12.2000
    Адрес
    С-Петербург
    Возраст
    42
    Сообщений
    1,747
    Цитата Сообщение от foxfly Посмотреть сообщение
    С погрешностью "курса на базу" в 15%- точно на нее не попадешь. Достаточно посчитать треугольник с гипотенузой 2км Даже в поле зрения не прилетишь.
    Но и биться скажем, за 0,1*- тоже смысла нет, поскольку раз в сек. приходит коррекция курса с GPS и самолет "доворачивает" в нужном направлении.
    Следует учитывать метод наведения.

    Например, при простейшем методе "погони" когда курс на базу расчитывается каждый раз с приходом новых данных ( а у нас координаты раз в секунду идут) при ошибке и 20 и30 градусов точно на базу он не попадет, но круги метров 300 описывать будет

    правда траектория будет полукругом

  33. #1350
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    48
    Сообщений
    655
    Цитата Сообщение от smalltim Посмотреть сообщение
    Вы готовы мириться с погрешностью вычисления и отображения курса на базу до 10-15 градусов
    15 градусов - это +-7 или +-15* ? Ну то есть речь про размах или про модуль ?
    Цитата Сообщение от leliksan Посмотреть сообщение
    Для возвращения на базу врукопашную вполне достаточно знать примерное направление,
    Цитата Сообщение от foxfly Посмотреть сообщение
    С погрешностью "курса на базу" в 15%- точно на нее не попадешь. Достаточно посчитать треугольник с гипотенузой 2км
    Считать гипотенузу на мой взгляд не имеет смысла - потому как при приближении к базе (а оно будет приближаться при +- 15* ошибке) гипотенуза тоже будет уменьшаться.
    Вот лично мне думается что когда в пара прыге на визуальной ориентации (и "автопилот" в голове которая нифига не калькулятор) 2-3 км удаление от базы с высотой 1000-1500 м (у моего купола равновесная вертикаль около 6 и горизонт около 17 м/сек) ошибка 15* - да её (ошибку) ваапще визуально не заметишь - поправка на ветер и болтанка купола значительно выше, да и невозможно постоянно глядеть "на базу", определяя направление - в воздухе полно доп факторов которые тоже внимание отвлекают, соответственно "поправки" в курс вносятся не очень часто, раз в 5 сек быть могет на высоте. Перед землёй на 100 и менее метрах - естественно всё внимание переключается на "базу" 1х1 метр к примеру ну или коридор 1х50 метров - поправки в курс вносятся чаще - около 2 раз в сек. И не надо забывать что "визуальный курс на базу" (который я определяю в парапрыге) и "курс вектора реального движенияна относительно земли базу" (который определяет ГПС - две большие разницы. А большинство парапрыгеров приходит на базу без ГПС при наличии видимости - и справляются ведь и мотора не имеют ваапще и на второй круг уйти ещё никому не удавалось. Лично я свою глазомерную точность оцениваю +-15 или даже более градусов. Главное идти в направлении базы, хотя бы в квадрант базы (90* или +-45 ошибки), согласен. Увеличение ошибки приведёт только к увеличению пути полёта, но цель всё-равно достигнется. А вообще SmallTim как любитель численного эксперимента мог бы и самостоятельно проверить "условие сходимости ряда" - при какой величине ошибки модель перестанет приходить на базу. Мне кажется что это будет ошибка более +- 90 град - когда мы перестанем приближаться к базе в полёте. А "комплексировать" магнитный и ГПС курсы придётся по разному при достаточно малом и достаточно большом удалении от базы - приоритеты должны поменятся.

  34. #1351

    Регистрация
    29.06.2007
    Адрес
    Москва
    Возраст
    65
    Сообщений
    3,925
    Цитата Сообщение от Psw Посмотреть сообщение
    15 градусов - это +-7 или +-15* ? Ну то есть речь про размах или про модуль ?


    Считать гипотенузу на мой взгляд не имеет смысла .
    Я ничего "на глаз" не оценивал.
    Все описанное проверялось сначала- ездой на машине, затем- плаванием на модели катера, которая дает условия, максимально приближенные к полету (кроме изменения высоты и возможности потери улетевшего аппарата) в том числе и снос от ветра.
    Только после всего этого- леталось на самолете...
    А умозрительные вычисления при проверке на местности столько "ляпов" дают- лучше и не пробовать

  35. #1352

    Регистрация
    29.10.2006
    Адрес
    Москва
    Возраст
    52
    Сообщений
    402
    По моему, погрешность 15% и 15 градусов совсем не одно и то же.
    С уважением.

  36. #1353

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    Погрешность в экстремальных случаях может быть до 90 градусов.
    Но ничего, с трехосевым магнитометром и пирометрами, думаю, будет полегче.
    Проблема пирометров в том, что с ними из разницы в сигналах со смотрящих вправо-влево и вперед-назад пирометров трудно высчитать точные углы крена и тангажа, ибо разница ведет себя хитро. С возрастанием угла разница возрастает, а на нулевых углах она нулевая, так что система стабилизации будет работать на ура.
    В то же время разница нифига не прямо пропорциональна углу. Но посчитать углы более-менее точно всё-таки можно. Надо взять и проинтегрировать распределение чувствительности датчика в конусе его поля зрения по, скажем, ста сегментам от 0 до 100 градусов, и составить табличку в формате "разница-угол", где разница - нормализованный (приведенный к интервалу от -1 до 1) разностный сигнал с пары пирометров, а угол - получаемый угол тангажа-крена.
    Но корректно работать это всё будет только если известно, как нормализовать текущую разницу сигналов с пирометров, а для этого надо знать, какой уровень сигнала будет, если один пирометр видит только землю, а второй только небо.
    Подозреваю, что и в том числе для этого продвинутые системы на пирометрах имеют третью пару пирометров, где один смотрит вниз, а второй вверх.

  37. #1354

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Цитата Сообщение от foxfly Посмотреть сообщение
    2 Smalltim: если ставить компас- то 3х координатный, ибо врет при крене 2х- страшно.
    Подтверждаю. У меня сейчас двухосевой - планировалось обмерять его в горизонтальном (по БСО) положении. При таком раскладе работает, но зависимость крена/указуемого_курса значительная и нелинейная.

    Цитата Сообщение от lodeworx Посмотреть сообщение
    А такие вещи,в программе, меня как-то пугают. А использует ли функция delay_us() таймер? Уверен нет- это макро на ассемблере, которое наверняка запрещает прерывания при входе в нее. Замечательно полезно!
    А вы хотите, чтобы автоматический генератор занимал таймеры по своему усмотрению? "Замечательно полезно!"
    Мы спорим о необходимости задержки между переключением канала и стартом преобразования, так? Граждане утверждают, что за нас всё решили и в любых условиях атмел сам догадается, что делать. Ибо его умные дядьки проектировали. При чём тут таймер?

    Цитата Сообщение от smalltim Посмотреть сообщение
    Но корректно работать это всё будет только если известно, как нормализовать текущую разницу сигналов с пирометров, а для этого надо знать, какой уровень сигнала будет, если один пирометр видит только землю, а второй только небо.
    Подозреваю, что и в том числе для этого продвинутые системы на пирометрах имеют третью пару пирометров, где один смотрит вниз, а второй вверх.
    Тот, что смотрит вниз, может смотреть на нагретую крышу дома, а вверх - на единственное в небе облако. И всё...
    Думаю, это сделано просто для того, чтобы не утруждать юзера калибровками. Включил - оно само отстроилось. И не надо крутить самолёт в руках.
    А нелинейность, видимо, вызвана углами преломления фильтра. Галий, как и турмалин, и кварц, имеет явно выраженную кристаллическую решётку и проождение лучей от угла неодинаково. + отсутствие оптической системы в пирометре. Это я в инете начитался

    А вообще, зачем нам углы крена? При влючённом стабилизаторе крена развернуть самолёт можно рулём направления, блинчиком. То есть автопилот будет держать крен автоматически, что позволит ему же управлять рулём направления не заботясь о завалах. Автопилот такого типа проще в разы, чем автопилот, обеспечивающий виражи. Насколько знаю, автопилоты некоторых учасников так и работают.

  38. #1355

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    >А нелинейность, видимо, вызвана углами преломления фильтра

    Фильтр там - плоская пластина, углы преломления не роляют.

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

    >А вообще, зачем нам углы крена? При влючённом стабилизаторе крена развернуть самолёт можно рулём направления, блинчиком. То есть автопилот будет держать крен автоматически, что позволит ему же управлять рулём направления не заботясь о завалах

    А вот у меня на Изике нет элеронов, я хочу автопилот с виражами

  39. #1356

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Есть возможность заказать чип для отрисовки MAX7456 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5516 . Стоимость 15 евро. Если есть желающие то пишите в личку, чем быстрее тем лучше завтра утром уже едут заказывать!

  40. #1357

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    Гуру, а как лучше организовать опрос магнитометров?

    Сет-ресет-меряем?
    Или сет-меряем-ресет-меряем и Vout=(Vset-Vreset)/2 ?

    С какой частотой достаточно будет делать сет-ресет? 1 Гц? 0.1Гц? Один раз после включения?

  41. #1358

    Регистрация
    29.06.2007
    Адрес
    Москва
    Возраст
    65
    Сообщений
    3,925
    Цитата Сообщение от smalltim Посмотреть сообщение
    а как лучше организовать опрос магнитометров?
    Ну, там все не так просто: www.nxp.com/acrobat_download/applicationnotes/AN00022_COMPASS.pdf

  42. #1359

    Регистрация
    22.08.2008
    Адрес
    Moscow
    Возраст
    44
    Сообщений
    55
    Цитата Сообщение от smalltim Посмотреть сообщение
    Гуру, а как лучше организовать опрос магнитометров?

    Сет-ресет-меряем?
    Или сет-меряем-ресет-меряем и Vout=(Vset-Vreset)/2 ?

    С какой частотой достаточно будет делать сет-ресет? 1 Гц? 0.1Гц? Один раз после включения?
    Ну эта формула для установочного вычисления offset- значения (OS), повниматочней
    сет-меряемVset, 2usec passed, ресет, меряем Vreset
    OS=(Vset-Vreset)/2
    Vout=Vreset-OS, меряем Vreset,Vout=Vreset-OS, меряем Vreset,Vout=Vreset-OS.........
    Период обновления OS в минутах. Как вариант один раз после включения. Не столь важно- всегда можно сделать чаще.
    Но раз в секунду и меньше точно не нада. Успехов!

  43. #1360

    Регистрация
    22.08.2008
    Адрес
    Moscow
    Возраст
    44
    Сообщений
    55
    Цитата Сообщение от smalltim Посмотреть сообщение
    Вы готовы мириться с погрешностью вычисления и отображения курса на базу до 10-15 градусов, когда углы крена и тангажа ненулевые? Точный-то курс автопилот всегда при необходимости сможет узнать, приведя крен и тангаж к нулям.
    Так и есть. Реальный компас "бычий глаз" в виражах такое исполняет, да и в горизонте от вибрации и толчков может на 360 провернуться... Поэтому в полете используется ГПК(гирополукомпас)- выставляется на земле. Или ГМК- то- же, но с коррекцией от магнитного(XYZamr +angular rate sensor+инклинометр для начальной установки). В больших виражи считаются заранее, при составлении плана полета. При наличии на борту эвм, задача упрощается: горизонт-имеем курс (истинный и магнитный), скорость отн. земли. Имея УВС(указатель возд. скорости) считаем угол ветра и скорость ветра. Делаем небольшой доворот на ЗК (заданный курс) с фиксированным креном, режимом и высотой в течении одной секунды,например->в горизонт->получаем новый курс, а так- же угловую скорость разворота при заданном режиме. Полагаю, дальше все просто и понятно- задаем новое время виража(при параметрах, равных предыдущему) для выхода на ЗК. Никаких синусоид и полукругов. Это из штурманской подготовки..

Закрытая тема

Похожие темы

  1. Ответов: 89
    Последнее сообщение: 28.09.2010, 23:24
  2. Smalltim OSD and autopilot (часть 1)
    от kulikof в разделе Полеты по камере, телеметрия
    Ответов: 1999
    Последнее сообщение: 24.08.2010, 21:48
  3. E-Revo 1:16 (часть 1)
    от Вовчик в разделе Минимодели масштаба 1:14 - 1:22
    Ответов: 1999
    Последнее сообщение: 22.07.2010, 12:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения