Jump to content

    

peotr

Участник
  • Content Count

    96
  • Joined

  • Last visited

Community Reputation

0 Обычный

About peotr

  • Rank
    Частый гость

Recent Profile Visitors

1425 profile views
  1. От аналогового сенсора сначала отпирался. Рассматривал ADIS16228. Но заказчик настоял на аналоговом. Интересно Ваше мнение о ADIS16228 (или подобных ему)? Если не секрет, что используете для измерения углов? Коэффициенты для термокалибровки получаете в одной точке, или во всём измеряемом диапазоне? Если в каждой характерной точке диапазона получать значения во всём температурном диапазоне, получается накладно. Разве не верно утверждение, что, используя полиномы, в любой измеряемой точке некоторой функции можно получить полную информацию о поведение функции на всём интервале наблюдения? В таком случае, достаточно использовать одну координатную точку для нахождения параметров термокомпенсации в заданном температурном диапазоне. Как Вы определяете необходимую степень полинома? Извините за частое "как". Спасибо.
  2. Если я получу положительный результат для стабилизации нулевого сигнала, с остальным я уже справлюсь. Мне требуется одно: получить результат термокалибровки, пусть в недостаточных пределах, остальное - дело напряга и времени. Хм, запутанно сказал. Т.е. если я пойму принцип-механизм-алгоритм-идею предложенной термокалибровки, а это значит, что формула будет приводить к более точному результату "в любой точке Земного Шара" для всех точек измерения, остальное доведу "до кондиции". Спасибо.
  3. Простите, не правильно Вас понял. Спасибо за участие. Именно такой порядок калибровки я наблюдал с серийными изделиями НПО "Луч": сначала калибровка по осям, затем в одном положении в интервале температур термокалибровка. Пытаюсь воспроизвести подобное со своими железками. Споткнулся только на термокалибровке. Не понял, о каких параметрах Вы говорите? Выходные напряжения акселерометров нестабильны от температуры. Естественно, МНК даст различный коэффициент, только что это даст? Создавать полином для этого коэффициента? Уверен, есть более простое решение.
  4. Вы хотите проэкзаменовать меня? Похоже, это на Ваша тема. МНК всего-навсего по 12-ти точкам на специальном калибровочном стенде. Если вам интересно, магнитометры удалось довести до +-2 градусов во всём диапазоне 3D кроме +- 5 градусов по вертикали. Там я использую принцип магнитного отклонителя. Впрочем, это уже почти флуд. О, Вы в теме. Приятно. Использую арзамасский блок акселерометров БЧЭ (3 оси). Аналоговый выход. Про аппроксимацию полиномом я уже писал выше: громоздко, трудоёмко, целесообразно для единичных экземпляров. Не верится, что нет хорошего матаппарата. Находил что-то у Ковшова, но там чёрт ногу сломит. Но, похоже, придётся перекреститься, и-таки выгрызть оттуда методу. Конечно, для разных сенсоров будут разные коэффициенты, не вопрос. Но методика должна быть одна. Иными словами должен быть один Чёрный Ящик, на входе сигналы конкретных сенсоров, на выходе коэффициенты для конкретных сенсоров. Ну, Вы меня поняли
  5. Я добился погрешности измерения при постоянной температуре углов наклона (Pitch) не более 0.1 градуса в диапазоне от 0 до 90 градусов и не более 0.5 градусов тангажа (Roll) в диапазоне от 0 до 360 градусов. Вижу, мы друг друга не понимаем.
  6. Скажите честно, Вы сейчас на скорую руку набили в поисковике "калибровка акселерометра", и,не читая, вывалили мне этот "материал"? Спасибо, я это уже многократно прожёвывал, и не вижу здесь ну никакой практической пользы! Спасибо.
  7. Не будете столь любезны показать "на кошках" какие-нибудь варианты? Уверен, далеко не у одного меня такая проблема, должны же быть примеры. Ох, если бы это была "моя модель", я бы принял свою недалёкость в этом вопросе, и "сошёл бы с дистанции". Но, повторюсь, модель разработана не "лаптем во щах", и при этом не было упомянуто об ограничениях работы этой модели. Всё сказанное Вами, при всём уважении, слишком общо для конструктивного принятия решения. Спасибо.
  8. Pengozoid, Ваша идея понятна. Нахожу экспериментально точки с каким-либо шагом, аппроксимирую их какой-либо функцией, и - ву-а ля! Но, во-первых, я хотел для начала разобраться, почему метод калибровки, предложенный маститым учреждением, хорошо работает только для одной точки, а для других точек УХУДШАЕТ результат? Предполагаю, что я чего-то не понимаю, и хочу это понять. amaora указывает на НЕДОСТАТОЧНОСТЬ методики, однако, НЕДОСТАТОЧНОСТЬ не должна приводить к УХУДШЕНИЮ результата, а лишь к НЕДОСТАТОЧНОСТИ ожидаемого эффекта. Предположительно, именно нестабильность нулевых сигналов вносит НАИБОЛЬШИЙ вклад в температурную погрешность, а предложенная методика как раз и разработана для нивелировки этого самого "наибольшего вклада" во-вторых, что годится для радиолюбительских поделок в единичных экземплярах едва ли подойдёт для серьёзных разработок и эксплуатации изделий вдалеке от специалистов НИИ и КБ, способных заниматься сложной обработкой результатов. Спасибо.
  9. amaora, я правильно Вас понял, что в моём случае трёхосного акселерометра нужно находить коэффициенты на каждый градус от 0 до 90 (как минимум!) по всем комбинациям = 90!/((90-3)!*3!))? Где найти контроллер, способный обработать такую информацию? Ну, да, наверное, нужно рассматривать каждую ось отдельно. Тогда число комбинаций 90+90+90 :) Спасибо.
  10. Здравствуйте Знатоки! Есть необходимость термокалибровки акселерометров. В Инете инфы почти нет, по крайней мере Гугл с Яндексом об этом говорят. Наиболее конкретное нашёл тут: http://technomag.edu.ru/doc/164756.html Однако, данный алгоритм У МЕНЯ хорошо работает лишь на конкретной точке акселерометра, на которой производилась калибровка. Применение полученных калибровочных коэффициентов на других значениях акселерометра не эффективна, и порой приводит к искажению выходных значений. Возможно, я не правильно пользуюсь алгоритмом. Я поступаю следующим образом: ставлю акселерометр в определённое положение, снимаю с него показания в диапазоне температур от 28 до 105 град.С через каждые 7 градусов, затем, по формуле из источника, указанного выше, нахожу коэффициенты. Повторный нагрев показал эффективность метода. Однако, при изменении положения акселерометра применение полученных ранее коэффициентов приводит лишь к искажению результата. Не думаю, что калибровочные коэффициенты зависят от положения акселерометра, и их необходимо постоянно пересчитывать. Рассчитываю на вашу помощь, Знатоки! Спасибо.
  11. Простите за тупость. Но перечитал ещё раз даташит: ADC0CON2: 0 1 => REFIN± Selected - верно! 0 0 0 0 => AIN1–AINCOM - квазидифференициальное включение, верно! На REFIN подал +2.5 V - верно! ADC0CON1, #00000111b => +-2.5 V, стр.43 datasheet - верно. (5 UNI Primary ADC Unipolar Bit, = 0 => Bipolar! - верно) Где я туплю??? P.S. Наверное, я ввёл в заблуждение записью REF +-2.5 V , которую я тупо скопировал где-то из даташита. На ножку REFIN я подаю постоянное откалиброванное напряжение 2,5 В.
  12. Здравствуйте, уважаемые знатоки! Спасите мои мозги от полного расплавления! :( Бьюсь с адукой 845. Итак: ADC0CON1, #00000111b ;+-2.5 V, стр.43 datasheet ADC0CON2, #01000000b ;<=> 040h, Vneshnij REF +-2.5 V, AIN1-AINCOM Другие регистры несущественны для этой темы. На вход подаю реально: 2,758 В, что соответствует 0,258 В квазидифференциального сигнала (Vref=2.5V ) По формуле, предложенной в datasheet: Code = 2^(N-1) * [(AIN / VREF) + 1] Получаем код (использую два старших байта): 2^15*((2.758-2.5)/2.5 + 1) = 36150 <=> 0b 1000 1101 0011 0110 (для наглядности в бинарном коде) – такое должен получить на выходе ADuC, далее нужно вычесть «ноль» = 0х8000, получим: 0b 0000 1101 0011 0110, таким образом, получим искомое значение 3382 (проверял, всё как в аптеке!) НО! У меня на выходе код в реалии: 34397 <=> 0b 1000 0110 0101 1101, что после обработки даст 1629, что в два раза меньше необходимого. Обслюнявил весь даташит, облизал все регистры… Где зарыта проклятая собака, чёрт её знает. П А М А Г И Т Е !!!!!!!!!!!!!!!!!!!!!!!!!!! Ой, что-то над заголовком появилась надпись "Жалоба". Так надо? Вроде, раньше такого не было.
  13. ATmega32U4, управление портом PORTF

    Цитата(ikm @ Nov 16 2017, 10:59) *** Думаю более опытные коллеги опишут это более правильными словами. На соседнем форуме мне подсказали, что проблема в установке фьюзов. По умолчанию злосчастные пины установлены для работы с JTAG! Проверка полностью подтвердила догадку. Спасибо.
  14. Здравствуйте, уважаемые АВР-щики! В работе с ATmega32U4 возникла необходимость использовать порт F цифровым выходом. Настраивал следующим образом: Первый вариант: DDRF = B11111111; Второй вариант: DDRF = DDRF | B11110011; (на всякий случай, в нём нет PF2, PF3) делаю тренировочный оператор: PORTF = B10101010; получаю: 11111110 В ходе анализа пришёл к выводу, что PF0 и PF1 работают правильно, а вот, что старше, - тупо пишет "1". Что за хрень, ёрш его медь?.. Спасибо.
  15. Цитата(Сергей Борщ @ Sep 18 2017, 20:02) Достаточно вставить в разрыв линии MISO резистор сопротивлением 4.7-10 кОм. С одной стороны резистора АЦП, со второй - контроллер и разъем программирования. При подключении программатора он (программатор) будет "перетягивать" выход АЦП. А что при этом подается на входы АЦП по линиям SCLK и MOSI нас мало интересует. Да и АЦП, наверняка, тоже интересовать не будет - линия CS -то в неактивном состоянии (можно ее для уверенности дополнительно подтянуть к плюсу подтягивающим резистором). А если CS неактивна, необходим ли резистор в цепи MISO АЦП? Спасибо.