Суббота, 20.04.2024, 08:51
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
RC42-Форум » Технический форум » Радиоуправление и электроника » Осциллограф (DIY местами)
Осциллограф
RW9UAOДата: Пятница, 27.03.2015, 20:20 | Сообщение # 1
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
я долго ходил кругами вокруг покупки осциллографа. пару раз делал пародию на этот прибор. потом появились недорогие RIGOL с хорошими характеристиками и я начал придумывать конкретную цель покупки. ибо на работе Tex 200 мгц 4 канала сильно расповаживает. опять же для большинства вопросов достаточно 8 каналов лог анализатора на 24 МГЦ.
у РИГОЛа и похожих 100 мгц полоса и 2 канала в пределах 400УСД.
есть вариант DSO QUAD, 72 мгц дискретизации, что по факту 5-8 мгц полосы пропускания и 2 канала. цена 150-170УСД. посмотреть какую-нибудь мелочь типа видео сигнала или оценить генерацию кварца у проца хватит.
не успел. нынче курс не радует, DSO QUAD стоит 10 тыр. ощутимо.
по самоделкам. у меня есть быстрые АЦП (ну как быстрые - 80 МГц, те-же 5-8 мгц полосы пропускания), ФПГА, большие ЖК, быстрые процессоры....
но иногда для оценки сигнала типа суммарного РРМ сигнала, посмотреть на сколько его просаживает вход полетного контроллера этого всего и не надо.
берем любой проц с встроенным АЦП, и выжимаем из него 700 кгц сэмплирование. 50 кгц полоса. игрушка, по большому счету. но иногда лучше хоть это, чем ничего. выводим на графический ЖК. у меня есть ОЛЕД 128х64. вот что получается у людей:

2 канала АЦП и 2 канала лог анализатора. размером с коробок спичек.


Сообщение отредактировал RW9UAO - Пятница, 27.03.2015, 20:20
 
RW9UAOДата: Пятница, 27.03.2015, 20:31 | Сообщение # 2
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
тот же ДСО КВАД построен по классической схеме - быстрый АЦП быстро набивает быструю память, медленный процессор медленно читает эту память и рисует картинку.

но есть и более простые варианты, быстрый проц читает быстрый АЦП. это конечно медленнее чем может АЦП, но все же быстрее чем встроенный АЦП.
я взял за основу приглянувшийся проект с открытой схемой (а там ничего секретного в принципе) и почти открытым софтом. выложена демо версия исходников (без самого вкусного) и бинарник для прошивки готового устройства. можно купить полные исходники за 1УСД, но это не наш метод =) отдизасмить неоднозначные куски и понять как работает - дел на пару вечеров.
что-то переделать, что-то скопировать.
в качестве процессора Хмега32Д4. вообще проект под Хмега32А4, но их у меня немного, а 32Д4 сильно больше, хоть их функционал и урезан.
АЦП - 80 мгц, 8 бит. тактируется 16 МГц, но при чтении сэмплы могут прореживаться в зависимости от времени развертки.
analog frontend частично взят из даташита на АЦП, частично из схемы Xminilab. там пара операционников (я нашел в закромах на 20 мгц полосу) и свич на 8 положений для смены к-та усиления.
экран на побаловаться ОЛЕД 128х64.
за пару вечеров набросал проект.
сначала покажу, что получилось у людей.
 
RW9UAOДата: Пятница, 27.03.2015, 20:42 | Сообщение # 3
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline

общий вид устройства.


1 мгц в режиме 1uS/div


100 кгц в режиме 1uS/div

100 кгц в режиме 2uS/div

100 кгц в режиме 5uS/div
Прикрепления: 3968177.jpg (158.0 Kb) · 1197173.jpg (141.6 Kb) · 5893292.jpg (144.1 Kb) · 3102744.jpg (143.0 Kb) · 8193098.jpg (143.3 Kb)
 
RW9UAOДата: Пятница, 27.03.2015, 21:09 | Сообщение # 4
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
прямо в ближайших планах - входной каскад и калибровка его.
сначала перенос средней точки АЦП 2.5 вольта в 0 входного сигнала (1 ОУ), затем аттенюатор и усилитель. вход АЦП - 2Vp-p. на моих фотографиях 500 мВ на клетку.
после этого нужно отладить триггер синхронизации. проблема известная. и то что сделано у людей мне не особо нравится. для переодических сигналов - не важно, а вот увидеть что было _перед_ запуском триггера невозможно.
постоянно цифруем в кольцевой буффер входной сигнал, попутно ждем прерывание от аналогового компаратора. после прерывания цифруем половину буффера. в итоге имеем половину буффера до триггера и половину после. есть тонкий момент с прерыванием, но он преодолим.
т.к. идея показала себя имеющей право на жизнь - я заказал цветной ЖК 2.8" 240x320 c SPI интерфейсом. 8 битный был бы быстрее, но у меня ноги заняты почти все.
графическую библиотеку изобретать смысла нет - их полно готовых. достаточно погуглить "фамилия_контроллера_ЖК ородруино".
ну ФФТ и прочие математические шалости прилагаются.
насчет генератора я не уверен. в оригинале используется встроенный в проц ЦАП с ограничениями в 4 кгц для 256 точек сэмплом и 32 кгц для 32 точек. фигня же. когда программный ДДС легко будет давать пару мгц. но у меня нет 8 ног для этого. ой, совсем забыл. у меня же есть готовый 1 гц - 400 мгц DDS генератор!


Сообщение отредактировал RW9UAO - Пятница, 27.03.2015, 21:10
 
Mikele_PДата: Пятница, 27.03.2015, 23:23 | Сообщение # 5
Свой Чувак !!!
Группа: Модераторы
Сообщений: 1468
Репутация: 3
Статус: Offline
ёпрст... купи и еще доделывай?

=============================================================
Воздух держит только тех, кто на него рассчитывает
=============================================================
 
RW9UAOДата: Четверг, 09.04.2015, 17:09 | Сообщение # 6
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
сегодня выдалась минутка, занялся теоретическими изысканиями по аналоговой входной части.


перед входным ОУ стоит делитель 800к - 200к, с к-том деления 5. попутно получаем входное сопротивление 1 МОм.
входной ОУ имеет усиление 2.
выходной ОУ имеет усиление 1 и смещение от источника опорного напряжения для АЦП. этот каскад занят только переносом входного сигнала с уровня 0 вольт на уровень 2.5 вольта, это опорное напряжение АЦП. опорное напряжение нужно отвязать от делителя, делитель ощутимо влияет на величину опорного напряжения. поставлю еще один ОУ повторителем напряжения, и уже после него делитель для 1.25 вольта.
общий КУ получился 2.5
т.е. при входном напряжении 2.5 вольта на выходе усилителя 1 вольт - это полшкалы АЦП.
т.е. входные 2.5 вольта - это 32 пиксела на экране. фигня получается, 1,25 вольта на деление. если изменять величину деления, то будет неровное значение пикселов.

значит нужно изменить КУ входного каскада. предположим, что его КУ = 5. тогда входному 1000 мВ будет соответствовать 7,8125 мВ на бит АЦП - это 500 мВ на деление. при использовании щупа 1:10 получим 10В напряжение и 5 В на клетку или 78,125 мВ на бит АЦП. если рисуем размах в 128 пикс, то входные 10 В размажутся на 128 точек, разделенных на 4 клетки, итого 2.5 в на клетку, фигня какая-то. 128 пикс делим на 2 клетки - 5 В на клетку.
по факту надо смотреть как оно на экране будет выглядеть. не слишком ли пестро.
еще пару слайдов

синий - входной сигнал, желтый - выходной сигнал для АЦП.

этот же сигнал на моем отладочном ЖК. большой ЖК жду на днях.


вот такая монтажечка. с помощью конденсатора в обратной связи ОУ устранил нелинейность усиления на частотах выше 500 КГц.
Прикрепления: 8840961.jpg (95.0 Kb) · 0508200.jpg (148.3 Kb) · 2001299.jpg (196.6 Kb) · 4888016.jpg (214.4 Kb)


Сообщение отредактировал RW9UAO - Четверг, 09.04.2015, 17:34
 
RW9UAOДата: Суббота, 11.04.2015, 21:18 | Сообщение # 7
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline

утром забрал на почте экран. вечером припаялся к нему, из готовой библиотеки выдрал функции работы с его контроллером.
вход АЦП подключен к разряженной пальчиковой батарейке. на батарейке 770 мВ, мой показывает 867 мВ. ничего не калибровано, потому врет, да еще и помеха наводится 170 мВ р-р.
надо окучивать тачскрин, рисовать мало-мало интерфейс, да собирать в кучу на одной монтажке.
Прикрепления: 4564216.jpg (160.1 Kb)
 
MaloyДата: Суббота, 11.04.2015, 22:17 | Сообщение # 8
Генерал
Группа: Moderator
Сообщений: 1653
Репутация: 1
Статус: Offline
Ну Серега ты ваще мозг

С Уважением Владимир !

Мозг - это тормоз, чувства - это газ. Главное - найти сцепление,,,

 
RW9UAOДата: Среда, 15.04.2015, 21:14 | Сообщение # 9
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
с послепасхального похмела прикрутил тачскрин. думаю над интерфейсом.
у меня есть тачскрин, два энкодера, один из них с кнопкой.
нужно - смена времени развертки, смена усиления (scale), регулировка уровня триггера (trigger level), установка режима триггера (ждущий, rising/falling edge), смещение 0 на экране (Position), режим входа (AC/DC). включение-выключение логического анализатора, выбор синхронизации по лог анализатору (канал и фронт). установка маркеров по оси времени.
пока мысль такая: 1 энкодер - Position, 2й энкодер trigger level, после нажатия на кнопку - sec/div. через секунды две возвращается в режим trigger level. остальное надо как-то на тачскрин повесить.
ну пару фотографий.

ноль откалибровал. из-за монтажа наводится 130 мВ р-р. желтая полосочка наверху - уровень синхронизации.
наверху - измеренные параметры, внизу - параметры на клетку и уровень триггера.


на вход подключена пальчиковая батарейка. на ней 780 мВ, у меня 804 мВ. разбег 24 мВ. при полной шкале в 2 вольта это 1.2% или 3 младших бита.
надо переделывать монтаж аналоговой части. давить наводку в 170 мВ.
Прикрепления: 9856468.jpg (144.9 Kb) · 7858159.jpg (160.8 Kb)
 
RW9UAOДата: Пятница, 17.04.2015, 15:11 | Сообщение # 10
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
так. слегка математической магии, понятной только мне.
щуп включаем 1:1
КУ = 0,5 приводит к 4000 (2000) мВ полной шкалы и 500 мВ на клетку. гуд
КУ = 1,25 приводит к 1600 (800) мВ полной шкалы и 200 мВ на клетку. гуд
КУ = 2,5 приводит к 800 (400) мВ полной шкалы и 100 мВ на клетку. гуд
КУ = 5 приводит к  400 (200) мВ полной шкалы и 50 мВ на клетку. гуд, на этом остановимся.
щуп включаем 1:10
КУ = 0,5 приводит к 40 (20) В полной шкалы и 5 В на клетку. потолок.
КУ = 1,25 приводит к 16 (8) В полной шкалы и 2 В на клетку. гуд
КУ = 2,5 приводит к 8 (4) В полной шкалы и 1 В на клетку. гуд
КУ = 5 приводит к  4000 (2000) мВ полной шкалы и 500 мВ на клетку. гуд, но больше шумов чем при 1:1 и КУ = 0,5
 
RW9UAOДата: Пятница, 17.04.2015, 15:23 | Сообщение # 11
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
еще нюанс с питанием. щас у меня двуполярка 12 вольт. для ОУ это верхний предел. для 4060 который должен переключать это сильно много. у него верхний предел 18в, т.е. надо снижать питание до 9 в. другие высокочастотные ОУ которые у меня есть вообще требуют питания 5в, и плохо работают с биполярным сигналом на входе.
пока есть такая мысль. запитать от двуполярки 5 в и переосмыслить усилитель.
 
RW9UAOДата: Понедельник, 20.04.2015, 12:32 | Сообщение # 12
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
запишу, чтоб не забыть. если напряжение смещения для ОУ перед АЦП 2.5 вольта /2, то средняя точка получается 0 вольт и размах 2 вольта. если мы будем работать исключительно с сигналами выше 0 вольт, то амплитуда будет 1 вольт.
если напряжение смещения будет 3.0 вольта /2, то средняя точка входного сигнала сместится и полная шкала 2 вольта целиком займет АЦП положительными значениями.
но вот беда. у хмега32Д4 нет набортного ЦАП. перепаивать на 32А4 не хочу. возможно в следующей жизни я учту этот момент.
 
RW9UAOДата: Вторник, 21.04.2015, 09:17 | Сообщение # 13
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
еще теоретическая идея. у меня получается сильно нелинейный аналоговый тракт. с явным подъемом в районе 500-1200 КГц. нужно его линеаризовать. для этого нужно снять АЧХ. конечно, я могу достать с полки АЧХметр и в реалтайме промерить и покрутить настройки фильтров. 
но можно сделать гораздо проще. для съема АЧХ надо знать уровень на входе, уровень на выходе и частоту. у нас на борту мощный проц. частоту можно выдать с него, а можно с внешнего калиброванного генератора. мне надо снять точек 5-6 для оценки линейности. есть такая мысль. просим юзера выставить на генераторе нужную частоту с уровнем 1Vp-p и измеряем уровень, потом просим выставить следующую частоту и так 10 раз. можно еще проще (для программиста сложнее) просто крутим генератор с шагом 100 КГц. прибор определяет частоту (дискретным входом используя таймер, вычисляя из периода оцифрованного сигнала, используя ФФТ, неважно) измеряет уровень на этой частоте и рисует график.
 
RW9UAOДата: Вторник, 21.04.2015, 19:38 | Сообщение # 14
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline

рабочий процесс, 100 кГц на экране




внешний вид спереду


и сзаду


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


опишу схему.
на входе делитель на 5. за ним усилитель с КУ = 5, затем усилитель с переключаемым КУ (PGA). в качестве переключателя работает 74НС4052. последним стоит смещение уровня для АЦП. его КУ = 1. опорное напряжение 2.5 вольта отвязано от делитель ОУ с КУ = 1, иначе делитель ощутимо влияет на источник опорного напряжения.
ОУ запитаны двуполяркой 5 вольт, на каждой ноге питания по керамической блокировочной емкости 0.1 мкф. переключатель PGA также запитан двуполяркой.
повторитель источника 2.5 вольта я сначала сделал на свободном элементе 4070, но он стал самовозбуждаться, поставил AD8616 с однополярным питанием +5 в. хотя там и LM358 за глаза.
элементы частотной коррекции АЧХ пока не устанавливал.
в итоге получил развертку 2uS - 4uS - 10uS - 20uS - 5mS - 10mS - 25mS - 50mS - 100mS/div и 500 mV - 200 mV - 100 mV - 50 mV/dev при щупе 1:1. деление 32 пикселя.
глюки:
не работает толком триггер, надо разбираться с режимом ждущей развертки
иногда пролетают выбросы при оцифровке. их можно отфильтровать программным ФНЧ, но он сожрет и реальные иголки в сигнале. в принципе я знаю откуда они лезут, но убрать их не реально в данной конструкции.
надо сделать переключение режима смещения 2.5 - 3.0 вольта. при 2.5 работает с переменкой, при 3.0 с постоянкой и смещаем 0 с середины экрана в низ экрана.
Прикрепления: 8759038.jpg (237.6 Kb) · 4593432.jpg (185.0 Kb) · 3063248.jpg (111.1 Kb) · 4593561.jpg (209.3 Kb) · 5332288.jpg (270.5 Kb) · 0302707.jpg (221.5 Kb)


Сообщение отредактировал RW9UAO - Вторник, 21.04.2015, 19:55
 
RW9UAOДата: Вторник, 21.04.2015, 22:22 | Сообщение # 15
Генерал
Группа: Проверенные
Сообщений: 2085
Репутация: 3
Статус: Offline
сменил опорное напряжение с 2.5 на 2.0 вольта. ноль вольт на входе сполз с середины экрана на две клетки вниз (не во всех режимах volt/div, зависит от КУ чтоли).
так пользоваться ощутимо приятнее =)
 
RC42-Форум » Технический форум » Радиоуправление и электроника » Осциллограф (DIY местами)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: