Осциллограф на микроконтроллере ATMEGA32А

Поскольку интегрированный в микроконтроллер АЦП довольно медленный, было принято решение использовать внешний скоростной АЦП AD9280. В качестве дисплея используется WG12864A (128*64). Прошивка написана на С в компиляторе MikroC pro for AVR 5.60.

Характеристики осциллографа:

- Входное сопротивление 100 кОм;

- Максимальная частота дискретизации 9 МГц;

- Минимальная частота 25 Гц;

- Максимальная частота 500 кГц;

- Минимальное напряжение +/- 0,25 В;

- Максимальное напряжение +/- 25 В;

- Напряжение питания 9 В;

Осциллограф на микроконтроллере ATMEGA32А

  С правой стороны на экране отображается амплитудное значение напряжения, среднеквадратическое значение напряжения, частота в кГц, тип синхронизации и делитель. ATMEGA32 работает на повышенной частоте 26,601712 МГц. Кварц выпаял с денди. Для стабильной работы ATMEGA32 питается повышенным напряжением 5,4 В. Для этого в минусовой вывод стабилизатора 7805 впаяно 2 диода Шоттки с падением на каждом 0,2 В. Если ATMEGA32 не будет стабильно работать на 26,601712 МГц, можно поставить кварц на 20 МГц или поставить внешний генератор на 32 МГц. При частотах, отличных от 26,601712 МГц необходимо изменить частоту в настройках проекта и подобрать другие константы для подсчета частоты. Стабилизатор 7805 необходимо поставить на радиатор. В качестве входного разъема используется ззвуковой 3,5 мм. Микросхема ICL7660 делает отрицательное напряжение -5,4 В, которое необходимо для питания ОУ и для смещения переменного сигнала в плюсовой диапазон. В качестве ОУ я использовал LM358, питал его напряжением 6,5 В от стабилитрона. LM358 сильно искажает сигнал на частотах выше 20 кГц. Прямоугольные импульсы на высоких частотах можно увидеть на фото.

Осциллограф на микроконтроллере ATMEGA32А

 ОУ необходимо использовать с частотой 10 МГц. Возможно, подойдет lm833. Если ОУ будет rail-to-rail, то можно питать его от 5,4 V. Например, MCP6H92.  

Диапазоны переключаются трехпозиционным переключателем -  1:1 (25 V); 1:4 (10 V); 1:10 (2,5 V).

 

Для управления осциллографом используется 5 клавиш. Клавиши вверх/вниз используются для установления развертки по амплитуде. Клавиши влево/вправо предназначены для изменения частоты виборок АЦП. Центральная клавиша используется для входа в меню. В первом пункте выбирается тип отображения осциллограммы: по точкам или по линиям. Во втором пункте выставляется делитель в зависимости от переключателя диапазонов напряжения. Он необходим для правильного отображения напряжения. В третьем пункте выбирается тип синхронизации: по максимуму, по спаду фронта, переход через ноль.

Осциллограф на микроконтроллере ATMEGA32А

Для настройки осциллографа необходимо выставить нужную контрастность дисплея переменным резистором и выставить линию на ноль (без сигнала на входе), предварительно увеличив рамах по амплитуде. На фото осциллограф со старой разводкой.

 

Осциллограф на микроконтроллере ATMEGA32А

 

Осциллограф на микроконтроллере ATMEGA32А

 

Осциллограф на микроконтроллере ATMEGA32А

 

Осциллограф на микроконтроллере ATMEGA32А

 

Осциллограф на микроконтроллере ATMEGA32А

 

Осциллограф на микроконтроллере ATMEGA32А
Осциллограф на микроконтроллере ATMEGA32А
 
 
Схема и печатка обновленная версии V2

 
Осциллограф на микроконтроллере ATMEGA32А

Осциллограф на микроконтроллере ATMEGA32А

Схема и печатки обновления V3

 

Осциллограф на микроконтроллере ATMEGA32А

Осциллограф на микроконтроллере ATMEGA32А

Осциллограф на микроконтроллере ATMEGA32А

Осциллограф на микроконтроллере ATMEGA32А

Осциллограф на микроконтроллере ATMEGA32А

Осциллограф на микроконтроллере ATMEGA32А
 
Осциллограф на микроконтроллере ATMEGA32А

 

В качестве источника тактовых импульсов используется кварцевый генератор 32МГц (разгон atmega32 в 2 раза). Не забудьте установить соответствующие фузы. Балансировочные конденсаторы (С28, С29) возможно придется подбирать; устанавливать не обязательною. Максимальное входное напряжение увеличено до 40В (3 диапазона: 2,5В; 10В; 40В). Установлены ОУ AD8033: 80МГц, rail-to-rail выход, вход на полевых транзисторах. Диапазон частот: 30Гц-1МГц. Максимальная частота дискретизации 32МГц/3=10,7 МГц; Для питания АЦП и ОУ установлены LC фильтры. На входе АЦП установлен RC фильтр. Компилятор MikroC pro for AVR 6.00.

 

СкачатьV1 [291,6 Kb] (cкачиваний: 2065) прошивку, исходник, печатку, схему 

СкачатьV2 [364,2 Kb] (cкачиваний: 1895) прошивку под разные кварцы, исходник, печатку, схему

Скачать V3 [1,94 Mb] (cкачиваний: 2229) прошивку, исходник, печатку, схему

Скачать [51,77 Kb] (cкачиваний: 1104) печатную плату от syava7



   
KotTrigger # 1
 
 
Кто ни буть собирал сей девайс ?


   
ursus2000 # 2
 
 
500кгц
низкая частота


   
radiba # 3
 
 
KotTrigger, я собирал (автор).
ursus2000, без внешнего ацп до 10-20 кГц. В принципе, можно подать на вход 1-2 МГц, но форму сигнала разобрать будет сложно.


   
miron # 4
 
 
да уж простенько и доступно, к чему склонится к этому или Хамелону меня все уже заготовлено для сборки ХАМЕЛЕОНА Нехватает только пинка начать.


   
Yarik_22 # 5
 
 
Извиняюсь за офтоп, а мне для него не хватает всего лишь одного стабилитрона, месяц уже лежит пылиться, еще раз извиняюсь за офтоп)


   
shlema65 # 6
 
 
А что,где,и как поменять в прошивке по другой квац?Оббегал радиорынок-на 26.6-нету.Ближайшие номиналы-27.0 и 25 с копейками.


   
radiba # 7
 
 
Можно поставить кварц на 27МГц. Для корректного отображения частоты нужно изменить числа в строках: 2692-2703, 2707, 2709, 2710. (f=xxx/n;)


   
Buhar # 8
 
 
Можно ли поставить стабилитроны ZD1 и ZD2 на большее напряжение стабилизации ? Допустим на 5,1V. Не могу нигде найти на 2,7V.Они там нужны, как я понимаю, для защиты ОУ.

Можно ли поставить стабилитроны ZD1 и ZD2 на большее напряжение стабилизации ? Допустим на 5,1V. Не могу нигде найти на 2,7V.Они там нужны, как я понимаю, для защиты ОУ.


   
radiba # 9
 
 
Buhar, стабилитроны защищают ОУ. если амплитуда входного сигнала не будет превышать +/-25V, стабилитроны можно не ставить. от стабилитронов на 5,1V толку будет мало.


   
Fermer12 # 10
 
 
да я соберал чтото похожее тока с дисплеем прогадал , выводы были ни те


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


   
Nikolai4 # 12
 
 
shlema65, обновления добавлены.


   
JooS # 13
 
 
поздравляю …
--------------------
С Уважением Николай [aka JooS]


   
NOVA # 14
 
 
Доброе время суток,у меня вопрос к автору,можно ли использовать другой ОУ в этой схеме по мимо тех которые указные в статье.


   
radiba # 15
 
 
LM358 не подходит из-за низкой частоты. LM833 в даном осциллографе работает неплохо. Если lm833 работает некорректно, попробуйте питать левый ОУ (по схеме) двуполярным напряжением. Другие ОУ должны иметь такие основные параметры: частота >10MHz, напряжение питание >12V, входной ток <100нА. Не спешите собирать данную версию. Я работаю над новой версией. Скоро постараюсь выложить. В новой версии наверно буду использовать ОУ AD8033.


   
evgen-83ua # 16
 
 
Добрый день. Решил собрать себе этот осциллограф, вроде все компоненты легко доставаемы. У меня есть графический ЖК модуль 320x240 SP14Q006-T, его можно адоптировать под эту схему или нет?


   
vocha # 17
 
 
А можно как нибудь сделать делитель для измерения до 250 вольт.


   
radiba # 18
 
 
evgen-83ua, насколько я понял из описания в интернете, у дисплея мSP14Q006-T нет собственного контроллера и памяти. У Atmega32 недостаточно ресурсов управлять таким дисплеем.

Vocha, максимальная амплитуда сигнала на входе 25 В. Чтобы измерять 250 В можно использовать щуп с делителем 1*10. В новой версии максимальное входное напряжение будет увеличено до 40 В.


   
evgen-83ua # 19
 
 
Спасибо что разъяснили. Жалко что этот дисплей некуда пристроить, думал хоть на осциллограф сгодится. Жду с нетерпением Вашу новую версию осциллографа.


   
NOVA # 20
 
 
Спасибо за совет,буду ждать новую версию осциллографа.


   
NOVA # 21
 
 
Доброе время суток,Я надыбал два экранчика 128х64,первый PG12864k, a второй f-51553gnb-lw-aen на вот таком Control LSI S1D15605 D11B000.вот хочу узнать возможно его примостить к этому осциллографу


   
radiba # 22
 
 
NOVA, для осциллографа нужен дисплей с контроллером ks107/108


   
NOVA # 23
 
 
ясно,PG12864k а этот должен подойти


   
tarasevich1705 # 24
 
 
Доброе время суток.Собрал сей девайс и не работает.напруга в норме.горит только подсветка экрана и всё.Запуск мк чем то производится или нет,подскажите пожалуйста
и ещё хотел спросить 32 нога мк на схеме свободна а на плате нет, подавать на эту ногу питание


   
trey3499 # 25
 
 
На макетке у меня тоже не пошел.(только контроллер и экран другие микросхемы не подключал)Видимо без ацп не запуститься. но нужно было проверить дисплей.
только сегодня получил.с другой прошивкой осциллографа все работало.
Вопросик автору
печатную плату стоит делать или будут изменения в новом проекте?



   
radiba # 26
 
 
tarasevich1705, попробуйте установить другой кварц, подать внешний тактовый сигнал. Возможно установлена низкая контрастность дисплея. 32 нога - подача опорного напряжения для внутреннего АЦП.

trey3499, без ацп должен запуститься. через неделю выложу новую схему, печатку, прошивку.


   
trey3499 # 27
 
 
странно!но все равно спасибо за ответ.
еще раз попробую.как правильно выставить фузы?может в этом загвоздка?
программирую через avrosp ll а там как поставить high и low?
прошиваю под кварц 20 мгц

в калькуляторе так low F1 high 17
правильно или нет?


   
radiba # 28
 
 
Фузы есть в статье. high=С8. low=0Е.


   
trey3499 # 29
 
 
radiba,
Спасибо большое.
схема заработала просто были несколько проводов перепутаны к подключению дисплея.
Автору большой респект за создание данного устройства.
Жду с нетерпением обнову.


   
tarasevich1705 # 30
 
 
Были опробованы все возможные кварцы результат 0
Есть у кого какие соображения
За ранее спасибо


Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25