Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

290 Часть ///. Практическое программирование микроконтроллеров АVR где а0 - значение у при х, равном нулю (нулевой коэффициент), а а1 часто называ­ ют крутизной преобразования. В подробности реализации метода наименьших квадратов для построения градуи­ ровочных уравнений по экспериментальным данным вдаваться бессмысленно, т. к. его в современных условиях обычно представляют в виде готовой программы (та­ кую программу под названием RegrStat, специально приспособленную для нужд калибровки электронных датчиков, вы можете скачать из раздела Программы мо­ ей домашней странички, расположенной по адресу http://revich.lib.ru ). Умеет строить простейшие регрессионные зависимости (правда, только первой степени) и Microsoft Excel, и, конечно, всяческие «матлабьш. В ряде случаев измерения уже бывают 11роведены за вас, и по крайней мере усредненные значения коэффициентов для ориентировочных расчетов вы можете получить из документации на датчики. ЗАМЕТКИ НА ПОЛЯХ Построение удобного для расчетов уравнения, описывающего кривую, проходящую через экспериментальные точки, называется аппроксимацией. Упрощенной разновид­ ностью аппроксимации является интерполяция (расчет промежуточных значений ме­ жду заданными - обычно в виде таблицы - точками) . Если у вас имеется достаточно большой массив экспериментальных данных, равномерно распределенных по рабо­ чей области датчика, а зависимость имеет выраженный нелинейный характер, то при­ менение интерполяции может оказаться с точки зрения вычислений выгоднее расчета полинома, аппроксимирующего все точки сразу: вы просто располагаете таблицу зна­ чений в памяти и на ее основе всякий раз рассчитываете интерполированное значе­ ние в нужной точке. Следует предостеречь читателя от применения еще одной разновидности аппрокси­ мации - экстраполяции, т. е. расчета на основе аппроксимирующего полинома зна­ чений вне области , в которой производилась калибровка . Для полиномиальной ап­ проксимации методом наименьших квадратов экстраполяция принципиально не ра­ ботает - вне расчетной области полученный полином может давать совершенно ложные значения . Поэтому, если у вас нет объективных причин полагать , что вне об­ ласти , в которой производилась калибровка , данные будут описываться той же зави­ симостью, в калибровку следует обязательно включать крайние значения диапазона измерений . Иногда в документации прямо указывают коэффициенты ai , иногда приводят гра­ дуировочные таблицы соответствия физической величины электрическому сигналу на выходе, по которым эти коэффициенты можно вычислить. Для самых простых линейных датчиков указывают две крайние величины: значения сигнала у0 при х = О, которое равно коэффициенту а0, и Ymax при Xmax - максимальном значении шкалы, из которых коэффициент ai получается простым делением на калькуляторе: (ymax - Yo)lxmax · Но не забывайте, что вы таким образом получите только зависимость для электрического сигнала на выходе аналогового датчика, а для получения физи­ ческих величин на выходе контроллера его еще нужно «пропустить» через коэффи­ циенты преобразования АЦП, и в целом задача оказывается не такой уж и простой (о чем далее).

RkJQdWJsaXNoZXIy MTExODQxMg==