Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > ЧПУ, 3D принтеры, CNC

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.03.2014, 10:53   #1
Murkur
Member
 
Регистрация: 13.12.2013
Сообщений: 50
Вес репутации: 0
Murkur is an unknown quantity at this point
По умолчанию Станок для сетки Рабица

Всем привет. Пробую сделать автоматическое управление станком для сетки Рабица и может кто подскажет по некоторым вопросам...
С дисплеем, меню и управлением трёх-фазными двигателями вроде бы разобрался, но есть вопросы по написанию скетча.
Логика такая:
1. нажимаем кнопку Старт - запускается первый двигатель, отматывает нужное количество витков, которое считает на валу датчик Холла и за 2 витка до конца посылаем сигнал для остановки, отключаем первый двигатель полностью;
2. запускаем второй двигатель, который через редуктор отрезает проволоку, передвигает сетку и перемещает стол с намоточным шнеком на один виток назад и через концевик передаёт сигнал об успешном перемещении;
3. повторяем первый пункт, кроме нажатия кнопки Старт (так как всё происходит по кругу) плюс намотка идёт на один виток больше;
4. и опять идёт 2-й пункт, но стол перемещается ближе к сетке - отключается один концевик и включается другой.

Скетч я кое-какой написал, но пока не могу понять, как заставить программу ожидать сигнала от концевика, а не продолжать выполнение дальше.
Принцип работы можно посмотреть на этом видео:
www.youtube.com/watch?v=ouvaN89FUIs
(что-то не понял, как видео тут вставить через теги)

Код приблизительно такой:
PHP код:
if (digitalRead(LedStart) == HIGH && p2 != 0// Если нажата кнопка СТАРТ и кол-во витков не равно нулю
{
  for (
int i=0i<p2i++) //тогда запускаем цикл
     
{
       if (
digitalRead(RowsCounterInput) == LOW// счётчик импульсов от датчика Холла
       
{
         
Round_counter++;
         
delay (500);
       }
       else { 
digitalWriteledPinRedLOW ); }
     }
     
     if (
Round_counter p2-=2)        // Если кол-во витков равно общее к-во минус 2 витка
     

       
digitalWriteChastStopHIGH );  // Начало торможения двигателя №1 за 2 витка до конца
       
delay (2000);
       
digitalWriteStarter1LOW );     // Выключаем пускатель №1
     
}
     else if (
Round_counter p2)        // Если счётчик витков равен кол-ву заданных витков
     
{
       
// Остановка двигателя №1
     
}
     
delay (ReductorDelay*1000); // Пауза перед запуском редуктора

    
if (digitalReadReduktorInput == HIGH )) // Если концевик включения редуктора включён
     
{
       
lcd.clear (); lcd.setCursor0); lcd.print( "Reduktor OK" ); //выводим на дисплей

       
delay (1000);
     }
     else {
       
lcd.clear (); lcd.setCursor0); lcd.print( "Reduktor Error" ); // или ошибка редуктора
       
delay (1000);
                             
//тогда полная остановка станка
     
}                           
     
     if (
TableInput == HIGH// Получаем сигнал о передвижении стола назад
     
{
       
p2+=1;  // и увеличиваем кол-во витков для второй струны +1 виток
       
lcd.clear (); lcd.setCursor0); lcd.print( "Perevod Stola" );
       
delay (1000);
     }   
     else 
     {
       
p2=p2;
       
digitalWrite(LedStartLOW);
       
lcd.clear (); lcd.setCursor0); lcd.print( "Table Error" );
       
delay (1000);
     }

Так вот, загвоздка в том, как мне ожидать команды от концевика if (digitalRead( ReduktorInput == HIGH )) ?

Буду рад помощи. Спасибо.

П.С. Скетч выложил не полный, так как там много ненужной информации по меню и дисплею. Очень спешу, позже выложу подробный код.

Последний раз редактировалось Murkur; 25.03.2014 в 10:56.
Murkur вне форума   Ответить с цитированием
Старый 25.03.2014, 10:58   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Станок для сетки Рабица

Цитата:
Скетч я кое-какой написал, но пока не могу понять, как заставить программу ожидать сигнала от концевика, а не продолжать выполнение дальше.
В цикле while опрашивать концевик
Admin вне форума   Ответить с цитированием
Старый 25.03.2014, 11:00   #3
Murkur
Member
 
Регистрация: 13.12.2013
Сообщений: 50
Вес репутации: 0
Murkur is an unknown quantity at this point
По умолчанию Re: Станок для сетки Рабица

Ого, как оперативно Позже выложу результат.
Murkur вне форума   Ответить с цитированием
Старый 25.03.2014, 11:06   #4
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию Re: Станок для сетки Рабица

Немного код непонятный - где сигнал включения редуктора? Я так понимаю ReduktorInput - это пин концевика. Тогда включаем редуктор и через цикл for проверяем значения ReduktorInput - как тока стало 1 то цикл заканчиается и продолжается программа
Bulatovor вне форума   Ответить с цитированием
Старый 01.04.2014, 13:18   #5
Murkur
Member
 
Регистрация: 13.12.2013
Сообщений: 50
Вес репутации: 0
Murkur is an unknown quantity at this point
По умолчанию Re: Станок для сетки Рабица

Подскажите ещё по включению симистора BT139-600 через оптопару на вложенной схеме... На входе оптопары (1-я ножка) - 0,2В, а перед резистором R7 - 5В. Как запустить данный симистор?
Миниатюры
Нажмите на изображение для увеличения
Название: 123.jpg
Просмотров: 522
Размер:	168.0 Кб
ID:	1656  

Последний раз редактировалось Murkur; 01.04.2014 в 13:44.
Murkur вне форума   Ответить с цитированием
Старый 01.04.2014, 14:04   #6
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Станок для сетки Рабица

При использовании оптрона с детектором ноля нужно между управляющим электродом и T2 добавить резистор 350-470 ом
Admin вне форума   Ответить с цитированием
Старый 01.04.2014, 14:13   #7
Murkur
Member
 
Регистрация: 13.12.2013
Сообщений: 50
Вес репутации: 0
Murkur is an unknown quantity at this point
По умолчанию Re: Станок для сетки Рабица

А что такое Т2? Это на 4-ю ножку оптрона?

Последний раз редактировалось Murkur; 01.04.2014 в 14:32.
Murkur вне форума   Ответить с цитированием
Старый 01.04.2014, 14:45   #8
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Схема
Нажмите на изображение для увеличения
Название: moc3041.png
Просмотров: 1370
Размер:	2.0 Кб
ID:	1657


Если симистор будет коммутировать индуктивную нагрузку, то для этих целей симистор на 600в не подойдет
лучше взять на 1200в или в крайнем случаи на 800в
Admin вне форума   Ответить с цитированием
Старый 01.04.2014, 14:59   #9
Murkur
Member
 
Регистрация: 13.12.2013
Сообщений: 50
Вес репутации: 0
Murkur is an unknown quantity at this point
По умолчанию Re: Станок для сетки Рабица

Добавил этот резистор, но ничего не изменилось, на выходе симистора ноль. А есть разница, как подключать переменку? Тоесть, как в документации написано, где ноль, а где фаза. И какие по мощности должны быть резисторы? Я пока поставил слабенькие - по 0,25 Вт. И да, управлять хочу электромагнитным пускателем.

Последний раз редактировалось Murkur; 01.04.2014 в 15:06.
Murkur вне форума   Ответить с цитированием
Старый 01.04.2014, 15:22   #10
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Станок для сетки Рабица

Скорее всего Вы перепутали T1 с T2 ? Поменяйте их местами
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:12. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика