Какой датчик выбрать?

Pokcuk
Offline
Зарегистрирован: 28.09.2016

Ребята,какой датчик выбрать для подсчёта продукции на конвеере? Скорость там приличная,так что нужно быстрый отклик,растояние может быть от 2см до 5 см. Есть идеи?

okta
Offline
Зарегистрирован: 10.01.2015

Лада-седан собираете? Скрость приличная, зазоры 2-5см: вашим ТТХ соответствуют.

Pokcuk
Offline
Зарегистрирован: 28.09.2016

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

saftik
Offline
Зарегистрирован: 08.04.2015

Мало исходных данных. Надо знать что вы считать собираетесь (железные банки, бутылки, таблетки, кирпичи, этикетки )
тоесть важна форма , размер, материал из чего изготовленно. Может можно считать оптопарой может измерять магнитную индуктивность.
Если хотите чтоб вам помогли. Дайте больше информации. Ибо тут люди на кофейной гуще не умеют гадать да и магический шар занят.

Pokcuk
Offline
Зарегистрирован: 28.09.2016

Верно,мало информации я написал. Задумка чтоб датчик сробатывал на листы бумаги,гофрокортона. Чтоб по линии шли листы и датчик при появления листа довал команду реле и она запускал цепочку дальше. Ну как то так если что подробнее описать процес

saftik
Offline
Зарегистрирован: 08.04.2015

http://cesida.webatu.com/netcat_files/811/1060/ss_5gl2.jpg   возможно такой концевик вам подойдет. 

тогда можно за 10 мин накидать такой код.

выбор датчика зависит от конструктива линии. возможно можно засунуть оптопару.
возможно скетч нужно писать на прерывания. 

Тут уже помощь надо просить у "старших": jeka_tm,  dimax, DI HALT,  ЕвгенийП, Tomasina, Клапауций   :-)
 

#define  buttonPin  2       // кнопка (концевой выключатель)
#define  relePin    13      // реле

boolean releState = LOW;          // состояние реле
boolean buttonState;              // состоние кнопки
boolean lastButtonState = LOW;    // предидущее состояние кнопки


unsigned long lastDebounceTime = 0;  // переменные чтоб избавиться от дребезга
unsigned long debounceDelay = 50;    // время дребезга (подобрать опытным путем)

void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(relePin, OUTPUT);
  digitalWrite(relePin, releState);
}

void loop() {

  boolean reading = digitalRead(buttonPin); // опрашиваем концевик

  if (reading != lastButtonState) {         // если концевик сработал

    lastDebounceTime = millis();            // запомнить время сработки
  }

  if ((millis() - lastDebounceTime) > debounceDelay) {  // ждем время (на дребезг)

    if (reading != buttonState) {
      buttonState = reading;

      if (buttonState == HIGH) {
        releState = !releState;
      }
    }
  }
  digitalWrite(relePin, releState);
  lastButtonState = reading;
}

 

ptr
Offline
Зарегистрирован: 28.05.2016

Pokcuk пишет:
Ребята,какой датчик выбрать для подсчёта продукции на конвеере? Скорость там приличная,так что нужно быстрый отклик,растояние может быть от 2см до 5 см. Есть идеи?

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

https://ru.aliexpress.com/item/Hot-Selling-New-Infrared-IR-Wireless-Remo...

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

 

saftik
Offline
Зарегистрирован: 08.04.2015

все гениальное просто ;-) 
 

Pokcuk
Offline
Зарегистрирован: 28.09.2016

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

Pokcuk
Offline
Зарегистрирован: 28.09.2016

Написал правда как то в кучу,идеями полна голова и это мешает нормально излагать мысли

ptr
Offline
Зарегистрирован: 28.05.2016

Pokcuk пишет:
Спасибо ребята. Расмотрел варианты и пока остановился на оптопаре,но другие варианты не исключенны. Сразу возникает вопрос по оптопаре,можно ли сделать так чтоб было подключенно две оптопары,мне это надо для того чтоб одна отвечала за начало листа другая за конец листа. Суть вопроса можно ли так сделать чтоб при прирывание луча 2ух оптопар включалось реле а если любая оптопара была не прервана реле выключалсь?

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

Ну а логика реакции на датчики у МК может быть совершенно произвольной.