Оглавление:

Модуль двухканального датчика напряжения Arduino: 8 шагов
Модуль двухканального датчика напряжения Arduino: 8 шагов

Видео: Модуль двухканального датчика напряжения Arduino: 8 шагов

Видео: Модуль двухканального датчика напряжения Arduino: 8 шагов
Видео: Уроки Arduino #8 - управление реле 2024, Ноябрь
Anonim
Модуль двухканального датчика напряжения Arduino
Модуль двухканального датчика напряжения Arduino
Модуль двухканального датчика напряжения Arduino
Модуль двухканального датчика напряжения Arduino
Модуль двухканального датчика напряжения Arduino
Модуль двухканального датчика напряжения Arduino

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

Шаг 1: О проекте

О проекте
О проекте
О проекте
О проекте
О проекте
О проекте

Прежде всего, это всего лишь предварительный проект чего-то более стабильного и надежного, некоторые компоненты не попадут в окончательный дизайн. Большинство компонентов было выбрано только из-за доступности (они были у меня дома), а не из-за их надежности. Эта конструкция предназначена для источника питания 15 В, но вы можете заменить несколько пассивных компонентов и заставить его работать при любом напряжении или токе. Датчики тока доступны в 5A, 20A и 30A, вы можете просто выбрать силу тока и изменить код, то же самое с датчиком напряжения, вы можете изменить значение резисторов и код для измерения более высоких напряжений.

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

Шаг 2: датчики напряжения

Датчики напряжения
Датчики напряжения
Датчики напряжения
Датчики напряжения
Датчики напряжения
Датчики напряжения
Датчики напряжения
Датчики напряжения

Начнем с датчиков напряжения и тока. Я использую Arduino Mega для тестирования схем и кода, поэтому некоторые новички, такие как я, могут создавать и тестировать свои собственные на лету, вместо того, чтобы собирать весь модуль на макетной плате.

Мы можем измерять только 0-5 вольт, используя аналоговые входы Arduino. Чтобы мы могли измерять до 15 вольт, нам нужно создать делитель напряжения, делители напряжения очень просты и могут быть созданы с использованием всего 2 резисторов, в этом случае мы используем 30 кОм и 7,5 кОм, которые дадут нам соотношение 5: 1, поэтому мы можем измерять значения 0-25 вольт.

Список деталей для датчика напряжения

Резисторы R1, R3 30 кОм

Резисторы R2, R4 7,5 кОм

Шаг 3: датчики тока

Датчики тока
Датчики тока
Датчики тока
Датчики тока
Датчики тока
Датчики тока
Датчики тока
Датчики тока

В качестве датчиков тока я буду использовать ACS712 производства Allegro. Теперь первое, что мне нужно упомянуть, это то, что я знаю, что эти датчики не очень точны, но это то, что у меня было под рукой при разработке этого модуля. ACS712 доступен только в упаковке для поверхностного монтажа и является одним из немногих SMD-компонентов, используемых в этом модуле.

Список деталей датчика тока

IC2, IC3 ASC712ELC-05A

C1, C3 Конденсатор 1 нФ

Конденсатор C2, C4 0,1 мкФ

Шаг 4: Датчик температуры и вентилятор

Датчик температуры и вентилятор
Датчик температуры и вентилятор
Датчик температуры и вентилятор
Датчик температуры и вентилятор
Датчик температуры и вентилятор
Датчик температуры и вентилятор

Я решил добавить к модулю контроль температуры, потому что большинство блоков питания выделяют большое количество тепла, и нам нужна защита от перегрева. В качестве датчика температуры я использую HDT11, а для управления вентилятором мы собираемся использовать N-канальный MOSFET 2N7000 для управления вентилятором ЦП с напряжением 5 В. Схема довольно проста: нам нужно подать напряжение на сток транзистора, и мы подаем положительное напряжение на затвор, в этом случае мы используем цифровой выход Arduino, чтобы обеспечить это напряжение, и транзистор включается, позволяя вентилятору работать. под напряжением.

Код очень прост: мы берем показание температуры с датчика DHT11, если температура выше нашего установленного значения, он устанавливает выходной контакт HIGH, и вентилятор включается. Как только температура упадет ниже установленной, вентилятор выключится. Я построил схему на своей макетной плате, чтобы проверить свой код, я сделал несколько быстрых снимков с моей камерой, извините, не очень хорошо, но схему легко понять.

Перечень деталей датчика температуры и вентилятора

Датчик температуры J2 DHT11

Резистор R8 10 кОм

J1 5V ВЕНТИЛЯТОР

Q1 2N7000 МОП-транзистор

D1 1N4004 Диод

Резистор R6 10 кОм

Резистор R7 47 кОм

Шаг 5: Цепь питания

Цепь питания
Цепь питания
Цепь питания
Цепь питания
Цепь питания
Цепь питания

Модуль работает от 5 В, поэтому нам нужен стабильный источник питания. Я использую регулятор напряжения L7805, чтобы обеспечить постоянное напряжение 5 В, нечего сказать об этой схеме.

Перечень деталей силовой цепи

1 регулятор напряжения L7805

Конденсатор C8 0,33 мкФ

Конденсатор C9 0,1 мкФ

Шаг 6: ЖК-дисплей и последовательные выходы

ЖК-дисплей и последовательные выходы
ЖК-дисплей и последовательные выходы
ЖК-дисплей и последовательные выходы
ЖК-дисплей и последовательные выходы
ЖК-дисплей и последовательные выходы
ЖК-дисплей и последовательные выходы
ЖК-дисплей и последовательные выходы
ЖК-дисплей и последовательные выходы

Я проектировал модуль для использования с ЖК-дисплеем, но затем решил добавить последовательный вывод для целей отладки. Я не собираюсь вдаваться в подробности о том, как настроить ЖК-дисплей I2C, потому что я уже рассмотрел его в предыдущем инструктируемом ЖК-дисплее I2C. Простой способ, которым я добавил светодиоды к строкам Tx и Rx, чтобы показать активность. Я использую USB-последовательный адаптер, который я подключаю к модулю, затем открываю последовательный монитор в Arduino IDE и вижу все значения, чтобы убедиться, что все работает так, как должно.

Список деталей ЖК-дисплея и серийного выхода

I2C 16x2 I2C LCD (20x4 опционально)

LED7, LED8 0603 Светодиод SMD

R12, R21 1K R0603 SMD резистор

Шаг 7. Программирование ISP и ATMega328P

Программирование ISP и ATMega328P
Программирование ISP и ATMega328P
Программирование ISP и ATMega328P
Программирование ISP и ATMega328P
Программирование ISP и ATMega328P
Программирование ISP и ATMega328P

Как я уже упоминал в начале, этот модуль предназначен для создания различных конфигураций, нам нужно добавить способ программирования ATMega328 и загрузки наших эскизов. Есть несколько способов программирования модуля, один из них - использовать Arduino в качестве ISP-программиста, как в одном из моих предыдущих инструкций по загрузке ATMega с Arduino mega.

Примечания:

- Вам не нужен конденсатор для загрузки скетча ISP на Arduino, он нужен для записи загрузчика и загрузки скетча Voltage_sensor.

-В более новых версиях Arduino IDE вам необходимо подключить контакт 10 к контакту 1 RESET ATMega328.

Список частей схемы ISP и ATMega328P

U1 ATMega328P

XTAL1 16 МГц HC-49S Crsytal

Конденсаторы C5, C6 22pf

6-контактный разъем ISP1

Резистор R5 10 кОм

Сброс 3x4x2 Tact SMD Switch

Шаг 8: заметки и файлы

Заметки и файлы
Заметки и файлы
Заметки и файлы
Заметки и файлы
Заметки и файлы
Заметки и файлы

Для меня это был просто способ воплотить некоторые идеи в работающее устройство, как я уже упоминал ранее, это всего лишь небольшое дополнение к моему двухканальному настольному источнику питания. Я включил все необходимое для создания собственного модуля, все файлы САПР Eagle и схемы. Я включил скетч Arduino, он очень прост, и я попытался упростить его понимание и изменение. Если у вас есть вопросы, не стесняйтесь их задавать, я постараюсь на них ответить. Это открытый проект, предложения приветствуются. Я стараюсь предоставить как можно больше информации, но я узнал о конкурсе Arduino поздно и хотел его отправить. Вскоре я напишу остальное, я также удалил компоненты SMD (резисторы и светодиоды) и заменил их компонентами TH, единственным компонентом SMD является текущий датчик, потому что он доступен только в пакете SOIC, файл ZIP содержит файлы с компонентами TH.

Рекомендуемые: