Надежность концевых выключателей или дорогие ошибки

Сделали мы тут один вендинговый автомат (пока не буду говорить какой). Весьма и весьма навороченный. Навороченный в плане совершенно всратой механики. В общем, эта штука была переусложненная, потому как в ТЗ со всех сторон были сплошные вилы и ограничения. Надо было вписаться в размер тумбы, и обеспечить быструю перезарядку аппарата товаром, и шоб ассортимент товара был широк. В итоге, все равно тумба получилась монструозная и зря заказчик выносил мозг конструктору, пытаясь снизить габариты. В заданные размеры все равно не лезет Но это все лирика.

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

Но конструктор не сумел. В тесной компоновке даже крохотные омроновские оптопары удалось распихать только в начальном положении. В задвинутом. Схема выглядит примерно так:

Т.е. на рогах был небольшой лепесток ,который в парковочном положении входил в щель оптического датчика.

И да ,все это на подвижной каретке, то есть шлейф проводов, кабель канал подвижный.

Кто сразу видит проблему? Не буду играть в угадайку, скажу сразу.

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

Отказ любого из проводов концевого выключателя приводит к ситуации, что мозги думают о том, что рога припаркованы в безопасном режиме. А значит можно ехать. И они поехали, отломав рога на одном из аппаратов. Из-за криво обжатого разъема, который со временем расшатался и потерял контакт.

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

Немного попытался исправить ситуацию. Добавив проверку датчиков, механическую. Т.е. вначале, проверяем датчики если все окей, чуток сдвигаем рога ,проверяем, что стало не окей. Задвигаем обратно. Впрочем, это нифига не панацея. Т.к. в моем случае провод не контачил в конкретном положении механики. Т.е. в положении Home все работало отлично, а вот если поднять каретку на 10см, да задвинуть бошку вправо на 30см, вот тут то всю конструкцию так чуток изгибало, что где то на доли миллиметра что-то сдвигалось и контакт пропадал. Временно. В общем, жепь полная. Происходила на одном из аппаратов раз в неделю. Нашел буквально случайно. Перелопатил весь код в поисках софтверной ошибки. А оказался контакт 🙂

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

А у вас какие были тупые косяки в проектировании?

Комментарии к статье:

Чтобы оставить комментарий, прокрутите в самый конец статьи Комментировать материал

  1. Горнист:

    А ещё они зарастают пылью, и начинают давать ложные срабатывания Альтернатива оптике магниточувствительные микросхемы.

    1. DI HALT:

      Это, Кстати, можно ловить модуляцией сигнала и не дожидаясь отказа требовать техобслуживание.

      1. Евгений:

        Можете кратко расшифровать, как именно можно отследить зарастание пылью?

        1. Аноним:

          по разности амплитуды сигнала с включённым и выключенным светодиодом.

          1. DI HALT:

            Можно ещё по времени нарастания пробовать поймать. Тусклый Светик хуже засвечивает и быстрый импульс не пройдёт.

    2. AlexZhAk:

      Герконы, герконы наше всё.

  2. Аноним:

    Спасибо за всё, что вы пишите. Очень интересно для профориентации.

  3. Serj E:

    Вы, Ди Хальт, как многоопытный проектировщик, наверняка же читали когда-нибудь такого гуру прикладной схемотехники и embedded, как Джек Ганссл? У него рассылка весьма любопытная, и книги есть, и статьи.

    Так вот. Oн уже лет 25 подряд учит молодых инженеров, что любая схема с актуаторами, высоким напряжением, нагревом, и прочими физическими опасностями, должна, нет, даже не должна, а просто обязана быть построенной по принципу явно разрешённого опасного состояния. Таким образом, чтобы при отказе или обрыве датчика это явное разрешение отдавать было бы просто-напросто некому. Строго-настрого предостерегая, что никакими гигагерцами, оверсемплированиями, дублированиями-троированиями и т.д. этот вопрос не решается. Азы, так сказать.

    PS. Если не читали, так почитайте. Над молодой порослью воткнул ARM  мощи много значит мой девайс круче, чем у всяких старпёров он стебётся знатно. С примерами катастроф из реальной жизни.

    1. Aks:

      Название какой книги надо искать Джек Ганссл ?

      1. DI HALT:

        На русском книга там только одна

        1. Aks:

          Руководство по микропрограммному обеспечению (Джек Ганссл) ,- такое должно быть название ?

          1. DI HALT:

            Да. Эта книжка есть в литресе в цифровом виде. Купил за бонусы СберСпасибо пролистал.. Увидел несколько интересных мыслей, но в целом очень много воды и очевидностей.

  4. u37:

    Если вместо Vcc будет порт GPIO, то возможно проверить как наличие соединения (перевод в input+PU и считывание) этого соединения (с землей), так и возможные неисправности приемной части (передача=засветка импульсами).
    Второй вариант доработки проинвертировать сигнал от приемника на 2n7002, с учетом наличия напряжения на светодиоде. Думаю, схему рисовать не надо. ))
    В итоге, на выходе будут импульсы только в припаркованном состоянии. При любом отказе импульсов (синхронных с отправляемымми) не будет, только постоянный уровень, либо помехи. Это отслеживается довольно четко. IMHO. Другие варианты не проходят по обеспечению надежности или неудобству мех. реализации (инверсия логики шторки).
    А вообще, есть стандартный принцип при механическом управлении контакт может теряться и рассматривать надо наихудший вариант ( например, соединение 3х выводов в регуляторе напряжения). Обычно этому следуешь но не всегда, о том и заметка. ))

  5. Константин:

    Был похожий проект, где нужен был контроль положения каретки одним оптроном. Решение было следущее: в полоске металла проходящей через щель оптрона делались последовательно короткий и длинный вырез. Соответственно при движении каретки вперед на мк приходила последовательность длинный+короткий импульс. При обратном движении короткий+длинный. В софте перед началом работы делается тестовый проход в безопасной зоне вперед-назад. Если нужные последовательности импульсов получены, оборудование исправно. Ну и бонусом по длительности импульсов контролировался износ механики.

  6. Аноним:

    я делал так.просто ссал на плату все работало

    1. DI HALT:

      ПРодавай мочу в банках, отличный бизнес план!

  7. are:

    Магниты ,датчики хола, герконы , нах оптопары, самое ненадежное

    1. DI HALT:

      C них и начали, но конструктивно не зашло.

  8. PKav:

    Я бы ловил конечные положения вообще без датчиков. Если DC мотор, то по росту тока, если шаговый, то современные драйверы умеют отлавливать пропуск шагов.

    1. DI HALT:

      В том то и дело что они не совсем конечные.

  9. Макс:

    А если использовать отражательную оптопару? В конечном положении засветка, в остальных нет. Нет засветки ехать нельзя.

5 1 голос

Оцените статью!

guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии