Микроконтроллер формирует аналоговые кривые Гаусса без использования ЦАП

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

Широкий выбор продукции MEAN WELL для промавтоматики на складе КОМПЭЛ

Много лет назад, когда я был еще студентом, мы с профессором построили несколько генераторов гауссовых кривых для использования студентами в учебной лаборатории. Поскольку в те времена еще не было недорогих микроконтроллеров, вы можете себе представить сложность такой схемы. Спустя несколько десятилетий мне понадобился генератор гауссовых кривых для проекта по разработке программных средств. Конечно, всегда можно сформировать сигнал произвольной формы с помощью микроконтроллера и цифро-аналогового преобразователя (ЦАП). Хотя недорогие микроконтроллеры содержат аналого-цифровые преобразователи (АЦП) высокого разрешения, ЦАП являются периферийными компонентами.

Простая схема с микроконтроллером (Рисунок 1) формирует аналоговую гауссову кривую без использования ЦАП. Ключом к этой конструкции является то, что большинство микроконтроллеров позволяют динамически реконфигурировать свои контакты ввода-вывода, чтобы они работали либо как высокоимпедансные входы, либо как выходы. Аналоговое ядро схемы представляет собой интегратор на операционном усилителе (IC2b), опорное напряжение которого устанавливается равным половине напряжения питания с помощью другой половины (IC2a) сдвоенной микросхемы.

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

Когда выход GP1 микроконтроллера находится в высокоимпедансном состоянии, интегратор IC2b не заряжается и не разряжается, и выходное напряжение остается постоянным. Когда выходное напряжение, считанное аналоговым входом AN0 микроконтроллера, показывает, что требуется большее выходное напряжение, программа устанавливает на выводе GP1 низкий логический уровень, чтобы интегратор заряжался.

При обнаружении слишком высокого напряжения GP1 устанавливается в состояние «лог. 1», и интегратор разряжается. Программа, листинг которой приведен в разделе Загрузки, разработана таким образом, чтобы этот следящий контур демпфировался для предотвращения чрезмерно затянутого «поиска» возле заданного напряжения, как показано на диаграмме выходного сигнала (Рисунок 2).

Шум, как видно на этой «ленточной диаграмме» схемы, имитирует на выходе типичный сигнал данных.
Рисунок 2. Шум, как видно на этой «ленточной диаграмме» схемы,
имитирует на выходе типичный сигнал данных.

Rail-to-rail операционные усилители, подобные тому, который используется в этой схеме, плохо работают с сигналами вблизи шин питания, поэтому получение сигнала с истинно нулевым напряжением при однополярном питании невозможно. Лабораторные измерения при работе схемы на высокоимпедансную нагрузку показывают минимальное напряжение около 30 мВ. Кроме того, этот подход к формированию напряжения не будет работать для быстро меняющихся сигналов. Для используемого 4-мегагерцового процессора пределом являются два обновления в секунду.

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

  1. Datasheet Microchip PIC12F675
  2. Datasheet Texas Instruments TLC2272

ООО «Мегател», ИНН 3666086782, ОГРН 1033600037020

Добавить свое объявление

* заполните обязательные данные

Статистика eFaster:

посетило сегодня 100
сейчас смотрят 24
представлено поставщиков 1576
загружено
позиций
25 067 862