Автоматическая заслонка для вентиляции на ардуино

Автоматическая заслонка для вентиляции на базе Arduino

Привет! 🙂

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

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

 

 

История создания

У меня в доме есть холодная веранда, в которой никогда не было отопления, да и, в принципе, не планировалось. И однажды встал вопрос об установке фермы (майнера) для добычи криптовалюты. Было решено использовать именно это помещение, поскольку аппаратура достаточно шумная, и в жилой части дома размещать ее не представлялось возможным. К тому же майнер выделяет огромное количество тепла. Получается двух зайцев одним выстрелом — и биткойны добываются, и веранда обогревается за счет выделяемого фермой тепла 🙂

Коты заценили майнер - новый обогреватель
Котаны первыми заценили новый «обогреватель» 🙂

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

Схема движения воздуха в помещении
Схема движения воздуха в помещении

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

Коротко о получившемся устройстве рассказано в этом видео.

А теперь рассмотрим автоматическую заслонку более подробно

Устройство заслонки

Основным элементом автоматической заслонки является сервопривод, позволяющий поворачивать рычаг заслонки на заданный угол. Логика устройства реализована на базе модуля Arduino Nano 3.0. Для питания системы используется импульсный источник напряжения 9 Вольт. Измерение температуры производится при помощи делителя напряжения с термистором NTC 25° 100 Ком. Для ручного управления заслонкой предусмотрена специальная кнопка. Вся начинка устройства уместилась в корпусе из обычной разветвительной коробки.

Устройство автоматической заслонки
Устройство автоматической заслонки

Сервопривод

Сервопривод Tower Pro Sg90, входящий в большинство стартовых наборов Ардуино, идеально подошел для главной роли в данном устройстве. Для его установки в крышке корпуса были высверлены 2 соседних отверстия диаметрами 11 и 6 мм.

Сервопривод Tower Pro Sg90
Сервопривод Tower Pro Sg90

Логический модуль

Мозговым центром системы стал модуль Arduino Nano 3.0, компактные размеры которого позволяют интегрировать его практически в любое бытовое устройство, а возможности контроллера Atmega328 с большим запасом удовлетворяют вычислительным потребностям системы и реализуют выполнение всех необходимых операций ввода/вывода.

Arduino Nano 3.0 и Tower Pro Sg90 в корпусе разветвительной коробки
Arduino Nano 3.0 и Tower Pro Sg90 в корпусе разветвительной коробки

Также большим плюсом данного модуля является наличие порта mini USB, что позволяет легко и быстро изменить прошивку устройства (схожий по размерам модуль Arduino Pro Mini не имеет USB порта, и прошивать его несколько сложнее, чем Arduino Nano 3.0). В крышке разветвительной коробки сделано отверстие для порта mini USB, позволяющее осуществить подключение Arduino к компьютеру для выполнения отладочных работ готового устройства, а также изменения температурных условий открытия и закрытия заслонки.

Mini USB Arduino Nano 3.0
Mini USB Arduino Nano 3.0

Источник питания

На основании разветвительной коробки расположились импульсный блок питания с рабочим напряжением 9 Вольт и клеммник, для подключения устройства к линии 220 Вольт.

Импульсный блок питания 9В
Импульсный блок питания 9В и 3-pin разъем

Для соединения с модулем ардуино использован 3-pin разъем от компьютерного вентилятора.

Начинка автоматической заслонки
Начинка автоматической заслонки

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

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

Схема делителя напряжения

Изначально использовался терморезистор 10 Ком, но из-за самонагрева данные о температуре были неточными и пришлось заменить его на термистор 100 Ком, у которого самонагрев значительно меньше.

Индикация и управление

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

Кнопка управления установлена на боковой поверхности крышки корпуса. При работе устройства в режиме ручного управления однократное нажатие на кнопку меняет положение заслонки с открытого на закрытое и обратно. Удержание кнопки в течение 3 секунд меняет режим работы заслонки с автоматического на ручной и обратно.

Автоматическая заслонка на базе Arduino
Автоматическая заслонка на базе Arduino

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

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

Автоматическая заслонка - схема подключения Arduino
Автоматическая заслонка — схема подключения Arduino

На практике все выглядит вот так:

Электронная часть автоматической заслонки
Электронная часть автоматической заслонки

В качестве «массы» (GND) я использовал корпус USB-порта.

Программа (скетч) для Arduino

Теперь самое главное — правильно написанная программа (скетч Arduino) для измерения температуры и управления положением заслонки.

#include <Servo.h> //библиотека сервопривода

//КНОПКА
#define btnPin 2 //пин на плате ардуино
byte lastState=0; //предыдущее значение кнопки
byte newState=0; //текущее значение кнопки
byte holdtime=0; //время удержания кнопки
#define MODECHANGETIME 12 //время нажатия смены режима

//ЗАСЛОНКА
//режимы управления заслонкой
#define m_AUTO 0 //автоматический
#define m_MANUAL 1 //ручной
///////////////////
#define z_OPEN 0 //состояние заслонки - открыта
#define z_CLOSE 1 //состояние заслонки - закрыта
#define a_OPEN 10 //угол открытого положения
#define a_CLOSE 60 //угол закрытого положения
int z_state=z_OPEN; //текущее положение заслонки
byte mode=m_AUTO; //Режим управления - ручной или автоматический. По умолчанию автоматический.

//СЕРВА
#define servoPin 3 //пин сервопривода
Servo servo; //объявляем переменную servo типа Servo
byte angle=a_OPEN; //текущий угол поворота сервы

//ТЕМПЕРАТУРНЫЕ ЗНАЧЕНИЯ
#define t_OPEN 30 //температура открытия заслонки
#define t_CLOSE 27 //температура закрытия заслонки
float currentTemp=0; // текущая температура

//ТЕРМОРЕЗИСТОР
#define R_PIN A0
float R_B=3950;
float R_T0=25;
float R_R0=100000; //100 kOm
float R_R1=0; //сопротивление терморезистора (для отладочных целей)
int R_ADC=0; //значение АЦП

//ПОСТОЯННЫЙ РЕЗИСТОР
float R_R2=100000; //100 kOm

//ПРОЧЕЕ
#define diodePin 4 //сигнальный светодиод
int blinking=0; //для мигания диодом в ручном режиме управления заслонкой

void setup()
{
  //погасим штатный диод на 13 выходе
  pinMode(13,OUTPUT);
  pinMode(diodePin,OUTPUT); 
  pinMode(btnPin,INPUT); 
  pinMode(R_PIN,INPUT); 
  
  //подтянули резистор
  digitalWrite(btnPin,HIGH); 

  Serial.begin(9600);
  
  //привязываем привод к выводу на плате
  servo.attach(servoPin); 
  //установим начальный угол поворота
  servo.write(angle);
}
 
 
void loop() {
  //обработаем нажатие кнопки
  newState=digitalRead(btnPin);
  //если кнопка удерживается
  if (newState==0 && lastState==newState){
    holdtime++;
    if (holdtime>MODECHANGETIME) {
      holdtime=0;
      chMode(); //меняем режим
    }
  }
  //смена позиции заслонки если выбран ручной режим
  if (mode==m_MANUAL && newState==0 && lastState==1){
    chStateManual(); //меняем угол заслонки
  }
  
  
  //СЧИТЫВАЕМ ТЕМПЕРАТУРУ
  R_ADC=analogRead(R_PIN);
  
  //R_R1=(R_R2*(1023-R_ADC)/R_ADC); //для обратного подключения (+ -) к делителю напряжения, когда с ростом температуры значение АЦП растет
  R_R1=(R_ADC*R_R2)/(1023-R_ADC); //когда с ростом температуры значение АЦП падает
  currentTemp=1/((log(R_R1)-log(R_R0))/R_B+(1/(R_T0+273)))-273;
  Serial.println(R_R1);
  Serial.println("T="+String(currentTemp));
  
  lastState=newState;  
  
  if (mode==m_AUTO){
    digitalWrite(diodePin,HIGH);
   
    //ОТКРЫТИЕ / ЗАКРЫТИЕ заслонки в зависимости от температуры в автоматическом режиме
  
    if (currentTemp>=t_OPEN && z_state==z_CLOSE)
    {
      openAuto();
    }
      if (currentTemp<=t_CLOSE && z_state==z_OPEN)
    {
      closeAuto();
    }
  }
  else
  {
    blinking=abs(blinking)-1;
    digitalWrite(diodePin,blinking);    
  }
  delay(300);  
}

void chMode()
{
  if (mode==m_AUTO){
    mode=m_MANUAL;
  }
  else{
    mode=m_AUTO;
  }
}

void chStateManual()
{
  if (z_state==z_OPEN)
  {
    z_state=z_CLOSE;
    servo.write(a_CLOSE);
  }
  else
  {
    z_state=z_OPEN;
    servo.write(a_OPEN);
  }
}

void openAuto()
{
  z_state=z_OPEN;
  servo.write(a_OPEN);
}

void closeAuto()
{
  z_state=z_CLOSE;
  servo.write(a_CLOSE);
}

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

Изготовление заслонки

Диаметр вентиляционной трубы составляет 110 мм. Для изготовления заслонки я использовал фрагмент пластиковой стеновой панели. При помощи CD диска нарисовал окружность и приступил к вырезанию.

Компакт-диск в качестве шаблона для заслонки
Компакт-диск в качестве шаблона для заслонки

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

Взвешивание заслонки
Взвешивание заслонки

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

Заслонка приклеена двусторонним скотчем к рычагу изподвеса
Заслонка приклеена двусторонним скотчем к рычагу из подвеса

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

Крепление рычага к сервоприводу
Крепление рычага к сервоприводу

Вот так выглядит готовая конструкция:

Готовая конструкция автоматической заслонки
Готовая конструкция автоматической заслонки

Окончательным этапом является установка автоматической заслонки рядом с вентиляционным отверстием на потолке.

Автоматическая заслонка на базе ардуино закрывает вентиляционное отверстие
Автоматическая заслонка на базе ардуино закрывает вентиляционное отверстие

Спасибо за внимание 🙂 С удовольствием отвечу на любые возникшие вопросы 🙂

48 мыслей о “Автоматическая заслонка для вентиляции на базе Arduino”

  1. уважаемый Turbo Dj!!! возникла необходимость управлять поворотом регулятора подачи газа на обыкновенной газовой плите .отслеживаем температуру в духовке!! помогите решить эту задачку!! заранее благодарен!!

  2. уважаемый Turbo Dj!!! возникла необходимость управлять поворотом регулятора подачи газа на обыкновенной газовой плите .отслеживаем температуру в духовке!! помогите решить эту задачку!! заранее благодарен!!

  3. если ардуино будет подключена через usb (например к комп’ютеру я правильно понимаю что можно не использовать источник питания в 9в?

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

  4. Здравствуйте! подскажите как можно реализовать подобную конструкцию но с плавынм изменением угла в зависимости от сопротивления терморезистора?

    1. Здравствуйте! Был у меня один проект, где изменялся угол наклона камеры в зависимости от сопротивления резистора.
      Вот фрагмент кода:

      int servoangle=round(analogRead(servocontrolpin)/6.5);
      int sValue = map(servoangle, 0, 180, 900, 2000);
      myservo.write(sValue);

      сначала считываем значение с резистора (я делю его на 6,5, т.к. угол поворота не 180, а всего 35 градусов), а затем функцией map преобразуем это значение для получения пропорционального значения угла.
      В принципе можно и проще — чистая математика, нужно вычислить пропорцию.

  5. Здравствуйте!
    1. Хотел бы выяснить поподробнее, на схеме NTC 100К , — это терморезистор, понятно, а 100К и 1К это резисторы?
    2. Какую кнопку можно поставить?
    3. Можно ли использовать 12в и Ардуино Уно?

    Заранее Спасибо!

    1. Да, 100к и 1к это обычные резисторы!
      Кнопку можно ставить любую, но именно кнопку, а не выключатель!
      Ардуино уно прекрасно питается от 12 вольт! 🙂

      1. Здравствуйте ещё раз!
        Не прошло и полгода,)) .. , как собрал, точнее повторил Вашу схему!
        Только вышло всё задом-наперёд.. Китайская Нано ни в какую загружаться не хотела. Я её даже пробовал пере-прошить, прозвонил на платке диод и прочее проверки, советы (которые нашёл в сети), бесполезно, возможно повредил сам, при пайке ножек.
        Достал UNO, ( покупал для почти такого же проекта, только с ds18b20, но в сети ничего и близкого не нашёл) повтыкал все комплектующие в таком же порядке как и в Нано ( только у Уно всего лишь 6 аналоговых входов, впрочем и этого было достаточно) и заработало!
        Не понятно работал светодиод с кнопкой. Не долго думая, я их вытащил, — кнопку, резистор, светодиод и всё также продолжило работать!
        По большому счёту кнопка мне нужна, стоять эта платка, у меня будет в закрытом помещении с ноябрь по март, где открываться будет, (открывать будет, небольшой кусок пенопласта) когда тем-ра достигнет 10 градусов тепла, чтобы выходило оттуда лишнее тепло.
        У меня вот вопрос, — имеет ли значение какое нибудь, выброшенные из схемы (платки) детали, на работу серводвигателя и термистора?
        Спасибо!

        1. Приветствую! 🙂
          По большому счету если убрать светодиод с его резистором и кнопку, то все продолжит работать, просто не будет индикации и управления извне 🙂

    1. не знаю, у меня труба вытяжки уже стояла в потолке, поэтому наружной заслонкой оказалось проще выполнить 🙂

  6. Доброго времени суток Turbo Dj.
    Проблема у меня примерно как у Андрея. Можете скинуть на мыло скетч который написали ему , на мою почту-? Датчик (и) ставить буду DS18B20 . Почта alltum@bk.ru .
    Заранее спасибо.

    1. Здравствуйте, Алексей, уточните про какого именно Андрея идет речь? Про карбюраторную заслонку?

  7. Здравствуйте!
    Подскажите, — у меня ардуино уно, серво и датчик температуры ds18b20, по датчику хочу установить максимальную тем-ру на открытие и миним-ю на закрытие, лёгкой крышки.
    достаточно ли будет скопировать ваш скетч, ну убрать оттуда, команды заслонки, прочего, терморезистора?
    Хотя резистор на 4,7 кОм поставить наверное придётся.

  8. Добрый день! А как можно применить датчик DHT11 вместо
    терморезистора? Хочу использовать сервопривод для открытия форточек теплицы.

    1. Здравствуйте!
      для DHT11 схема подключения почти такая же как и в случае с резисторами, Отличие лишь в том, что датчик цифровой, поэтому для этого датчика будут принципиальные изменения в программном коде arduino!
      Буквально не следующей неделе я выложу большую статью про управление вентиляцией на датчике DHT22, у них одинаковый принцип подключения и считывания температуры, поэтому рекомендую подписаться на обновления и немного подождать, материалы уже в обработке и готовятся к публикации!
      Если же у вас дело не терпит отлагательств, то вы можете связаться со мной по электронной почте jablo@yandex.ru или через форму обратной связи https://eanik.ru/get-program/
      Появилась статья https://eanik.ru/2018/05/19/microclimat-control-via-arduino/

  9. Неужели 9g servo справляется? Не появилась ли необходимость взять посильнее?

  10. Здравствуйте. Хочу сотворить подобную систему. Только не вытяжную, а приточную систему вентиляции в комнате. В состав входит ARDUINO NANO V.3 , сервомашинка SG90, воздушный клапан, две платы термореле и небольшой двигатель, который расположен внутри пластиковой трубы на 125мм . Суть работы системы я задумал следующим образом. Первое термореле с выносным датчиком на улице, измеряет температуру и выставлено на заданное значение температуры включения и выключения реле. Последовательно этому реле будет стоять реле второго термореле, датчик которого будет находиться в квартире. Оно тоже будет иметь значения температуры для сработки реле. Итого у нас два термореле, реле которых подключены последовательно друг другу. Немного поясню зачем. Значения сработки реле будут выставлены так, чтобы в летний период времени если воздух на улице горячее, чем в комнате система приточки не включит двигатель. Если же наоборот, температура на улице будет ниже чем в комнате будут замкнуты оба реле, которые запустят двигатель. С этим мне все понятно и ясно. А вот как написать скетч для ARDUINO не могу дотумкать. Скажу сразу в программировании я новичок. Подскажите возможно ли запрограммировать систему так, чтобы она работала по следующему алгоритму: При включении двигателя заслонка открывалась (поворачивалась на 90 гр.), а при выключении двигателя закрывалась (возвращаясь в первоначальное состояние). Управляющие сигналы для ARDUINO можно подавать либо: 1. замыканием или размыканием реле (та же кнопка, как у вас, только с двумя дискретными состояниями ВКЛ или ВЫКЛ), либо напряжением, которое будет появляться на двигателе (движок от старого советского компьютера 220В). Уровни напряжения можно будет преобразовать до необходимых величин.

    1. Здравствуйте, Александр!
      Интересная у Вас задумка 🙂
      Запрограммировать можно все что угодно! Если есть четкий осмысленный алгоритм физических действий, то переложить его на программу можно однозначно 🙂
      У меня возник вопрос, а как будет система работать в зимнее время? Летом, когда на улице прохладнее, чем в комнате, вентилятор включается. А зимой?
      А что за модули с термореле? Это готовые модули для ардуино?

      1. Вообще систему я строю по основе приточных клапанов по типу КИВ-125 или КПВ-125. По конструкции это пластиковая труба, которая устанавливается через стену на улицу. Со стороны улицы устанавливается обычный фильтр грубой очистки из металлической сетки. Внутри трубы установлен теплошумоизоляционный материал, а в квартире оголовок, который с помощью механического устройства регулирует поток воздуха. В нем же установлен фильтр. Система пассивная. Я хочу её несколько модернизировать. Убрал оголовок, и вместо него хочу установить воздушную заслонку с сервомашинкой SG90 (видео по ссылке):
        https://www.youtube.com/watch?v=dpwzkogN_ws
        Внутри трубы будет двигатель. Что касается термореле:
        https://ru.aliexpress.com/item/W1209-LED-Digital-Thermostat-Temperature-Control-Thermometer-Thermo-Controller-Switch-Module-DC-12V-Waterproof-NTC-Sensor/32823954149.html?spm=a2g0s.9042311.0.0.9VawFn
        Теперь о зиме. У меня пока нет четкого видения. Думаю тут возможно два варианта: либо система будет работать под действием естественной тяги, то есть вентилятор будет отключен и работать будет лишь заслонка, либо будет блокироваться вообще.

        1. Я тоже пользуюсь приточными клапанами в доме, только у меня другая модель, прямоугольная коробка с шумоизоляцией и шторкой для открытия/закрытия (модель не знаю). Зимой такой клапан лучше закрывать, ну или оставлять только в дневное время на несколько часов, когда никого нет в помещении, т.к. от него сильный сквозняк 🙂
          Такие термореле (с управлением) я тоже заказывал на алиэкспресс, но так и не воспользовался ими(пришли все нерабочие).
          А вообще, если используется ардуино, то можно эти термореле убрать из схемы, и оставить простые реле и терморезисторы, а логику обработки температуры настроить в самой ардуине. Тем более, этим реле требуется 12 вольт, а ардуинку можно запитать от 9 и даже от 5в. К тому же на один источник питания в системе будет меньше! 🙂

          1. Да согласен, но поезд ушел. Я уже заказал эти термореле, одно уже пришло. Жду ещё два, одно моё, другое для товарища. Ардуино можно запитать и 12 В, это допускается. Что касается клапана и зимы, то у меня комната выходит на балкон, где температура градусов на 7- 8 выше, чем на улице. Конечно когда нынче температура в течении месяца была около — 40, а в низинах около -50 эта разница, которой можно пренебречь, чтобы не помереть от смеха. Думаю что, эксплуатация системы зимой это вопрос следующей зимы и выводы о её работе, а возможно её доработке дело будущего, а впереди весна и лето. Если у Вас есть возможность помогите составить скетч для работы заслонки и сервомашинки.
            Заранее благодарен.

            1. С удовольствием помогу 🙂 давайте определимся со схемой подключения всех компонентов. Для ускорения процесса пишите мне на почту Jablo@yandex.ru

      2. Меня больше беспокоит лето. Ибо летом из-за жары приходится открывать окна балкона и квартиры из-за жары. Соответственно это пыль, шум, насекомые, пьяные компании и прочие посторонние звуки.
        Данная система конечно не кондиционер, который тоже не идеален во многих смыслах, но позволяет хотя бы комфортно проводить ночь.

  11. Здравствуйте! У меня встала задача сделать автозапуск генератора, я уже собрал АВР на базе DATACOM-105, но все встало на приводе заслонки карбюратора. Ваше устройство подходит как нельзя лучше, но у меня вопрос: можно ли исключить регулировку по температуре? Просто чтоб открывалась заслонка при запуске и закрывалась после запуска генератора(во время работы стартера).
    P.S. Я электронщик старого образца и мало что понимаю в современных программируемых(программах) контроллерах, поэтому прошу у Вас помощи, не сочтите за труд!

    1. Здравствуйте, Александр!
      Думаю что на ардуино это будет очень легко реализовать 🙂
      Напишите мне на почту более подробно про Вашу задачу и я постараюсь помочь
      Мой адрес Jablo@yandex.ru

    2. Очень интересно получилось сделать запуск генератора ?
      Мне тоже хочется решить проблему перехода на генератор при отключении эл-ва. Если не трудно дайте элпочту или телефон на мой адрес.

    3. Здравствуйте Александр. Прошу прощение за некорректность. Мой адрес egachev1957@mail.ru
      Меня интересует вопрос перехода и запуска генератора при обесточке 220В. Изучал вопрос оказалось сложнее чем думал.

  12. Можете написать с нуля?

    Напишу что нужно:
    — включение дальнего света на 5сек. Если температура нища -3 градусов
    — режим выставления (кнопка которой включается краене положения сервопривода чтобы выставить обороты если на улице выше нуля)
    — 4 температурных положения сервопривода 0 20. 40. 60 градусов.
    — если двигатель начинает глохнуть (обороты ниже 500) привод тянет в положение 40-50 градусов пока не будет 700-800 оборотов холостого хода не дл 3секунд (если через 3 секунды обороты без действия сервопривода менее 800 повторно задействовать (нужно чтобы машина не заглохла если холодная и когда трогаешься под гору)
    — Подача трех 1секундних морганий (сигнал на отдельный минус) если температура выше 50 градусов чтобы сигнализировать что можно ехать)

    1. В целом, это совсем другая система 🙂 написать конечно можно, только не все понятно, например, каким образом снимать показания тахометра? НЕ встречал таких модулей для ардуино…
      Можно конечно ориентироваться только на показания датчиков температуры (один — датчик температуры двигателя/охлаждающей жидкости, а второй — датчик потока воздухозаборника, другими словами — уличная температура). Однако, чтобы написать такую программу, надо сначала собрать электронную схему, зная точные номиналы всех радиодеталей..

      1. Напишите пожалуйста, код отталкиваясь от вашего

        чтобы при температуре 0 и ниже заслонка была закрыта на определенный угол (максимум) и выходил разовый 5 секундный сигнал на реле чтобы можно подключить было до дальнего света.

        и чтобы
        когда температура 20 * чтоб угол уменьшался
        когда температура 40 * чтоб угол уменьшался
        когда температура 60 * чтоб угол уменьшался
        когда температура 60 + * сервопривод выключался

        а потом уже после этого я хочу придумать как задействовать тахометр

        Спасибо.

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

          1. И как сиглал с 12v перевести в 5v?

            Подойдет для тахометра?:
            Запуск элемента производится вследствие импульсов со свечей, которые наведены в катушке. Входной контакт используется либо для настройки, либо для подачи сигнала с прерывателя. Для обыкновенного четырехцилиндрового агрегата, частота вращения которого составляет 3000 об/мин, частота составляет 100 Гц. Для 1500 об – 50 Гц.

            1. Сложно сказать, текст выдран из контекста, поэтому не совсем понятно о чем именно идет речь 🙂
              В целом, рекомендую Вам в силу увлеченности данной тематикой, почитать форумы по ардуино, наверняка данный вопрос уже кем-то поднимался. Совсем недавно видел статью, где некий гражданин сделал регулируемую заслонку для карбюратора, как раз на базе ардуино.

  13. Как сделать такой же с выносным термодатчиком?

    Для электро подсоса карбюратора нужно

    1. Андрей,
      Схема будет та же, только терморезистор, который обозначен на схеме как NTC 100K, нужно вынести наружу — он же и будет внешним термодатчиком. Терморезисторы разного вида и формы бывают, тут ограничений никаких нет 🙂
      По механической части — зависит от места установки и особенностей карбюратора.

      1. а как добавить несколько положений сервопривода?
        например
        0
        20
        40
        60
        градусов?

        1. для примера:
          когда температура двигателя 0 заслонка тянет рычаг до 2000 тыс. оборотов
          когда 20 до 1500
          когда 40 до 1200
          когда 60 и более сервопривод выключен. и работают только холостые обороты.

          1. Для этого нужно переписать программу для ардуино, указав для соответствущего диапазона температур нужные углы поворота сервопривода, например
               if (currentTemp<20)
               {
                 servo.write(0);
               }
               if (currentTemp>=20 && currentTemp<40)
               {
                 servo.write(20);
               }
               if (currentTemp>=40 && currentTemp<60)
               {
                 servo.write(40);
               }
               if (currentTemp>=60)
               {
                 servo.write(60);
               }
            Разумеется, углы сервопривода зависят от того, как именно установлена заслонка, но в целом, принцип такой

            1. Понимаю. А куда именно вписать это нужно?

              И можите ли вы написать для этого код?

              Чтобы задействовать еще несколько дополнительных возможностей?

              1. у вас есть какие-нибудь наработки? присылайте на почту, помогу добавить туда этот код для изменения угла сервы при определенной температуре 🙂
                а если изменять код, который приведен в статье, то нужно вставить вышеописанный фрагмент после фразы    
                «//ОТКРЫТИЕ / ЗАКРЫТИЕ заслонки в зависимости от температуры в автоматическом режиме»

Добавить комментарий для владимир Отменить ответ

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