Помогите новичку доработать скетч

Тема в разделе "Arduino & Shields", создана пользователем Viapan, 15 окт 2015.

  1. Viapan

    Viapan Нуб

    Стоит задача: защитить заднюю камеру автомобиля от грязи клапаном. При включении задней передачи, включается видеокамера, сигнал от нее 3,3 В. идет на схему управления клапаном, состоящую из ардуино нано и моторшильда L298N. Электромотор работает 1 секунду и за это время открывает клапан и останавливается. После окончания маневра, включается передача вперед, управляющий сигнал пропадает, то есть он становится 0, и электромотор работает 1 секунду в обратную сторону, закрывая клапан. И все. В этом положении он находится до следующего маневра назад. Прошу помочь подправить Скетч. Железо исправно. Если убрать строчки с void driveon и void driveoff, а их содержимое объединить в общих скобках в void loop, то все работает. Каждую секунду клапан открывается и закрывается. Но как сделать, что бы все это работало от управляющего сигнала???
     

    Вложения:

  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Нельзя на одно прерывание повесить два обработчика. Вешайте один обработчик на любое изменение, в нем читайте ногу и анализируйте ее.
     
  3. 9xA59kK

    9xA59kK Гик

    Для этого не обязательно использовать контроллер, но интересно.
    Достаточно микромоторчик отключать по концевому микровыключателю положения заслонки.
    Да и на ардуино точное положение заслонки можно вычислить если использовать шаговый двигатель, в противном случае после настройки и отладки через некоторое количество раз открытий и закрытия , заслонка будет не в том месте останавливаться. Например по середине отверстия. Все дело в неточных положениях заслонки которое будет накапливаться, поэтому и применяют концевые выключатели или датчики.
    Именно поэтому на дворниках стоит датчик крайнего положения и всегда они паркуются в нужном месте, а там обычный сервопривод(моторредуктор) установлен.
    Я бы посоветовал использовать без контактные датчики, например датчики Холла или хотябы герконовые выключатели для защиты от пыли, влаги и грязи.
    Если использовать аналоговый датчик Холла, то достаточно всего одного для вычисления положения заслонки.
    Алгоритм такой же как ты описал, только добавить еще пару ЕСЛИ.
    Например.
    Если ВКЛ задний ход ТО ВКЛ откр.двигатель-заслонки и ЕСЛИ положение заслонки равно ПОЛНОЕ ОТКРытие ТО ВЫКЛ остановить двигатель-заслонки.
    И в обратном порядке ЕСЛИ ВЫКЛ задний ход ТО ...........
    PS/ Собирай привод заслонки и прочее (это наверное самое сложное), с кодом поможем.
     
    Последнее редактирование: 16 окт 2015
  4. 9xA59kK

    9xA59kK Гик

    Можно привод заслонки собирать на эл.магнитном приводе, типо элеткромагнитная катушка с сердечником. Имеет два состояния ВКЛ открыто ВЫКл закрыто- импульсное управление шторкой закрытия\открытия объектива\камеры. Вообщем все зависит от привода который вы соберете.
     
  5. Viapan

    Viapan Нуб

    Всем спасибо. Но! Я не изобретаю велосипед. Такой клапан выпускается уже встроенным в ручку задней двери. Моторчик тоже там стоит. Поменять или добавить ничего не могу. Или будет полный колхоз. Чтобы клапан не остался в среднем положении, я увеличил время подачи напряжения примерно в 2 раза. Это 0,5 сек., поэтому перегрев ни двигателю ни драйверу не грозит. Хотя ток около 1,5 А. Кстати, если к контактам Ардуино в районе от 1 до 8 поднести палец и слегка коснуться, то все работает, сначала открывается, при следующим легком касании -закрывается. Я понимаю, что это наводка. Но решение где то рядом??
     
  6. 9xA59kK

    9xA59kK Гик

    Если нужно сенсорное управление поищи , мне где то в интернете попадались примеры.