Как подключить помпу через реле к питанию и ардуино.

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Festour, 23 апр 2013.

  1. roggedhorse

    roggedhorse Гик

    честно говоря я не понял вашего ответа
     
  2. Festour

    Festour Нерд

    Ваш скетч который не должен никогда останавливаться, почему-то останавливается через 10 секунд
     
  3. roggedhorse

    roggedhorse Гик

    Как вы это выяснили ?
     
  4. Festour

    Festour Нерд

    Наблюдением за работой помпы, а как ещё можно?
     
  5. roggedhorse

    roggedhorse Гик

    это вовсе не означает, что скетч останавливается

    попробуйте изобразить происходящее на прямой времени: по горизонтали - время, по вертикали - напряжение High и Low (два уровня). Нарисуйте 2 кривых - состояние LED и состояние выходов реле (помпы).
    Для того, чтобы лучше понять, что происходит, рекомендую отключить от реле помпу и в зеленые контакты воткнуть щуп мультиметра в режиме "звукового сигнала"

    Выложите график сюда, быстрее найдем причину
     
  6. Festour

    Festour Нерд

    Думаю это будет нагляднее

     
  7. roggedhorse

    roggedhorse Гик

    Спасибо!
    Согласно http://dalincom.ru/datasheet/HLS8L.pdf у вас реле 0.36W
    Согласно таблицы COIL DATA сопротивление обмотки 70 Ом
    Стало быть ток, протекающий через обмотку 70 мА
    Согласно первоисточника http://arduino.cc/en/Main/ArduinoBoardLeonardo
    DC current per I/O pin = 40 mA
    Ток выше номинала почти вдвое. Вероятно причина в этом

    Попробуйте отключить цепь управления реле от Ардуино и проделать тот же опыт, что на видео
     
  8. Festour

    Festour Нерд

    То есть мне нужно попробовать подать 5 вольт на жёлтый провод в реле через кнопку, а не через 13 пин ардуино?
     
  9. roggedhorse

    roggedhorse Гик

    нет
    отключите вообще реле и уберите его в сторону
    включите Ардуино и посмотрите на поведение LED на плате
    Если он перестал моргать через то же самое время - проблема в другом. Будем искать :)
     
  10. Festour

    Festour Нерд

  11. roggedhorse

    roggedhorse Гик

    на плате возле разъема питания установлен светодиод желтый
    он тоже мигает (и он сидит на ноге 13)
    все остальное отключите (красный светодиод)

    P.S. Какой номинал резистора на красном светодиоде ?

    P.P.S. Интересно, почему когда все гаснет, у вас вспыхивает светодиод Rx ?
     
  12. Festour

    Festour Нерд


    P.S. 10 Kom
    P.P.S. Только что это заметил, возможно ли это из за того что я сейчас работаю из под убунты?
    P.P.P.S. Попробовал подключить ардуину к зарядке от смартфона, RT светоид не вспыхивает в конце, но всё равно через где то 10 секунд L светоид прекращает моргать
     
  13. roggedhorse

    roggedhorse Гик

    А это легко проверить :)
    Отключите девайс от USB
    Подключите внешний источник питания к разъему питания
    Если светодиод будет вести себя также, тогда вообще будем долго думать :(
     
  14. Festour

    Festour Нерд

    Выше уже написал что подключил к USB зарядке от смартфона
     
  15. roggedhorse

    roggedhorse Гик

    и все же подключите внешний источник питания к разъему питания
     
  16. Festour

    Festour Нерд

    Если имеете в ввиду который справа от USB, то у меня нету кабеля для его подключения. Хотя, а можно ли через блок с батарейками запитать ардуину?
     
  17. roggedhorse

    roggedhorse Гик

    меня смущает вот что - скважность. Светодиод должен загораться на 1 сек и гаснуть на 1 сек. А судя по видео все происходит быстрее в разы. То есть Delay(1000) на самом деле задерживает выполнение не на 1000 миллисек
     
  18. Festour

    Festour Нерд

  19. roggedhorse

    roggedhorse Гик

    Очень и очень странно

    Давайте попробуем вот что:
    Код (Text):
    // MemoryFree library based on code posted here:
    // http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213583720/15
    //
    // Extended by Matthew Murdoch to include walking of the free list
    int getFreeRam() {
      extern int __heap_start, *__brkval;
      int v;
      return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
    }
     
    extern unsigned int __heap_start;
    extern void *__brkval;
     
    /*
    * The free list structure as maintained by the
    * avr-libc memory allocation routines.
    */
    struct __freelist {
      size_t sz;
      struct __freelist *nx;
    };
     
    /* The head of the free list structure */
    extern struct __freelist *__flp;
     
    /* Calculates the size of the free list */
    int freeListSize() {
      struct __freelist* current;
      int total = 0;
     
      for (current = __flp; current; current = current->nx) {
        total += 2; /* Add two bytes for the memory block's header  */
        total += (int) current->sz;
      }
     
      return total;
    }
     
    int freeMemory() {
      int free_memory;
     
      if ((int)__brkval == 0) {
        free_memory = ((int)&free_memory) - ((int)&__heap_start);
      } else {
        free_memory = ((int)&free_memory) - ((int)__brkval);
        free_memory += freeListSize();
      }
      return free_memory;
    }
     
     
    void setup() {
      Serial.begin(9600);
      pinMode(13, OUTPUT);
     
    }
     
     
    void loop() {
      Serial.print("Free RAM (A): ");Serial.println(freeMemory());
      digitalWrite(13, LOW);
      delay(1000);
      Serial.print("Free RAM (B): ");Serial.println(freeMemory());
      digitalWrite(13, HIGH);
      delay(1000);
    }

    Покажите, что в терминале выводится ? (например, первые 20 строк)
     
  20. Festour

    Festour Нерд

    Терминал это монитор порта? Если да, то я ничего не получаю, но светоид теперь работает как положенно, и не выключается сам через некоторое время.