Перейти к содержанию
  • записи
    53
  • комментариев
    1 217
  • просмотра
    81 673

Микроскоп в роли молотка?


Falconist

31 837 просмотров

На форуме как-то исподволь сложилось мнение, что я являюсь каким-то "микроконтроллероненавистником"... Отнюдь нет! МК - великолепный инструмент для решения множества достаточно сложных задач, которые с применением рассыпной логики решались с огромным геморроем. Ключевые слова здесь: "достаточно сложных"! Но когда МК пихают во все дырки куда ни попадя (типа помигать светодиодами) - поневоле приходят на ум слова "забивать гвозди микроскопом". Причем, апологеты массового применения МК заливаются соловьями (сиречь нагло врут), утверждая, что при изменении алгоритма работы "в железе ничего менять не надо - только в прошивке".

Ситуация вчерашнего и сегодняшнего дней, категорически противоречащая этому утверждению: взял субподряд на изготовлении узла управления специфической мигалки для авто. Алгоритм такой: при подаче напряжения питания должно последовать 4 вспышки, после чего светодиод светится постоянно, пока не снято напряжения питания. Если снова подать питание - цикл повторяется. Если снять питание, пока идут вспышки, то при его новой подаче цикл начинается сначала. Причем, первый импульс должен начинаться в момент подачи питания.

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

Даже если бы всё (за исключением последнего пункта) и было - попробую ситуацию немного усугубить. Изменили константу, отвечающую за частоту. Прошили МК заново. Показали клиенту. Ему не понравилось количество вспышек. Потребовал увеличить с 4 до 8  Изменили константу, отвечающую за к-во вспышек. Прошили МК заново. Показали клиенту. Теперь ему снова не понравилась частота вспышек - слишком мала. Изменили константу, отвечающую за частоту. Прошили МК заново. Показали клиенту... И т.д. и т.п. Причем, клиент ничего не может поменять сам - только ехать на сервис, чтобы перепрошивали МК.

Причем, утрировал ситуацию я не сильно. Буквально вчера речь шла о 4-х вспышках. А сегодня генподрядчик возжелал, чтобы их было 8!

Покрутил я Т.З. и так и эдак... И уже ночью сообразил, что вся "хотелка" может быть реализована с помощью одной-единственной КМОП микросхемы CD4060:

Мигалка - логика.GIF

Собственно, схема известна, применяется в реле времени/таймерах, я только использовал младшие разряды счетчика для формирования начальных вспышек.

При подаче напряжения питания счетчик обнуляется через конденсатор С1 и запускается тактовая генерация. С выходов Q9 или Q10 (выбираемых перемычкой Х2) единичные импульсы поступают на силовой блок, запрещая его работу (т.е., формируя паузы между импульсами). Через 4-8-16 таких импульсов (опять же их количество выбирается перемычкой Х3), единица через диод VD1 "затыкает" генератор тактовых импульсов и счетчик остается в этом состоянии до снятия напряжения питания. На исполнительный узел поступает логический ноль, разрешая его работу. Частота генерации регулируется подстроечным резистором R1. ВСЁ! Алгоритм соблюден. Меняться в определенных пределах может клиентом, совершенно незнакомым с МК самостоятельно. Размеры платы практически такие же, как и с МК. Не требует программатора и умения программирования.

Засим еще раз повторюсь: я целиком и полностью "ЗА" широкое применение микроконтроллеров при условии, что для данной задачи их применение обосновано!!!


 

462 Комментария


Рекомендуемые комментарии



6 минут назад, Falconist сказал:

Вы не учли месяцев на освоение самого программирования.

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

6 минут назад, Falconist сказал:

Кстати, разработка схемы заняла не полночи, а те же 15 минут, что и для Вас переделка программы. Ибо позади - ГОДЫ опыта по конструированию. См. первую строку моего ответа.

Так это вы уже новое устройство разработали под новое ТЗ. Разработка схемы, платы, сборка....

А умели бы программировать - подцепили программатор и вуаля.

Не обижайтесь, но в данном случае вы просто не за своё взялись. Потому что с устройством на МК нужно именно брать программатор и программировать, а не переделывать устройство с 0 на другой элементной базе.

Претензий ведь к схемотехнике нет. Необходимо изменить логику работы = изменить программу. А что вместо этого вы начинаете делать? :)

Изменено пользователем Darth_Vader
Ссылка на комментарий

К тому, что Вы при проектировании схему выбираете МК по необходимым и достаточным условиям. А здесь впариваете мысли о том, что только МК спасет мир.
Изучайте скорее ARM. И другие тоже. И применяйте во всех разработках  самый крутой. А то кому-то вдруг завтра понадобиться тактовая на гигагерцы. Светодиодиком помигать. :)

Ссылка на комментарий
5 минут назад, mvkarp сказал:

впариваете мысли о том, что только МК спасет мир

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

Изменено пользователем Darth_Vader
Ссылка на комментарий

Пока абстрактное задание. У меня есть два импульсных сигнала. Мне нужно определить, какой из них пришел раньше. Что мне применить - МК или логику?

Ссылка на комментарий

Вывести сигналы на две выходные клеммы - кто раньше, то и засветился.

Изменено пользователем mvkarp
Ссылка на комментарий
21 минуту назад, mvkarp сказал:

Вывести сигналы на две выходные клеммы - кто раньше, то и засветился.

2 RS-триггера - импульсы приходят на вход S, на выходы Q заведены светодиоды и они же подключены к входам R другого триггера.

7 минут назад, Falconist сказал:

Это уже "МК-филия" как аналог "аудиофилии". Не лечится.
 

"Пастернака не читал, но осуждаю" :)

Изменено пользователем Darth_Vader
Ссылка на комментарий
1 минуту назад, Falconist сказал:

Я и говорю: "Не лечится".

Отвечать вам в том же духе я точно не буду, а аргументов у вас нет. Отсутствие у вас навыков программирования МК ("месяцы на освоение программирования") это не аргумент, а квалификация :)

Ссылка на комментарий
8 минут назад, mvkarp сказал:

А отчего же не МК? Вы ведь так их защищаете.

Потому что вы от меня именно такого варианта и ждали :) (может хотели показать, что я кроме МК ничего не знаю - сложно сказать. мне 40 лет, высшее электротехническое образование, паяльник взял в руки ещё в СССР)

Могу и на МК. У меня есть варианты на чём делать и я могу сравнить как делать в конкретных условиях лучше.

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

Более того, я считаю, что вовремя понять, что задача не по зубам и не браться за неё - важное умение профессионала.

Изменено пользователем Darth_Vader
Ссылка на комментарий

А я стану считать, что МК применен неправильно. И кто здесь будет прав?

15 минут назад, Darth_Vader сказал:

вы от меня именно такого варианта и ждали

Ага! Но Вы не повелись.

PS. Мне 55. Высшее радиотехническое образование. Паяльник взял еще задолго до распада СССР. Где-то за полтора десятка лет. :)

 

Ссылка на комментарий
Только что, mvkarp сказал:

А я стану считать, что МК применен неправильно. И кто здесь будет прав?

Вырабатываем оценочную функцию и ей оцениваем все варианты. Системный анализ и исследование операций :)

 

Ссылка на комментарий

У-у-у! Не хочется. Пусть башка в теневом режиме принимает решение. :)

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

Ссылка на комментарий

По последней задачке. Зависит от требований по быстродействию. А так, хоть на логике, хоть на мк. Если на логике, то двойной полный D-триггер. К примеру К561ТМ2. Включаем триггеры по схеме идеальный триггер. S-вход на минус. Он не участвует. D-вход на плюс. C-вход входы сигналов. R-вход вперекрест на прямые выходы триггеров.

Ссылка на комментарий

Писал в дороге. Приехал, еще немного подумал. В схему придется еще элементы "ИЛИ" добавить, либо R-входы шунтируем резисторами, и входы сигналов через диоды и сигнал общего сброса через диоды. В общем, схема "ИЛИ" на диодах.

Ссылка на комментарий
1 час назад, Darth_Vader сказал:

 

Тема "Рассыпуха или МК" не простая. Все зависит от задачи, возможностей и экономической целесообразностью. В последнем случае тоже два варианта. Что тебе дороже: время или деньги.

Вот вы привели схему на МК. Ни вапрос. Быстродействие? Питание? Да! На МК проще, но не забывайте про питание МК! А это добавляет лишних заморочек.

Ссылка на комментарий

Если подразумевается МК, то подразумевается и питание к нему. Априори. Батарейки не рисуйте. Логику тоже нужно правильно запитать.

Ссылка на комментарий

Ага! :)
 

4 часа назад, demiurg1978 сказал:

Все зависит от задачи

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

7 часов назад, mvkarp сказал:

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

С моей. :)

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Добавить комментарий...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...