Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Equipment >> Промышленное оборудование

Как сделать вентилятор с синхронизацией по времени

Нужно проветрить комнату? В этой статье вы узнаете, как я сделал вентилятор с реле и синхронизацией по GPS, чтобы отводить влажный воздух в каюту моей лодки. Он управляется PIC16F628A и имеет ЖК-дисплей.

Нужно проветрить комнату? В этой статье вы узнаете, как я сделал вентилятор с реле и синхронизацией по GPS, чтобы отводить влажный воздух в каюту моей лодки. Он управляется PIC16F628A и имеет ЖК-дисплей.

Пусть воздух течет

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

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

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

Проектирование системы

Я хочу, чтобы система выполняла следующие действия:

Для изготовления такой системы мне понадобятся следующие детали:

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

Установка будет работать от автомобильного аккумулятора. Мой вентилятор рассчитан на 12 В, 4,5 А. Чтобы аккумулятор всегда был заряжен до предела, я подключу его к зарядному устройству. Чтобы зарядное устройство не было перегружено при работающем вентиляторе, я собираюсь заставить систему «отключать» зарядное устройство при работающем вентиляторе. Одно реле будет управлять вентилятором, а другое реле - зарядным устройством. Когда вентилятор работает, аккумулятор не заряжается, а когда вентилятор не работает, аккумулятор заряжен.

Чтобы отслеживать время, я использую модуль GPS. В этом проекте я буду использовать модуль Skylab SKM53-series (PDF). Это устройство каждую секунду отправляет несколько предложений NMEA через UART. В таблице данных рекомендуется использовать подтягивающий резистор 10 кОм как на RXD, так и на TXD. Это повысит стабильность последовательных данных. Я этого не делал и нестабильности не заметил. Может мне повезет. На той же странице в техническом описании сказано, что необходимо добавить соответствующие развязывающие конденсаторы. Электролитический 10 мкФ и керамический 0,1 мкФ. Когда я собирал схему, я использовал только керамику 0,1 мкФ.

Снимок экрана из таблицы данных Skylab (PDF).

Я использую предложение «RMC», чтобы узнать время. Пример предложения RMC следующий:

 $ GPRMC, 075747.000, A, 2233.89990, N, 11405.3368, E, 3.9,357,8,260210 ,,, A * 6A 

Первые числа после $ GPRMC - время. В этом примере время 07:57:47. Нам понадобится эта информация.

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

«A» указывает на действительное исправление, а «V» указывает на недопустимое исправление. В своем программном обеспечении я проверяю наличие действительного исправления. Эти буквы чувствительны к регистру.

Чтобы структурировать проекты, я люблю составлять блок-схему. Таким образом я «визуализирую» то, что хочу делать.

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

Аппаратное обеспечение

Принципиальная схема основана на блок-схеме. Я воспроизвел все блоки на блок-схеме, чтобы отразить компоненты и их соединения в схеме.

В таблице данных регулятора LM7805 указано, что для стандартного приложения вам понадобится всего 0,33 мкФ на входном контакте и 0,1 мкФ на выходном контакте. Так почему я использую разные ценные крышки и еще кое-что? Я использую их для сглаживания ввода и вывода. Это может быть слишком много, но у меня есть очень хороший опыт работы с этой конфигурацией регулятора. Если не использовать конденсаторы, регулятор может начать колебаться. Регулятор LM7805 - это старый линейный регулятор. Почему бы не использовать современный импульсный стабилизатор? Импульсные регуляторы намного эффективнее линейных регуляторов. Это то, что у меня было.

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

Я импортировал список деталей из BOM.ULP в OpenOffice Calc и удалил некоторые ненужные столбцы:

На схеме не показаны мои предохранители. У меня есть предохранитель на 12 В, 8 А на плюсовом проводе вентилятора и такой же предохранитель на плюсовом проводе зарядного устройства.

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

Вы можете скачать исходный код C по ссылке для скачивания в конце этой статьи. Код хорошо прокомментирован, но я сделаю здесь несколько дополнительных моментов.

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

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

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

Следующее - переменные:здесь объявлены все переменные.

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

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

Одним из примеров является функция, которая инициализирует порт UART в этом проекте:

  // ФУНКЦИЯ ИНИЦИИРОВАНИЯ ПОРТА UART void uart_init (недействительно) { TXSTAbits.BRGH =0; // бит выбора высокой скорости, 1 =высокий, 0 =низкий TXSTAbits.SYNC =0; // Бит выбора режима USART, 1 =режим синхронизации, 0 =асинхронный режим TXSTAbits.TX9 =0; // 9-битный бит выбора, 1 =9-битная передача, 0 =8-битная передача RCSTAbits.CREN =1; // Бит разрешения непрерывного приема, 1 =разрешить непрерывный прием / * Рассчитайте SPBRG с кристаллом 16 МГц 16 МГц 16000000/9600 =1666,6666 1666,6666 / 64 =26,0416 26,0416 - 1 =25,0416 25,041 =25 * / СПБРГ =25; // 9600-н-8-1 PIE1bits.RCIE =1; // Бит разрешения прерывания приема USART, 1 =разрешить RCSTAbits.SPEN =1; // Бит включения последовательного порта, 1 =включение последовательного порта TXSTAbits.TXEN =1; // бит разрешения передачи, 1 =передача возвращение; }  

Вы увидите первую строку комментария, объясняющую, что делает функция. Затем все строки кода комментируются, поэтому я знаю, что происходит.

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

jc_lettheairflow.c.zip

Заключение

В этой статье я попытался сделать окружающую среду в моей лодке как можно более враждебной для плесени и грибка с помощью вентилятора, который дует и циркулирует воздух. Вентилятор подключен к патрубку, выходящему из кабины. Я использовал модуль GPS, чтобы отслеживать время, и я использовал два реле для включения / выключения вентилятора. Чтобы аккумулятор оставался заряженным, я использовал другое реле для включения и выключения зарядного устройства.

Я предоставляю читателю вывести эту схему на новый уровень и отобразить дату.

Зачем использовать модуль GPS? Я мог бы использовать микроконтроллер как простой таймер. Затем мне пришлось сделать какой-то интерфейс, чтобы установить время. Или я был бы счастлив, если бы он работал без учета реального времени. Он будет работать по 5 минут каждый час. С помощью GPS я могу программно настроить его на бег от пяти минут до каждого часа.

Изображение

Попробуйте сами! Получите спецификацию.


Промышленное оборудование

  1. Как сделать стекловолокно
  2. Как сделать прототип
  3. Как сделать ваши системы воздушных компрессоров более эффективными
  4. Как работают осушители воздуха?
  5. Как удалить загрязнения из сжатого воздуха
  6. Как заменить гидравлический шланг
  7. Как сделать металлический патрон для токарного станка
  8. Как это работает:тепло компрессионной сушилки
  9. Как это работает:ротационный зубчатый компрессор
  10. Примите решение о повторном подключении к вашей системе сжатого воздуха