Почему управление одни реле с помощью ARM процессора - это нормально?

топ 100 блогов alex_avr218.05.2015 Частенько вижу и слышу высказывания насчет того, что мол современные разработчики совсем обленились и разучились делать нормальную электронику и даже ради мигания светодиодиком ставят микроконтроллер, вычислительные мощности которого используются на 0.0001%. Я расскажу на примере, почему во многих случаях такое "расточительное" использование ресурсов не только плохо, но и хорошо и на самом деле экономит ресурсы.

Простейший, немного утрированный, но очень жизненный пример. Приходит ко мне заказчик и говорит: есть две лампочки и две кнопки. Хочу чтобы одна лампочка горела, а другая не горела. Если нажать первую кнопку - лампочка которая горит должна тухнуть, а та которая не горит - загораться. Если нажать вторую кнопку, то все наоборот.

Замечательно, простейшая задачка. Решается с помощью одного реле. Беру реле, беру гору проводочков, обрезаю, зачищаю, паяю, обрезаю, зачищаю, паяю, обрезаю, зачищаю, паяю. Для простоты и быстроты - никаких печатных плат, все навесу, в термоусадке. Запихиваю в коробочку, подключаю, проверяю, готово. Вроде ерунда, а времени ушло час. Еду к черту на кулички заказчику, ставлю систему, заказчик доволен и прыгает от радости.

Проходит неделя, звонит заказчик. Все круто, говорит, но нам нужно добавить третью кнопку, чтобы пока ее хотя бы раз не нажали - первые две не работали. Начинаю чесать репу, думаю как бы это сделать. Говорю заказчику, что для этой переделки мне нужно забрать блок управления к себе минимум на день. Заказчик грустный-грустный - вся работа без кнопок да лампочек стоит, убытки идут. Но делать нечего, забираю блок, обрезаю, зачищаю, паяю, обрезаю, зачищаю, паяю, обрезаю, зачищаю, паяю. Поставил второе реле, добавил вход для третьей кнопки - все работает! Еду к черту на кулички заказчику, ставлю обновленный блок управления. Заказчик прыгает от радости.

Проходит месяц и опять звонит заказчик, грустный. Говорит, все круто работает, но хотим, чтобы вторая лампочка загоралась с задержкой три секунды, а еще спрашивает, а нельзя ли как-нибудь побыстрее поставить, чтобы на день рабочий блок не снимать? Чешу репу, думаю как сделать. Ладно, говорю, ждите, приеду. Задержка на три секнды, значит, ага, поставим простейшую схемку на нескольких дискретных элементах. Транзистор да конденсатор пойдут. Обрезаю плату кое как, паяю детальки, проверяю без блока управления, но вроде работает как надо. Еду к черту на кулички заказчику, вскрываю старый блок, обрезаю провода, прикручиваю их к новой плате, включаю, проверяю и... не работает! Ааааааа, говорю я, ну конечно, тут надо было резистор другой поставить, я ж за месяц забыл, что у заказчика не 12В, а 24В, а считал под 12. Чтож делать то? Находим в закромах заказчика какой-то древний советский резистор подходящего номинала. Отдираю неподходящий, на соплях к макетке прикручиваю подходящий. Включаем - работает, все довольны, хотя репутация чуть и подмочена, ну да ладно, с кем не бывает.

На следующий день звонит заказчик. Вам уже смешно? А мне нет - ехать то к черту на кулички :))
Отвалился тот резистор.

А теперь мы берем 32-х разрядный ARM микроконтроллер, с ядром работающем на частоте 48 Мгц, с оперативной и флеш памятью, с кучей всяких крутых встроенных фич и вообще, по многим параметрам существенно превосходящий, например, бортовой компьютер космических аппаратов Аполлон, которые летали на луну.

И да, кощунственно ставим его, чтобы управлять одним несчастным реле. Почему мы это делаем? Да все просто, ведь этот микроконтроллер, стоит дешевле, чем проехаться один раз на маршрутке (а уж тем более 4 раза на маршрутке и 2 раза на метро, к заказчику и обратно). Потому что использование микроконтроллера во многих случаях позволяет за считанные минуты поменять алгоритм - быстрее, чем паяльник будет греться.

Конечно, микроконтроллеры тоже нужно использовать с умом, ведь можно и под него сделать такую плату, которую не изменить, а без изменения платы часто и алгоритм менять бессмысленно. Тут я поступил следующим образом - разработал универсальную плату с микроконтроллером и минимально необходимым обвязом и сделал 4 эквивалентных разъема(физически один большой). В каждый из разъемов можно воткнуть один из стандартных модулей, всего их на текущий момент более десятка видов. А если вдруг нужно еще больше модулей, то платы без проблем связываются в сеть.

Почему управление одни реле с помощью ARM процессора - это нормально?

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

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

И да, если мне нужно управлять одним реле от одной кнопки я ставлю такую плату. И да, у меня ARM микроконтроллер управляет одним реле и меня ничуть это не смущает, ибо в конечном счете мне это дешевле и по времени и по деньгам.

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

И конечно, каждое конкретное техническое решение должно быть использовано согласно своим достоинствам и недостаткам для решения задачи. Не бывает всегда "хороших" решений или всегда "плохих".

Оставить комментарий

Архив записей в блогах:
Жило-было одно бедное азиатское королевство, занимавшее больше половины Аравийского полуострова. Жило — не тужило, но тут в 1938 году на его территории обнаружили огромные залежи нефти, и началось… Из нищей страны это королевство превратилось в одно из самых богатых и процветающих ...
Тут Гелена сначала показывала списки параметров, по которым предлагают определить потенциальных партнеров, "с кем лучше не связываться". А потом она предложила самим такой список написать. Мне приведенный у нее список в целом понравился, хотя некоторые пункты показались странными. Но ...
Думаю, ни для кого не секрет, чем занимается Летучая. На известной передаче "Ревизорро" она успела нажить себе достаточно много врагов. А всё только потому, что люди не хотят делать свою работу подобающим образом. «Мне угрожают расправой. Охрану действительно наняли. Обещали очернить ...
На днях у меня возник диспут по поводу информационной политики правительства России. Я утверждал, что есть направления, где она откровенно провальна, меня же в ответ пытались шапками закидать. Тогда я решил не горячиться, а подсобрать подтверждающие мою точку зрения факты. Потому что крити ...
Microsoft готова сотрудничать с ФСБ После появления информации о том, что Microsoft не исключает передачи шифровальных алгоритмов Skype российским спецслужбам, компания распространила письмо, в котором поясняется, что речь идет об исходных кодах ...