Схема простого осциллографического пробника на базе Arduino приведена на Рисунке 1. Схема по номерам пинов адаптирована для mega2560, но легко можно адаптировать под другую ардуину. Можно выполнить в виде шилд.
Необходимое железо:
- Arduino Mega2560;
- шилд дисплея (не имеет значения, какой, лучше совместимый с библиотеками от Адафрут);
- операционный усилитель типа LM258 или подобный
- рассыпуха (резисторы, конденсаторы, переключатели).
Тактико-технические характеристики:
- максимальная частота входного сигнала - 20 кГц;
- размах входного сигнала - 25В;
- минимальное "деление" наблюдаемого сигнала - 1В;
- сопротивление входа - минимальное для диапазона 25В - примерно 840кОм;
- емкость входа - примерно 25 пФ.
Сразу скажу, пробник строился для решения собственных задач. Характеристики в части входной цепи легко можно подстроить по себя.
Пробежимся по схеме. На входе разделяющий конденсатор, S1 позволяет выполнять измерения в "закрытом" или "открытом" режиме для постоянной составляющей. Далее входной аттенюатор. Собран по классической схеме. Движковые переключатели S2 и S3 объединены в одну группу с общим движком. Переключатель S3 "дает знать" плате ардуино какой диапазон включен. По схемотехнике входных цепей есть хороший цикл статей , желательно глянуть перед постройкой. "Скудный" входной аттенюатор обусловлен отсутствием под руками переключателей с необходимым количеством позиций. В качестве усилителей использовался LM258 - общего применения, с достаточно большим напряжением смещения, и небольшим частотным диапазоном. Можно использовать любой ОУ, характеристики пробника мало изменятся. U1A - предусилитель, R6 - регулировка коэффициента усиления. Номинал смело можно уменьшить, просто другого потенциометра не было. После входного аттенюатора при максимальных по диапазонам напряжений входного сигнала выходной сигнал +-до 1В. Выходной сигнал на U1A ограничен питанием и максимум до +-3.5В. Это определяет тип опорного напряжения для АЦП. У MEGA2560 есть внутренний источник Vref 2.56В, его и используем. Для других ардуино можно использовать внутренний источник 1.1В, или построить внешний источник опорного напряжения. Есть еще вариант использование операционного усилителя rail-to-rail (выходной практически равно питанию), но обычно они не валяются на столе под руками :), тогда Vref можно сделать равным Vcc. Вариант построения на прецизионном стабилитроне на Рисунке 2.
При снижении требований к Vref до +-2% можно использовать TL431. Вариант из даташита на Рисунке 3.
На делителе R4, R7 организована вольтдобавка до уровня Vref/2. При "правильном" построении схемы с внешним опорным источником на резистор R7 подается Vref. U1b является повторителем без инверсии. Диоды D1, D2 защищают вход АЦП. Питание осуществляется через преобразователь +5В в -5В . В моем случае, MEGA2560 использовалась после "поджарки" одного из пинов PWM, и вместе с шилд дисплея потребляла 300 мА, что для внутреннего стабилизатора +5В без радиатора весьма жарко (жалкие попытки оживить мегу здесь). И лишние 70 мА при прогреве сильно сажало стабилизатор. Я запитал схему отдельным 7805. Ардуино и схема пробника питаются от лабораторного источника питания (трансформаторным) напряжением 9В. Схему собирал на макетной плате, выглядит страшно :) но красота вторична, главное результат. Щуп сделан из простого экранированного провода, в качестве разъема - гнездо 3.5мм. Сейчас полетят гайки в мою сторону - согласование, потери и т.д. Все верно. Это не измерительный прибор, это посмотреть примерно, есть, что или нет, это пробник.
Фотографии ужасные, экран бликует, солнце светит, прошу извинения.
Наладку схемы начинают с выставления на выводе 5 U1b напряжения Vref/2 при коротко замкнутом входе пробника резистором R12. Подав на вход пробника +5В в режиме аттенюатора 5В (820кОм+180кОм) на выходе добиваемся +2.56В резистором R6. На этом предварительная настройка закончена. О программном обеспечении и нюансах настройки описано в следующей статье. Для тех, кто спешит, скетч.
С уважением. (не пинайте сильно, я не писатель, я паятель:)
Мой блог о радио https://sp8plus.blogspot.com/