Цифровой осциллограф на микроконтроллере AVR (ATmega32, C)
Характеристики.
Измеряемая частота Входное напряжение напряжение питания Размеры дисплея Рабочий размер Авто переключение | до 5 кГц (меандр) 24V AC / 30V DC 12V DC 128x64 pixels 100x64 pixels |
Несколько месяцев назад, во время сёрфинга в интернете, я наткнулся на осциллограф на микроконтроллере PIC18F2550 и графическом дисплее на контроллере KS0108. Это был сайт Steven Cholewiak. Я ещё никогда не видел осциллограф на одном микроконтроллере. Для меня это было воодушевляющим и я решил сделать нечто подобное, но на языке C. Лучшим решением для меня было использовать WinAVR, он базирован на основе общедоступного компилятора AVR-GNU и отлично работает с AVR studio 4. Графическая библиотека, которую я использовал, была создана мною специально для этого проекта. Она не для общего использования. Если вы хотите включить её в свой код, вам надо будет переделать её под ваши нужды. Максимальная частота которую может отобразить этот осциллограф это 5 кГц, для меандра. Для других сигналов (синус, треугольник) - 4 кГц.
Описание
Напряжение питания схемы - 12В. С помощью преобразователей оно преобразуется в 8.2 В для IC1 и 5 В для IC2 и IC3. Эта схема может измерять напряжение от -2.5 В до +2.5 В или от 0 В до +5 В в зависимости от состояния переключателя S1 (переменный или постоянный ток). Используя делитель 1:10 можно измерять в 10 раз большее напряжение. Кроме того с помощью S2 можно дополнительно разделить входное напряжение на 2.
Программирование ATmega32.
AVR_oscilloscope.hex - прошивка для микроконтроллера. При прошивке выставьте FUSE биты микроконтроллера на тактирование от внешнего кварца. После прошивки обязательно отключите JTAG! Если этого не сделать, при включении вы увидите начальный экран и при переходе на экран осциллографа вы опять увидите начальный экран.
Калибровка.
Только две вещи нуждаются в калибровке. Это переменные резисторы P1 и P2. P1 нужен для перемещения луча в центр экрана, а P2 для настройки контрастности дисплея.
Использование.
Вы можете перемещать луч вверх или вниз по экрану, нажав кнопку S8 или S4, соответственно. Напряжение в 1 В соответствует одному делению на дисплее. С S7 и S3 вы можете увеличить или уменьшить скорость измерения. Нажав на кнопку S6 можно заморозить экран.
Печатная плата (101x160mm) и расположение компонентов.
Схема.
V1.01 Скачать исходный код и прошивку.
V1.00 Скачать исходный код, прошивку и печатную плату.
ПО для создания собственного логотипа размерами 128x64 для графического LCD.
Первоисточник (на английском). Перевод осуществлён администрацией сайта eldigi.ru