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

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

Содержание

Принцип работы осциллографа на Arduino

Осциллограф на базе Arduino представляет собой измерительный прибор, позволяющий визуализировать и анализировать электрические сигналы. Основные компоненты такого устройства:

  • Плата Arduino (например, Arduino Uno или Nano) в качестве управляющего микроконтроллера
  • Аналогово-цифровой преобразователь (АЦП) для оцифровки входного сигнала
  • Входные цепи для согласования уровней сигнала
  • Программное обеспечение для обработки и отображения данных на компьютере

Принцип работы заключается в следующем:

  1. Входной аналоговый сигнал поступает на АЦП Arduino
  2. АЦП преобразует сигнал в цифровой вид
  3. Микроконтроллер Arduino считывает и обрабатывает оцифрованные данные
  4. Данные передаются на компьютер через USB-порт
  5. Специальное ПО на компьютере строит осциллограмму сигнала

Необходимые компоненты для сборки

Для создания простейшего осциллографа на Arduino потребуются следующие компоненты:

  • Плата Arduino Uno или Nano
  • Макетная плата
  • Операционный усилитель (например, LM358)
  • Резисторы: 2 x 10 кОм, 2 x 100 кОм
  • Конденсаторы: 100 нФ, 10 нФ
  • Диоды 1N4148 — 2 шт
  • Соединительные провода
  • USB-кабель для подключения Arduino к компьютеру

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

Схема подключения компонентов

Схема осциллографа на Arduino содержит следующие основные блоки:

  1. Входной делитель напряжения на резисторах для согласования уровней сигнала
  2. Защитные диоды для ограничения входного напряжения
  3. Операционный усилитель в режиме повторителя напряжения
  4. Фильтр низких частот на RC-цепочке
  5. Подключение выхода ОУ к аналоговому входу Arduino

Принципиальная схема соединений выглядит следующим образом:

Схема осциллографа на Arduino

При сборке важно соблюдать полярность диодов и правильно подключать выводы операционного усилителя.

Программирование микроконтроллера Arduino

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

  1. Инициализация АЦП и настройка частоты дискретизации
  2. Циклическое считывание данных с аналогового входа
  3. Буферизация полученных значений
  4. Отправка пакетов данных на компьютер через Serial-порт

Пример кода для Arduino:

«`cpp #define ANALOG_PIN A0 #define BUFFER_SIZE 1024 uint16_t buffer[BUFFER_SIZE]; uint16_t index = 0; void setup() { Serial.begin(115200); analogReference(DEFAULT); } void loop() { if (index < BUFFER_SIZE) { buffer[index++] = analogRead(ANALOG_PIN); } else { Serial.write((uint8_t*)buffer, BUFFER_SIZE * 2); index = 0; } } ```

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

Создание программы для визуализации данных

Для отображения осциллограммы на компьютере понадобится специальная программа. Ее можно написать на языках Python, Processing или C# с использованием библиотек для построения графиков.

Основные функции программы-визуализатора:

  • Прием данных с Arduino через Serial-порт
  • Обработка и масштабирование полученных значений
  • Построение графика сигнала в реальном времени
  • Настройка параметров отображения (масштаб, развертка и т.д.)
  • Сохранение и загрузка осциллограмм

Пример простого визуализатора на Python с использованием библиотеки matplotlib:

«`python import serial import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation ser = serial.Serial(‘COM3’, 115200) fig, ax = plt.subplots() line, = ax.plot([], []) ax.set_xlim(0, 1023) ax.set_ylim(0, 5) def update(frame): data = ser.read(2048) values = [int.from_bytes(data[i:i+2], ‘little’) for i in range(0, len(data), 2)] line.set_data(range(len(values)), [v * 5 / 1023 for v in values]) return line, ani = FuncAnimation(fig, update, interval=50) plt.show() «`

Этот код создает анимированный график, обновляющийся в реальном времени по мере поступления данных с Arduino.

Калибровка и настройка осциллографа

После сборки схемы и загрузки программ необходимо выполнить калибровку осциллографа для повышения точности измерений. Процесс калибровки включает следующие шаги:

  1. Проверка нулевого уровня при закороченном входе
  2. Калибровка входного делителя напряжения
  3. Настройка временной развертки
  4. Проверка линейности АЦП

Для калибровки понадобится источник опорного напряжения и генератор сигналов. В качестве простейшего генератора можно использовать еще одну плату Arduino.

Возможности и ограничения самодельного осциллографа

Осциллограф на базе Arduino имеет следующие характеристики и ограничения:

  • Полоса пропускания: до 200 кГц
  • Частота дискретизации: до 1 МГц
  • Разрешение АЦП: 10 бит (1024 уровня)
  • Диапазон входных напряжений: 0-5В (с возможностью расширения)
  • Количество каналов: 1 (с возможностью увеличения до 6)

Основные преимущества:

  • Низкая стоимость
  • Простота изготовления
  • Возможность модификации под конкретные задачи
  • Открытый исходный код ПО

Недостатки по сравнению с профессиональными приборами:

  • Ограниченная полоса пропускания
  • Низкое разрешение по вертикали
  • Отсутствие расширенных функций (курсорные измерения, математика и т.д.)

Области применения самодельного осциллографа

Несмотря на ограничения, осциллограф на Arduino может успешно применяться для решения многих задач:

  • Отладка низкочастотных аналоговых схем
  • Анализ сигналов с датчиков
  • Измерение частоты и скважности импульсных сигналов
  • Визуализация звуковых сигналов
  • Обучение основам электроники и схемотехники
  • Любительские радиотехнические проекты

Самодельный осциллограф станет отличным инструментом для начинающих радиолюбителей и студентов технических специальностей.

Возможные улучшения конструкции

Базовую версию осциллографа на Arduino можно усовершенствовать различными способами:

  1. Добавление второго измерительного канала
  2. Использование внешнего АЦП с более высоким разрешением
  3. Реализация аппаратного триггера
  4. Добавление регулируемого входного усилителя
  5. Создание удобного пользовательского интерфейса

Пример улучшенной схемы входного каскада с защитой и усилением:

Улучшенная схема входного каскада

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


Приставка осциллограф к компьютеру своими руками на базе Arduino

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

Шаг 1: Используем контроллер Arduino Uno

В интернет-магазинах контроллер Arduino Uno стоит в пределах 20 долларов.

Шаг 2: Устанавливаем приложение Arduino IDE и библиотеку TimerOne.h

Прежде всего, если у вас не установлена среда разработки Arduino, скачайте и установите ее с сайта Arduino.

Установите библиотеку «TimerOne.h» для Arduino IDE, следуя следующим инструкциям:

  1. В приложении Arduino выберите пункт меню «Sketch» (см. фото).
  2. Далее «Include Library».
  3. «Manage Libraries…».
  4. Выберите «all» в окне «Type» и «all» в окне «Topic». В пустое поле введите «TimerOne» (без кавычек).
  5. Ниже появится информация о библиотеке.
  6. Щелкните на этом тексте, и появится кнопка «Install».
  7. Нажмите кнопку «Install».
  8. Перезапустите программу.

Шаг 3: Скачиваем скетч и загружаем его в приложение Arduino

  1. Загрузите и разархивируйте скетч для Arduino: ((oscilloscope_arduino.ino)).
  2. Подключите контроллер Arduino к компьютеру через USB-порт.
  3. Запустите приложение Arduino IDE.
  4. Откройте загруженный скетч «oscilloscope_arduino.ino».
  5. Выберите порт, к которому подключен контроллер (см. фото).
  6. Загрузите программу в контроллер Arduino.

Шаг 4: Скачиваем программу Oscilloscope

Загрузите и распакуйте программу. Выберите файл для вашей операционной системы:

  • windows 32
  • windows 64
  • linux 32
  • linux 64

Запустите exe-файл (например, Windows 64 => oscilloscope_4ch.exe).

Важно: не удаляйте папку «lib» из директории с программой.

На компьютере должна быть установлена программа «Java» не ниже 8-й версии.

Шаг 5: Если oscilloscope_4ch.

exe не работает…

Если, по какой-либо причине программа oscilloscope_4ch.exe не работает, выполните следующее:

  1. Установите утилиту Processing IDE.
  2. Загрузите и разархивируйте скетч Processing source oscilloscope program.
  3. Запустите утилиту «Processing IDE» и откройте в ней скетч «oscilloscope_4ch.pde».
  4. Запустите программу, нажав на значок с треугольником (см. фото).

Шаг 6: Настраиваем последовательный порт для сопряжения контроллера Arduino с программой Oscilloscope

  1. Запустите программу «Oscilloscope»; контроллер Arduino подключите к компьютеру через USB-порт. Теперь вам нужно «подружить» их друг с другом через последовательный порт.
  2. В поле «Configurar Serial» (Настройка последовательного интерфейса) нажимайте на поле «select serial» до тех пор, пока не появится порт, к которому подключен Arduino (если он не появился, нажмите на кнопку «refresh» для обновления).
  3. Нажимайте кнопку «select speed» пока не появится скорость 115200.
  4. Нажмите кнопку «off»; надпись на ней изменится на «on».
  5. Если все правильно сделано, самодельный осциллограф покажет 4 канала [A0 (ch-0), A1 (ch-1), A2 (ch-2) и A3 (ch-3)].

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

Шаг 7: Соединяем выход (~10) со входом (A0), а выход (~9) со входом (A1)

С помощью проводов, подключите цифровой выход 10 контроллера Arduino к его аналоговому входу A0, а выход 9 – к входу A1.

На экране появится сигнал, похожий на тот, который показан на фото. Сигналы на цифровых выходах 9 и 10 задаются блоком «Ger.Sinal» программы: на выходе 9 генерируется ШИМ-сигнал частотой 10 Гц (Т = 100 мс) при Ton = 25 %; на выходе 10 – сигнал, равный удвоенному периоду 2Т (200 мс).

Вы можете самостоятельно настроить значения в блоке «Ger.Sinal», перетаскивая ползунок или щелкая по элементу управления.

Шаг 8: Подсказки

  1. Поставьте галочку напротив параметра «Trigger» на Ch-0 (красный), чтобы стабилизировать сигнал.
  2. Чтобы удалить изображения сигналов Ch-2 и Ch-3, нажмите на заголовки «Ch-2» и «Ch-3».
  3. Чтобы наблюдать фигуры Лиссажу, нажмите на заголовок «XYZ».
  4. Чтобы определять частоты, поставьте галочку «detectar freq.» (обнаружить частоту).
  5. Чтобы измерить напряжение и время / частоту, нажмите «medir» (измерение).
  6. Для изменения значения шкалы регулировки, нажмите между вертикальными линиями или перетащите ползунок, обозначенный двумя треугольничками (см. рисунок).
  7. Программа имеет гораздо больше настроек. Исследуйте их самостоятельно.

Шаг 9: Определяем частоту вспышки фонарика

Вы можете узнать частоту мигания фонарика, используя фоторезистор (LDR) и обыкновенный резистор (см. рисунок).

Шаг 10: Определяем частоту вращения вентилятора

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

Подставив значение частоты из компьютерного осциллографа в формулу на рисунке, определите частоту вращения вентилятора.

Шаг 11: Анализируем сигнал от пульта дистанционного управления

Вы можете увидеть ИК-сигнал от пульта дистанционного управления с помощью фототранзистора TIL78.

Соберите схему по рисунку и следуйте следующим инструкциям:

  1. Установите значение «dt» равным 2 мс или 100 мкс.
  2. Включите «Trigger» канала Ch-0.
  3. Увеличьте уровень, перетащив ползунок (см. рисунок).
  4. Нажмите кнопку «UMA»: осцилограф перейдет в режим ожидания.
  5. Нажмите любую кнопку на пульте дистанционного управления, предварительно направив его на фототранзистор.
  6. Анализируйте график.

Шаг 12: Тестируем компоненты или устройства

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

В этом примере мы протестируем маленький джойстик для проектов Arduino.

  1. Соберите схему, показанную на рисунке.
  2. Синхронизируйте программу с контроллером Arduino.
  3. Нажмите «fluxo» (поток), чтобы Arduino отправлял каждое значение сразу после прочтения.
  4. Установите значение параметра «dt» равным 100 мс (для медленного чтения).
  5. Выключите «Ch-3», нажав на заголовок.
  6. Установите значение параметра «v/div» равным 5 (во время установки нажмите и держите клавишу «Shift», чтобы настроить все каналы одновременно).
  7. Переместите маленький треугольник слева канала «Ch-0» вверх (нажав клавишу «Shift»).
  8. Включите канал «XYZ» и перетащите ползунок параметра «v/div» до конца вправо.
  9. Перемещайте джойстик во все стороны и понажимайте кнопку несколько раз.
  10. Наблюдайте кривые.

Шаг 13: Определяем параметры резисторов и конденсаторов

Поле «medir res./cap.» предназначено для измерения значений резисторов и конденсаторов, но оно будет работать только при подключении схемы, изображенной на рисунке.

Данная функция может самостоятельно определять, какой из компонентов подключен: резистор или конденсатор и определить правильное значение параметра, используя 3 шкалы (низкие, средние или высокие значения).

Шаг 14: Хотите больше возможностей?

Скачайте полный проект с сайта GitHub.

Посмотрите видео на YouTube.

Приставка осциллограф к компьютеру своими руками на базе Arduino

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

Шаг 1: Используем контроллер Arduino Uno

В интернет-магазинах контроллер Arduino Uno стоит в пределах 20 долларов.

Шаг 2: Устанавливаем приложение Arduino IDE и библиотеку TimerOne.h

Прежде всего, если у вас не установлена среда разработки Arduino, скачайте и установите ее с сайта Arduino.

Установите библиотеку «TimerOne.h» для Arduino IDE, следуя следующим инструкциям:

  1. В приложении Arduino выберите пункт меню «Sketch» (см. фото).
  2. Далее «Include Library».
  3. «Manage Libraries…».
  4. Выберите «all» в окне «Type» и «all» в окне «Topic». В пустое поле введите «TimerOne» (без кавычек).
  5. Ниже появится информация о библиотеке.
  6. Щелкните на этом тексте, и появится кнопка «Install».
  7. Нажмите кнопку «Install».
  8. Перезапустите программу.

Шаг 3: Скачиваем скетч и загружаем его в приложение Arduino

  1. Загрузите и разархивируйте скетч для Arduino: ((oscilloscope_arduino.ino)).
  2. Подключите контроллер Arduino к компьютеру через USB-порт.
  3. Запустите приложение Arduino IDE.
  4. Откройте загруженный скетч «oscilloscope_arduino.ino».
  5. Выберите порт, к которому подключен контроллер (см. фото).
  6. Загрузите программу в контроллер Arduino.

Шаг 4: Скачиваем программу Oscilloscope

Загрузите и распакуйте программу. Выберите файл для вашей операционной системы:

  • windows 32
  • windows 64
  • linux 32
  • linux 64

Запустите exe-файл (например, Windows 64 => oscilloscope_4ch. exe).

Важно: не удаляйте папку «lib» из директории с программой.

На компьютере должна быть установлена программа «Java» не ниже 8-й версии.

Шаг 5: Если oscilloscope_4ch.exe не работает…

Если, по какой-либо причине программа oscilloscope_4ch.exe не работает, выполните следующее:

  1. Установите утилиту Processing IDE.
  2. Загрузите и разархивируйте скетч Processing source oscilloscope program.
  3. Запустите утилиту «Processing IDE» и откройте в ней скетч «oscilloscope_4ch.pde».
  4. Запустите программу, нажав на значок с треугольником (см. фото).

Шаг 6: Настраиваем последовательный порт для сопряжения контроллера Arduino с программой Oscilloscope

  1. Запустите программу «Oscilloscope»; контроллер Arduino подключите к компьютеру через USB-порт. Теперь вам нужно «подружить» их друг с другом через последовательный порт.
  2. В поле «Configurar Serial» (Настройка последовательного интерфейса) нажимайте на поле «select serial» до тех пор, пока не появится порт, к которому подключен Arduino (если он не появился, нажмите на кнопку «refresh» для обновления).
  3. Нажимайте кнопку «select speed» пока не появится скорость 115200.
  4. Нажмите кнопку «off»; надпись на ней изменится на «on».
  5. Если все правильно сделано, самодельный осциллограф покажет 4 канала [A0 (ch-0), A1 (ch-1), A2 (ch-2) и A3 (ch-3)].

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

Шаг 7: Соединяем выход (~10) со входом (A0), а выход (~9) со входом (A1)

С помощью проводов, подключите цифровой выход 10 контроллера Arduino к его аналоговому входу A0, а выход 9 – к входу A1.

На экране появится сигнал, похожий на тот, который показан на фото. Сигналы на цифровых выходах 9 и 10 задаются блоком «Ger.Sinal» программы: на выходе 9 генерируется ШИМ-сигнал частотой 10 Гц (Т = 100 мс) при Ton = 25 %; на выходе 10 – сигнал, равный удвоенному периоду 2Т (200 мс).

Вы можете самостоятельно настроить значения в блоке «Ger.Sinal», перетаскивая ползунок или щелкая по элементу управления.

Шаг 8: Подсказки

  1. Поставьте галочку напротив параметра «Trigger» на Ch-0 (красный), чтобы стабилизировать сигнал.
  2. Чтобы удалить изображения сигналов Ch-2 и Ch-3, нажмите на заголовки «Ch-2» и «Ch-3».
  3. Чтобы наблюдать фигуры Лиссажу, нажмите на заголовок «XYZ».
  4. Чтобы определять частоты, поставьте галочку «detectar freq.» (обнаружить частоту).
  5. Чтобы измерить напряжение и время / частоту, нажмите «medir» (измерение).
  6. Для изменения значения шкалы регулировки, нажмите между вертикальными линиями или перетащите ползунок, обозначенный двумя треугольничками (см. рисунок).
  7. Программа имеет гораздо больше настроек. Исследуйте их самостоятельно.

Шаг 9: Определяем частоту вспышки фонарика

Вы можете узнать частоту мигания фонарика, используя фоторезистор (LDR) и обыкновенный резистор (см. рисунок).

Шаг 10: Определяем частоту вращения вентилятора

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

Подставив значение частоты из компьютерного осциллографа в формулу на рисунке, определите частоту вращения вентилятора.

Шаг 11: Анализируем сигнал от пульта дистанционного управления

Вы можете увидеть ИК-сигнал от пульта дистанционного управления с помощью фототранзистора TIL78.

Соберите схему по рисунку и следуйте следующим инструкциям:

  1. Установите значение «dt» равным 2 мс или 100 мкс.
  2. Включите «Trigger» канала Ch-0.
  3. Увеличьте уровень, перетащив ползунок (см. рисунок).
  4. Нажмите кнопку «UMA»: осцилограф перейдет в режим ожидания.
  5. Нажмите любую кнопку на пульте дистанционного управления, предварительно направив его на фототранзистор.
  6. Анализируйте график.

Шаг 12: Тестируем компоненты или устройства

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

В этом примере мы протестируем маленький джойстик для проектов Arduino.

  1. Соберите схему, показанную на рисунке.
  2. Синхронизируйте программу с контроллером Arduino.
  3. Нажмите «fluxo» (поток), чтобы Arduino отправлял каждое значение сразу после прочтения.
  4. Установите значение параметра «dt» равным 100 мс (для медленного чтения).
  5. Выключите «Ch-3», нажав на заголовок.
  6. Установите значение параметра «v/div» равным 5 (во время установки нажмите и держите клавишу «Shift», чтобы настроить все каналы одновременно).
  7. Переместите маленький треугольник слева канала «Ch-0» вверх (нажав клавишу «Shift»).
  8. Включите канал «XYZ» и перетащите ползунок параметра «v/div» до конца вправо.
  9. Перемещайте джойстик во все стороны и понажимайте кнопку несколько раз.
  10. Наблюдайте кривые.

Шаг 13: Определяем параметры резисторов и конденсаторов

Поле «medir res./cap.» предназначено для измерения значений резисторов и конденсаторов, но оно будет работать только при подключении схемы, изображенной на рисунке.

Данная функция может самостоятельно определять, какой из компонентов подключен: резистор или конденсатор и определить правильное значение параметра, используя 3 шкалы (низкие, средние или высокие значения).

Шаг 14: Хотите больше возможностей?

Скачайте полный проект с сайта GitHub.

Посмотрите видео на YouTube.

Осциллограф Arduino 5 МГц — лаборатория оборудования с открытым исходным кодом EasyEDA

ID Имя Обозначение След Количество
1 ЛМ7171БИН У3, У2, У8, У9, У41 ДИП8 5
2 HFD41/12VDC-N RL4, RL6, RL3, RL1, RL2, RL5, RL7, RL8, RL10, RL11, RL9, RL12 HFD41/12VDC-N 12
3 BNC_PCB У39,У38,У40 BNC_ONBOARD_PERSO 3
4 УЛН2803АПГ У5, У11 ДИП-18 2
5 TDA8703 копия У6,У12 ДИП24-600 2
6 4,7 мкФ/16 В С11,С7,С31,С27 CAP-D8. 0XF3.5 4
7 50р С3, С4, С23, С24 ДЖМЛ06-1-30П 4
8 ТЛ071КП У1, У7 ДИП8 2
9 БАТ85,133 Д2, Д1, Д3, Д4, Д6, Д5 ДО-34-Ф 6
10 220 Р1, Р21 ОСЕВОЙ-0,4 2
11 900К 0,1% Р17, Р37 ОСЕВОЙ-0,4 2
12 1к5 Р6, Р26 ОСЕВОЙ-0,4 2
13 Р7, Р12, Р16, Р13, Р8, Р28, Р36, Р32, Р33, Р27, Р71, Р60, Р61 ОСЕВОЙ-0,4 13
14 22 Р19, Р39 ОСЕВОЙ-0,4 2
15 47 Р15, Р35 ОСЕВАЯ-0,4 2
16 4к7 Р11, Р31, Р68, Р69 ОСЕВОЙ-0,4 4
17 90К 0,1% Р18, Р38 ОСЕВАЯ-0,4 2
18 10К 0,1% Р20, Р40 ОСЕВОЙ-0,4 2
19 470 Р14, Р10, Р34, Р30 ОСЕВАЯ-0,4 4
20 2к2 Р4, Р24 ОСЕВОЙ-0,4 2
21 82к Р5, Р25 ОСЕВОЙ-0,4 2
22 68 Р9, Р29 ОСЕВОЙ-0,4 2
23 390 Р3, Р23 ОСЕВОЙ-0,4 2
24 15н С2, С22 РАДМУЛЬТИ 2
25 АД744 У4, У10 ДИП8 2
26 100н С18,С16,С15,С20,С14,С17,С13,С19,С35,С36,С39,С38,С34,С37,С33,С40,С63,С68,С67,С66,С69,С62,С64,С65 РАД-0,2 24
27 22н С9, С8, С6, С29, С28, С26 РАД-0,2 6
28 47р К10, К30 РАД-0,2 2
29 100р С12, С32 РАД-0,2 2
30 5п6 С1, С21 РАД-0,2 2
31 2. 2n К5, К25 РАД-0,2 2
32 10К Р2, Р22 РЕС-АДЖ_3296В 2
33 CXO_DIP14 Х1 ОСЦИЛЛЯТОР_DIP-14 1
34 100 нФ С49,С47,С45,С44,С43,С51,С41,С48,С50,С42,С52,С46,С57,С56,С61,С58,С55,С60,С59 РАД-0,2 19
35 74ХК151Д, 653 ДИП16 У16, У17, У32 ДИП16 3
36 10к Р42, Р41, Р43, Р45, Р44, Р56, Р57, Р64, Р66, Р67, Р70 ОСЕВОЙ-0,4 11
37 74ХК390Н У15, У14, У13 ДИП16 3
38 АТХ4. 2-4П CN3 АТХ4.2-4П 1
39 АТХ4.2-10П CN2 АТХ4.2-10П 1
40 ARDUINO-MEGA 2560 ЯДРО INHAOS У18 АРДУИНО_МЕГА_МИНИ 1
41 74HC107 ПЕРСО У29 ДИП14 1
42 74HC86N У31 ДИП14 1
43 74HC20EE У33 ДИП14 1
44 7202PLCC У27, У28 PLCC32-ПОДДЕРЖКА 2
45 74HC74 У30 ДИП14 1
46 100у С70 CAP-D6. 3XF2.5 1
47 1к2 Р63, Р58, Р59 ОСЕВОЙ-0,4 3
48 27к Р62 ОСЕВОЙ-0,4 1
49 3к6 Р65 ОСЕВОЙ-0,4 1
50 МАКС517 У35 ДИП8 1
51 ЛМ319Н У34, У36 ДИП14 2

Развернуть

Осциллограф Arduino — Устройство входа своими руками — Блог — Тестовое оборудование своими руками

  • Программное обеспечение
  • Аппаратное обеспечение
  • Зонд — попытка 1 (не очень хорошо, просмотрите попытку 2)
  • Зонд — Попробуйте 2
  • Резюме
  • Доказательство работы

 

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

Когда я начинал, я купил набор для пайки и мультимер — вещи, которые стоят недорого и очень нужны для первых шагов.

Но я считаю, что самое важное оборудование для тестирования – это осциллограф, но он также очень дорогой.

Итак, конфликт…

Много раз вам нужно отлаживать схемы, потому что что-то может пойти не так (мы все это знаем…), и вам нужен прицел, чтобы выяснить, в чем проблема.

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

 

Теперь давайте определим, что такое простая схема.

Для меня это имеет два основных параметра

1. Низкая пропускная способность

2. Низкое напряжение, скажем, 0–5 Вольт, а если вы настаиваете, 0–15 Вольт

 

лучше, чем другие, некоторые сложнее построить, чем другие.

Я положил глаз на Girinoscope www.instructables.com/id/Girino-Fast-Arduino-Oscilloscope/

В этом прицеле используется aruino uno (я построил свой с помощью arduino nano) и достигает 150Ksps с размахом напряжения 5В .

Проблемы с учебным пособием:

  1. В нем объясняется часть программного обеспечения и общие сведения о том, как работает триггер прицела, но:
    1. Информация не очень хорошо объяснена новичку, который просто хочет его построить.
    2. Нет даже простой схемы соединений.
    3. Вам необходимо глубоко изучить документацию Atmel, чтобы действительно понять, что объясняется в руководстве.
  2. Предоставленный код должен иметь исправления для работы с максимальной полосой пропускания (в настоящее время 150 кбит/с).
  3. Графический пользовательский интерфейс, предоставленный третьей стороной, только визуализирует образец, но не может сохранить его для использования в будущем.
    1. Ссылка на GUI: https://github.com/Chatanga/Girinoscope

Инструкции описывают, как настроить CSR arduino, и вы получите довольно хорошее представление о том, что происходит, но только если у вас есть некоторые знания в VLSI и логическая конструкция (мультиплексоры, триггеры, PAD и т. д.)

Я немного изменил ПО для поддержки более высоких частот дискретизации (улучшения кода для экономии MIPS)

Я также поместил графический интерфейс в тот же github для простоты доступа, а также со сценарием для его запуска из процессора руки (RPI, db410c)

https://github.com/idanre1/Girinoscope2_0

  • основной путь содержит код arduino
  • Capture_exe — программа на Perl для сбора семплов, которые можно сохранить на диск (а не просто просматривать на экране)
    • excel можно использовать для управления данными и отображения графиков
  • область видимости
    • содержит графический интерфейс
    • db_src
      • исходный код для наборов тестов в db410c.
      • RPI также можно использовать с небольшими изменениями.

     

    Все, что вам нужно, это Arduino + несколько резисторов и конденсаторов.

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

     

    {галерея} Моя галерея Название

    Полная схема: АЦП Arduino подключен к LM358N в качестве входного пробника. ne555 в качестве тестовой схемы. ne555 поставляется с напряжением 7 В от шины к шине, поэтому на выходе будет около 5 В.

    DB410c в качестве тестера: я использую цифровые GPIO 1,8 В на Dragonboard для АЦП Arduino. Иногда я использую шифер уровня txs0108e, чтобы обеспечить Arduino 5 В от DB410c

    Схема гириноскопа: Из инструкций гириноскопа очень сложно сказать, что куда подключать. Вам нужно глубоко погрузиться в код Arduino, чтобы понять, что делать. Эта простая схема может помочь выделить

    555 Таймер: я использую эту схему, чтобы увидеть, будет ли расчетная частота таймера 555 соответствовать тому, что я сэмплирую с помощью Arduino.

    Графический интерфейс: Получение образца с графического интерфейса гириноскопа

    Особая благодарность jc2048 и DAB за помощь в изучении мира операционных усилителей (их тысячи, и вам нужно выбрать)

    Я попробовал простую симуляцию с MCP6024

    По сути, я сделал делитель напряжения 1/4, чтобы иметь возможность вставлять Arduino более 5 В.

    Вот результаты моделирования:

    НАМНОГО ЛУЧШЕ, ЧЕМ LM358N! (См. фотогалерею для результатов работы старого операционного усилителя)

    Vin представляет собой прямоугольную волну 20 В при 15 кГц максимальная полученная полоса пропускания (15 кГц)

     

    Вопросы:

    1. Может быть, мне нужен операционный усилитель с большей полосой пропускания?
      1. Поможет ли добавление пассивного компонента в контур обратной связи?
    2. Нужно ли мне добавить к Vout операционного усилителя диод обратной защиты, чтобы уберечь Arduino от человеческой ошибки?
    3. Почему V_rise медленнее, чем V_fall?

     

    • Красная цепь — дифференциальный усилитель
      • Vout=(R3/R1)*(V+-V-)
        • R1=R2 и R3=R4
      • Как получить эту формулу: http://www. electronics-tutorials.ws/opamp/opamp_5.html
      • C2 для удаления звона. Реальная схема имеет емкость в проводах, возможно, потребуется отрегулировать.
    • Оранжевый Цепь смещена по напряжению
      • Так как операционный усилитель 5В, нам нужно сместить половину, что означает 2,5В GND к источнику питания операционного усилителя.
        • Это я понял, но смог найти правильный анализ, почему??? (TODO — найти ссылку на статью)
    • Блок питания
      • C2,C3 для шумоподавления блока питания (развязка блока питания)
    • U2,U3 только множитель 1:10 для работы при низком напряжении.
      • http://www.electronics-tutorials.ws/opamp/opamp_3.html
    • C1 — фильтрация источника питания
      • Удалите часть шума, исходящего от 5 В, и создайте более чистое псевдоземля для работы.
    • R11
      • Немного изолирует любую емкость на выходе от ОУ
    • R14
      • Входной колодец GND, подключенный к GND цепи
      • Резистор предназначен для предотвращения протекания сильного тока, когда заземление неровное.

     

    Схема зонда

    Результат моделирования

    Я положил прямоугольную волну 20 В из 25 В.

    Вы можете видеть выходное напряжение от 0,5 до 4,5 В.

    T_fall составляет около 4u_sec, что вполне разумно. менее 1/7 времени низкого напряжения прямоугольной формы…

    Схема PAD от Atmel DataShing Teate:

    Я думаю, что следующий шаг. Последующее положение, когда это не так, когда это не так, когда это не так, когда это не так, когда это не так, когда это не так, когда это не так, когда это не так, когда это не так, когда это не так, когда это не так, когда это не так, когда это будет. где я живу)

     

    Надеюсь, каждый нуб найдет эту статью:

    1. с подробным описанием того, как его построить
    2. Пошаговое объяснение
    3. Достаточно деталей анализа для понимания без внутренних допущений не сказано.

     

    Хочу выразить особую благодарность jc2048 за помощь в сборке зонда.

     

    На следующем видео показано, как db410c (похожий на RPI) генерирует прямоугольную волну с использованием одного из своих GPIO в 1,8 В. .com/lit/ds/symlink/txs0108e.pdf

    Сигнал захвачен гириноскопом и указанный элемент не найден. для справки.

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

    У вас нет прав на редактирование метаданных этого видео.

    Редактировать носитель

    Размеры Икс МаленькийСреднийБольшойПользовательский

    Тема (обязательно) Краткое описаниеТеги (через запятую)Видимость видео в результатах поискаVisibleHidden

    Родительский контент

    Project14 | Объявление победителей: Вдохновляющие проекты тестового оборудования своими руками! Осциллограф Arduino — устройство входа своими руками

    Плакат

    Загрузить Предварительный просмотр

     

    В следующем видео показан датчик, подробно описанный в этой теме, с затуханием 1:10

    В настоящее время у меня есть только операционный усилитель LM358n, изготовленный около 30 лет назад, я извлек его из старой схемы, которая у меня есть.

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

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