Хотите самостоятельно сделать дешевый осциллограф, который удовлетворял основные потребности в плане измерения электрических величин? Это возможно благодаря плате Arduino. На основе Arduino можно собрать простой осциллограф для ПК, который по себестоимости будет менее $5.

Характеристики и особенности самодельного осциллографа на Arduino:
- 50000 выборок в секунду (можно довести до 110000, но тогда сигнал будет очень зашумленным)
- Автотриггер
- Счетчик частоты
- Достаточно точные показания напряжения (в зависимости от точности резисторов, используемых для делителей напряжения)
- Дополнительно можно выбрать диапазон напряжения: 5В, 6.6В, 10В, 20В
Компоненты для осциллографа:
- Arduino Leonardo или Arduino Micro
- Два зажима типа крокодил
- Конденсатор 0.1 мкФ (опционально)
- Стабилитрон 5.1В (опционально)
- ПК с установленным компилятором языка Processing
Также дополнительно для делителей напряжения (если вы хотите измерять напряжение выше 5 В) потребуется:
- Два двухполюсных переключателя
- Два резистора 3 КОм
- Два резистора 1.5 КОм
- Один резистор 1 КОм
- Небольшая макетная плата

Если вам нужно измерять только напряжение до 5 В, то можете не подключать делители напряжения, а контакты щупов подключить непосредственно на землю и на аналоговый порт A1 на плате Arduino. Тогда вам придется немного изменить код. В коде для Arduino поменяйте:
ADMUX = B00000000; // выбор внешнего опорного напряжения и порта 5 (A0)
на
ADMUX = B01000000; // выбор внутреннего опорного напряжения (Vcc - 5V) и порта 5 (A0)
В коде для processing поменяйте:
boolean switch1=((buffer[writeIndex*2]&(byte)8)==8);
boolean switch2=((buffer[writeIndex*2]&(byte)4)==4);
if (!switch1&&!switch2) voltageRange=20;
if (!switch1&&switch2) voltageRange=10;
if (switch1&&!switch2) voltageRange=6.64;
if (switch1&&switch2) voltageRange=5;
на
voltageRange=5;
Скетч для Arduino и код на processing:
scope.ino
scopeP2.pde
scopeP3.pde
Схема осциллографа на Arduino с делителями напряжения:

В левой стороне схемы расположен делитель напряжения с коэффициентом 1:4. То есть к нему можно подключать напряжение да 20 В.
Справа расположен делитель напряжения, переключающийся между линиями 5 В и опорного напряжения (Aref). Вы можете использовать переключатели для установки диапазона измерения: 5В, 6.64В, 10В или 20В. Второй контакт каждого переключателя соединяется с цифровым входом Arduino (D3 и D4). Это работает следующим образом. Если программа настроена на работу с опорным напряжением, АЦП сравнивает напряжение аналоговых входов с Aref вместо 5В. Например, мы измеряем 5 В, тогда напряжение на A1 будет 5В/4=1.25 В. Если оба переключателя разомкнуты, то напряжение на Aref будет 5В, АЦП прочитает 1.25/5=25%. Если первый переключатель разомкнут, а второй замкнут, напряжение на Aref будет 2.5В, АЦП прочитает 1.25/2.5=50%. Если первый переключатель замкнут, а второй разомкнут, напряжение на Aref будет 1.66В, АЦП прочитает 1.25/1.66=75%. Если оба переключателя замкнуты, напряжение на Aref будет 1.25В, АЦП прочитает 1.25/1.25=100%.
Дополнительными элементами в схеме являются конденсатор между линией щупа и землей и Стабилитрон 5.1V. Конденсатор позволяет уменьшить шумы измеряемых сигналов, а стабилитрон защищает Arduino от перенапряжения.
Помните:
Если аналоговое опорное напряжение выбрано внутреннее (по умолчанию), и вы подводите напряжение питания к AREF, то это может вывести из строя Arduino.
Аналоговые входы не могут работать с отрицательным напряжением.
Не превышайте напряжения 5 В непосредственно на выводах Arduino.
© digitrode.ru