Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

USB осциллограф на PIC микроконтроллере

Этот простой и дешёвый USB осциллограф был придуман и сделан просто ради развлечения. Давным давно довелось чинить какой-то мутный видеопроцессор, в котором спалили вход вплоть до АЦП. АЦП оказались доступными и недорогими, я купил на всякий случай парочку, один пошёл на замену, а другой остался.

- Максимальная частота дискретизации - 6 МГц;
- Полоса пропускания входного усилителя - 0-16 МГц;
- Входной делитель - от 0.01 В/дел до 10 В/дел;
- Входное сопротивление - 1 МОм;
- Разрешение - 8 бит.Принципиальная схема осциллографа показана на рисунке 1.

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

Кнопка S2 - это часть железа нужного для бутлоадера. Если при подключении осциллографа к USB держать её нажатой, то PIC заработает в режиме бутлоадера и можно будет обновить прошивку осциллографа при помощи соответствующей утилиты. В качестве АЦП (IC3) была использована "телевизионная" микросхема - TDA8708A. Она вполне доступна во всяких "Чип и Дип"ах и прочих местах добычи деталей. На самом деле это не только АЦП для видеосигнала, но и коммутатор входов, выравниватель и ограничитель уровней белого - чёрного и т.д. Но все эти прелести в данной конструкции не используются. АЦП весьма шустр - частота дискретизации - 30 МГц. В схеме он работает на тактовой частоте 12 МГц - быстрее не нужно, потому что PIC18F2550 просто не сможет быстрее считывать данные. А чем выше частота - тем больше потребление АЦП. Вместо TDA8708A можно использовать любой другой быстродействующий АЦП с параллельным выводом данных, например TDA8703 или что-нибудь от Analog Devices.

Тактовую частоту для АЦП удалось хитрым образом извлечь из PIC'а - там запущен ШИМ с частотой 12 МГц и скважностью 0.25. Тактовый импульс положительной полярности проходит в цикле Q1 PIC'а так что при любом обращении к порту B, которое происходит в цикле Q2 данные АЦП будут уже готовы. Ядро PIC'а работает на частоте 48 МГц, получаемой через PLL от кварца 4 МГц. Команда копирования из регистра в регистр выполняется за 2 такта или 8 циклов. Таким образом, данные АЦП возможно сохранять в память с максимальной частотой 6 МГц при помощи непрерывной последовательности команд MOVFF PORTB, POSTINC0. Для буфера данных используется один банк RAM PIC18F2550 размером 256 байт.

Меньшие частоты дискретизации реализуются добавлением задержки между командами MOVFF. В прошивке реализована простейшая синхронизация по отрицательному или положительному фронту входного сигнала. Цикл сбора данных в буфер запускается командой от PC по USB, после чего можно эти данные по USB прочитать. В результате PC получает 256 8-битных отсчётов которые может, например, отобразить в виде изображения. Входная цепь проста до безобразия. Делитель входного напряжения без всяких изысков сделан на поворотном переключателе. К сожалению не удалось придумать как передавать в PIC положение переключателя, поэтому в графической морде осциллографа есть только значения напряжения в относительных единицах - делениях шкалы. Усилитель входного сигнала (IC2B) работает с усилением в 10 раз, смещение нуля, необходимое для АЦП (он воспринимает сигнал в диапазоне от Vcc - 2.41В до Vcc - 1.41В) обеспечивается напряжением с программируемого генератора опорного напряжения PIC (CVREF IC1, R7,R9) и делителем от отрицательного напряжения питания (R6,R10, R8). Т.к. в корпусе ОУ был "лишний" усилитель (IC2A), я использовал его как повторитель напряжения смещения.

Не забудьте про емкостные цепочки для частотной компенсации входной ёмкости вашего ОУ и ограничивающих диодов, которые отсутствуют на схеме - нужно подобрать ёмкости параллельно резисторам делителя и резистору R1, иначе частотные характеристики входной цепи загубят всю полосу пропускания. С постоянным током всё просто - входное сопротивление ОУ и закрытых диодов на порядки выше сопротивления делителя, так что делитель можно просто посчитать не учитывая входное сопротивление ОУ. Для переменного тока иначе - входная ёмкость ОУ и диодов составляют значительную величину по сравнению с ёмкостью делителя. Из сопротивления делителя и входной ёмкости ОУ и диодов получается пассивный ФНЧ, который искажает входной сигнал.

Чтобы нейтрализовать этот эффект нужно сделать так, чтобы входная ёмкость ОУ и диодов стала значительно меньше ёмкости делителя. Это можно сделать соорудив емкостной делитель параллельно резистивному. Посчитать такой делитель сложно, т.к. неизвестна как входная ёмкость схемы, так и ёмкость монтажа. Проще его подобрать.

Способ подбора такой:
1. Поставить конденсатор ёмкостью примерно 1000 пФ параллельно R18.
2. Выбрать самый чувствительный предел, подать на вход прямоугольные импульсы с частотой 1 кГц и размахом в несколько делений шкалы и подобрать конденсатор параллельно R1 так, чтобы прямоугольники на экране выглядели прямоугольниками, без пиков или завалов на фронтах.
3. Повторить операцию для каждого следующего предела, подбирая конденсаторы параллельно каждому резистору делителя соответственно пределу.
4. Повторить процесс с начала, и убедиться, что на всех пределах всё в порядке ( может проявиться ёмкость монтажа конденсаторов ), и, если что-то не так, слегка подкорректировать ёмкости.

Сам ОУ - это Analog Devices AD823. Самая дорогая часть осциллографа. 🙂 Но зато полоса 16 МГц - что весьма неплохо.А кроме того, это первое из шустрого, что попалось в розничной продаже за вменяемые деньги.

Конечно же этот сдвоенный ОУ без всяких переделок можно поменять на что-то типа LM2904, но тогда придётся ограничится сигналами звукового диапазона. Больше 20-30 кГц оно не потянет.

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

Источник отрицательного напряжения питания для ОУ сделан на хорошо известной charge-pump ICL7660. Минимум обвязки и никаких индуктивностей. Ток по выходу -5 В конечно у неё невелик, но нам много и не надо. Цепи питания аналоговой части изолированы от помех цифры индуктивностями и ёмкостями (L2, L3, C5, C6). Индуктивности попались номиналом 180 uГн, вот их и поставил. Никаких помех по питанию даже на самом чувствительном пределе. Прошивка PIC заливается по USB с помощью бутлоадера который сидит с 0-го адреса в памяти программ и запускается если при включении удерживать нажатой кнопку S2. Так что прежде чем прошивать PIC - залейте туда сначала бутлоадер - будет проще менять прошивки.
Исходники драйвера осциллографа для ядер 2.6.X находятся в архиве с прошивкой. Там же есть консольная утилитка для проверки работоспособности осциллографа. Её исходники стоит посмотреть, чтобы разобраться как общаться с осциллографом, если хочется написать для него свой софт.
Программа для компьютера проста и аскетична, ее вид показан на рисунках 2 и 3. Подключить осциллограф к USB и запустить qoscilloscope. Требуется QT4.

Во вложении- все файлы к проекту

Источник: http://shemotehnik.ru/

 

Осциллограф через проект МК ПОС



Я довольно новичок в микроконтроллерах. Поэтому я не имею ни малейшего представления об их потенциале.

Я хочу сделать осциллограф с использованием microcontroller, который будет захватывать данные через ADC и передавать их через usb в компьютер для обработки и отображения.

Я хочу обсудить этот проект. Ресурсы, которыми я располагаю, заключаются в следующем:

1) ADC моего dsPIC MCU способен обеспечить 1.1 Msps, где каждый образец имеет 10-битное разрешение. Он имеет возможность делать одновременную выборку до 4 каналов одновременно.

2)MCU имеет поддержку USB и каналы DMA для передачи данных от ADC непосредственно к USB.

Мои вопросы таковы:

1) Какова самая быстрая частота дискретизации, которую я могу достичь, используя эти спецификации?

2) осуществим ли этот проект? Будет ли он достаточно быстр, чтобы конкурировать со стандартным осциллографом?

3) Как я могу оптимизировать MCU, чтобы обеспечить наилучшую производительность?

4) Как бы вы сделали этот проект? (ваш подход)

5) я буду использовать JavaFx для создания компьютерного приложения, способного показывать результаты этого осциллографа. Это правильный подход?

java microcontroller dma adc
Поделиться Источник Mohsin Anees     09 июля 2016 в 21:47

1 ответ


  • Python - осциллограф

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

  • Как долго это берет, чтобы расширить функциональные возможности пос terminal?

    Как долго это берет, чтобы расширить функциональные возможности пос terminal? Я понятия не имею, сколько времени требуется для разработки / расширения функциональности POS terminal. У меня есть друг, который просит меня об этом, и мы наткнулись на How Long Part. У моего друга уже есть работающий...



1

Я проделал хорошую работу, используя dsPIC family MCUs. Я постараюсь ответить на ваши вопросы по порядку.

1) Какова самая быстрая частота дискретизации, которую я могу достичь, используя эти спецификации?

Ваша частота дискретизации, как вы и сказали, составляет 1.1 МС / с (Mega-samples-per-second), предполагая, что вы хотите читать только с одного канала. Если вы хотите читать более чем с одного канала, ваша максимальная частота дискретизации на канал уменьшится.

2) осуществим ли этот проект? Будет ли он достаточно быстр, чтобы конкурировать со стандартным осциллографом?

Это определенно выполнимый проект, учитывая, что у вас есть базовое понимание программирования microcontroller и основных принципов схемы. Ваш осциллограф должен быть сопоставим с любым другим осциллографом, предлагающим частоту дискретизации 1.1 МС / С за вычетом некоторых функций, таких как поддержка 10-кратных зондов (если только вы не создадите схему для этой функции). Большинство дополнительных функций этого проекта будут встроены в вашу программу Java, а не в саму программу microcontroller.

3) Как я могу оптимизировать MCU, чтобы обеспечить наилучшую производительность?

Чтобы получить максимальную производительность от вашего MCU, запустите часы так быстро, как это предусмотрено спецификациями, и попытайтесь найти способы достижения того же результата в вашей программе с наименьшим количеством инструкций. Это может означать отказ от форматирования данных на стороне MCU в пользу разрешения клиентской программе выполнять эти вычисления.

4) Как бы вы сделали этот проект? (ваш подход)

ADC операции над этими MCUs не особенно сложны. Встроенные модули делают проект очень управляемым. Самой программно сложной частью этого проекта (на мой взгляд) будет передача и прием данных по USB. Я бы сначала занялся этой частью проекта (то есть заставил USB работать над PIC и иметь возможность получать и обрабатывать эти данные в реальном времени из Java). Если вы используете семейство PIC24 или dsPIC33 или аналогичное 16-битное MCU с компилятором микрочипов, я рекомендую использовать библиотеку C, такую как эта: http:/ / www.reesemicro.com / Home / pic24-software-library-collection

5) я буду использовать JavaFx для создания компьютерного приложения, способного показывать результаты этого осциллографа. Это правильный подход?

Я никогда не использовал JavaFx, поэтому не уверен в его возможностях, но уверен, что какая-то библиотека пользовательского интерфейса Java способна на это. Возможно, кто-то более осведомленный о JavaFx мог бы ответить на эту часть вопроса?

Поделиться Will Carroll     09 июля 2016 в 22:09


Похожие вопросы:


CreateJS планирует выпустить сфера МК

В Adobe AnimateCC используя CreateJS у меня есть МК на рамку называется disclaimer_btn , и МС на кадр называется discTxt . Я хочу иметь возможность наводить курсор мыши на disclaimer_btn и...


Как создать осциллограф для аудио на android

я создаю приложение для записи звука с помощью осциллографа. я сделал аудиозапись со следующим кодом теперь я добавляю oscilloscopse, как показано в требовании figure.my, волна осциллографа должна...


Приложение Facebook - приложения или получать пос

Я хотел сделать что-то действительно классное для всех моих фанатов Facebook fanpage (всего 10000), но для этого мне нужны эти 10000 фотографий профиля. Но Facebook позволяет видеть только 500...


Python - осциллограф

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


Как долго это берет, чтобы расширить функциональные возможности пос terminal?

Как долго это берет, чтобы расширить функциональные возможности пос terminal? Я понятия не имею, сколько времени требуется для разработки / расширения функциональности POS terminal. У меня есть...


Время МК в perl

Как я могу преобразовать десятичное время в МК в Perl. Я получаю эту документацию : codes below are time decoding and encoding, for your reference static const unsigned char rtc_days_in_month[] = {...


HTML5 осциллограф

Мне нужна бесплатная диаграмма реального времени (предпочтительно HTML5), которая может отображать входящие сигналы, как осциллограф. Я нашел два примера, которые очень близки к тому, что я хочу:...


Копирование пикселей из МК с движущимися элементами в нем

Есть ли способ скопировать пиксели из МК, в котором есть движущиеся части ( например, круг, который движется из одного угла МК в другой угол и повторяет это бесконечно), в другой МК каждую секунду....


Java и осциллограф

Мне нужно получить доступ к данным с осциллографа (Tektronix DO4034B), подключенного к моему LAN. Осциллограф имеет web-GUI для выполнения этих функций. Мое сомнение заключается в том, как я...


осциллограф входа динамика прекращает рендеринг через несколько секунд

Следующий сценарий считывает звук с микрофона пользователя и отображает осциллограф на html canvas. Источник взят из примера mozilla developer network: визуализации с Web Audio API А вот и fiddle:...

Осциллограф С Использованием Проекта Pic Mcu

Я проделал большую работу, используя микроконтроллеры семейства dsPIC. Я попытаюсь ответить на ваши вопросы в порядке.

1) Какова самая быстрая частота дискретизации, которую я могу выполнить с использованием этих спецификаций?

Ваша частота дискретизации точно так же, как вы сказали, 1.1 Msps (Mega-samples-per-second), предполагая, что вы хотите читать только с одного канала. Если вы хотите читать более одного канала, ваша максимальная частота дискретизации на канал будет уменьшаться.

2) Является ли этот проект осуществимым? Будет ли это достаточно быстро, чтобы конкурировать со стандартным осциллографом?

Это, безусловно, выполнимый проект, учитывая, что у вас есть базовое понимание программирования микроконтроллеров и принципов базовой схемы. Ваш осциллограф должен быть сопоставим с любым другим осциллографом, предлагающим частоту дискретизации 1,1 Мпс минус некоторые функции, такие как поддержка 10-кратных зондов (если вы не построите схему для этой функции). Большинство расширенных функций этого проекта будут встроены в вашу программу Java, а не сам микроконтроллер.

3) Как я могу оптимизировать MCU, чтобы обеспечить наилучшую производительность?

Чтобы максимально быстро выполнить максимальную производительность вашего MCU, запустите часы так же быстро, как поддержка спецификаций, и попытайтесь найти способы добиться того же результата в вашей программе с наименьшим количеством инструкций. Это может означать отказ от форматирования данных на стороне MCU в пользу того, чтобы клиентская программа выполняла эти вычисления.

4) Как бы вы сделали этот проект? (ваш подход)

Операции АЦП на этих микроконтроллерах не являются особенно сложными. Встроенные модули делают проект очень управляемым. Наиболее программно сложная часть этого проекта (на мой взгляд) будет передавать и получать данные через USB. Сначала я бы занялся этой частью проекта (что делает работу USB в ПОС и возможность получать и обрабатывать данные в реальном времени из Java). Если вы используете семейство PIC24 или dsPIC33 или аналогичный 16-разрядный MCU с компилятором Microchip, я рекомендую использовать библиотеку C, такую как эта: http://www.reesemicro.com/Home/pic24-software-library-collection

5) Я буду использовать JavaFx для того, чтобы компьютерное приложение могло показывать результаты этого осциллографа. Правильно ли это?

Я никогда не использовал JavaFx, поэтому я не уверен в его возможностях, но я уверен, что некоторые библиотеки пользовательского интерфейса Java способны на это. Может быть, кто-то, кто лучше разбирается в JavaFx, может ответить на эту часть вопроса?

Осциллограф с использованием проекта PIC MCU

I've done a good bit of work using dsPIC family MCUs. I'll attempt to answer your questions in order.

1) What is the fastest sampling rate I can acheive using these specs?

Your sampling rate is just as you said, 1.1 Msps (Mega-samples-per-second), assuming you only want to read from one channel. If you want to read from more than one channel, your maximum sampling rate per channel will decrease.

2) Is this project feasible? Will it be fast enough to compete against a standard Oscilloscope?

This is definitely a feasible project given that you have a basic understanding of microcontroller programming and basic circuit principles. Your oscilloscope should be comparable to any other oscilloscope offering a 1.1 Msps sample rate minus some functionality such as support for 10x probes (unless you build the circuitry for that functionality). Most of the advanced features of this project will be built into your Java program rather than the microcontroller itself.

3) How can I optimize for the MCU to give best possible performance?

To get the fastest performance out of your MCU as possible, run the clock as fast as the specs support, and try to find ways to achieve the same result in your program with the least amount of instructions. This could mean avoiding data formatting on the MCU side in favor of allowing the client program to do these calculations.

4) How would you make this project? (your approach)

ADC operations on these MCUs isn't particularly complex. The built-in modules make the project very manageable. The most programmatically difficult part of this project (in my opinion) is going to be transferring and receiving data over USB. I would tackle this part of the project first (that is making USB work on the PIC and being able to receive and process that data realtime from within Java). If you are using a PIC24 or dsPIC33 family or similar 16-bit MCU with the Microchip compiler I recommend using a C library such as this one: http://www.reesemicro.com/Home/pic24-software-library-collection

5) I will be using JavaFx for making the Computer application capable of showing the results of this oscilloscope. Is this the right approach?

I have never used JavaFx so I am not sure of its capabilities, but I am sure that some Java user interface library is capable of this. Perhaps someone more knowledgeable on JavaFx could answer this part of the question?

8x8 светодиодный "осциллограф" на pic 16f877a - Мои проекты - Каталог проектов - ROBOSITE - Робосайт

У микроконтроллера 16f877a есть 3 полных порта по 8 ног (0-7) и ещё два порта по-кусочкам.

Для этого проекта используется два полных порта B и D и чуть-чуть от аналогово. При этом

только три входа микроконтроллера становятся аналоговыми, остальная часть порта А определяется

как цифровые ноги, и вы можете их использовать, если надо.

 

 

Светодиоды подключаются минусами к порту Б и плюсами к порту Д.

Напряжение на входе сверяется с Vref. И соответственно может быть

от 0 до Vref 🙂 Резисторы в порте Д для ограничения тока через

матрицу. Не делайте слишком маленькие значения - контроллер

сгорит 🙂

 

 

Программа. PicBasic

 

' инициализация 

INCLUDE "bs2defs.bas"
DEFINE  OSC 24
Define ADC_BITS   8           ' восьми-битный АЦП
Define ADC_SAMPLEUS 10   ' "брать пробу" в течении 10мкс
an VAR byte
m  VAR byte
t  VAR byte
x  VAR byte[8]
st VAR byte
 ADCON1 = %01100101       ' частота конвертирования - Fosc / 64 и
                                          ' AN0 & AN1 - аналоговые, AN2-AN7 - цифр.
                                          ' кроме AN3 который Vref+
  TRISb = %00000000          ' порт B - outputs
  TRISd = %00000000          ' порт D - outputs
odin                  ' ой что будет...
st = 1     

' рисуем на экране из массива

                FOR t = 1 TO 50     'рисовать 50 раз каждый фрейм
FOR m = 0 TO 7
portb = 255 - st
portd = x[m]
st = st << 1                        ' st = st * 2 - двигаем порт Б на 1
PAUSEUS 10
NEXT m
portd = 0                           ' стереть экран
portb = 255                        ' cls
st = 1 
                NEXT t

' берём текущее значение напряжения

ADCIN 0, an                      ' an - from 0 to 255
an = an / 29                      ' an  from 0 to 8
 t = 1                                'т временная переменная для цикла
 FOR m = 1 TO an              'возведения 2 в степень an
 t = t << 1                         'умножаем т = т * 2
 NEXT m                            ''''''
t = t - 1                             ' чтобы загорелись бары, а не точки

 

 

FOR m = 7 TO 1 STEP -1
x[m] = x[m-1]                   ' сдвигаем данные в массиве на 1
NEXT m
x[0] = t                             ' и подставляем свежее значение

GOTO odin                           ' пахать ей вечно

Синие цифры - для настроек времени программы (паузы). Можно с ними поиграться.

Кварц на 24, Но это не очень критично - можно 8-10-12-16-20.

HEX

 

:020000040000FA
:100000004D28A000A00DA00D200D3839C1389F004B
:100010000030A1000A3013201F151F190D28A1015F
:100020001E084828A101FC3EA000A1090000031CF5
:100030001F28FF301B28A00703181A28A0076400F8
:100040002128A10F192808000310A00DA10DFF3EC3
:100050000318242820084828A501A4011030A60070
:10006000210DA40DA50D2208A4022308031C230FB3
:10007000A502031842282208A40723080318230F07
:10008000A5070310A00DA10DA60B302820084828B5
:1000900083130313831264000800831665309F00E6
:1000A0008601880183120130DE000130DF00640028
:1000B00033305F028A110A1203188228DD016400BE
:1000C00008305D028A110A12031878285E08FF3C86
:1000D00086005D08383E8400000888000310DE0DAD
:1000E0000A308A011220DD0A8A110A12031D5F28D4
:1000F0008801FF3086000130DE00DF0A8A110A1213
:10010000031D572800308A010120DC005C08A00094
:10011000A1011D30A200A3018A012C20DC000130C6
:10012000DF000130DD0064005D085C028A110A1204
:10013000031CA1280310DF0DDD0A8A110A12031D1A
:100140009328DF030730DD00640001305D028A116F
:100150000A12031CC228FF305D07C000FF300318DD
:10016000013EC1004008383E84000008C0005D0820
:10017000383E8400400880000130DD028A110A12F6
:0C0180000318A4285F08B8008A01532867
:02400E007D3FF4
:00000001FF

 

Осциллограф - Циклоп

Простая по конструкции и несложная в повторении радиолюбительская схема осциллографа Циклоп

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“

В этой статье мы рассмотрим не сложную радиолюбительскую схему, простую по конструкции и доступную для сборки начинающему радиолюбителю – осциллограф.

Несмотря на простоту схемы это полноценный импульсный низкочастотный осциллограф, позволяющий “увидеть” процессы в аналоговых и цифровых схемах, работающих на частотах до 2 МГц. Осциллограф собран на импортной трубке 7QR20. По электрическим параметрам она близка трубкам 5ЛО38 и 6ЛО1. Это значит, что эти трубки тоже могут работать в данной схеме, но могут потребовать корректировки некоторых режимов по напряжениям и чувствительности, создание источника для третьего анода. Принципиальная схема приведена ниже. В ней шесть высоковольтных транзисторов и одна микросхема.

Рассмотри схему вертикального отклонения луча. Выходной каскад выполнен по дифференциальной схеме на транзисторах VT1, VT2. Пластины вертикального отклонения включены между коллекторами этих транзисторов. Усилитель питания от коллекторного источника напряжением +270 вольт (с выпрямителя на VD2) и эмиттерного источника  -11 вольт (с выпрямителя на VD3). Применение источника отрицательного напряжения позволяет подстройкой сопротивлений R12, R13 вывести усилительный каскад на режим нулевого потенциала входа. Именно это дает исследовать не только переменные, но и постоянный напряжения и пользоваться осциллографом при наладке цифровых схем. Регулировка положения горизонтальной линии по вертикали выполняется резистором R14, которым можно изменять балансировку выходного каскада.

Чувствительность выходного каскада с данной трубкой получается около 6 вольт и зависит как от сопротивлений R12, R13 так и от сопротивления R11. Для повышения чувствительности и входного сопротивления прибора используется операционный усилитель А1, включенный усилителем постоянного напряжения. Коэффициент усиления устанавливается при налаживании подстроечным резистором R15. Масштабирование вертикального отклонения  – при помощи входного делителя R17-R22, переключаемого S2.

Схема развертки выполнена на VT3-VT5, по хорошо опробованной схеме. Схема состоит из мультивибратора на транзисторах VT3, VT4 и генератора пилообразного напряжения на VT5 и конденсаторах С16-С20. Мультивибратор периодически заряжает выбранный S4 конденсатор, который потом плавно разряжается через источник тока на VT6. Частота развертки зависит от емкости конденсатора (выбранного S4) и тока разрядки (устанавливается резистором R34). Резистор R34  служит для плавной установки частоты, а S4 для ступенчатой.  Напряжение синхронизации поступает на вход мультивибратора с выхода ОУ через цепь С9-R23-C10-R24. Резистор R23 – регулятор уровня синхронизации.

Обычно, в схемах импульсных осциллографов выходной каскад канала горизонтального отклонения выполнен по схеме аналогичной вертикальному каналу, то есть, по схеме усилителя с нулевым потенциалом на входе. Но это имеет смысл только в том случае, если канал горизонтального отклонения имеет выход (выход “Х”). В данной схеме такой выход не предусмотрен, поэтому пилообразное напряжение подается прямо с выхода генератора развертки на горизонтально отклоняющие пластины трубки. В простейшем случае, можно горизонтальные пластины просто включить между эмиттером VT4 и общим минусом питания. Размах пилообразного напряжения составляет около 200 вольт, чего более чем достаточно для отклонения луча на всю ширину экрана. Но здесь возникает трудность с тем, как сделать регулировку положения осциллограммы по горизонтали и с тем, что в таком режиме возникает размытость горизонтальной линии. Поэтому на горизонтальные пластины поданы исходные потенциалы при помощи резистора R1 (который служит регулятором положения по горизонтали) и с второго анода трубки (через R3).  В результате нулевые потенциалы на всех пластинах отклонения стали близки к величине напряжения на втором аноде, относительно катода (устанавливаемым резистором R4), что позволило получить хорошую фокусировку линии и отсутствие размытостей на краях экрана, а также искажений. Но эти меры привели к тому, что горизонтальные пластины оказались под постоянным напряжением, отличным от постоянной составляющей пилообразного напряжения. Поэтому пилообразное напряжение на трубку подается через разделительный конденсатор C15, а эмиттерный повторитель VT5 исключает воздействие параметров нагрузки на линейность пилообразного напряжения. Кроме того, появилась возможность ввести подстроечный резистор R32, при помощи которого можно установить длину горизонтальной линии так, чтобы она была точно по ширине экрана (или с небольшим запасом по краям).

Источник питания выполнен на двух низкочастотных силовых трансформаторах. Второй трансформатор введен для получения двухполярного напряжения ±11 вольт, и для того чтобы не переделывать первый трансформатор.

Резистор R5 регулирует фокусировку, а R8 – яркость свечения. Для гашения обратного хода лучей на модулятор поступают импульсы со схемы развертки (с выхода мультивибратора через С4).

Детали. Все транзисторы можно заменить на КТ604 или КТ969. Операционный усилитель любой общего применения. Конденсаторы, напряжение которых не указано должны быть на напряжение не менее 100 вольт. Переменные резисторы, работающие в высоковольтных цепях, желательно использовать СП-1 мощностью 1 или 2 ватта.

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

Все остальные детали – объемным способом. Перед налаживанием установите все переменные резисторы в среднее положение. При отсутствии входного напряжения  и в среднем положении R14, напряжение на коллекторах VT1, VT2 должны быть одинаковы(около 120-150 вольт). Режим выходного каскада на VT1 и VT2 устанавливают подстроечными резисторами R12, R13. Коэффициент усиления А1 устанавливается R15, и если необходимо, подбором сопротивлений R18-R22. Небольшой подстройкой R4 нужно добиться отсутствия размытости линии на краях экрана. Напряжение на R4 должно быть примерно таким, как напряжение на коллекторах VT1, VT2 когда на их базах присутствуют нулевые напряжения (нуль на базе VT1 будет при отсутствии входного сигнала, а на базе VT2 – предварительно установить R14). Налаживание генератора развертки не требуется, за исключением подстройки длины горизонтальной развертки резистором R32 и, если необходимо, подбора емкостей С16-С20.

Точность и достоверность осциллографа можно существенно повысить если использовать стабилизаторы в схеме источника питания и точно установить параметры входного делителя R17-R22 и частоты развертки С16-С20.



Осциллограф С1-49 принципиальная схема, фото прибора

Принципиальная схема осциллографа С1-49, внешний вид прибора.

Полупроводниковый осциллограф С1-49 предназначен для наблюдения и исследования формы электрических процессов в диапазоне частот от 0 - 5 Мгц, путем визуального наблюдения и измерения значений их амплитуд.

Основные характеристики

  • Количество лучей ЭЛТ - Однолучевой;
  • Диапазон измеряемых напряжений - 20 мВ – 200 В;
  • Диапазон измеряемых интервалов времени - 8 мкс – 0.5 сек;
  • Полоса пропускания 0 – 5,5 Мгц;
  •  Погрешность измерения амплитуды сигнала  - не более 10 %;
  • Погрешность измерения интервалов времени - не более 10 %;
  • Ширина линии луча  - 0,6 мм;
  • Рабочая площадь экрана по горизонтали  - 60 мм;
  • Рабочая площадь экрана по вертикали - 36 мм;
  • Напряжение питающей сети - 220 В 50 Гц, 115 В 400 Гц;
  • Потребляемая мощность - 38 ВА;
  • Диапазон рабочих температур -30 + 50 град С;
  • Габаритные размеры - 170 Х 223 Х 445 мм;
  • Масса - 8,5 кг.

ПАРАМЕТРЫ КАНАЛА Y

  • Чувствительность канала Y - 10 мВ/дел – 20 В/дел;
  • Входное сопротивление канала - 1 Мом;
  • Входная емкость канала - 50 пф.

ПАРАМЕТРЫ КАНАЛА X

  • Длительность развертки минимальная - 0,2 мкс/дел;
  • Длительность развертки максимальная - 10 мсек/дел;
  • Амплитуда сигналов внешней синхронизации - 0,5 – 30 В;
  • Диапазон частот внешней синхронизации - 1 гц – 5 Мгц;
  • Входное сопротивление внешней синхронизации - 1 Мом.

ПАРАМЕТРЫ КАНАЛА Z

  • Диапазон частот канала - 30 гц –1 Мгц;
  • Диапазон входных напряжений - 10 – 60 В;
  • Входное сопротивление канала - 1 Мом.

ПАРАМЕТРЫ КАНАЛА КАЛИБРОВКИ

  • Частота сигнала калибровки - Меандр 2 Кгц;
  • Напряжение сигнала калибровки - 50 мВ.

Принципиальная схема

Осциллограф С1-49 произведен на Червоноградском завод радиоаппаратуры, модель 1972 года.

Чертеж осциллографа

для всех | Alex Porto

ОБНОВЛЕНИЕ: Я сделал новую версию этого программного обеспечения. Проверьте ссылку внизу этой страницы

Вы когда-нибудь видели, чтобы кто-нибудь рисовал на экране осциллографа? Вы когда-нибудь хотели? Что ж, теперь ты можешь. И «сейчас» я не говорю, что вам нужно покупать какое-то оборудование или устанавливать какое-то устройство для взлома, чтобы создать свой рисунок. «Сейчас» - это прямо сейчас.

Позвольте представить вам Rabiscoscopio: простую и бесплатную программу, которая преобразует ваши рисунки в изображения осциллографа.

Вы знаете, что осциллограф может превращать звук в изображение. Итак, если мы превратим изображение в звук и подадим звук на осциллограф, мы получим исходное изображение на экране.

Rabiscoscopio (на бразильском португальском означает что-то вроде каракуля) не имеет секретов:

  1. Создание однострочного рисунка SVG с помощью Inkscape или другого программного обеспечения для рисования
  2. Используйте Rabiscoscopio для преобразования этого рисунка в файл звуковой волны
  3. Воспроизведите этот файл с помощью компьютера, iPod или другого звукового устройства, подключенного к осциллографу, установленному в режим XY.
  4. Сфотографируйте рисунок вашего осциллографа и пришлите мне, пожалуйста! 🙂

Итак, посмотрим на этот пример:

Это осциллограф, генерирующий логотип Garoa Hackerspace в Сан-Паулу, Бразилия (где были сделаны эти изображения). Он был подключен к ноутбуку, воспроизводившему звуковой файл, созданный Rabiscoscopio.

Итак, как это работает?

Rabiscoscopio прост в эксплуатации. При запуске вы видите две кнопки:

  • Первый открывает файл SVG
  • Второй обновляет волновой файл, если вы изменяете параметры на экране.

Возможные варианты:

  • длина волны: Продолжительность вашего рисунка в секундах.Помните, что он будет преобразован в звуковую волну. Таким образом, время, необходимое для отображения SVG на экране, будет длиной волны вашего сигнала. Используйте это для настройки вашего осциллографа Время / DIV
  • Размер файла Soud: продолжительность созданного звукового файла в секундах.

После чтения файла SVG Rabiscoscopio разбивает его на два сигнала: по одному для каждого входа осциллографа. Первый сигнал представляет ось X чертежа, а второй - ось Y (вы можете увидеть исходный SVG здесь справа)

Каждый раз, когда вы открываете файл SVG или нажимаете кнопку обновления, Rabiscoscopio генерирует звуковой файл (WAV) с тем же именем, что и исходный файл SVG.Этот файл содержит два звуковых канала: ось X в левом канале и ось Y в правом канале, как вы можете видеть на этом скриншоте Audacity:

Теперь вам просто нужно воспроизвести этот звук на своем компьютере, подключив две контрольные точки осциллографа к выходу стереозвука.

Если вы видите две волны, каждая на входном сигнале осциллографа, просто нажмите кнопку XY на осциллографе и наслаждайтесь изображением.

Здесь вы можете услышать звук, который делает этот рисунок:

(Примечание: Youtube применяет сжатие с потерями к звукам видео, поэтому этот звук видео не дает хорошего рисунка.Но исходный звуковой файл можно получить здесь)

Подсказки для ваших рисунков:
  • Составьте одну строку. Осциллографу требуется непрерывная сигнальная волна, поэтому вам нужно убедиться, что ваш чертеж содержит только одну линию
  • Используйте только прямые строки в файлах SVG. В настоящее время Rabiscoscopio не может читать SVG со сплайнами, кругами или кривыми Безье
  • Если осциллограф начинает показывать диагональную линию, попробуйте несколько раз нажать кнопку XY, пока она не синхронизируется со звуковым сигналом.
  • Он поддерживает прямые линии. Это означает, что вы пока не можете использовать кривые / круги / сплайны / Беззье на окончательном чертеже. Но вы можете использовать их в Inkscape и преобразовывать в прямые линии, когда закончите рисовать. Просто нажмите кнопку и выберите кривую. Затем вы нажимаете 11-ю кнопку на панели инструментов, которая называется «Сделать выделенные сегментные линии», и ваша кривая будет преобразована в серию соединенных линий.

Если вы не можете получить хорошее изображение, проверьте это сравнение, которое я провел на звуковых картах разного качества

Итак, где взять эту программу:

Скачать программу можно здесь:

https: // sourceforge.net / projects / rabiscoscopio / files / rabiscoscopio.zip / download (Код находится на GitHub)

Rabiscoscopio был создан с помощью Visual Studio 2010, так что, возможно, вам также понадобится этот распространяемый пакет (на всякий случай. Вероятно, он у вас уже установлен)


Старая версия все еще находится здесь:

https://github.com/aporto/rabiscoscopio/tree/master/release

Не требует установщика. Просто распакуйте в папку и запустите rabiscoscopio.exe ". Если вы не можете рисовать, попробуйте использовать прилагаемые образцы изображений

.

Он работает только в Windows, но код новой версии основан на Qt, поэтому он переносим. Не стесняйтесь попробовать скомпилировать его для другой цели.

java - Осциллограф с использованием PIC MCU project

Я проделал неплохую работу, используя микроконтроллеры семейства dsPIC. Постараюсь ответить на ваши вопросы по порядку.

1) Какую самую быструю частоту дискретизации я могу получить, используя эти характеристики?

Ваша частота дискретизации такая же, как вы сказали: 1.1 Msps (мегасэмплов в секунду), если вы хотите читать только с одного канала. Если вы хотите читать более чем с одного канала, ваша максимальная частота дискретизации на канал уменьшится.

2) Возможен ли этот проект? Будет ли он достаточно быстрым, чтобы конкурировать со стандартным осциллографом?

Это определенно осуществимый проект, если у вас есть базовые представления о программировании микроконтроллеров и основных принципах построения схем. Ваш осциллограф должен быть сопоставим с любым другим осциллографом, предлагающим 1.Частота дискретизации 1 Msps минус некоторые функции, такие как поддержка датчиков 10x (если вы не построите схему для этой функции). Большинство расширенных функций этого проекта будут встроены в вашу программу Java, а не в сам микроконтроллер.

3) Как я могу оптимизировать MCU для обеспечения наилучшей производительности?

Чтобы получить максимальную производительность от вашего MCU, насколько это возможно, запускайте часы так быстро, как указано в спецификации, и постарайтесь найти способы достичь того же результата в вашей программе с наименьшим количеством инструкций.Это может означать отказ от форматирования данных на стороне MCU в пользу разрешения клиентской программе выполнять эти вычисления.

4) Как бы вы сделали этот проект? (ваш подход)

Операции АЦП на этих микроконтроллерах не особо сложны. Встроенные модули делают проект очень управляемым. Самая программно сложная часть этого проекта (на мой взгляд) - это передача и получение данных через USB. Сначала я бы взялся за эту часть проекта (это заставляет USB работать на PIC и иметь возможность получать и обрабатывать эти данные в реальном времени из Java).Если вы используете семейство PIC24 или dsPIC33 или аналогичный 16-разрядный микроконтроллер с компилятором Microchip, я рекомендую использовать библиотеку C, такую ​​как эта: http://www.reesemicro.com/Home/pic24-software-library-collection

5) Я буду использовать JavaFx для создания компьютерного приложения, способного отображать результаты этого осциллографа. Это правильный подход?

Я никогда не использовал JavaFx, поэтому не уверен в его возможностях, но уверен, что какая-то библиотека пользовательского интерфейса Java способна на это.Возможно, кто-нибудь более осведомленный в JavaFx сможет ответить на эту часть вопроса?

(PDF) Проектирование 4-канального цифрового запоминающего осциллографа на базе ПК с использованием методов цифровой обработки сигналов

Аннотация. В настоящее время цифровое запоминающее устройство начинает заменять осциллограф аналогового типа

из-за лучшей функциональности и характеристик

. Цифровой запоминающий осциллограф (DSO) - это устройство, используемое инженерами

, учеными или студентами-инженерами для проверки или проверки работы электронной схемы

, где отображаемый сигнал в мониторе

DSO может быть проанализирован и сохранен для использования в будущем.

DSO использует аналого-цифровой преобразователь (АЦП) для преобразования измеряемого электрического напряжения или тока

в цифровую форму за определенное время выборки

. Выборка сигнала будет сохранена и накоплена

до тех пор, пока она не сможет описать форму волны и повторно соберет

формы волны для просмотра на экране монитора. Целью исследования

является разработка 4-канального осциллографа на базе ПК

, в котором измеряемый электрический сигнал будет отображаться на мониторе ПК (персонального компьютера)

с функциональными возможностями

кнопка отображается в терминах окна на основе GUI (графический интерфейс пользователя

).Графический интерфейс пользователя разработан с использованием Microsoft Visual C ++

6.0. PIC (контроллер периферийного интерфейса) используется для сбора данных

, который передает измеренные данные на ПК

через RS232. Здесь 4 встроенных АЦП используются для создания 4-канального осциллографа

. PIC запрограммирован

с использованием языка C для чтения данных из АЦП, а затем передачи

данных на ПК. В качестве частоты дискретизации используется частота 5 кГц.

Между тем, тактовая частота 20 МГц выбрана, чтобы

снизить энергопотребление и шум.Кроме того, для хранения используется 8-килобайтная микросхема ОЗУ

. Результат исследования

показывает 3 типа сигналов, таких как синусоидальный, квадратный и

треугольный, отображаются с правильной частотой и амплитудой

. Он протестирован с использованием генератора сигналов в качестве входа для

, генерирующего сигнал для оборудования. Интеграция между

аппаратным обеспечением (PIC) и программным обеспечением (GUI) полностью работает. Кроме того,

графический интерфейс очень удобен для пользователя и прост в настройке.Данные

из измеряемого сигнала также могут быть сохранены и восстановлены.

Ключевые слова - DSO, ADC, GUI, PIC, 4-канальный осциллограф на базе ПК

I. N

OMENCLATURE

DSO - Цифровой запоминающий осциллограф

ПК - Персональный компьютер

GUI - Графический интерфейс пользователя

АЦП - аналого-цифровой преобразователь

RAM - оперативная память

PIC - компьютер с периферийным интерфейсом

Исследование было проведено студенткой последнего курса инженерного проекта

под руководством преподавателя.Исследование проводилось в

Universiti Malaysia Pahang (UMP).

Все авторы прикреплены к факультету электротехники и электроники

(FKEE), Universiti Malaysia Pahang (UMP), Locked Bag 12, 25000 Kuantan,

Pahang Darul Makmur, Malaysia.

Электронная почта: [email protected]

USART - Универсальный синхронный асинхронный

Приемник-передатчик

SPI - Последовательный периферийный интерфейс

I2C - Inter IC

UART - Универсальный асинхронный приемник

- Подтверждение времени для PIC

BOR - Brown-Out-Reset

TC - Время зарядки удерживающего конденсатора

II.ВВЕДЕНИЕ

В документе HIS объясняется и демонстрируется, как DSO

может работать виртуально, а именно на ПК. В дополнение к

документ также объясняет, как разрабатывается, тестируется графический интерфейс

и как осуществляется интеграция между аппаратным обеспечением

и программным обеспечением.

ученых, инженеров, академиков или студентов предпочли DSO, чтобы

проверить работу электрической или электронной схемы и сохранить

проанализированного сигнала для дальнейшего использования.DSO будет отображать

амплитуды, частоты, периода и формы сигнала сигнала, а также

изменений напряжения во времени. DSO использует АЦП для дискретизации сигнала

и преобразования измеряемого напряжения в цифровую форму

. Важнейшим критерием при разработке осциллографа

на базе ПК является способность правильно и точно измерять и отображать сигнал

. Для его достижения необходимо учитывать несколько факторов

. Среди них частота дискретизации

, хорошая пропускная способность усилителя, хорошие устройства сбора данных,

чипов АЦП, размер ОЗУ, хороший PIC, внешний

флэш-АЦП

с прямым доступом к памяти и методы DSP

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

Кроме того, необходимо изучить функциональную кнопку DSO

, чтобы кнопка, созданная в графическом интерфейсе пользователя, имела те же функции

, что и обычный DSO. Более того, в данном исследовании выбран DSO

, а не осциллограф аналогового типа из-за способности оборудования

наблюдать медленно движущиеся сигналы

в виде твердого представления на экране монитора [6]. DSO

также может удерживать или сохранять сигнал в памяти

в течение длительных периодов времени.Чтобы выбрать правильный сигнал

и избежать наложения спектров, используется фильтр нижних частот сглаживания. Для

формата отображения для представления захваченной формы сигнала на экране

используется метод синусоидальной интерполяции, потому что он может обеспечить хорошее представление всего с 2,5 отсчетами на цикл

[6].

Мозгом оборудования является PIC, который будет обрабатывать принятый сигнал

, а затем отправлять данные на ПК через RS232

Проектирование 4-канального цифрового осциллографа памяти

на базе ПК с использованием методов DSP

N.Сулейман и Н.А. Махмуд

T

Студенческая конференция по исследованиям и разработкам 5

- SCOReD 2007

11-12 декабря 2007, Малайзия

1-4244-1470-9 / 07 / 25,00 $ © 2007 IEEE.

Осциллограф Пурмана


µSCOPE

Осциллограф по-прежнему остается одним из важнейших измерительных инструментов. инженера-электронщика. С появлением часто очень разумных Благодаря недорогим USB-прицелам, такой инструмент теперь доступен каждому.Двадцать пять лет назад это была совсем другая история. Хороший) осциллограф был тогда очень дорогим прибором, доступным только счастливым несколько. В результате многие любители электроники сделали свои собственные прицелы. В популярные журналы по электронике в шестидесятых и семидесятых годах были полны конструкции прицелов почти всегда основаны на электронных лампах. Этот период был закрыт в 1975 году, когда голландский журнал по электронике Elektuur (в остальной всемирно известный как Elektor) опубликовал полностью транзисторный "Elektorscoop".Несмотря на все это, покупка дорогой электронно-лучевой трубки и Специальный высоковольтный трансформатор оставался для многих слишком дорогим.

Пытаясь еще больше снизить цену на оптический прицел, Elektuur опубликовал в 1978 г. - «Видеоскоп». Видеоскоп сделал выборку аналогового входного сигнала. и сохраняли образцы в памяти бригады ведра (CCD). Далее данные в ПЗС преобразован в обычный (черно-белый) видеосигнал которые можно было показать на обычном телевизоре. Для просмотра сигнала как обычно, телевизор должен был быть положен на его сторону, но никто не возражал против этого.В целом это все же была довольно сложная конструкция, состоящая из нескольких десятков микросхем. и несколько печатных плат.

В наши дни это, очевидно, можно сделать намного проще. Нынешнее поколение микроконтроллеров настолько мощен, что такая концепция видеоскопа может реализовываться практически полностью в программном обеспечении. Недавно получил образец из 12f675. При рассмотрении паспорта этого маленького 8-контактного микроконтроллер от Microchip, оказалось, что небольшая упаковка содержал все компоненты миниатюрного видеоскопа.Короче говоря, Так родился проект µSCOPE, главная цель которого - реализация такой относительно сложной задачи в этом небольшом микроконтроллере. Результатом, представленным на этой веб-странице, является полностью функциональная (память) область видимости. который производит выборку аналогового входного сигнала и затем отображает его на нормальный телевизор (рис. 1). К сожалению, µSCOPE работает только на 625-строчных телевизорах стандарта PAL, извините. Никогда не было намерения построить сложный измерительный инструмент. Тем не менее, сигналы до нескольких кГц достаточно хорошо отображаются этой простой схемой, которую можно построить для всего несколько евро.Надеюсь, этот прицел "для бедных" может сослужить хорошую службу. особенно молодому любителю электроники.

figuur 1. µSCOPE в действии


12F675

12f675 - один из самых маленьких членов микроконтроллера Microchip. семья. В 8-выводном корпусе мы находим 14-битное процессорное ядро, 1к слов FLASH программная память, 64 байта RAM и 128 байтов данных EEPROM. Рядом со стандартом периферийные устройства, такие как два таймера, сторожевой таймер и т. д., 12f675 также оснащен 10-битным аналого-цифровым преобразователем с выборкой и удержанием, компаратором и программируемый опорное напряжение.Все эти компоненты можно настроить под управлением программного обеспечения, а на рис. 2 показано, как это делается для µSCOPE. Контакт 6 используется как аналоговый вход. Внутри этот штифт подключен через образец и удерживает к аналого-цифровому преобразователю. Поскольку поставка напряжение используется в качестве опорного напряжения для АЦП, то диапазон измерения ровно от 0 до 5В. Контакт 6 также подключен к одному входов компаратора для реализации триггерной функции µSCOPE. Уровень срабатывания определяется программируемым напряжением. ссылка, которая подключена к другому входу компаратора.Поскольку можно инвертировать выход компаратора с помощью программного обеспечения, возможно срабатывание при положительном или отрицательном наклоне.

Входная цепь µSCOPE максимально проста. и может быть расширен в зависимости от индивидуальных пожеланий. Входной сигнал сначала DC развязан C6. R8 и R9 устанавливают «нулевой уровень» на половину напряжения питания. Предусмотрена первая линия защиты от слишком высоких входных напряжений. пользователя R7, D1 и D2. Оба диода ограничивают входное напряжение на выводе 6 до напряжение от 0 до 5 В, в то время как R7 ограничивает ток.

figuur 2. Принципиальная схема µSCOPE


Построение видеоизображения

Решил не использовать флизелин. В такого рода приложениях вставка приводит к мерцающему изображению и ненужному усложнению программы. Таким образом, частота кадров составляет 50 Гц, и каждый кадр состоит из 312 строк по 64 мкс (рис. 3). Импульс синхронизации линии 4 мкс указывает начало новой строки. Импульс кадровой синхронизации равен генерируется в течение первых 3 строк каждого нового кадра.

Видео сигналы и сигналы синхронизации объединяются в стандартный композитный видеосигнал с простой схемой, состоящей из R2-R5 и T1. Резисторы R2 и R3 вместе с входным сопротивлением видеовхода телевизора ( (75 Ом относительно земли) сдвиньте логический 0 на выводе видеовыхода GP0 на 0,3 В. на видеовыходе (черный) и логической 1 на 1.0V (белый). «1» при синхронизации. выход GP2 заставит T1 потянуть выходной видеосигнал до 0 В (ультра-черный), что приводит к синхроимпульсу.В принципе, эту схему можно было бы сделать, просто используя 3 резистора. [1]. Здесь это невозможно. Чтобы получить достаточно высокую скорость во время генерация данных видеосигнала (например, во время генерации символа) вращается в регистре GPIO. Во время этой операции настраивается GP2. в качестве входа для предотвращения нежелательных импульсов синхронизации. Транзистор Т1 в предотвращает появление неопределенного потенциала на видеовыходе в эти моменты. GP0 и GP2 также использовались для чтения трех кнопок меню, если это возможно. видно на рис.2. Это делается в невидимый момент во время одного из три линии кадровой синхронизации.

Максимальная тактовая частота, указанная для моего Microchip, составляет 20 МГц. Это было просто немного слишком низко для приятного с точки зрения соотношения сторон изображения. к счастью оказалось возможным запустить 12f675 на 27 МГц! Это примерно предел на это указывает тот факт, что генератор только при напряжении питания 5В имеет достаточное усиление, чтобы начать колебаться. Поскольку большинство кристаллов 27 МГц имеют обертон 3e кристаллов, простой фильтр, состоящий из C2 и L1, используется для подавления колебание на основной частоте 9 МГц.

figuur 3. Временная диаграмма видео.


Программа

Каким бы простым ни было аппаратное обеспечение µSCOPE, настолько сложным и трудным было его использование. написание программного обеспечения. Генерация сложного видеосигнала в реальном времени само по себе уже сложная задача. В этом случае дополнительно осциллограф и пользовательский интерфейс необходимо реализовать! Процессор не только запихивается к пределам по скорости, также память программ 1k слов буквально до последнего байта.ОЗУ объемом 64 байта было даже несколько байты в малые. К счастью, таймер 1 не использовался, поэтому его регистры могли использоваться как 2 дополнительных байта памяти. Недостаток памяти и скорости стимулировал поиск изобретательских решений. Конечно, я мог бы использовать процессор побольше или быстрее, но это испортило бы часть очарования проекта.

При тактовой частоте 27 МГц каждая строка 64 мкс занимает ровно 432 мкс. машинные циклы. Один цикл длиннее или короче приводит к искажению ТВ изображение.Это означает, что если часть программы, которая выполняется во время запись строки содержит ветки, каждая ветка должна быть в точности равна в длину. Поскольку в общем случае это явно не так, нам нужно добавить NOP инструкции для более коротких ветвей, пока они не станут той же длины, что и самый длинный. Как это делается, проиллюстрировано фрагментом виртуальной программы. на рис. 4. В этом примере мы находим процедуру, которая уменьшает двойное счетчик байтов при каждом вызове. Когда счетчик достигает нуля, он инициализируется. снова до некоторого предустановленного значения.На блок-схеме рис. 4 три ветви подпрограммы были идентифицированы как: A, B и C. Код ассемблера выше пунктирная линия представляет самую длинную ветвь C. Далее номер машины количество циклов рассчитывается для каждой ветви. Похоже, что ветвь C использует 9 циклов. Фрагмент кода ассемблера под пунктирной линией необходим для увеличения длина ветвей A и B с NOP, чтобы они также получили длину 9 циклов. Если памяти мало (как для µSCOPE), то в финальном оптимизация все двойные инструкции NOP могут быть заменены одним GOTO (выполнение GOTO занимает два цикла).Несомненно есть компиляторы которые очень умны в такой оптимизации программ, но в данном случае вся программа написана вручную. Ассемблерный код программы можно скачать внизу этой страницы. Обилие комментариев в коде должно позволять всем следовать программе.

Большую часть программы занимает синхронная процедура, которая заботится о создании видеоизображения (sync_blck). Чтобы разделить эту процедуру на управляемые части, общее видеоизображение было разделено на несколько типов линий.Каждый тип линии создается отдельным подпрограмма распознается в коде по метке "line_xxx". Рутина line_sync, например, генерирует импульс кадровой синхронизации. В подпрограмма "line_blank" генерирует черную линию, в то время как подпрограмма "line_view" отображает фактическое изображение осциллографа и т. д. и т. д. Вызов "обычного диспетчера" выполнение каждой строки в нужный момент определенное количество раз, пока составлен общий фрейм, состоящий из 312 строк.

Чтобы иметь дело с рядом задач, таких как пользовательский интерфейс в асинхронный способ, синхронная процедура завершается во время части некоторых строк (line_async) в черной верхней части экран.Однако перед выходом из синхронной процедуры устанавливается таймер 0. так что он сгенерирует прерывание непосредственно перед следующей выборкой данных.

figuur 4. Пример, показывающий, как программа может иметь константу время выполнения путем добавления инструкций NOP.


Сбор и отображение данных

Пятьдесят из 64 байтов ОЗУ зарезервированы для хранения 50 данных. образцы. Хотя аналого-цифровой преобразователь имеет разрешение 10 бит, только 7 самых были использованы значащие биты.Эти 7 бит представляют 128 уровней напряжения между 0 и 5 В, соответствующие части экрана телевизора высотой 128 строк. Подпрограмма "get_AD" заботится о фактическом сборе данных. Эта процедура вызывается 4 раза в каждой строке, чтобы минимальное время между два отсчета - 64 мкс / 4 = 16 мкс. Первая задача рутины - позаботиться о функции триггера. Сработал ли уже триггер? память образцов еще не полностью заполнена, затем новый образец хранится. Если триггер еще не сработал, процедура проверяет, возможно ли, что в этом вызове сработал допустимый триггер.Если развертка настроена на более низкую частоту дискретизации, тогда, в зависимости от При настройке временной развертки будут сохраняться только 1 из 2, 1 из 4, 1 из 8 и т. д. отсчетов. Преимущество этого метода в том, что функция триггера будет работать на максимуме. скорость не зависит от настройки временной развертки, так что дрожание временной развертки будет сведены к минимуму.

Сохраненные образцы данных используются синхронной частью программы. построить изображение на экране телевизора. Как уже упоминалось, каждый из 128 возможных значений измерения соответствуют одной из 128 строк в рамка прицела на экране.Сигнал осциллографа строится путем сравнения для каждому пикселю на экране соответствует значение выборки с мгновенный номер строки. Пиксель включается, если они равны, и остается темно, если нет. Прямое программирование этой функции по крайней мере стоит 5 инструкций. Слишком много для красивого маленького пикселя. Поэтому используется трюк при этом используется циклическое приращение данных измерения. Принцип этого циклического приращения поясняется на рис.5. В упрощенном примере на рис.5 9 выборок данных были взяты из сигнал формы зуба пилы. Есть только 6 возможных значений выборки (0-5). Для каждой новой строки на экране все отсчеты увеличиваются. Пиксель включается или во время этого приращения происходит перенос (переход с 5 на 0). В противном случае пиксель остается темным. Обратите внимание, что после 6 строк образцов были восстановлены до исходного значения. На рис. 5 также представлен ассемблерный код для этой процедуры. Путем смещения переносить из регистра состояния непосредственно в бит видеовыхода (бит 0 GPIO) устраняется необходимость в трудоемком условном ветвлении.Мы видим, что на каждый бит нужно всего две инструкции (цикла)! Глядя на подпрограмму "line_view" в коде ассемблера, можно увидеть на самом деле это было слишком быстро, и для каждого пикселя нужно было добавлять NOP. Единственным недостатком этого метода является то, что он потребляет относительно много программной памяти.

figuur 5. Принцип формирования изображения путем циклического увеличения данные измерений.


Работа с µSCOPE

Относительно большая часть программы связана с пользовательским интерфейсом.Управление µSCOPE осуществляется с помощью трех кнопок и нескольких простых меню под изображением осциллографа. Поколение персонажей в меню само по себе было довольно сложной задачей. Время между двумя персонажами настолько короток, что за это время могут быть выполнены только несколько инструкций. Все текст, следовательно, должен быть готов к битовому отображению в памяти, прежде чем мы начнем писать текстовые строки. Поскольку вся оперативная память уже была использована для выборки Для этого использовалась память EEPROM и рабочие регистры.Хотя запись в EEPROM идет медленно (несколько мс), чтение из нее (косвенно), к счастью, можно сделать на полной скорости. Написание растрового символы в EEPROM выполняется асинхронной частью программы который, как уже упоминалось, заботится о пользовательском интерфейсе. Используя таблица поиска символов, символы разбросаны по памяти EEPROM таким образом, чтобы синхронная процедура ("line_txt") могла их прочитать последовательно на высокой скорости.

Управлять µSCOPE очень просто.Нажав кнопку курсора, курсор можно переместить в одно из пяти меню. Далее выбранная настройка можно изменить, нажимая клавиши вверх или вниз. В левом меню выбор можно сделать между нормальной работой, замораживанием изображения или гибридным форма, при которой входной сигнал дискретизируется только в течение доли секунды после чего изображение замораживается. Последняя функция дает менее «нервный» изображение на более высоких частотах. Во втором меню можно сделать выбор для полярности триггера (pos, neg) также можно сделать временную развертку свободный бег (-).Когда курсор находится под третьим меню, триггер уровень можно отрегулировать, нажимая клавиши вверх или вниз. Уровень срабатывания становится видимым с помощью небольшого маркера вдоль левой оси Y изображения осциллографа. Тот факт, что можно выбрать только ограниченное количество уровней запуска. является ограничением внутреннего опорного напряжения. Нажимая вверх (или вниз) с курсором под буквой S, все настройки будут сохранены. в EEPROM. Если прицел будет включен в следующий раз, эти настройки будут будет автоматически перезагружен.В последнем меню можно настроить временную развертку. Время, отображаемое в меню, - это общее время для всех 50 образцов. Поскольку доступно только 2 символа, было произведено округление чисел. нужный. Точные значения временной базы: 0,8, 1,6, 3,2, 6,4, 12,8, 25,6, 51,2 и 102,4 мс.

Создание собственного µSCOPE

Схема µSCOPE настолько проста, что ее можно легко построить на кусок тестовой печатной платы (рис. 6). Убедитесь, что контакт переменной конденсатор, подключенный к металлическому «винту», подключен к земле.Если вы подключите его наоборот, осциллятор остановится, когда настраиваете конденсатор металлической отверткой. Для программирования из 12f675 я использую программатор "Tait style" [2], который управляется на моем ПК (старый ноутбук 286 !!) через порт принтера. Я использовал программу PP06 [3] работает под DOS (я категорически ненавижу все, что работает под WINDOWS). Если вы хотите использовать что-то более продвинутое, тогда программист WISP от Wouter van Ooijen - хорошая альтернатива [4,5].

Вся цепь потребляет менее 10 мА, поэтому очень хорошо управляйте µSCOPE с 4.Аккумулятор 5 В. После того, как схема была проверил на наличие ошибок видеовыход подключен к SCART (или AV) вход телевизора. После подключения аккумулятора C2 настраивается до тех пор, пока появляется стабильное изображение. Возможно, потребуется ненадолго отключить аккумулятор для запуска генератора после настройки C2. В µSCOPE теперь готов к использованию. На входе можно добавить простой усилитель. если вы хотите увеличить чувствительность. Поскольку мы не имеем дело с Для сложного инструмента достаточно стандартной схемы операционного усилителя.Приятным дополнением является возможность записи изображения µSCOPE на видеомагнитофон!

Если через некоторое время вам станет немного скучно с µSCOPE, возможно, вы захотите попытаться создать свою собственную программу для создания видео. Чтобы снизить порог Чтобы начать экспериментировать в этом направлении, вы можете использовать программу EXAMPLE.PIC. Эта урезанная программа просто отображает прямоугольник, пунктирную линию и пунктирная линия. Это настолько просто, что очень легко следить за происходящим, и позволяет вносить простые дополнения и изменения.Если ты живешь в стране с другим видеостандартом эта программа может быть вашей отправной точкой для настройки другого стандарта. С некоторым творчеством несомненно, многие другие интересные схемы генерации видео могут быть созданный. Надеюсь, работа над ним доставит вам столько же удовольствия, сколько и мне. с помощью µSCOPE.

figuur 6. µSCOPE на макете

Петр Глузения Славински разработал версию µScope, работающую на резонаторе 28,496 МГц.Адаптированное программное обеспечение и описание можно скачать здесь.

USB-осциллограф

USB-осциллограф

USB-осциллограф низкой частоты, полоса пропускания от 0 до 1 кГц. Максимальная частота дискретизации составляет 12680 отсчетов в секунду. В схеме запуска используется встроенный компаратор и КПК. Осциллограф с этими характеристиками имеет ограниченное применение, но он имеет преимущество перед аналоговым осциллографом для низких частот.
Включено Программное обеспечение Visual Basic 6 и принципиальная схема.Схема питается от USB. Интерфейс к ПК - это HID класс.
Экран построен из 64 выборок. АЦП считывает вход с разрешением 8 бит и с интервалами, определяемыми временной базой. 64 байта передаются одним потоком каждые 100 мс или дольше для более низких частот.
Вход триггера запускает выборку входа при напряжении триггера. подъем. Это дает возможность измерять фазовый сдвиг между триггером. и вход.Вход триггера не требуется при просмотре формы волны Только.
HID класс (человеко-машинный интерфейс устройство) - это USB-класс устройств, таких как мышь и клавиатура, скорость передачи данных ограничена 64 КБ / с.
Код PIC18F2550 код ассемблера и код C (под лицензией GNU General Public License) для компилятора Microchip C18.
Код VB6 включает руководство по настройке ПК. ПК регистрирует PID (Product ID) и VID (Vendor ID) USB-устройства, когда он подключен, код VB использует эти идентификаторы для связи с устройство.Для коммерческого VID необходимо купить его в USB-IF, но в своей лаборатории вы можете использовать любой номер.
Исходный код получен из бесплатного программного обеспечения из следующих источников: http://janaxelson.com/usb.htm, http://openprog.altervista.org/USB_firm_eng.html
Код был написан на MPLAB 8x и скомпилирован с помощью C18 ver 3.30. PIC18F2550 был запрограммирован с использованием Velleman K8076.
Программное обеспечение включает код PIC и код VB6. Вы можете использовать принципиальную схему и программное обеспечение VB без каких-либо ограничений. ограничения.

Приложение VB6.

Описание схемы
См. Также Технические советы

PIC18F2550
Контакт 3 - аналоговый вход. Диапазон входного напряжения составляет от 0 до 5 В, абсолютное максимальное напряжение, выходное напряжение за пределами этого диапазона может заблокировать вход или даже привести к необратимому повреждению ИС.
Контакт 4 - это вход компаратора, используемый для генерации триггера.
Контакт 14 - это внутреннее питание 3,3 В для USB-трансивера.
Контакты 15,16 - это линии передачи данных к разъему USB на ПК.
Контакт 20 - это напряжение 5 В от ПК, питающее ПОС. Он ограничен 100 мА ПК. 0,47 мкФ - для развязки.
Информация о USB-подключении: http://www.interfacebus.com/Design_Connector_USB.html

Как сохранить и перенести снимок экрана с осциллографа MSO серий 4, 5 или 6 на мой ПК через интерфейс удаленных команд?

Снимки экрана (также известные как бумажные копии) можно передавать с осциллографов MSO серий 4, 5 и 6 через интерфейс удаленного программирования, используя всего несколько простых команд.Для получения информации о том, как отправлять команды на прибор через интерфейс удаленного программирования, см. Руководство программиста MSO серий 4, 5, 6.

Для сохранения и передачи снимка экрана отправьте на прибор следующие команды:

СОХРАНИТЬ: ИЗОБРАЖЕНИЕ «C: /Temp.png»

* OPC?

REM SAVE: IMAGE - это команда создания OPC. Подождите, пока прибор закончит запись снимка экрана на диск, запросив * OPC?

ФАЙЛ Система: READFile «C: /Temp.png»

REM Считайте данные, отправленные с прибора, и запишите их (без изменений) в файл.png в вашей локальной системе.

ФАЙЛ Система: УДАЛИТЬ «C: /Temp.png»

Примечание. Команда REM означает примечание и может использоваться для добавления команд в списки команд или файлы .set. Когда прибор обнаруживает эту команду, синтаксический анализатор команд игнорирует всю строку.

Если вы отправите команду SAVE: IMAGE, а затем сразу же отправите команду FILESystem: READFile, вероятно, вы получите ошибку тайм-аута или, возможно, частичное изображение при попытке прочитать данные изображения.Причина в том, что вы недостаточно долго ждали после отправки SAVE: IMAGe перед отправкой FILESystem: READFile. На осциллографах MSO серий 4, 5, 6 команда SAVE: IMAGE является командой генерации OPC, поэтому * OPC? Команда query может использоваться для синхронизации вашей программы с завершением операции сохранения. После отправки команды SAVE: IMAGe отправьте * OPC? запросите команду и дождитесь ответа. После того, как вы вернули «1» из * OPC? запроса, вы можете отправить команду FILESystem: READFile и вернуть данные изображения.

Следующий пример кода, написанный на Python, можно использовать для передачи снимков экрана с MSO серий 4, 5, 6 на ваш компьютер. Этот код написан для Python 3 и библиотеки PyVISA.

# ------------------------------------------------ -------------------------------

# Имя: Сохранить снимок экрана (твердую копию) на ПК для осциллографов MSO серий 4, 5, 6

#

# Назначение: Этот пример демонстрирует, как сохранить снимок экрана (печатную копию) изображения

# с осциллографа MSO серий 4, 5, 6 на ПК.

#

# Среда разработки: Python 3.6, PyVisa 1.8, NI-VISA 2017, Windows 10 x64

#

# Совместимые инструменты: MSO серий 4, 5, 6, MSO44, MSO46, MSO54, MSO56, MSO58, MSO58-LP, MSO64

#

# Совместимые интерфейсы: USB, Ethernet

#

# Tektronix предоставляет следующий пример «КАК ЕСТЬ» без поддержки или гарантии.

#

# ------------------------------------------------ -------------------------------

из datetime import datetime # std library

время импорта # std library

import visa # https: // pyvisa.readthedocs.io/

# Замените строку адресом ресурса VISA вашего инструмента

visaRsrcAddr = "MSO58"

rm = visa.ResourceManager ()

область действия = rm.open_resource (visaRsrcAddr)

print (scope.query ('* IDN?')) # Вывести идентификатор инструмента в окно консоли

# Сохранить изображение на локальный диск прибора

scope.write ('СОХРАНИТЬ: ИЗОБРАЖЕНИЕ \ "C: /Temp.png \"')

# Сгенерировать имя файла на основе текущей даты и времени

dt = дата и время.сейчас ()

fileName = dt.strftime ("MSO5_% Y% m% d_% H% M% S.png")

# Подождите, пока прибор закончит запись образа на диск

scope.query ('* OPC?')

# Чтение файла изображения из прибора

scope.write ('FILESystem: READFile \ "C: /Temp.png \"')

imgData = scope.read_raw (1024 * 1024)

# Сохранить данные изображения на локальный диск

файл = открыть (имя_файла, "wb")

файл.write (imgData)

файл.закрыть ()

# Данные изображения переданы на ПК и сохранены. Удалите файл изображения с жесткого диска прибора.

scope.write ('FILESystem: DELEte \ "C: /Temp.png \"')

scope.close ()

кв.м. закрыть ()

Осциллограф и логический анализатор

USB

ПРИМЕЧАНИЕ: Мы начали выполнять наши заказы и возобновили прием заказов на поставку.

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


Что такое Analog Discovery 2?

Digilent Analog Discovery 2 - это USB-осциллограф, логический анализатор и многофункциональный прибор, который позволяет пользователям измерять, визуализировать, генерировать, записывать и управлять всеми видами цепей со смешанными сигналами. Разработано совместно с Analog Devices и поддерживается университетской программой Xilinx. Это испытательное и измерительное устройство достаточно мало, чтобы поместиться в вашем кармане, но достаточно мощное, чтобы заменить целую кучу лабораторного оборудования, обеспечивая инженеров, студентов и любителей.а энтузиасты электроники - свобода работать с аналоговыми и цифровыми схемами практически в любой среде, в лаборатории или за ее пределами. Аналоговые и цифровые входы и выходы могут быть подключены к цепи с помощью простых проволочных щупов; в качестве альтернативы можно использовать адаптер Analog Discovery BNC и пробники BNC для подключения и использования входов и выходов.

Управляемый бесплатным программным обеспечением WaveForms (совместимым с Mac, Linux и Windows), Analog Discovery 2 можно настроить для работы в качестве любого из нескольких традиционных инструментов для тестирования и измерения, включая осциллограф, генератор сигналов, источник питания, вольтметр, регистратор данных. , Логический анализатор, генератор шаблонов, статический ввод / вывод, анализатор спектра, анализатор цепей, анализатор импеданса и анализатор протокола.

Портативный осциллограф

Analog Discovery 2 разработан как портативная альтернатива настольному оборудованию. Его прочный корпус размером (3,23 дюйма x 3,25 дюйма x 7/8 дюйма) помещается в кармане. Analog Discovery можно подключать к схемам и конструкциям через входящие в комплект розетки или использовать вместе с прилагаемыми переключателями пола, когда необходимо штекерное соединение.

Аксессуары

можно приобрести отдельно для обеспечения дополнительных функций, таких как адаптер BNC для более высокой полосы пропускания и разъемы BNC, или адаптер макетной платы и разъем макетной платы для прямого подключения к макетной плате, или анализатор импеданса для дополнительных функций измерения импеданса.Analog Discovery 2 поставляется в прочной проектной коробке, в которую поместятся все входящие в комплект аксессуары и некоторые дополнительные платы адаптеров.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *