Используем Ардуино вместо осциллографа

0 0

Используем Ардуино вместо осциллографа

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

Инструменты и материалы:
-Arduino uno;
-555 микросхема;
-Перемычки;
-Резисторы (подойдут любые номиналы от 1 кОм до 1 МОм);
-Электролитический конденсатор;
-Макетная плата;
-Proto Shield для Arduino (необязательно);

Используем Ардуино вместо осциллографа

Шаг первый: о конденсаторах
В проекте используются электролитические конденсаторы. Электролитические конденсаторы имеют полярность, поэтому важно, какой электрод подключен к положительному напряжению, а какой — к земле. На этих конденсаторах более длинный электрод является «анодом» и должен быть подключен к положительному напряжению. Более короткий электрод является «катодом» и должен быть подключен к нулевому напряжению (земле). Алюминиевый корпус конденсатора имеет маркировку в виде большой полосына катодной стороне. И на этой полосе обычно есть большие минусовые знаки. На картинке представлены три конденсатора, один с большой белой полосой. Если мы подключим конденсатор в обратном направлении или подключим большее напряжение, чем номинальное для этого конденсатора, то есть большая вероятность, что он «взорвется».

Используем Ардуино вместо осциллографа

Шаг второй: подключение
Для этого проекта мастер сделал все соединения с помощью платы расширения и макетной платы. На первом изображении мы видим таймер 555 с названиями контактов и их нумерацией. Здесь важно отметить, что на микросхеме есть круглая выемка между контактами 1 и 8. На следующих рисунках показан чертеж проводки, а затем, одно за другим, сделанные соединения:
Изображение 1: Распиновка таймера 555
Изображение 2: Подключение к 555
Изображение 3: Подключение заземления (GND) и 5 Вольт Arduino к контактам 1, 4 и 8 555
Изображение 4: Добавление резисторов A и B
Изображение 5: Добавление конденсатора и его 3 соединений: анод к контактам 2 и 6, катод к GND
Изображение 6: Подключение выходного контакта 3 к цифровому контакту 2 (D2) Arduino

Используем Ардуино вместо осциллографа

Используем Ардуино вместо осциллографа

Используем Ардуино вместо осциллографа

Используем Ардуино вместо осциллографа

Используем Ардуино вместо осциллографа

Используем Ардуино вместо осциллографа

Более подробно подключение можно посмотреть на видео.

Шаг третий: принцип работы
Когда Arduino включен, ток проходит от его контакта 5В через оба резистора для зарядки конденсатора. Это требует времени в зависимости от номинала резисторов и конденсатора. Когда заряд конденсатора достигнет 2/3 от источника 5 В, выходной контакт таймера 555 станет низким, то есть он будет находиться на уровне 0 вольт. И в этот момент конденсатор начнет пропускать ток через резистор B. Опять же, это требует времени, зависящего от конденсатора и резистора B. Когда напряжение снизится до 1/3 от 5 В, выходной контакт переключится на 5В (высокий), и цикл начнется снова с зарядки конденсатора. Результатом должен быть регулярный повторяющийся сигнал высокого-низкого уровня от этого чипа, который может быть использован в электронике, когда необходим сигнал синхронизации.

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

Первые две переменные кода являются логическими переменными, что означает, что они могут быть равны только нулю или единице, которые в данной ситуации являются синонимами низкого или высокого напряжения, или синонимом 0В или 5В. Мастер назвал эти две переменные «state» и «lastState» (“состояние” и “последнее состояние”) и использует их для отслеживания изменений выходного контакта. Аналогично, для отслеживания времени используются две переменные, называемые «currentTime» и «lastTime» (“Текущее время” и “Последнее время”). И, наконец, еще одна переменная используется для сохранения продолжительности времени. Эта переменная называется «timeDifference» (“Разница во времени”), так как она будет разницей между текущим и прошлым временем. Это переменная типа “float” («с плавающей запятой»), что означает, что она может отслеживать десятичные дроби.

По сути, код работает так: если выходной контакт таймера 555 изменяется с низкого на высокий или с высокого на низкий, активируется функция, называемая “Отметка времени”. Это тип функции, называемый “подпрограммой обслуживания прерываний”, потому что, независимо от того, где Arduino находится в ее коде, функция временной метки будет запущена, а затем Arduino вернется к исходной точке. Во время временной метки Arduino обновит переменную “состояние” в соответствии с тем, является ли выходной вывод высоким или низким, и обновит переменную “Текущее время” с помощью функции, называемой “micros”. Это встроенная функция программного обеспечения Arduino, которая «возвращает» количество микросекунд с момента последнего включения или сброса Arduino. Теперь, когда “состояние” и “Текущее время” обновлены, Arduino вычислит разницу во времени и выведет ее на последовательный монитор компьютера. Затем он обновляет значения “lastState” и “lastTime” в соответствии с “состоянием” и “текущим временем” соответственно, чтобы они были готовы к следующему изменению выходного pin-кода.

Код можно скачать ниже.
Timing555TimerWith_microsec_SerialMontor.ino

Используем Ардуино вместо осциллографа

Шаг пятый: прогнозирование
Есть формулы, которые можно выполнить, чтобы предсказать, сколько секунд будет отсчет времени. Они полезны, если задано конкретное время и нужно с чего начать подбор номинала. Формула предназначена для расчета высокого периода, количество времени, в течение которого выходной контакт находится в высоком положении (5В).
Высокий период = 0,7 * (Резистор А + Резистор В) * Конденсатор
Другая формула предназначена для расчета низкого периода, когда выход низкий (0В).
Низкий период: = 0,7 * (Резистор B) * (Конденсатор)
Для того, чтобы эти уравнения работали, единицы измерения должны быть в Омах для сопротивления и в Фарадах для конденсатора. Так, например, 10 кОм и 10 мкФ будут составлять 10 000 Ом и 0,00001 Ф. Итак, пример с двумя резисторами на 10 кОм и конденсатором емкостью 10 мкФ, Высокий период должен составлять 0,14 секунды, а Низкий-0,07 секунды.

Шаг шестой: эксперименты
Теперь, когда все настроено, можно поэкспериментировать с различными резисторами и конденсаторами, чтобы проверить, соответствует ли измеренное время расчетам.

Что интересно в этой схеме, можно увидеть эффект от установки нескольких резисторов или конденсаторов либо для резистора A или B, либо для конденсатора. Можно соединить компоненты последовательно или параллельно и посмотреть, как конденсаторы «ведут себя» относительно резисторам. Более подробно в видео.

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

Используем Ардуино вместо осциллографа

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

Для проверки подключаем анод конденсатора (который подключен к контакту 6 из 555) к контакту Arduino A0 и отображается классический рисунок “зуб пилы”, характерный для конденсаторов. Затем, чтобы открыть «Последовательный плоттер», переходим в раздел “Инструменты” и нажимаем «Последовательный плоттер». Откроется окно, и мы должны увидеть изменение напряжения на графике.

Используем Ардуино вместо осциллографа

Используем Ардуино вместо осциллографа

На этом все. Как видим с помощью данной схемы можно подобрать необходимый номинал резисторов и конденсаторов к таймеру 555.

(Source)

Подборки: Осциллограф Arduino NE555

Используем Ардуино вместо осциллографа

Простейшее автомобильное зарядное устройство

Используем Ардуино вместо осциллографа

Фонокорректор для винила на микросхеме NE5532

Источник

Оставьте ответ

Your email address will not be published.