Осциллограф на микроконтроллере 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



   
const # 151
 
 
radiba
Спасибо за ответ, я уже кажется нашёл свой ляп, я заказал дисплей 12864b v2.0, я сначала подумал, что цоколёвкой отличается. У версий a и b действительно отличается, но именно у 12864b v2.0, отличий почти нету, за исключением двух выводов, cs1,cs2, у меня же заместо них PSB и NC(что в электронике значит Not Connected), думаю искать 12864а.
P.S. а разве есть разновидности данных дисплеев в плане текстового\графического?


   
radiba # 152
 
 
Const, в текстовом дисплее шрифты находятся в памяти дисплея, дисплей выводит нужный символ по команде микроконтроллера. В графическом шрифты находятся в памяти микроконтроллера, для вывода символа микроконтроллер «вручную» засвечивает нужные пиксели.


   
Smith # 153
 
 
Подскажите, а можно ли заменить операционник с AD8033 на сдвоенный MCP6022 для версии V3?


   
radiba # 154
 
 
Smith, нет. У MCP6022 максимальное VDD - 5V.


   
Smith # 155
 
 
Цитата: radiba
Smith, нет. У MCP6022 максимальное VDD - 5V.

А если на AD8009


   
1beercan # 156
 
 
Дошли руки до осциллографа. При включении засветился экран, на диапазонах 2.5 и 10В резистором выставил прямую с мусором, но при 40В реакции никакой. Подал сигнал + 1.5В с батарейки- реации неадекватна. Начал искать неисправность.
+ 5,45В есть, а -5,45В-не было -поменял 7660, -5,45В появились, отрезал -5,45В от ОУ, прозвонив 8033 та, что первая на входе на ногах 2 + 2,22В, 3 + 2,19В, 4 + 3В, 6 нога выход- + 3В, 7 нога питания- + 5,45В. Вторая 8033- 6 нога выход- + 5,45В, 7 нога питания- + 5,45В, на 2и3 + 0,18В.
Все симтомы неисправного первого ОУ, я прав? а второй ОУ?
У кого какие мысли?


   
asg34 # 157
 
 
помогите какие фюзы выставить в PONYPROG ЗАПУТАЛСЯ


   
1beercan # 158
 
 
Цитата: asg34
помогите какие фюзы выставить в PONYPROG ЗАПУТАЛСЯ


для V.3 фюзы как на 3 картинке знизу.В ponyprog и avrdudeprog фюзы висталяються одинаково -инверсно.


   
asg34 # 159
 
 
выставляю как на картинке рограматор перестает видеть амегу на экране асцилографа мерцает прямая линия верху и показания вольтж частота.передвинуть линию не могу а в меню зайти могу. где неисправность помогите!!!!!


   
gurvit60 # 160
 
 
Цитата: asg34
выставляю как на картинке рограматор перестает видеть амегу на экране асцилографа мерцает прямая линия верху и показания вольтж частота.передвинуть линию не могу а в меню зайти могу. где неисправность помогите!!!!!

Попробуй при программировании отключить дисплей полностью (вынуть с разъема), или хотябы те контакты что идут по линиям MOSI,MISO,SCK (6,7,8 ножки ATMEGA32)


   
asg34 # 161
 
 
я программирую не на плате


   
gurvit60 # 162
 
 
Цитата: asg34
я программирую не на плате

А кварцевый генератор подключен? Без него програматор не увидет atmegu.


   
asg34 # 163
 
 
программато видит atmegu программирует выставляю фюзы в понипрог все как положено и программатор перестает видеть atmtgu но осцилограф работает локи не трогаю


   
Smith # 164
 
 
При сборке обязательно брать атмегу в dip40 или можно в tqpf44?


   
gurvit60 # 165
 
 
Цитата: Smith
При сборке обязательно брать атмегу в dip40 или можно в tqpf44?

Смотри ответ автора пост #131


   
1beercan # 166
 
 
братцы, какие напряжения на ногах первой и второй 8033, измерьте пожалуйста !!!


   
профи # 167
 
 
здравствуйте.
radiba модельнул осцил в протеусе, возник вопрос с разверткой по времени, она автоматическая - это протеус подглючивает на одной частоте видно 3 периода а на чуть большей/меньшей пытается вывести 10 периодов?
Если плавно менять частоту например синуса на входе что будет при этом на экране, задать сколько надо развертка не возможно (1-100 КГц).
Если импульс 2 мкС а пауза 100 - 500 мкС работать синхронизация в динамике и показывать этот импульс в середине экрана не будет?
Спасибо.


   
Smith # 168
 
 
здравствуйте. а есть ли прошивка V3 по контроллер NT7108, а то KS108/7 чего-то трудно найти.


   
caha200762 # 169
 
 
Smith- Здесь посмотрите: http://www.elitan.ru/price/index.php?find=wg12864a&delay=-1&mfg=all&seenform=y&
utf=1


   
trey3499 # 170
 
 
Всем здрасте.
А можно повысить входное напряжение с 40 до 60 вольт?
Собираю усилитель на 500 ватт и не хватает померить выходную амплитуду.


   
Smith # 171
 
 
Можно ли применить такой дисплей, вроде тоде 12864 и контроллер KS107, но лучше уточню


   
radiba # 172
 
 
Smith, у AD8009 частота высокая, но большое потребление и выход не rail-to-rail. Прошивка только под KS107/108. Дисплей по ссылке должен подойти, распиновка может не совпадать.

1beercan, ОУ нужно проверять, полностью подав питание. На входе первого (+ и -) должно быть 0В, на выходе 0*2(Ку)=0В. На + входе второго 0В, на — входе второго -0,247В (смещение от подстроечника). На выходе второго (-1)*(-0,247)*11(Ку)=2,717В (1/2 от VDD). Линия должна быть в центре дисплея.

asg34, Программатор должен перестать видеть Atmega32 после первой прошивки, так как fuse настроены на внешний генератор. Для повторной прошивки нужно подать внешний тактовый сигнал на Atmega32.

профи, в протеусе не моделировал. Если импульс 2 мкс а пауза 100 - 500 мкс, возможна нестабильная работа синхронизации, там буфер всего 256 точек. Заполнение должно быть минимум 2-4%. Точка синхронизации находится с левого края дисплея.

trey3499, Увеличьте коеф. вх. делителя в 2 раза, например 100кОм и 2,3кОм. Напряжение на дисплее умножайте в уме на 2.


   
trey3499 # 173
 
 
Спасибо!
Буду пробовать.


   
apeks # 174
 
 
у меня такая ситуация,еще летом собрал осцилограф думал как подспорье в ремонте и наладке конструируемых импульсных блоков питания,на входе использовал ad823, генератор пока не ставил собрал на кварце 26…мгц.проблема в том что меандр начинает показывать как треугольник начиная с 4кГц измерений,сначала думал входной усилитель заваливает но пока не сжег экспириментами одну микросхему и взяв у знакомого простой школьный осцилограф понял что не внем совершенно дело.потом подавал меандр напрямую на AD9280,менял кварц на 27МГц но меандр с 4кгц все равно визуализируется как треугольник. AD9280 тоже менял
в какую сторону копать? может AD9280 не синхронизируется от кварца изза длины дорожки?а то уже какбы мыслей больше нет,все перекопано


   
const # 175
 
 
Снова здравствуйте radiba
В прошлый раз вы мне помогли, оказалось, что дисплей не тот, я подобрал нужный и всё стало правильно отображаться, но тут встретилась засада, кнопки "Вниз" "Влево" и "Вправо" не активны, я прозвонил все дорожки от массы через кнопки до Atmega32, при нажатии контакт есть, но вот в осциле даже работать отказываются. Прошивал Atmega32 я ponyprog-ом. В чём может быть проблема?


   
Smith # 176
 
 
radiba, а нет ли в планах выпуск 3 версии для дисплеев на nt7108?


   
apeks # 177
 
 
поставил генератор 40МГц прибор работает но меандр все равно пила


   
apeks # 178
 
 
кажется победил немного,меандр теперь есть до 600кГц,осцилограф видит сигнал 2МГц
как подкорректировать прошивку под генератор 40МГц чтоб правильно отображал частоту, на 20% ниже показывает от подаваемой частоты сигнала


   
yjybec # 179
 
 
В одной из разработок в 1.5 раза были разогнаны две отмеги, одна из них Atmega32 в TQFP. Если в DIP-е была чуть тёплая, то в TQFP корпусе грелась так, что наложенный радиатор не помогал.
radiba, а нельзя ли от одного КГ с делителем протактировать и контроллер и АЦП с целью увеличения полосы сигнала? К примеру КГ 64 МГц разделить на 2 или 3 и с меньшей частотой запустить контроллер.


   
1beercan # 180
 
 
выше постами у меня была проблема с запуском осциллографа, 7660 и 8033 были пробиты. Брак 7660 пробил 8033, или наоборот. Замена миккросхем поставила все на свох места. Проверил осциллограф до 200 кГ, от 100кГ меандр немного завален в низу, но для моих потребностей это за глаза.
Автору хвала!


Обновления

Сообщения ФорумаОтветов
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