Узнаем скорость вращения компьютерного кулера, при помощи Arduino

Sdílet
Vložit
  • čas přidán 22. 08. 2024
  • Считываем обороты компьютерного вентилятора, с его встроенного тахометра при помощи ардуино.
    //код
    arrduinolab.blo...
    поддержать канал материально.
    www.donationale...

Komentáře • 61

  • @sssserya1
    @sssserya1 Před 9 lety +4

    CHANGE - прерывание будет срабатывать всякий раз, когда меняется состояние вывода
    это 4 прерывания на оборот, если два импульса
    Видео интересное спасибо.

  • @OlegPogodaev
    @OlegPogodaev Před 9 lety +1

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

  • @Vitalik_Bsh_
    @Vitalik_Bsh_ Před rokem +1

    Не работает ваш пример, на всех вентиляторах при остановленной крыльчатке показывает 1500 rpm 50 val, а при крутящейся 0 rpm 0 val.

  • @Techn0man1ac
    @Techn0man1ac Před 9 lety +3

    Всё гениальное просто.
    Спасибо.

    • @sssserya1
      @sssserya1 Před 9 lety

      можно еще проще и точнее но 15 сек надо ждать
      delay(15000)
      Serial.println(val)

    • @Techn0man1ac
      @Techn0man1ac Před 9 lety

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

  • @vetalraikov
    @vetalraikov Před 7 lety +1

    Очень спасибо за урок !!! все получилось как у вас

  • @alexandremelianov2094
    @alexandremelianov2094 Před 4 měsíci

    На картинке выход тахометра на 2 пине, а говорите 0. Сопротивление подтягивающего резистора тоже можно было бы указать

  • @ADCtec1
    @ADCtec1 Před 4 lety

    У кого странные показания , особенно на не максимальных оборотах делайте так:
    void setup() {
    attachInterrupt(D7, rpm, FALLING);
    void loop() {
    val = 0;
    delay(1000);
    Serial.print(val*30);
    }

  • @DCATDESIGN
    @DCATDESIGN Před 9 lety +3

    Нет ли ошибки в программе?
    В строке delay(500) уже учитывает, что срабатываний в 2 раза больше, НО,
    Serial.print((val*60) */2* ) происходит деление на 2, т.е. по сути это количество оборотов за 30 секунд. Может я не прав, конечно, потому что туговато соображаю.

    • @arduinoLab
      @arduinoLab  Před 9 lety +1

      кулер дает 2 импульса на оборот.
      хм, можно же было задержку 250 сделать и нечего не делить.

    • @DCATDESIGN
      @DCATDESIGN Před 9 lety

      arduinoLab 2 импульса на оборот, поэтому delay(1000/2)
      Проще - совершил он 100 оборотов, посчиталось 200 имульсов.
      Поэтому мы ЛИБО время подсчета делим на 2, либо 200*60/2
      * Иначе же количество оборотов получится не 100 в секунду, а 50... потому что мы 2 раза поделили. Но фактически их было 100

    • @arduinoLab
      @arduinoLab  Před 9 lety

      Вадим Лихачев нет, на 100 оборотов будет в val 400.

    • @DCATDESIGN
      @DCATDESIGN Před 9 lety

      arduinoLab Я мог бы предложить прокрутить вентилятор 60 раз за минуту, но пожалуй, допилю работу и пойду посплю. Если оборотов 100, то откуда появились 400 импульсов, когда их 2 на оборот приходится. Максимум может быть 200? Разве нет?

    • @DCATDESIGN
      @DCATDESIGN Před 9 lety +5

      arduinoLab все, я понял.
      При прерывании срабатывает два CNANGE = HIGH, LOW

  • @mixien1
    @mixien1 Před 7 měsíci

    Объясните пожалуйста, зачем нужен резистор?

  • @user-si3np3vk5j
    @user-si3np3vk5j Před 6 lety

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

  • @saidaltaev4192
    @saidaltaev4192 Před 4 lety

    Ни чего не понял, но очень интересно.

  • @user-gy1lf5ru8n
    @user-gy1lf5ru8n Před 7 lety +2

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

    • @user-cl4sn5pt5g
      @user-cl4sn5pt5g Před rokem

      Тоже целый день голову ломал. Потом допёрло, что транзистор то n-канальный и, соответственно, управление вентилятором происходит за счёт земли. А тахометр замыкается как раз на землю, которая в итоге сама смыкается/размыкается с частотой ШИМ сигнала. Поэтому к показаниям прибавляется частота ШИМ. Но я не электронщик, так что это не точно. Попробую p-канальный транзистор, чтобы земля постоянно была подключена.

    • @user-cl4sn5pt5g
      @user-cl4sn5pt5g Před rokem

      Не смог разобраться, как правильно подключать p-канальный транзистор. В процессе случайно закоротил и сжёг ардуинку... Второй раз. Но это был последний, так как я впаял слишком мощный диод и вместо него сгорел сам МК. Но обороты даже с p-канальным транзистором неправильно считывались. Так что придётся придумывать что-то дополнительное для регулировки оборотов.
      Пришла новая nano. Разобрался с p-канальным транзистором и тахометром. Как оказалось, ложное срабатывание прерывания происходит из-за наводок. Провода были скреплены вместе, поэтому провод от тахометра как антенна ловил сигналы ШИМ. При подключении отдельного провода наводок нет и показания корректны. Но как оно будет на конечной плате себя вести хз, с защитой от наводок вообще проблема, как я понял. В любом случае, как минимум, нужно p-канальный транзистор использовать, чтобы земля вентилятора всегда была подключена.

  • @merus5882
    @merus5882 Před 2 lety

    Что изменить в схеме если я хочу измерять обороты нескольких вентиляторов? (5 шт.)

  • @pavelpljuhhin7043
    @pavelpljuhhin7043 Před 7 lety

    Спасибо!

  • @konstantinekostromin5917
    @konstantinekostromin5917 Před 3 lety +1

    А как на дисплей вывести данные ???

  • @alexeyfilippov42
    @alexeyfilippov42 Před rokem

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

  • @user-uh1ed4yc6f
    @user-uh1ed4yc6f Před 8 lety

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

  • @power_cheems510
    @power_cheems510 Před 6 lety +2

    Какого номинала резистор ?

  • @user-gu4rh2om5l
    @user-gu4rh2om5l Před 6 lety

    Подскажите пожалуйста что делать если мне надо за 4-5 куллерами следить ведь прерывание 1.
    Спасибо!!!

  • @user-js4tr5sl2c
    @user-js4tr5sl2c Před 9 lety

    прицепить крыльчатку к валу и получится тахометр :) спасибо,интересная идея

  • @longitudelatitude2859
    @longitudelatitude2859 Před 9 lety

    А обязательно ли подавать питание на кулер, если да, то какое минимальное питание может быть? И какой диапозон замера оборотов?

    • @evgenynikitin7833
      @evgenynikitin7833 Před 8 lety +1

      Вовсе не обязательно. Но он будет показывать, что крутится только с одной скоростью - 0 оборотов в единицу времени. Насчет питания - пробовал питать от двух аккумов, разной степени разряженности. Аккум, выдающий 3,8 В - показания выдавались, 2,5 - не выдавались.

  • @alexeyfilippov42
    @alexeyfilippov42 Před rokem

    Это 5в кулер??

  • @Dimoven
    @Dimoven Před 7 lety +2

    Подтягивающий резистор. Номинал не могу понять

    • @MaxBudkin
      @MaxBudkin Před 6 lety +1

      10 кОм

    • @alexeyborisov9766
      @alexeyborisov9766 Před 6 lety +1

      видел тест, там работало от 1.5 до 40кОм. Значения больше и меньше не пробовали. У меня работает 2.2кОм

  • @ushastiiy1
    @ushastiiy1 Před 4 lety

    одна проблема пока не подашь 12в на кулер результаты почему то , рандомные ((

  • @nomadkz9652
    @nomadkz9652 Před 4 lety +1

    Кулер подключается к выходу ардуино без мосфета?

    • @mpvlab-.3205
      @mpvlab-.3205 Před 3 lety

      а зачем защита) купит ардуинку еще)))

  • @kiokukunya5711
    @kiokukunya5711 Před 8 lety

    Собрал схемку по вашему ролику,но вместо вентилятора поставил датчик холла. Задержку изменил на 1000 и не делил на 2.
    Мне кажется в коде что то не правильно. выдает только четные и целые значения типа 60,90,220,540 ну и тд. Почему так? Планирую использовать в качестве тахометра на парамоторе. czcams.com/video/b746UKdIcVI/video.html
    Сам я очень далек от электроники,программирования и ардуино. Так что не пинайте за тупой вопрос.
    Спасибо.

    • @arduinoLab
      @arduinoLab  Před 8 lety

      тогда и прерывание нужно сменить с CHANGE на RISING чтобы он считал только включение.

  • @menxxx1
    @menxxx1 Před 2 lety

    Спасибо!!! Ждём формулу на скорость;)

  • @user-ql9zq1xm4r
    @user-ql9zq1xm4r Před 8 lety

    доброго времени суток) можно узнать, какие батарейки/аккумуляторы используете?

    • @arduinoLab
      @arduinoLab  Před 8 lety

      +Дима Салихов
      всмысле? на видео 4 дешевых китайских аккума, которые я бы не рекомендовал покупать.

  • @blekxl
    @blekxl Před 6 lety

    спасибо за урок! есть вот такой вопрос, а если нужно 2 датчика подключить то как быть?

    • @alexeyborisov9766
      @alexeyborisov9766 Před 6 lety

      На ардуине есть несколько входов на прерывания. К примеру вот моя learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/hardware-overview-pro-micro interrupt that pin triggers: pin 3 maps to interrupt 0, pin 2 is interrupt 1, pin 0 is interrupt 2, pin 1 is interrupt 3, and pin 7 is interrupt 4.
      В коде менять примерно так: attachInterrupt(4, rpm, CHANGE);

  • @seregasema2079
    @seregasema2079 Před 2 lety

    Можно ли из кулера сделать по такой схеме анемометр ?

    • @Hyperion_win
      @Hyperion_win Před rokem

      Было бы интересно 🤔 Отличная идея для нового видео👍

  • @PlazmatikinTECH
    @PlazmatikinTECH Před 8 lety

    Скажите пожалуйста, какую максимальную частоту вращения (об/мин) может измерить УНО?

    • @vovanchik_ru4208
      @vovanchik_ru4208 Před 7 lety +2

      таких скоростей вращения вентиляторов ещё не придумали :)

    • @alexeyborisov9766
      @alexeyborisov9766 Před 6 lety

      А если подумать? У меня охлаждение водяное. Материнка не понимает обороты выше где-то 6000. А ардуина?

    • @rrompo
      @rrompo Před 4 lety

      @@alexeyborisov9766 У меня считывает 14000 rpm с серверного sunon psd1204pqbx-a, дальше обороты не растут почему-то (не в ардуине дело)

  • @MaxYn_TTV
    @MaxYn_TTV Před 9 lety +1

    зачем сигнальный вывод заводить на плюс? На землю надо

    • @alexeyborisov9766
      @alexeyborisov9766 Před 6 lety

      затем, что земля там есть от кулера. Нужна разница с землёй от кулера, а это плюс.

  • @101iceer
    @101iceer Před 9 lety

    Не понял зачем задержка пол секунды...

    • @arduinoLab
      @arduinoLab  Před 9 lety +1

      ***** что там непонятного? delay на прерывание не влияет.

    • @DCATDESIGN
      @DCATDESIGN Před 9 lety +2

      rpm = revolutions per minute = оборотов в минуту.
      Устанавливаем счетчик на ноль и ждем пол секунды, чтобы собрать информацию о количестве срабатываний за пол секунды. Т.к. прерываний происходит в 2 раза больше, то считайте, что 0.5*2 = 1 сек

  • @bardakan
    @bardakan Před 9 lety

    я не понял - каким боком там нужны батарейки?
    собственно мне нужно просто запустить кулер, запускаю от разобранного компа, но наверное с ардуино попроще будет?