Самодельный осциллограф на AVR

Самодельный осциллограф на AVR

Характеристики

Частота измерения: 10 Гц — 7.7 кГц
Макс. входное напряжение: 24В AC / 30В DC
Напряжение питания: 12В DC
Разрешение экрана: 128×64 пикселей
Область экрана осциллограммы: 100×64 пикселей
Информационная область экрана: 28×64 пикселей
Режим триггера: автоматический

Введение

Однажды, просматривая различные интернет сайты по электронике, я наткнулся на очень любопытный проект осциллографа, который был спроектирован с использованием МК PIC18F2550 и графического LCD с контроллером KS0108. Это был веб-сайт Steven Cholewiak. Это была хорошая схема и я решил разработать свой проект осциллографа и использование языка С, на котором я программировал последние года, вместо ассемблера. В качестве среды разработки я использовал WinAVR, которая основывается на open source AVR-GNU компиляторе и прекрасно работает с AVR Studio 4. Графическую библиотеку я разработал сам, специально для данного проекта. Если вы захотите ее использовать для каких-то других проектов, то ее необходимо переделывать. При измерении прямоугольного сигнала, максимальная частота, при которой вы увидите хорошую осциллограмму составляет около 5 кГц. Для других форм сигналов (синусоида или треугольный сигнал) максимальная частота составляет около 1 кГц.

Принципиальная схема AVR-осциллографа приведена на картинке ниже (нажмите для увеличения):

Схема осциллографа на AVR

Напряжение питания схемы составляет 12 вольт постоянного тока. Из этого напряжения, в дальнейшем получается еще 2 напряжения: +8.2В для IC1 и +5В для IC2, IC3. Устройство может измерять входное напряжение от +2.5В до -2.5В или от 0 до +5В, зависящее от позиции переключателя S1 (выбор типа входного тока: постоянный или переменный). При использовании пробника 1:10, входное напряжение соответственно может быть увеличено в 10 раз. Кроме того, переключателем S2, можно установить дополнительно деление напряжения на 2.

Прошивка ATmega32

Файл прошивки: AVR_oscilloscope.hex, при выборе фьюзов необходимо указать использование внешнего кварца. После, необходимо обязательно отключить JTAG интерфейс, если этого не сделать, то на осциллографе будет отображаться экран инициализации, а после он будет уходить в перезагрузку.

Установка фьюзов AVR

Настройка

Для настройки прибора нужно выполнить всего 2 вещи: настроить контрастность LCD при помощи подстроечного резистора Р2 и выставить центр осциллограммы при помощи подстроечного резистора Р1.

Использование

Вы можете перемещать луч осциллограммы вверх или вниз путем нажатия кнопок S8 и S4. Один квадрат на экране, соответствует 1В.
При помощи кнопок S7 и S3 можно увеличивать или уменьшать частоту измерений. Минимальная частота формы сигнала, которая может быть отображена на LCD составляет 460Гц. Если необходимо посмотреть сигнал с более низкой частотой, например 30Гц, то необходимо нажать S7 для сжатия осциллограммы или S3 для растяжения.
В осциллографе используется автоматический режим триггера. Это означает, что если входной сигнал повторяющийся (к примеру треугольник) то триггер работает хорошо. Но если, форма сигнала постоянно меняется (к примеру какая-то последовательность данных), то для фиксации изображения необходимо нажать кнопку S6. Повторное нажатие S6 возвращает в нормальный режим.

Печатная плата осциллографа

Видео работы осциллографа

Фото осциллографа

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 Операционный усилитель LM358 1
IC2 LCD-дисплей DEM128064A 1 128×64, контроллер KS0108
IC3 МК AVR 8-бит ATmega32 1
IC4 Линейный регулятор LM7805 1
D1 Стабилитрон 1N4738A 1 8.2В
D2 Выпрямительный диод 1N4007 1
C1 Конденсатор 470 нФ 1
C2 Конденсатор 27 пФ 1
C3 Электролитический конденсатор 22 мкФ 16 В 1
C4, C7, C9 Конденсатор 100 нФ 3
C5, C6 Конденсатор 22 пФ 2
C8 Электролитический конденсатор 100 мкФ 25 В 1
R1, R2, R4 Резистор 1 МОм 3
R3, R5 Резистор 390 кОм 2
R6 Резистор 56 Ом 1
R7 Резистор 220 Ом 1
P1 Подстроечный резистор 10 кОм 1
P2 Подстроечный резистор 22 кОм 1
X1 Кварц 16 МГц 1
S1, S2, S5 Переключатель 3
S3, S4, S6-S8 Кнопка замыкающая 5
K1 Разъём 2 контакта 1 Вход сигнала
K2 Разъём 2 контакта 1 Питание