Подключение реле через сдвиговый регистр 595

Тема в разделе "Arduino & Shields", создана пользователем riba, 28 дек 2015.

  1. riba

    riba Нуб

    Добрый день! Хочу использовать сдвиговый регистр для того, чтобы управлять 4-мя реле,
    когда подключаю реле отдельно через цифровой пин - все нормально, реле горит, мигает и щелкает.

    Как только я пытаюсь повесить реле на выход сдвигового регистра 595, светодиод на реле при подаче нуля мигает, но не щелкает и не работает! Подкажите, что не так? Не хватает напряжения? Почему? Или другая причина?
    Воообще теоретически возможно подключать реле через сдвиговые регистры?
     
  2. Onkel

    Onkel Гуру

    и у реле, и у сдвигового регистра есть такой параметр - ток. У сдвигового регистра он дан в даташите, а у реле вычисляется по формуле j=V/R где V - напряжение срабатывания реле, а R- cопротивление катушки реле, меряется омметром. Невредно также померять напряжение на реле, может мало для сработки?
     
  3. Radius

    Radius Гик

    Включать реле на прямую от цифровых выходов - плохой тон. Используйте всегда транзисторные ключи и не забывайте ставить защитные диоды параллельно обмотке реле.
     
    MESS нравится это.
  4. riba

    riba Нуб

    Спасибо за ответы! Но я понимаю, что зря я неподробно указал мои исходные данные Вот: От цифрового выхода сдвигового регистра напрямую к реле-модулю идёт провод:[​IMG]
    [​IMG] [​IMG]



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


    P.S. В интернете когда ищешь инфу о подключении реле на страницах из топа яндекса нигде нет слова о доп транзисторах при применении реле-модуля! Посоветуйте хорошую книгу по радиоэлектронике (с уклоном в микроконтроллеры), а то все эти обучающие уроки ардуино не до конца раскрывают тему! Ну или ссылки какие!
     
  5. geher

    geher Гуру

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

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

    riba Нуб

    На фото напряжение на питании реле модуля, а не управляющий сигнал, что подразумевается под мощностью? мощность питания - гнездо USB компьютера, вот щяс вычитал, что выход по силе тока у сдвигового регистра - максимум 35 мА, может этого мало для управляющего реле и все таки нужен транзистор?
    Я сейчас подключил управляющий вход к реле через случайно найденный у себя драйвер ULN2003APG (после сдвигового регистра -> драйвер -> реле-модуль) кажется заработало! но странно! теперь светодиод на реле-модуле не погасает до конца, а лишь сбавляет яркости! и спустя 20 включений выключения кажде две секунды, реле перестало щелкать и работать!
    Подождав паузу - заработало опять! наверное все таки такой драйвер не подходит

    код самый обычный
    Код (C++):
    int Relay = 5;
    int datapin = 8;
    int clockpin = 10;
    int latchpin = 9;
    byte data = 0;
    const int pinU = A5;

    void setup()
    {              
      pinMode(datapin, OUTPUT);
      pinMode(clockpin, OUTPUT);
      pinMode(latchpin, OUTPUT);
      pinMode(pinU, INPUT );
    }

    void loop()
    {
      shiftOut(datapin, clockpin, MSBFIRST, 0b00000000);
      digitalWrite(latchpin, HIGH);
      digitalWrite(latchpin, LOW);
    delay(2000);
      shiftOut(datapin, clockpin, MSBFIRST, 0b11111111);
      digitalWrite(latchpin, HIGH);
      digitalWrite(latchpin, LOW);
       delay(2000);
    }
     
     
  7. riba

    riba Нуб

    схема по сути вот(первоначальная) Безымянный.png
     
  8. DrProg

    DrProg Вечный нерд

    Управляющий сигнал от земли идет?

    И разве не так надо:
    Код (C++):
      digitalWrite(latchpin, LOW);
      shiftOut(datapin, clockpin, MSBFIRST, 0b00000000);
      digitalWrite(latchpin, HIGH);
      delay(2000);
     
    Последнее редактирование: 30 дек 2015
    ИгорьК нравится это.
  9. MESS

    MESS Гик

    У реле ток срабатывания - это ГЛАВНЫЙ параметр. Если измерить сопротивление катушки-то можно подсчитать каков ток срабатывания при указанном на корпусе напряжении. Вашему реле нужен ток около 80мА - значит нужен дополн. внешний источник питания 5В. Ключ на транзисторе обязательно! Какой тр-р испрользовать -совершенно неважно. Любой,какой есть. Его ток коллектора должен быть более100мА - превышать ток срабатывания реле. сигнал с выхода регистра усилится тр-ром и реле обязательно включится.:)
     
  10. MESS

    MESS Гик

    Кстати вдогонку, напряжение 4,2В говорит либо о слабом источнике питания (USB) ,либо большом токе потребления. Измерьте напряжения на выводе 5В самой ардуинки без реле.
    К сожалению я не держал в руках и не знаком с устройством таких релейных модулей.
    Зато вижу защитные диоды параллельно катушкам реле - может и транзисторные ключи или оптроны тоже имеются? Что написано на маленьких черных "тараканчиках" с 4 выводами?
    Если Вы живете в Москве я могу подарить любые реле и транзисторы безвозмездно, если есть проблема в этом.
     
    Последнее редактирование: 30 дек 2015
  11. Onkel

    Onkel Гуру

    от usb если через диод то 4,2 В и получится.
    "тараканчики- это дарлингтоны.
     
  12. MESS

    MESS Гик

    Зачем диод? Прибавим 0,6В ( потеря на переходе диода) получится 4,8В на usb. Да и мультиметры не всегда точны - нужно калибровать. Так что все с питанием. А дарлингтон - это и есть транзистор. Обязан работать. Принципиальную схемку нарисуйте , может ошиблись с подключением. Диод проверьте, который параллен катушке реле.
     
  13. a.skalkin

    a.skalkin Нуб

    Доброго времени суток. Подскажите уважаемые знатоки, а можно ли, и как, при использовании сдвигового ригистра, байт (0b00000000) отправляемый на него формировать с переменных, значение которых изменяется в результате нажатия кнопки, т.е. 1 или 0.
     
  14. Radius

    Radius Гик

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