alex_avr (alex_avr2) wrote,
alex_avr
alex_avr2

Category:

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

  • Снежные Ловозёрские тундры

    В Москве снега до сих пор нет, между тем я ещё больше месяца назад успел по нему накататься, заехав наверх Ловозёрского горного массива, что на…

  • Два года владения Pajero Sport 2

    Вот так, незаметно прошло ровно два года, как я купил машину Pajero Sport 2. Всё собираюсь написать кучу подробностей про опыт эксплуатации, но всё…

  • Внедорожный опыт на Pajero Sport

    Впервые за почти два года катания на машине таки хорошо засел в бездорожье. До этого до лопаты доходило только два раза зимой, причём в собственном…

promo alex_avr2 july 2, 2018 13:00 41
Buy for 200 tokens
Думаю многие слышали рассказы про огромные бункеры под Москвой, подземные города, секретное метро на случай ядерной войны. Многое в этих рассказах очевидно преувеличено, что-то придумано, но безусловно, основаны они не на пустом месте. Совсем недавно небольшой кусочек этих подземных тайн был…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 112 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →

  • Снежные Ловозёрские тундры

    В Москве снега до сих пор нет, между тем я ещё больше месяца назад успел по нему накататься, заехав наверх Ловозёрского горного массива, что на…

  • Два года владения Pajero Sport 2

    Вот так, незаметно прошло ровно два года, как я купил машину Pajero Sport 2. Всё собираюсь написать кучу подробностей про опыт эксплуатации, но всё…

  • Внедорожный опыт на Pajero Sport

    Впервые за почти два года катания на машине таки хорошо засел в бездорожье. До этого до лопаты доходило только два раза зимой, причём в собственном…