Как-то пару лет назад была поставлена задача облегчить работу ОТК и создать для них прибор входного контроля некоторых покупных изделий. Суть проверки заключалась в измерении внутреннего сопротивления и последующей сигнализации сотруднику, что результат измерения находится в пределах заранее заданного допуска.
Оборудование с подобной функциональностью уже присутствует на рынке (милли или микроомметры). Его можно свободно купить, запрограммировать на световую или звуковую индикацию при настройке нужного диапазона, но было несколько НО. Устройство требуется сперва настроить и перед началом каждой смены нужно переключать на необходимый для работы диапазон. Да и ценник у подобного оборудования находится в пределах 50-120тыс. руб., а самих приборов нужно было сразу несколько штук.
Типов контролируемых изделий было несколько и у них совершенно разные характеристики, но самая большая проблема была общая — очень узкий диапазон измерений (от единиц до полутора десятков Ом) и необходимость обеспечения высокой степени точности (в некоторых случаях требовалась погрешность порядка 1%).
Из-за высокого ценника покупных устройств и сложности их эксплуатации была поставлена задача разработать подобное устройство самостоятельно с максимально простым способом выбора режима работы, а потом изготовить небольшую партию в количестве 8-10 штук (с некоторым запасом) и меня подключили к этой работе в качестве разработчика программного обеспечения.
Что из этого в конце концов вышло?
Так как абсолютная величина измеряемых сопротивлений очень маленькая, то была выбрана мостовая схема с четырёхпроводным подключением и схемотехник приступил к работе над прототипом схемы.
Через несколько недель я получил от него какую-то плату и сообщение, что теперь начинается моя часть работы, а он сделал все что мог, (хотя по факту ничего не работает), а дальше нужно уже мне постараться и написать прошивку таким образом, чтобы вытянуть необходимую точность, а ему самому некогда, т.к. его уже завалили другой работой.
Сказать, что я был удивлен таким поворотом событий будет очень мягко сказано. Тем не менее, исходная задача поставлена руководством и от неё никуда не деться, но схемотехник за свою часть, якобы сделанной работы, отчитался и все думают, что мячик на моей стороне.
Кое-как удалось донести до заинтересованных лиц, что рабочего железа нет и работать не с чем, на что мне было сказано, попробуй что-нибудь сделать из того, что есть.
Пришлось немного подумать и я предложил следующий вариант:
- Покупаем готовую измерительною головку с необходимым диапазоном: Миллиомметр TRM1001, измеритель сопротивления с четырьмя половинками, цифровой дисплей, измеритель сопротивления, цифровой Омметр 30 Ом. ~ 3500 руб.
- Миниатюрный процессорный модуль: WeAct STM32F411CEU6 ~ 400руб.
- Готовый блок питания, переключатели, светодиоды и стандартный пластмассовый корпус для РЭА ~ 3000-5000 руб.
- Все это собираем навесным монтажом (проще припаять и собрать в жгут два десятка проводов, чем те же провода паять к отдельной плате, которую еще и нужно разработать).
Правда при разработке прошивки пришлось немного поломать голову со способом получения результатов измерений. В продаже присутствуют измерительные головки с разными вариантами интерфейсов, RS485, RS232, TTL, но я так и не нашел описания протокола связи, поэтому решил сделать максимальной просто — припаяться непосредственно к сегментам индикатора и декодировать величину сопротивления по отображаемым на индикаторе цифрам.
Весь реверс инжиниринг для сканирования сегментов на индикаторе получилось сделать буквально за вечер. Прозвонил катоды, предположил, что оставшиеся 8 выводов, это 7 выводов семисегментного индикатора + десятичная точка и судя по осциллограмме — время развертки около 1 мс.
Но я опасался возможных проблем синхронизации при считывании данных, так как не было гарантии в стабильности тактовых частот у измерительной головки и микроконтроллера. Можно было бы попробовать привязать процедуру дешифровки цифр на прерывание по фронту импульса, но решил сделать еще проще.
Запрограммировал таймер на прерывание 3 раза за 1 мс во время которого считывались уровни сегментов и по мажоритарному принципу "два из трех" вычислял итоговый результат измерений. При такой логике, даже при плавающих частотах как минимум два измерения из трех должны быть корректными.
В результате получился вот такой первый рабочий прототип:
А вот так выглядит уже готовый мелкосерийный прибор:
Вся небольшая партия из 8 устройств обошлась примерно в ~65 тыс. руб., я получил премию и опыт в разработке не только софта, но и мелкосерийного железа, сотрудники ОТК простой и удобный в эксплуатации прибор, а компания сэкономила за счет собственной разработки несколько сотен тысяч рублей и в итоге все остались очень довольны.
Комментарии (41)
freegemini
18.04.2023 08:41+4я получил премию и опыт в разработке не только софта, но и мелкосерийного железа, сотрудники ОТК простой и удобный в эксплуатации прибор, а компания сэкономила за счет собственной разработки несколько сотен тысяч рублей и в итоге все остались очень довольны.
А как же сложилась судьба схемотехника? Подозреваю, конечно, что никаких изменений в работе у него не произошло, как и начальство никаких выводов не сделало. Как это все знакомо...
rsashka Автор
18.04.2023 08:41Продолжает работать дальше, и мне приходится с ним взаимодействовать по другим проектам.
armorat
18.04.2023 08:41+1Все это собираем навесным монтажом
Провода будут болтаться, если их не прикрепить. А для этого нужно ставить какую нибудь плату или точки крепления.
rsashka Автор
18.04.2023 08:41+1Внутри корпуса установлена текстолитовая панель к которой жгуты крепятся обычными стяжками. На эту же панель установлены и используемые платы. А сама панель крепится в существующие для этих места крепления на корпусе. Так что ничего не болтается.
MinimumLaw
18.04.2023 08:41+2Финальные картинки прямо из серии "Фронтенд-Бакенд".
А по сути... Ну если это используется для входного контроля (который не является обязательным по документации и введен только для увеличения количества качественных выходных изделий), то никаких вопросов. Такое технологическое оборудование может быть любым, а все что способствует повышению качества отпускаемой продукции приветствуется.
Но тут ключевой момент - это именно добровольных входной контроль. Ибо аттестовать подобное... Я не представляю как...
rsashka Автор
18.04.2023 08:41+2Это действительно входной контроль и по сути он на самом деле добровольный. И если потребуется что-то подобное для техпроцесса в обязательном порядке, то скорее всего такой фокус не получится.
Но всегда возможен вариант разделения контроля на предварительный (с помощью собственной оснастки, как в данном случае) и финальный с помощью сертифицированного оборудования для тех элементов, которые не прошли предварительный.
А насчет сертификации, была бы в ней необходимость, пришлось бы делать более серьезно (с печатной платой, РКД и прочими прибамбахами), но это была бы уже совсем другая история и явно не для одного человека :-)
zatim
18.04.2023 08:41+2Но всегда возможен вариант разделения контроля на предварительный (с помощью собственной оснастки, как в данном случае) и финальный с помощью сертифицированного оборудования для тех элементов, которые не прошли предварительный.
К сожалению, не всегда. Где гарантия того, что элементы, прошедшие контроль, действительно исправны? Сопротивление - такая величина, которая может свободно гулять в обе стороны.
rsashka Автор
18.04.2023 08:41+1Да, вы правы. Разделение контроля возможно только в том случае, если при производстве не требуется обязательного 100% контроля сертифицированными измерительными инструментами, например, требуется только выборочная проверка.
В этом случае самостоятельно можно делать более простой и за счет этого, более быстрый контроль, но всех 100% изделий, а в случае выхода хоть одного измерения за границы допустимого диапазона уже натравливать на партию более серьезную проверку сертифицированным оборудованием.
venanen
18.04.2023 08:41+2Вопрос тут даже в том, что надо смотреть какая конкретно точность нужна для вашего предприятия по сопротивлению, если там +- трамвайная остановка, то это может сработать. Если нет (что вероятнее, не просто же вы так миллиомы меряете) - то тут может быть целый спектр проблем, которые надо выяснять с помощью сертифицированного оборудования (что, кстати, стоило показать в статье, как я считаю). Потому что этот миллиометр из Китая может измерять в совершенно рандомных пределах, которые еще увеличатся из-за различных погрешностей вроде квантирования или сопротивления самих дорожек. Которое, кстати, на уровне миллиом вполне может и от температуры зависеть.
Поэтому тут гораздо вероятнее ложнопозитивное срабатывание, чем ложнонегативное, поэтому чтобы не огрести потом - я бы советовал сверить с профессиональным оборудованием, если не сделали еще.
А так коробочка симпатичная :)
P.S. Обсуждали с коллегами технологии станкостроения и машиностроения, и пришли к такому выводу: сделать условный трехосевой ЧПУ может в целом любой радиолюбитель на ардуино с помощью ютуба. А вот обеспечить высокую точность этого ЧПУ - это уже задача совершенно другого уровня.rsashka Автор
18.04.2023 08:41Потому что этот миллиометр из Китая может измерять в совершенно рандомных пределах, которые еще увеличатся из-за различных погрешностей
Изначально я тоже переживал по этому поводу, но во время тестовой эксплуатации все приборы работали корректно. К тому же в инструкцию пользователя включен обязательный пункт о ежедневном контроле прибора сертифицированным измерителем.
andrejjm78
18.04.2023 08:41+8но я так и не нашел описания протокола связи, поэтому решил сделать максимальной просто — припаяться непосредственно к сегментам индикатора и декодировать величину сопротивления по отображаемым на индикаторе цифрам.
ГЕНИАЛЬНО!!! Я много видел и делал "самопалов" с интересными вывертами, которые бывало превосходили промышленные приборы, но такой хитрости не видел. Схемотехнику "двойка", задание яйца выеденого не стоит. По метрологическим характеристикам я бы отнес прибор к индикаторам, но главное - нужные функции выполняются, заказчик доволен, что еще надо.
rsashka Автор
18.04.2023 08:41+1Спасибо! А в защиту схемотехника могу сказать, что у него действительно были более срочные задачи по другому проекту и моя негативная реакция на его финт была больше из-за того, что он сперва собственноручно продавил разработку собственной платы (т.к. я изначально был за использование готовых модулей), а в итоге все эту работу скинул на меня.
нужные функции выполняются, заказчик доволен, что еще надо.
Золотые слова!
pilimpimpilim
18.04.2023 08:41покажите заказчику эту первую картинку из статьи
rsashka Автор
18.04.2023 08:41Не только показывал, но этим прототипом реально пользовались, чтобы оценить его работоспособность
pilimpimpilim
18.04.2023 08:41+2ножницы
rsashka Автор
18.04.2023 08:41ножницы
Так это только КДПВ. Я решил немного отклониться от тенденций последнего времени и не использовать картинку сгенерированную SD или Kandinsky, а просто поискал по словосочетанию "голь на выдумки хитра сэкономить" и взял понравившуюся прямо с первой страницы.
kuza2000
18.04.2023 08:41Очень странный путь) Вроде как те же STMки есть с АЦП, его только правильно подключить нужно...
Но результат есть, что заслуживает уважения)rsashka Автор
18.04.2023 08:41+4его только правильно подключить нужно...
В этом и засада. Если решать такую задачу "в лоб", то очень скоро станет понятно, что задача с подвохом, так как стандартная схемотехника STM для использования встроенного АЦП не даст необходимой точности измерений с нужной погрешностью и требуется внешний источник опорного напряжения.
И для собственной схемотехники требуется разработать и изготовить несколько прототипов, платить все это время зарплату сотрудникам и нести прочие накладные расходы. Из-за чего затраты очень быстро приближаются к ценнику готового покупного решения.
freegemini
18.04.2023 08:41+2...платить все это время зарплату сотрудникам и нести прочие накладные расходы. Из-за чего затраты очень быстро приближаются к ценнику готового покупного решения...
Прямо удивительно! У нас, наоборот, вместо покупки готового изделия, загружали подразделения по полной, с планированием, отчетностью, корректировкой бюджета, заказом материалов и прочей полагающейся в таком случае бурной деятельностью. А в итоге, получившееся разработанное и изготовленное изделие выходило в разы дороже предлагавшегося покупного.
Справедливости ради, стоит отметить, что в подавляющем большинстве случаев все участники процесса разработки и изготовления (бухгалтерию и снабженцев не учитываю) получали удовольствие от любимой работы.
rsashka Автор
18.04.2023 08:41Я и в самом деле получил удовольствие от этой работы. А что касается выбора по какому пути идти, это решалось просто - предоставляешь ЛПР необходимую информацию и прогнозы по срокам, а уже руководство принимает решение.
SGordon123
18.04.2023 08:41+2Неужели там rs232 такой мудреный, небось плюет результаты измерений в порт? Вроде про модбас пишут узкоглазые, разве там не все стандартизовано?
rsashka Автор
18.04.2023 08:41+1Нет конечно, думаю, что там не ничего сложного. Но для любых не TTL протоколов нужен отдельный конвертор, а это дополнительные сложности и стоимость (хоть и не большая). Это имело бы смысл, если бы измерительная готовка устанавливалась на некотором расстоянии от самого прибора или скорость передачи была высокой.
Но так это не так, и все устройства находятся в одном корпусе, то никакие RS232 или RS485 для связи между ними не требуются и будет достаточно обычных TTL уровней.
Что же касается самого протокола. Но тут опять нужно выбирать или запрашивать протокол связи у производителя и разбираться в нем или придумать свой способ снятия информации. Последенее оказалось проще всего, поэтому наверно можно было бы разобраться и в протоколе, но не вижу в этом особого смысла.
SGordon123
18.04.2023 08:41по ссылке на алике любые уровни, в т.ч. и ТТЛ? Знатоки модбаса подскажите, насколько сложно с ним разобраться, или достаточна чадгпт попросить накидать программку читалку под ардуйню?
rsashka Автор
18.04.2023 08:41Знатоки модбаса подскажите, насколько сложно с ним разобраться
Разобраться не сложно и можно какую нибудь свободную библиотеку заюзать. Тут проблема в другом. Для RS485 нужна внешняя обвязка, которой как правило не бывает на мелких платках а-ля Ардуино. А зачем паять дополнительные микросхемы и обвес, когда можно обойтись вообще без него?
SGordon123
18.04.2023 08:41по ссылке куча вариантов интерфейса, зачем выбрал 485?
rsashka Автор
18.04.2023 08:41Я не выбирал 485, а вообще обошелся без интерфейса.
SGordon123
18.04.2023 08:41я про миллиомметр из ссылки, который вариант у тебя?
rsashka Автор
18.04.2023 08:41Изначально я брал TRM1001-30Ω-S, т.е. с про протоколом "TTL-RS232", но описание этого самого протокола я не нашел. Потом хотел взять TRM1001-30Ω-S-M с протоколом MODBUS-RTU, но с TTL уровнями без физики RS485.
Но так как у меня быстро получилось сделать декодирование сегментов с индикатора, то на протокол вообще забил и сделал как было проще.
fvariation
18.04.2023 08:41+2Вся небольшая партия из 8 устройств обошлась примерно в ~65 тыс. руб., я получил премию и опыт в разработке не только софта, но и мелкосерийного железа
На свалке можно поискать бесплатно прецизионные резисторы (некоторые скажут можно самим изготовить из манганиновой или константановой проволоки), там же взять галетные переключатели и собрать блок прецизионных резисторов) плюс еще два резистора - и мост для измеряемого изделия готов. Там же найти измерительную головку, вставить ее в мост, ноль должен быть посередине. Полоску из синей изоленты наклеить на стекло - диапазон приемлемых значений. Зашунтировать измерительную головку еще одним самодельным блоком прецизионных резисторов для выбора пределов допустимых отклонений и - все (блок питания не считается). Точность такого самопала в широком диапазоне температур кардинально лучше описанного в статье. Ну хорошо, не на свалке, а в неликвиде - какая разница, цена все равно копеечная.
rsashka Автор
18.04.2023 08:41+3В качестве одного из способов калибровки данного прибора мы как раз пробовали использовать блок прецизионных резисторов. И не найденный на свалке, а официально купленный с сертификатом! Вот только иногда после переключения диапазонов у него плавали значения (контролировали по другим приборам, так же сертифицированным как средства измерения).
Поэтому от блока прецизионных резисторов с галетниками пришлось отказаться. Хотя наверно это из-за того, что в нем не использовалась синяя изолента :-)
Kudriavyi
18.04.2023 08:41+3Во-первых: что неправильного в плате от схемотехника автор не сказал, а это очень интересный вопрос.
Во-вторых: припаиваться к семисегментнику и считать показания из него - верх радиолюбительства и никаким промышленным прибором это не пахнет
Поставить преобразователь rs 485 и к нему нормальный раз'ем, учитывая что ваш прибор с али такой имеет - ещё менее-более приемлемо. А от данного исполнения у меня волосы дыбом встали в самых неприличных местах
rsashka Автор
18.04.2023 08:41+5Во-первых: что неправильного в плате от схемотехника автор не сказал, а это очень интересный вопрос.
В первую очередь он мне не передал принципиальную схему. Точнее сперва прислал, но потом оказалась, что это не тот вариант, нарисовано одно, а реально он сделал немного по другому.
А во вторых, сама плата была не рабочая. То есть мне было сказано, что он все проверил, отладочный вывод у платы идет (я делал тестовую прошивку для отладки). А по факту оказалось, что он её даже не включал, т.к. плата была неработоспособна и если бы он попробовал её включить, то сразу бы это заметил.
Во-вторых: припаиваться к семисегментнику и считать показания из него - верх радиолюбительства и никаким промышленным прибором это не пахнет
Вообще-то перемычки и подобная пайка встречаются даже в крупносерийных изделиях, а у меня не было цели сделать именно промышленное оборудование.
А про RS485 я уже отвечал чуть выше
aumi13
18.04.2023 08:41на 2х последних фотках разные приборы
если схемотехник не показал что его вариант рабочий, значит такой смехотехник.
rsashka Автор
18.04.2023 08:41на 2х последних фотках разные приборы
Приборы с одинаковой функциональностью, но немного разной компоновкой и использованными компонентами. Если смущает на первой фотке мультиметр, то из-за того, что быстро не смог найти нужный галетник, поэтому купил за 100 рублей самый простой мультиметр, выкинул из него все внутренности и оставил только поворотный переключатель.
nixtonixto
18.04.2023 08:41+2Надеюсь вы не шунты переключаете галетником. Потому что у него сопротивление контактов плавает на сотни мОм после каждого переключения. Особенно после первой тысячи переключений, когда на дорожках процарапается колея.
rsashka Автор
18.04.2023 08:41+1Потому что у него сопротивление контактов плавает на сотни мОм после каждого переключения. Особенно после первой тысячи переключений, когда на дорожках процарапается колея.
Мы такой эффект заметили у блока прецизионных резисторов, который сперва хотели использовать для калибровки.
А галетник на фотке используется только для выбора нужного диапазона работы прибора. Он просто подтягивает к земле ножку микроконтроллера и только.
aumi13
18.04.2023 08:41+1если бы я делал такой прибор, то поступил бы следующим образом:
задатчик тока, возможно с разными значениями
операционный усилитель с переключаемыми коэффициентами усиления, либо несколько усилителей
реализовать автоматический выбор диапазона в такой ситуации не сложно программно.
хотя я разбирал неисправные измерительные приборы, это совсем другой уровень компонентов. Присмотритесь к подстроечным резисторам:
rsashka Автор
18.04.2023 08:41+1Вы правы. И если бы было необходимо делать подобный прибор серийно, то обязательно пришлось бы делать нормальную схему разводить плату и пр. Но в моем случае достаточно было на коленке, по сути "из гона и палок" сделать всего несколько экземпляров.
aumi13
18.04.2023 08:41+28-10 штук вполне разумная мелкосерия чтобы заморочица. хотя модульный подход сильно время экономит. тут каждый имеет право выбирать наиболее удобный путь.
s_ulimov
Принципиальное отличие кружковых поделок от промышленного оборудования, это потенциальная возможность последующей сертификации. Если это "прибор для измерения" и он предназначен для использования на каком-нибудь производстве, то он должен быть сертифицирован как средство измерения, что крайне затруднительно сделать при подобном способе производства.
Как вы обошли этот момент или вообще не заморачивались на данный счет?
rsashka Автор
Заморачиваться пришлось не то слово. Более того, это был самый главный вопрос, который пришлось решать еще ДО начала работ.
А решилось все на удивление просто. Во первых, нельзя называть подобные устройства "стенд" или "тестер". Как мне сказали, подобное наименование автоматически требует наличия сертификата поверки как средство измерения. А в нашем случае это было не целесообразно, поэтому назвали обезличено просто "прибор".
Но далее вылезает другая проблема, так как обычный прибор не является средством измерения, то просто так его использовать нельзя. Поэтому пришлось разработать инструкцию пользователя, в которой в явном виде прописать процедуру ежедневного контроля этого прибора другим уже сертифицированным средством измерения (которое одно стоит как вся партия приборов вместе взятые).