Гость Борис

Тахометрическое реле на ардуино

12 сообщений в этой теме

Гость Борис   
Гость Борис

Народ, подскажите пожалуйста, есть задумка управления транспортерной лентой при помощи ардуино. Смысл таков: при вращении датчика скорости сигнал с опто-пары поступает на ардуино (как тахометр) и при достижении определенного кол-ва оборотов включает реле и удерживает его во включенном положении до тех пор, пока обороты не достигнут нулевого значения. Проблема состоит в написании скетча, пробовал отталкиваться от скетча на тахометр, но на включение реле не хватает тока( даже светодиод горит тускло); от скетча на прерывание опто-прерывателя реле включается когда опто-пара перекрыта и отключается, когда открыта( реле щелкает очень часто). Может кто сталкивался с подобными вещами или знает примерный код ??? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Falconist    4 099

Печальная картина. Абдурина в роли банального частотного компаратора...

При том, что и в кодировании - никак и в схемотехнике - плинтус...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dr. West    1 604

Зачем там вообще МК? Да и логика управления какая-то странная. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
alend    648

Можете делать как вам хочется,в смысле ардуины или не ардуины,-но оптические датчики на транспортёрную ленту не ставить!!!!

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

Магнитные датчики применяют,есть уже готовые датчики с виду похожие на обычные бесконтактные,но на выходе единица получается только при чередовании импульсов с колеса-"шестерёнки".

Типа этого http://www.sensor-com.ru/catalog/speedcontrol/use

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hasl    35

Почему сразу такой хой подняли по поводу МК?

Какая выйдет схема на аналоговых компонентах и МК?

К тому же МК обеспечивают более лучшую гибкость в логике управления.

Если боролись за цену, вопрос может еще как то и стоял бы, но при наличии дешевых МК от STM или других контор, смысла в аналоговой схеме нет

К тому же. почему у многих привычка, давить собеседника.

Он вообще спросил про одно, а ему про  жизнь и  какой он "К...."

 

Печально.

 

ТС, напишите в личку и пришлите скейтч, посмотрю

Изменено пользователем hasl

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    529

Сктеч, ардуина. Да без ардуиновского шлака, в том же AVR Studio, вся логика работы реализуется в 10-15 строках кода. Берем таймер, запускаем в режиме внешнего тактирования, заводим на него сигнал. Через определенные дискреты времени (например, по прерыванию от второго таймера) проверяем значение в счетном регистре, переводим в об/мин (если надо) или сравниваем с неким значением прямо так. Если превысили - включаем реле. ждем, пока обороты упадут. В чем вообще проблема, особенно учитывая наличие исходников тахометров в инете? Хотя да, в говнуино же таймеры не дают пользователю, там все труднее. А вот в нормальных IDE все делается за пол часа вместе с чтением даташита. Это как раз тот случай, когда ардуйня усложняет процесс разработки.

Изменено пользователем BARS_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dr. West    1 604
36 минут назад, hasl сказал:

К тому же. почему у многих привычка, давить собеседника.

Смысл не в том, чтобы "задавить" идею на корню, а в том, что для решения задачи выбран  инструмент, с которым ТС сам не знает что делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, Гость Борис сказал:

 

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

Почему МК? Передача данных на ПУ по беспроводной. Дешево и не сердито. От магнитных датчиков отошли, "гемороя" много. Блоки упр-я в данный момент есть, но очень много проводов. Вот и ищем вариант с беспроводной передачей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    529
15 минут назад, Борис Зимирев сказал:

если появились обороты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

const int inPin = A0;

void setup() {
  Serial.begin(9600);
 pinMode(inPin, INPUT);
 digitalWrite(inPin, HIGH);
}
void loop() {
int rpm=get_rpm();
Serial.print("ob/min: ");
Serial.println(rpm);
if (rpm >=2){digitalWrite(12,HIGH);
}
else{
  digitalWrite(12,LOW);
}

}
int get_rpm()
{
int acct=0;
boolean IR=LOW;
unsigned long Time=0;
unsigned long sTime=millis();
while (Time<=1000)
{
if (digitalRead(inPin)==HIGH)
  {IR=HIGH;}
if (digitalRead(inPin)==LOW && IR==HIGH)
{
acct++;
IR=LOW;
}
Time=millis()-sTime;
}
int acct2 = int(1000./float(1000))*acct;
return acct2;
}

Вот код с которым работал. Нашел где-то на форумах. Там хотели пригородить это к токарному станку, чтобы при 300 об вкл реле

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Решение найдено. Может кому пригодиться. В строчке if (rpm <= 3 ){digitalWrite(10, LOW);} можно менять на нужное кол-во об.

const int inPin = A3;

void setup() {
 pinMode(inPin, INPUT);
 digitalWrite(inPin, HIGH);
 pinMode(10, HIGH);
}
void loop(){
  Serial.begin(9600);
int rpm=get_rpm();
 if (rpm <= 3 ){digitalWrite(10, LOW);}
 else {digitalWrite(10, HIGH);}
Serial.print("ob/min: ");
Serial.println(rpm);
}
int get_rpm()
{
int acct=0;
boolean IR=LOW;
unsigned long Time=0;
unsigned long sTime=millis();
while (Time<=1000)
{
if (digitalRead(inPin)==HIGH)
  {IR=HIGH;}
if (digitalRead(inPin)==LOW && IR==HIGH)
{
acct++;
IR=LOW;
}
Time=millis()-sTime;
}
int acct2 = int(1000./float(1000))*acct;
return acct2;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    484

Решение глупое и тупо "в лоб". Проще считать период, быстрее обрабатываться будет. А лучше аппаратными способами, а не тупо опросом пина.

Да и вот это выражение

5 часов назад, Борис Зимирев сказал:

int(1000./float(1000))*acct;

уж очень сомнительное. Что Вы этим хотели сделать, поведайте нам ?
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Den969
      Такая ситуация родственник приобрел рефрижераторную будку от одной машины и поставил на свою, питание рефрижератора 12В потребляет не менее 60А, а в машине 24В и два аккумулятора, если подключаем на один аккумулятор за день он садиться, нужно такое реле которое бы переключала питание  с одного аккумулятора на другой и обратно, думаю можно поставить таймер, допустим чтобы каждые 15 мин переключалось и аккумуляторы так сильно не садились, подскажите какое реле подойдет для этого или может у кого еще есть какие идеи как решить данную проблему.
    • Автор: artem83
      Реле времени РО-415 в количестве 3-х штук,новые. Цена за всё 1500 . Уфа,отправлю почтой за ваш счёт.Для связи ватсап  +79177693666. Артём

    • Автор: chirpavel
      Цена за 1 фирменный комплект (реле + колодка): 490 рублей.
      240 VAC 10 A - 24-28VDC 10 A.
      В наличии 30 комплектов реле с колодками. 
      Покупались для проекта, но так и не начали делать. Абсолютно новые, в упаковке (в коробке).
      Используются для автоматизации процессов включения и выключения оборудования. Подходит для управления оборудованием 220 вольт (до 240 вольт), включается от 24-28 вольт. Есть как нормально замкнутые, так и нормально разомкнутые контакты.
      Реле настоящие качественные, монтировать в колодке одно удовольствие.
      При покупке всех 30 сделаю еще больше скидку. 
      По-честному вышлю в любой регион.
      Телефон: +7-923-712-55-55, Павел.
      Почта: chirpavel@ya.ru



    • Гость Алексей
      Автор: Гость Алексей
      Помогите с прошивкой вылезает ошибка , пытаюсь собрать вот такой девайс http://cxem.net/arduino/arduino148.php
    • Автор: а.а.а
      Реле Schrack (TE)
      Катушка 12 в
      Контакты 250В 6 А (AgSnO2, gold plated)
      Код производителя 0-1393236-4
      60 руб. шт.