Радиоуправление воротами

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

Сообщение rojnov »

Приветствую всех любителей и профи. Нужна помощь в настройке одного полезного устройства.

Хочу сделать автоматику откатных ворот в саду с помощью купленного в Китае радиомодуля. В

комплект радиомодуля входят 2 брелка и платка приемника. Работает он так: нажимаем на 1

кнопку - на 1 выходе сигнал 5в, на втором- 0. Нажимаем на 2 кнопку - на втором выходе 5в.

первый выключается. 3 и 4 каналы ведут себя аналогично, но я их не использую.
На рис. показана схема подключения. Я не стал рисовать силовую часть на выходе - нарисовал

сигнальные светодиоды. Должно работать так: нажали на 1 кнопку - включилось реле реверса

для открытия ворот, через 0,5 сек - включился мотор привода. В крайнем положении

срабатывает концевик - выключается мотор, выключается реле.
При нажатии 2 кнопки включается мотор на закрытие ворот. Второй концевик выключает мотор в

закрытом положении. Оба концевика включены параллельно.
Набросал код, и что-то он у меня никак не хочет работать по моему плану. Вернее работает до

первого нажатия концевика. А дальше живет самостоятельной жизнью, которую я пока не могу

понять. Что-то неправильно в основном цикле.
Может, кто-нибудь глянет на свежую голову. Время терпит, т.к. делать все это планирую

весной.
[img]

[/img]

Код: Выделить всё

$regfile = "attiny13a.dat"
$crystal = 4800000
$hwstack = 8
$swstack = 16
$framesize = 32

Config Pinb.3 = Input                                       ' Кнопка Открыть                        '
Config Pinb.4 = Input                                       'Кнопка Закрыть
Config Portb.0 = Output                                     'Включение реверса
Config Portb.2 = Output                                     'Включение мотора
Config Int0 = Falling
Config Debounce = 50
On Int0 Button
Enable Interrupts
Enable Int0
Dim K As Byte

Knopka_1 Alias Pinb.3
Knopka_2 Alias Pinb.4
Revers Alias Portb.2
Motor Alias Portb.0
K = 1
Knopka_1 = 0 : Knopka_2 = 0

Do
If Knopka_1 = 1 And K = 1 Then                              ' Нажата 1 кнопка
   Set Revers
   Waitms 500
   Set Motor
End If
If Knopka_2 = 1 And K = 0 Then                              ' Нажата 2 кнопка
   Set Motor
End If

Loop

Button:                                                     ' Сработал концевик
Reset Motor
Reset Revers
K = K + 1
If K > 1 Then K = 0
Return

End
Вложения
Ворота.jpg
(42.24 КБ) 329 скачиваний
Реклама
Вымогатель припоя
Сообщения: 535
Зарегистрирован: Вт фев 09, 2010 17:52:26

Сообщение codenamehawk »

If Knopka_1 = 1 And K = 1 Then
Может так
If ((Knopka_1 == 1) And (K == 1)) Then
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

меня смутило что в LOOPе только обработка концевика.
п.с. а какой это язык?
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

Сообщение rojnov »

Это Баском. Или я не там свою тему открыл?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

там... здесь всё в куче.
ну как ты понял в басме я не силён :) так что если помочь, то только по структуре.
а концевиков у тебя сколько?

Добавлено after 2 minutes 21 second:
одна... а как она срабатывает?

Добавлено after 4 minutes 26 seconds:
включается при полном открытии, выключается при полном закрытии? а если передумал? как контроллер узнает о крайнем положении?
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

Сообщение rojnov »

Концевиков два: один на закрытие и один на открытие. Включены параллельно. Но по схеме - один, а действие при срабатывании концевика зависит значения К - оно меняется при каждом срабатывании концевика: К=1 - открытие, К=0- закрытие.

Добавлено after 3 minutes 20 seconds:
Забыл ещё один момент: Будет еще один концевик в виде доступной кнопки на столбе, также включенный параллельно крайним концевикам. Он нужен для того, чтобы можно было, например, начать открывать ворота, не дождавшись их полного закрытия.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

зачем так сложно то? если у тебя 2 сигнала и присутствуют всегда - ставь конечники в разрыв проводов: допустим пошел сигнал на закрытие, ворота дошли, концевик закрытия разорвал цепь сигнала закрытия - всё, и пусть он там дальше висит. а в промежуточном положении можно рулить в обе стороны и направление менять в любой момент.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

Сообщение rojnov »

Интересная мысль. Буду пробовать послезавтра - раньше не попаду туда.
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

Сообщение rojnov »

Приветствую! Попробовал на макетке - все работает так, как и планировалось. Еще раз спасибо за идею. На всякий случай прикладываю итоговую схему.
Вложения
Ворота.jpg
(104.13 КБ) 313 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

понятно.
а обмотка, которая идёт на кондей конкретно пусковая? (можно проверить сопротивления) если обмотки равны - почти всю логику можно выкинуть :) (понадобится - нарисую)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Ответить

Вернуться в «AVR»