Оглавление
- Преобразование компьютера в осциллограф
- Осциллограф на Ардуино — описание, возможности устройства
- Как можно получить осциллограф
- Step 6: Setting Up the Windows PC Interface
- Сборка своими руками
- Step 1: Requirements
- Программа «Компьютер – осциллограф»
- Mixed Signal Oscilloscopes (MSO)
- ▍Что же делать, если хочется большего?
- Конструкция и применение
- Работа схемы
- Как выровнять амплитудно-частотную характеристику адаптера?
- Общие принципы работы проекта
- Software
- О виртуальных осциллоскопах.
- Ошибки при запуске осциллографа на Ардуино
- Пошаговая инструкция сборки конструктора DSO138
- Сборка осциллографа из планшета
- Исходный код программы (скетча)
- Что необходимо использовать
Преобразование компьютера в осциллограф
Программа для проектирования электропроводки в доме
После уточнения исходных данных компьютера и личных потребностей приступают к выбору электрической схемы.
Для ознакомления с профессиональными решениями можно изучить конструкции серийных измерительных приборов
Схема приставки
Для качественного воспроизведения без богатого практического опыта лучше выбирать относительно простые конструкции. Впрочем, представленная ниже электрическая схема вполне способна обеспечить минимальное искажение сигналов одновременно с выполнением защитных функций.
Эту схему адаптера можно создать быстро без лишних затруднений
Описание:
- резисторы приставки оценивают в совокупности с Rвх компьютера, чтобы правильно рассчитать параметры делителя;
- конденсаторами выравнивают АЧХ;
- стабилитроны, установленные показанным на рисунке образом, предотвращают повреждение звукового входа компьютера при подаче сигнала с большой амплитудой (положение переключателя «1:1»);
- дополнительно защиту по току обеспечивает R1.
Вряд ли можно рассчитывать на полные паспортные данные, особенно при наличии старой компьютерной техники. Скорее всего, придется измерить импеданс на входе звуковой карты. Для этого на выходе этого же блока создают образцовый сигнал (50 Гц, синусоида) с применением специальной программы «Виртуальный генератор». Следующий расчет выполняют по формуле:
Rx=R1*(U1/(U2-U1)).
Пример:
60*(120/(520-120))= 18 кОм.
Зная входное сопротивление, создают делитель напряжения по одной из представленных схем
Сбор приставки
Чтобы исключить паразитное влияние внешнего электромагнитного излучения, приставку размещают в металлическом корпусе. Создать его можно из подходящего дюралюминиевого листа толщиной 1,5-2 мм. На входе закрепляют разъем типа СР-50, чтобы подключать без проблем типовые щупы. Выход – гибкий кабель с вилкой Jack, которая соответствует входному гнезду аудиокарты компьютера. Для сборки простой электрической схемы вполне подойдет технология навесного монтажа.
Осциллограф на Ардуино — описание, возможности устройства
Создав своими руками осциллограф на базе Ардуино можно наблюдать быстро изменяющиеся показатели сигналов. Полученный прибор будет:
- имитировать двухлучевой осциллограф;
- диапазон входного сигнала будет в промежутке 0-5В;
- частота достигнет своего наибольшего значения в 1 кГц.
При этом входов может быть не более 6, а аналоговые выводы, которые останутся незадействованными станут выдавать ложное напряжение. Прибор сможет работать в нескольких режимах:
- непрерывный – когда исключено внешнее воздействие и устройство работает свободно;
- принудительный – в этом случае устанавливается необходимое значение отбора и осциллограф работает в режиме ожидания появления сигнала. Критерий является выполненным, когда сигнал входного импульса пересекает установленное напряжение.
Корректное соединение всех деталей даст необходимый результат
Важным фактором является то, что время вполне получится установить в миллисекундах, а старт развертки следует указать в момент достижения 5 воль отметки синхронизации. На приборе устанавливается светодиод. Который будет показывать состояние прибора и режим в котором он работает.
Как можно получить осциллограф
Оборудование можно заполучить несколькими способами и все зависит исключительно от размера денежных средств, которые можно потратить на приобретение оборудования или деталей.
Можно:
- Купить готовый прибор в специализированном магазине или заказать его по сети;
- Купить конструктор, например, широкой популярностью сейчас пользуются наборы радиодеталей, корпусов, которые продаются на китайских сайтах;
- Самостоятельно собрать полноценный портативный прибор;
- Смонтировать только приставку и щуп, а подключение организовать к персональному компьютеру.
Эти варианты приведены в порядке снижения затрат на оборудование. Покупка готового осциллографа будет стоить дороже всего, так как это уже доставленный и работающий блок со всеми необходимыми функциями и настройками, а в случае некорректной работы можно обратиться в центр продажи.
В конструктор входит схема простого осциллографа своими руками, а цена снижается за счет оплаты только себестоимости радиодеталей. В этой категории также необходимо различать более дорогие и простые по комплектации и функционалу модели.
Сборка прибора самому по имеющимся схемам и приобретенных в разных точках радиодеталях не всегда может оказаться дешевле, чем приобретение конструктора, поэтому необходимо предварительно оценивать стоимость затеи, ее оправданность.
Наиболее дешевым способом заполучить осциллограф станет спаять только приставку к нему. Для экрана использовать монитор компьютера, а программы для снятия и трансформации получаемых сигналов можно скачать с разных источников.
Step 6: Setting Up the Windows PC Interface
Open winpcInterface.zip and extract to a folder of your choice.
You will find:
- oscilloscope.exe the windows interface
- MSCOMM32.OCX comport controller
- RICHTX32.OCX text box controller
- rm chart setup.exe graph drawing support
- ocxWIN7_8.bat batch file to install ocx on windows 7 or 8
- ocxXP.bat batch file to install ocx on windows xp
Install in this order
1) The graph support ‘rm chart setup.exe’ . I found this very useful package on the Internet. VB programmers will find this interesting!
2) For windows 7/8 copy the address of the folder in which you extracted the application. If you right click on the address in the bar at the top of windows file explorer you will find the option to copy the folder address.
3) The batch file for your windows operating system.
XP — ‘ocxXP.bat’
win7 or win8 — ‘ocxWIN7_8.bat’
For win 7/8 you will need to
- Right click on the batch file and run as administrator
- Paste in the address copied in stage 2 and then enter.
The ocx will be copied to the system directory and registered.
Ready to test!
Connect up your arduino.
Install one of the two arduino oscilloscope programs. (Hard or soft triggering version)
Exit any serial interface used to do this.
oscilloscope.exe can then be run.
Set the comport to the one used by your arduino.
Set the baudrate to 115200.
Click capture.
Connect digital port 3 to analogue 1.
Type test into the command box and return.
A square wave is available on the digital port. Select again and you will see it plotted by the oscilloscope.
Select frequency and you will get the square wave frequency. The first estimate is based on the rising edges at the midpoint of the voltage range. The second is based on a technique outlined in an excellent article at:
The graph can be ‘zoomed’ using a mouse left click and drag, or un- zoomed with a right click.
Options are available to:
- fast ‘run’
- freeze a fast run
- freeze the x-scale during fast run for data comparison.
- print or copy the graph
- output the data as a text file
- alter triggering levels
- alter y scale
- apply an offset for bi-polar y axis
- alter voltage reference
Сборка своими руками
Для создания осциллографа Arduino подойдет любая модель, кроме Мега. Чаще всего для создания прибора используют Arduino UNO. Кроме этого потребуется подготовить некоторые комплектующие:
- Ардуин версия Уно;
- делитель (по два резистора на 1,5 и на 3 Ком и 1 на 1КОм);
- стабилитрон 5.1 вольт;
- два щупа;
- конденсатор 0.1мкФ;
- цветной дисплей (подойдет от телефона);
- переключатели 2 шт.
Схема сборки осциллографа на основе Ардуино
После того, как все будет спаяно потребуется установить специальную программу на ПК и скопировать скетч осциллографа. Тогда можно будет посмотреть работу нового проекта и изменение сигнала напряжения какого-либо устройства, чтобы увидеть его форму.
Установка программы для Ардуино
Чтобы на экране наблюдать работу устройства потребуется установить программу, которая способна вывести сигнал на экран и преобразовать его в кривую, определенного вида. Для этого можно воспользоваться программой Processing или любой другой, которая позволит управлять графическим дисплеем.
Программа Processing в работе
Кроме этого потребуется скетч для осциллографа на Ардуино с экраном, который нужно загрузить в программу.
Код для IDE Ардуино (вставка из файла)
Нажав на кнопку запуска программы получится увидеть временный график состояния аналогового выхода.
Step 1: Requirements
Arduino Mega 2560 (Let me know if other arduino types work)
.The following component works- alternatives may be viable (with program tweaking- I leave that to you!)
Simple Buffer box to accept analogue voltages: (Only required if you don’t already have voltage buffers)
NE5534P op amp
22pf, 10nf capacitors
Two 100K variable resistors
22K, 4k7, 12K, two 470K resistors, 0.25W ok
10K precision resistor (1%)
Two 1K variable resistors
10uF electrolytic capacitor, 16V or more
Copper Stripboard, Plastic Box, Connectors and soldering equipment
A multimeter
Balanced +-9V supply (At least +-6V is needed to allow the NE5534P to produce 5V at the output)
A PC with a windows operating system. I have tested my interface on XP, Windows 7 and windows 8.
(Or make your own software interface.)
Программа «Компьютер – осциллограф»
После запуска программы на экране появится изображение, внешне очень похожее на обычный осциллограф. Для подачи сигнала используется линейный вход звуковой карты. Подача на вход сигнала возможна лишь с ограничением – не более 0,5-1 В, поэтому необходимо спаять входной делитель по простой схеме, изображенной на картинке.
Входной делитель
Важное достоинство программы – виртуальный осциллограф запоминающий. Работу можно приостановить, оставшуюся на экране осциллограмму можно сохранить в памяти компьютера или распечатать
На передней панели имеется множество элементов управления, которые позволяют увеличить или уменьшить единицы времени и напряжения.
Использование программы осциллограф для ПК
Mixed Signal Oscilloscopes (MSO)
The mixed signal oscilloscope (MSO) combines the performance of a DPO with the basic functionality of a 16-channel logic analyzer, including parallel/serial bus protocol decoding and triggering. The MSO’s digital channels view a digital signal as either a logic high or logic low, just like a digital circuit views the signal. This means as long as ringing, overshoot and ground bounce do not cause logic transitions, these analog characteristics are not of concern to the MSO. Just like a logic analyzer, a MSO uses a threshold voltage to determine if the signal is logic high or logic low. The MSO is the tool of choice for quickly debugging digital circuits using its powerful digital triggering, high-resolution acquisition capability, and analysis tools. The root cause of many digital problems is quicker to pinpoint by analyzing both the analog and digital representations of the signal, as shown in Figure 17, making an MSO ideal for verifying and debugging digital circuits.
Figure 17: The MSO provides 16 integrated digital channels, enabling the ability to view and analyze time-correlated analog and digital signals.
▍Что же делать, если хочется большего?
Источник картинки: www.nutsvolts.comВ статье
- Снизили частоту АЦП – до минимально безопасной (это позволило ускориться до 100 000 выборок в секунду, с затрачиваемым временем в 1000 микросекунд);
- Установили повторное включение АЦП сразу после чтения данных, так как прошивка ардуино обычно сразу отключает его (это позволило ускориться до 116 000 выборок в секунду, с затрачиваемым временем в 860 микросекунд);
- Использовали цифровой способ сбора данных вместо аналогового и, соответственно, команды digitalRead вместо analogRead (это позволило ускориться до 232 000 выборок в секунду, с затрачиваемым временем в 424 микросекунды);
- Применили метод, который автор называет «подробным» и который является по сути трюком, известным под названием «разворачивание цикла» и ставит его в альтернативу использованию циклов (это позволило ускориться до 5 000 000 выборок в секунду, с затрачиваемым временем в 20 микросекунд на сбор 100 образцов).
Конструкция и применение
Осциллограф — сложный электрический прибор. Понять принцип его работы поможет блок-схема.
Имеются два луча развертки: по вертикали — Y и по горизонтали — X. По оси X откладывается значения времени, по Y отображается амплитуда сигнала.
На Y подается сигнал с устройства. Далее он проходит через аттенюатор, который изменяет чувствительность контура. Потом, пройдя предварительный усилитель, попадает в линию задержки, которая «придерживает» сигнал пока не сработает генератор развертки. Оконечный усилитель выводит сигнал на экран осциллоскопа. Чем больше входное напряжение, тем больше амплитуда сигнала.
На X подается пилообразное напряжение с генератора развертки, благодаря чему сигнал на осциллографе получается «растянутым» по времени. Меняя размерность генератора, можно получить изображение с разверткой до тысячных долей секунды.
Чтобы развертка запустилась одновременно с поступлением сигнала, в устройстве предусмотрена система синхронизации. Есть 3 возможных источника синхроимпульсов:
Осциллограф визуализирует форму сигнала, что помогает понять причину неисправности. С помощью устройства снимается АЧХ прибора, есть возможность узнать скорость нарастания импульса в цифровых устройствах.
Используются осциллографы при настройке, ремонте электронных девайсов, будь то бытовая техника, ремонт автотранспорта или орбитальная станция.
Работа схемы
Схема осциллографа на основе платы Arduino представлена на следующем рисунке.
Как видите, она достаточно простая. Все, что нам нужно сделать, это подсоединить анализируемый сигнал к заданному аналоговому контакту платы Arduino. В качестве источника тестового сигнала в нашем проекте мы будем использовать фоторезистор (LDR), включенный в цепь простого делителя напряжения. Таким образом, напряжение сигнала, подаваемого на вход нашего осциллографа, будет зависеть от интенсивности света, падающего на фоторезистор.
После сборки схемы на макетной плате у вас должна получиться примерно следующая конструкция:
Как выровнять амплитудно-частотную характеристику адаптера?
Линейный вход аудиокарты, да и сами цепи адаптера обладают некоторой входной ёмкостью. Реактивное сопротивление этой ёмкости изменяет коэффициент деления делителя на высоких частотах.
Чтобы выровнять частотную характеристику адаптера в диапазоне 1:1, нужно подобрать ёмкость конденсатора C1 так, чтобы амплитуда сигнала на частоте 50 Гц была равна амплитуде сигнала частотой 18-20 кГц.
Резисторы R2 и R3 снижают влияние входной ёмкости и создают подъём частотной характеристики в области высоких частот. Компенсировать этот подъём можно путём подбора конденсаторов С2 и С3 в соответствующих диапазонах 1:20 и 1:100.
У подобрал следующие ёмкости: C1 – 39pF, C2 – 10nF, C3 – 0,1nF.
Теперь, когда канал Y верикального отклонения осциллографа откалиброван и линеаризован, можно увидеть, как выглядят те или иные периодические, и не только, сигналы. В «AudioTester-e» есть «ждущая синхронизация развёртки».
Вернуться наверх к меню.
Общие принципы работы проекта
Наш проект состоит из двух основных частей:
- Конвертер данных.
- Плоттер.
Осциллограф, по своей сути, должен формировать визуальное отображение аналогового сигнала, поданного на его вход. Для осуществления этого мы сначала должны преобразовать сигнал из аналоговой в цифровую форму и затем построить его график. Для этого мы будем использовать один из имеющихся в плате Arduino аналогово-цифровых преобразователей (АЦП). После проведения преобразования в цифровую форму сигнал передается через последовательный порт связи в компьютер, где специальное программное обеспечение, написанное на языке Python, будет строить его график на экране компьютера.
Software
Arduino sketch. The sampling rate of this PC scope application is limited by the rate at which the data is sent to the PC. Baud rate of 115000 gives time interval of around 85 µs. It is important to get the ADC signals much before this time to get reliable data plotting. The sketch reads pin A0 of Board1 and sends to UART at 115200 baud rate. At this speed, bytes of the input are pushed at time intervals of around 85µs.
By default, the ADC configuration of the Arduino gives samples every 116µs. So here the ADC is configured with additional lines of code to get samples faster than 85µs by setting the prescaler to 16. With this, you get ADC conversion every 20µs, which is much faster than the UART data transfer rate.
Download source Folder
PC software. As stated earlier, the front-end PC software for signal acquisition and processing is developed using NI LabWindows. The serial port data is captured through Arduino at regular time intervals and plotted as a graph on the screen using the Plot function library. The display points along X-axis are calculated based on the user-defined time scale. The Y-axis range is set using the voltage selection control.
Fig. 2: Message on the screen when the PC-based scope is run for the first time
О виртуальных осциллоскопах.
Когда-то у меня была идея фикс: продать аналоговый осциллограф и купить ему на замену цифровой USB осциллоскоп. Но, прошвырнувшись по рынку, обнаружил, что самые бюджетные осциллографы «начинаются» от 250 долларов, да и отзывы о них не очень хорошие. Более же серьёзные приборы стоят в несколько раз дороже.
Так что, решил я ограничиться аналоговым осциллографом, а для построения какой-нибудь эпюры для сайта, использовать виртуальный осциллограф.
Скачал из сети несколько программных осциллографов и попытался что-нибудь померить, но ничего путного из этого не вышло, так как, либо не удавалось откалибровать прибор, либо интерфейс не годился для скриншотов.
Было, уже забросил это дело, но когда подыскивал себе программу для снятия АЧХ, наткнулся на комплект программ «AudioTester». Анализатор из этого комплекта мне не понравился, а вот осциллограф «Osсi» (далее буду его называть «AudioTester») оказался в самый раз.
Этот прибор имеет интерфейс схожий с обычным аналоговым осциллографом, а на экране есть стандартная сетка, которая позволяет измерять амплитуду и длительность. https://oldoctober.com/
Из недостатков можно назвать некоторую нестабильность работы. Программа иногда подвисает и для того, чтобы её сбросить приходится прибегать к помощи Task Manager-а. Но, всё это компенсируется привычным интерфейсом, удобством использования и некоторыми очень полезными функциями, которые я не встречал ни в одной другой программе подобного типа.
Внимание! В комплекте программ «AudioTester» есть генератор низкой частоты. Я не рекомендую его использовать, так как он пытается самостоятельно управлять драйвером аудиокарты, что может привести к необратимому отключению звука
Если Вы решите его использовать позаботьтесь о точке восстановления или о бэкапе ОС. Но, лучше скачайте нормальный генератор из «Дополнительных материалов».
Другую интересную программу виртуального осциллографа «Авангард» написал наш соотечественник Записных О.Л.
У этой программы нет привычной измерительной сетки, да и экран слишком большой для снятия скриншотов, но зато есть встроенный вольтметр амплитудных значений и частотомер, что частично компенсирует указанный выше недостаток.
Частично потому, что на малых уровнях сигнала и вольтметр и частотомер начинают сильно привирать.
Однако для начинающего радиолюбителя, который не привык воспринимать эпюры в Вольтах и миллисекундах на деление, этот осциллограф может вполне сгодиться. Другое полезное свойство осциллографа «Авангард» – возможность независимой калибровки двух имеющихся шкал встроенного вольтметра.
Так что, я расскажу о том, как построить измерительный осциллограф на базе программ «AudioTester» и «Авангард». Конечно, кроме этих программ понадобится и любая встроенная или отдельная, самая бюджетная аудиокарта.
Собственно, все работы сводятся к тому, чтобы изготовить делитель напряжения (аттенюатор), который позволил бы охватить широкий диапазон измеряемых напряжений. Другая функция предлагаемого адаптера – защита входа аудиокарты от повреждения при попадании на вход высокого напряжения.
Вернуться наверх к меню.
Ошибки при запуске осциллографа на Ардуино
Самой распространенной ошибкой при запуске является недостаток памяти самого устройства. Следует внимательно относится к различным дополнениям, ведь память устройства не безгранична.
Если вносились изменения в скетч также могут возникать ошибки, но это при условии, что переписывал дилетант. Стоит перепроверить все записи и внести нужные поправки.
Технические проблемы могут заключаться в плохом кабеле USB, порт не тот, нет драйвера. Самым редким случаем считается неисправность самой платы Ардуино, но вероятность также существует
Также важно проверить правильность расположения библиотек Ардуино и самого скетча
Собрать осциллограф на основе Ардуино сможет даже новичок радиолюбитель. Для этого не потребуется больших финансовых затрат, да и временные довольно сжатые. Создание и использование устройства может быть хорошим опытом, и даже подспорьем в решении несложных задач измерения электросигнала.
Пошаговая инструкция сборки конструктора DSO138
Следует рассмотреть более детально подробные инструкции для изготовления осциллографа данной марки, ведь аналогичным образом осуществляется сборка других моделей.
Стоит отметить, что в данной модели плата поставляется сразу с впаянным 32-битным на M3 ядре микроконтроллере марки Cortex. Работает он два 12-битных входа с характеристикой 1 μs и работает в максимальном частотном диапазоне до 72 МГц. Наличие этого девайса уже вмонтированным несколько облегчает задачу.
Шаг 1. Удобнее всего начинать монтаж с smd компонентов. Нужно учитывать правила при работе с паяльником и платой: не перегревать, держать не дольше 2 с, не смыкать между собой разные детали и дорожки, пользоваться паяльной пастой и припоем.
Шаг 2. Припаять конденсаторы, дросселя и сопротивления: нужно вставлять указанную деталь в отведенное на плате для нее место, отрезаем лишнюю длину ножки и запаиваем на плате. Главное не перепутать полярность конденсаторов и не сомкнуть паяльником или припоем соседние дорожки.
Шаг 3. Монтируем оставшиеся детали: переключатели и разъемы, кнопки, светодиод, кварц
Особенное внимание следует уделить стороне диодов и транзисторов. Кварц имеет металл в своем строении, потому нужно обеспечить отсутствие прямого контакта его поверхности с дорожками платы или позаботиться о диэлектрической подкладке
Шаг 4. 3 разъема припаиваются к плате дисплея. После завершения манипуляций с паяльником нужно плату промыть спиртом без вспомогательных средств – никаких ваток, дисков или салфеток.
Шаг 5. Просушить плату и проверить насколько качественно была проведена пайка. Прежде, чем подсоединить экран, нужно припаять две перемычки к плате. В этом пригодятся имеющиеся откушенные выводы деталей.
Шаг 6. Для проверки работы нужно включить прибор в сеть с током от 200 мА и напряжением 9 В.
Проверка заключается в снятии показателей с:
- Разъема 9 В;
- Контрольной точки 3,3 В.
Если все параметры соответствуют нужным значениям, нужно отключить прибор от питания и установить JP4 перемычку.
Ша г 7. В 3 имеющихся разъему нужно вставить дисплей. К входу нужно подключить щуп для осциллографа, своими руками провести включение питания.
Сборка осциллографа из планшета
Автомобильный осциллограф: понятие и принципы работы Для стабилизации сигнала и расширения диапазона входного напряжения можно использовать схему осциллографа для планшета. Она долго и успешно используется для сборки устройств для компьютера.
Для этого применяются стабилитроны КС 119 А с резисторами на 10 и 100 кОм. Первый резистор и стабилитроны подключают параллельно. Второй и более мощный резистор подключается на вход электросхемы. Это расширяет максимальный диапазон напряжений. В конечном счёте пропадают дополнительные помехи и повышается напряжение до 12 вольт.
Нужное программное обеспечение для сборки осциллографа на основе планшета и андроида
Чтобы работать с подобной схемой потребуется программа, которая способна нарисовать графики на основе входящего звукового сигнала. Множество таких вариантов легко найти в «Маркете». С помощью них можно выбрать дополнительную калибровку и добиться максимальной точности для профессионального осциллографа из планшета или другого функционального устройства.
Широкодиапазонная частота с помощью отдельного гаджета
Широкий диапазон частот с помощью отдельного гаджета достигается его приставкой с аналогово-цифровым преобразователем, который обеспечивает передачу сигнала в цифровом варианте. За счёт этого достигается более высокая точность измерений. На практике — это портативный дисплей, который аккумулирует информацию с отдельных устройств.
Исходный код программы (скетча)
Код программы для Python
Комментарии к коду программы переведены выше в статье.
Python
import time
import matplotlib.pyplot as plt
from drawnow import *
import serial
val =
cnt = 0
#create the serial port object
port = serial.Serial(‘COM4’, 115200, timeout=0.5)
plt.ion()
#create the figure function
def makeFig():
plt.ylim(-1023,1023)
plt.title(‘Osciloscope’)
plt.grid(True)
plt.ylabel(‘data’)
plt.plot(val, ‘ro-‘, label=’Channel 0′)
plt.legend(loc=’lower right’)
while (True):
port.write(b’s’) #handshake with Arduino
if (port.inWaiting()):# if the arduino replies
value = port.readline()# read the reply
print(value)#print so we can monitor it
number = int(value) #convert received data to integer
print(‘Channel 0: {0}’.format(number))
# Sleep for half a second.
time.sleep(0.01)
val.append(int(number))
drawnow(makeFig)#update plot to reflect new data input
plt.pause(.000001)
cnt = cnt+1
if(cnt>50):
val.pop(0)#keep the plot fresh by deleting the data at position 0
1 |
importtime importmatplotlib.pyplot asplt fromdrawnow import* importserial val= cnt= #create the serial port object port=serial.Serial(‘COM4’,115200,timeout=0.5) plt.ion() #create the figure function defmakeFig() plt.ylim(-1023,1023) plt.title(‘Osciloscope’) plt.grid(True) plt.ylabel(‘data’) plt.plot(val,’ro-‘,label=’Channel 0’) plt.legend(loc=’lower right’) while(True) port.write(b’s’)#handshake with Arduino if(port.inWaiting())# if the arduino replies value=port.readline()# read the reply print(value)#print so we can monitor it number=int(value)#convert received data to integer print(‘Channel 0: {0}’.format(number)) # Sleep for half a second. time.sleep(0.01) val.append(int(number)) drawnow(makeFig)#update plot to reflect new data input plt.pause(.000001) cnt=cnt+1 if(cnt>50) val.pop()#keep the plot fresh by deleting the data at position 0 |
Код программы для Arduino
Arduino
int sensorpin = A0;
void setup() {
// initialize serial communication at 115200 bits per second to match that of the python script:
Serial.begin(115200);
}
void loop() {
// read the input on analog pin 0:########################################################
float sensorValue = analogRead(sensorpin);
byte data = Serial.read();
if (data == ‘s’)
{
Serial.println(sensorValue);
delay(10); // delay in between reads for stability
}
}
1 |
intsensorpin=A0; voidsetup(){ // initialize serial communication at 115200 bits per second to match that of the python script: Serial.begin(115200); } voidloop(){ // read the input on analog pin 0:######################################################## floatsensorValue=analogRead(sensorpin); bytedata=Serial.read(); if(data==’s’) { Serial.println(sensorValue); delay(10);// delay in between reads for stability } } |
Что необходимо использовать
Самая оптимальная сегодня – это программа Osci, она имеет интерфейс, похожий на классический осциллограф: на мониторе находится стандартная сетка, с помощью которой вы сможете сами померить амплитуду или длительность. Из недостатков этой программы можно выделить то, что она работает немного нестабильно. Во время работы утилита может иногда зависать, а чтобы затем ее сбросить, надо использовать специализированный TaskManager. Но все это компенсируется тем, что программа имеет привычный интерфейс, и довольно удобна в использовании, а также имеет большое количество функций, они дают возможность сделать полноценно работающий осциллограф из компьютера или ноутбука.
На заметку
Нужно сказать, что в комплекте данных программ есть специальный низкочастотный генератор, но его использование нежелательно, он пытается полностью сам контролировать работу драйвера звуковой карты, что провоцирует выключение звука. Если решили его опробовать, позаботьтесь, чтобы у вас была точка восстановления либо сделайте бэкап вашей ОС. Самым оптимальным способом, как сделать своими руками из компьютера осциллограф, будет скачивание рабочего генератора.
«Авангард»
Это отечественная программа, она не имеет привычной и стандартной измерительной сетки, и отличается очень большим экраном для фотографирования скриншотов, но в то же время позволяет использовать установленный частотомер и вольтметр амплитудных значений. Это частично компенсирует недостатки, указанные выше.
Сделав этот осциллограф из компьютера, вы столкнетесь со следующим: на небольших уровнях показателей вольтметр и частотомер могут значительно искажать данные, но для новичков-радиолюбителей, эта утилита будет вполне достаточной. Еще одной полезной функцией будет то, что можно делать абсолютно независимую калибровку двух уже находящихся шкал установленного вольтметра.
Как это использовать
Из-за того, что входные цепи звуковой карты имеют специальный разделительный конденсатор, то компьютер в роли осциллографа может работать только с закрытым входом. Таким образом, на мониторе будет видна лишь переменная составляющая показателей, но, имея определенную сноровку, с помощью этих программ можно сделать измерение показателя постоянной составляющей. Это очень актуально в случае, когда, к примеру, время отсчета мультиметра не дает возможности зафиксировать некоторое значение амплитуды напряжения на конденсаторе, заряжающегося с помощью крупного резистора.
Нижнее значение напряжения ограничивается уровнем фона и шума и имеет примерно 1 мВ. Верхний предел ограничивается лишь по показателям делителя и достигает более сотни вольт. Частотный диапазон ограничивается самой возможностью звуковой карты и для старых компьютеров составляет около 20 кГц.
Естественно, в этом случае рассматривается довольно примитивное устройство. Но когда у вас нет возможности, например, использовать USB-осциллограф, то в данном случае его использование вполне приемлемо. Этот прибор поможет вам в ремонте разной аудиоаппаратуры, или может быть использован для учебных целей. Кроме того, программа-осциллограф даст возможность вам сохранить эпюру для иллюстрации материала или для размещения в сети.