Осциллограф на микроконтроллере 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качиваний: 2066) прошивку, исходник, печатку, схему 

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

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

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



   
radiba # 181
 
 
const, Осциллограф и прошивка последней версии (V3)? JTAG отключили?

Smith, нет.

apeks, напишите вашу почту (в личку).

yjybec, нельзя, так как частота дискретизации упирается не в скорость АЦП, а в скорость чтения ATMEGA32 из АЦП (3 такта ATMEGA32 на 1 такт АЦП).


   
1beercan # 182
 
 
Какой входной ток АД8033 ? , шото я ослеп , даташит листаю , а найти не могу . Нужно для расчета делителя на 220В


   
radiba # 183
 
 
1beercan, входной ток АД8033 - 1,5pA. Не советую использовать звуковой разъем для высоких напряжений (можно например BNC). Высоковольтный делитель делайте из нескольких последовательных резисторов, чтобы падение напряжение на каждом резисторе не превышало 100V. Делитель можно встроить в щуп.


   
1beercan # 184
 
 
Таки 1,5рА , теперь так, входной делитель 100к/4.7К при 2,5В на входе ОУ будет 0.112В и ток 24 мкА, енто на 15*10Х7 больше или я неверно считаю ?

Теперь о делители - щуп пихаем в 220В. если переменка 220х?2=311В.
Делитель- если 20 Мом/162Ком , то на выходе будет 2,5В и ток 15 мкА и педение после входного делителя и на входе ОУ будет 15рА уже ближе к 1.5рА :).
ТаК али не так, я кумекаю ?


   
radiba # 185
 
 
1beercan, входной ток АД8033 небольшой, можно не учитывать. Замените резистор входного делителя 100k на несколько последовательных резисторов общим сопротивлением 1042,3k . Тогда макс. вх. напряжение будет 400VDC или 282VAC.


   
oansaha # 186
 
 
Уважаемый radiba прошу вас выложить прошивку под генератор 27 МГц. Я бы рад повторить вашу схему но так как у нас в ДНР проблемы с почтой я негде не могу купить на 32МГц.

Ознакомьтесь с отзывами о работе удаленно в Тинькофф и решите, стоит ли пробовать удаленную работу.


   
conler # 187
 
 
Просто пипец! На фотках одна разводка, в лэй-файле другая, на схеме по шинам черт ногу сломает.


   
zyvziv # 188
 
 
Парни подскажите где взять такой 3-х позиционный переключатель?


   
gurvit60 # 189
 
 
Для zyvziv
Ищите движковые переключатели,возможно есть здесь:
http://kosmodrom.ua/prodlist.php?name=slideswitch


   
conler # 190
 
 
Дошли руки, собрал V3. Переразвел печатку под другой осциллятор,переключатель, AD823 и дисплей WG12864A-CFH-T(RGB подсветка). Запускается при 4,45V. Но на индикаторе только левая половина активна - затемнены все пиксели кроме верхней строки высотой 8 точек. При нажатии на кнопки в этой строке появляются символы меню, 4 фрагмента по 16 точек горизонтали.
При касании пальцем входа в этой строке отображается нечто напоминающее огрызок осциллограммы.
Подкидывал другой проц - картина одинакова. Второго дисплея на пробу нет. Пробовал заливать V2 (20MHz), с кварцем на 16MHz картина та-же.
Тут либо дисплей сдох, либо трабла с подключением. Подключаю строго в соответствии с печаткой V3.
Пины WG12864A-CFH-T как и WG12864A-ХХХ, лишь добавлены два на доп. леды подсветки.
Разводка проц-дисплей в лэй-файле (V3) соответствует прошивке?


   
zyvziv # 191
 
 
Парни почему при выставлении фьюзов под внутренний кварц 8мГц сигналы на выход дисплея есть, а при работе от генератора сигналов нет? хотя на xt1 с генератора сигнал идет. p.s. кварцевый генератор не правильно на фото стоит.

Скиньте кто видос работы осцила кто собрал v3.


   
conler # 192
 
 
zyvziv, мой экземпляр при питании ниже 5.45в вообще не запускается на повышенной частоте. При диодах 2х1N5818 было 5.32В. Перерезал дорожку между диодами и в разрыв поставил подстроечник С5-2 150Ом, аккуратно поднял до 5.45В - запустилось, но имею траблы с дисплеем. (подстроечник затем заменил смд резюком на 51Ом).
… На фото печатка и собранная плата разных релизов разводки, установка осциллятора требует внимания. Мне пришлось разводку менять, как говорилось выше - варианты присутствуют.


   
zyvziv # 193
 
 
Подскажите что делать? Напряжение 5,49-5,50 в, но все равно не запускается Мега32. Тактовый сигнал на XT1 идет. у меня кварцевый генератор точно такой как у автора на фото http://pic.lg.ua/x/9/a38638/277752c3.jpg , у него такая распиновка http://pic.lg.ua/x/16/00b19b/ad313af0.jpg ?

http://pic.lg.ua/x/17/fcea33/b7df0adb.jpg


   
zyvziv # 194
 
 
Парни что с ним делать? При работе от внутреннего кварца 1 и 2 мГц работает, при 4, 8, и внешнем кварце и генераторе нет.


   
conler # 195
 
 
Здесь спрашивать это как разговаривать с самим собой.


   
zyvziv # 196
 
 
conler чем выше частота проца, тем меньше вероятность что дисплей будет показывать изображение, на частоте 8 мГц ваще не работае. Дисплей WG12864A с контроллером NT7108. причина в дисплее, подскажи если что знаешь? Спасибо.


   
conler # 197
 
 
zyvziv, я пробовал на кварцах 4-32мГц и генераторах 10,0; 29,…; и 32,0мГц - всё одинаково, дисплей работает некорректно. Заказал другой (есть подозрения, что этот я "завалил" в давних экспериментах).
Но и имеющийся проверю на выходных в другой схеме, если удастся победить диван smile устал за неделю.
…жаль что тема не обросла подробностями и нюансами.


   
zyvziv # 198
 
 
Хоть бы подсказали что в коде для данного дисплея поменять. у тебя дисплей на контроллере KS0108? дай свой скайп, если ты не против на него буду писать? Хочется доделать этот девайс. Может надо с другим контроллером покупать LCD.


   
conler # 199
 
 
На винстаровском сайте для WG12864A указан NT7108 или эквивалент. Я теперь заказал на KS0107/KS0108


   
zyvziv # 200
 
 
Цитата: conler
На винстаровском сайте для WG12864A указан NT7108 или эквивалент. Я теперь заказал на KS0107/KS0108


Где ты заказал? Напишешь мне результат потом. у тебя стоит на NT7108&


   
conler # 201
 
 
http://www.ebay.com/itm/281749094940?_trksid=p2057872.m2749.l2649&ssPageName=ST
RK%3AMEBIDX%3AIT


   
zyvziv # 202
 
 
Скажите пожалуйста, этот дисплей подойдет? http://www.ebay.com/itm/12864-128x64-Dots-Graphic-LCD-Module-Display-GLCD-w-KS0
107-KS0108-Black-on-YG-/291022261852?hash=item43c2474e5c:g:ETMAAMXQWzNSjxGU


   
conler # 203
 
 
С дисплеем по моей ссылке выше приборчик прекрасно завелся!
Поставил AD823(двуполярное питание обоих ОУ) для установки "0" второй крайний вывод R16 соединил с "+" питания.
При питании 5,31 прекрасно заводится с генератором на 40 МГц (буду попробовать еще больше smile ). Теперь вопрос с перекомпиляцией под новую частоту.


   
conler # 204
 
 
…похоже АЦП полуживой, без R12 на входе 4,8В. D1(Bit 1) всегда в нуле. Греется сильно. 50Гц с сетевого транса не цепляет при любой синхронизации на экране хаотичные кривые. Постоянку меряет б/м корректно на всех диапазонах. Вобщем х/з, заказал АЦП, опять жду, мля…


   
apeks # 205
 
 
conler
уважаемый radiba подправил прошивку под мой вариант осцилографа с генератором 40мгц
не знаю как сдесь ее можно добавить
по ацп я тоже когда экспирименты с ОУ проводил первый сжег,хорошо недорогие,по питанию я заметил что от емкостей на 7805 запуск зависит,все никак руки не дойдут убрать добавочные шотки и снизить до 5вольт,думаю в моем случае будет нормально работать


   
conler # 206
 
 
буду благодарен получить прошивку на почту con-ler@mail.ru


   
conler # 207
 
 
Добавил 10мкф между 22 и 24 выв. АЦП (как в даташите), всё хорошо помыл, вход пришел в норму, D1 "ожил", не кипит, постоянку меряет, но вместо синусоиды 50Гц (с сетевого транса 10В) на экране ахинея recourse в режиме точки на экране сплошной мусор.


   
conler # 208
 
 
Этот дисплей тоже без проблем работает в этой схеме при 40МГц.


   
gurvit60 # 209
 
 
Цитата: conler
Этот дисплей тоже без проблем работает в этой схеме при 40МГц.

Так у Вас осциллограф заработал на 40 МГц?


   
conler # 210
 
 
gurvit60,
постами выше говорил, что жду АЦП (имеющийся похоже поджарил). Приедет - отпишусь. А сейчас "поведение" на 24,0; 32,0; 40,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