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

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

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

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

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

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

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

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

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

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

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

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

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

Спасибо!!! Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics!!! Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто!!! Сейчас идет заключение договора и подготовка к строительству!

А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок!!!

14 thoughts on “Надежность концевых выключателей или дорогие ошибки :)”

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

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

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

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

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

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

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

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

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

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

Добавить комментарий

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.