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

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


Falconist

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

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

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

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

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

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

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

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

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

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

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


 

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


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



Я, кстати, не поленился и набросал на макетке схемку на 2 RS-триггерах с перекрёстным соединением выходов и входов R.

Схема не заработала - при одновременной установке R и S на выходах (прямом и инверсном) по единице.

В добавок к этому, входы пришлось шунтировать на землю резисторами 10К.

Входы D и С тоже заземлил.

Так что и в этой задаче микроконтроллер позволяет сделать схему проще, а конечный результат получить быстрее :-)

IMG_20170425_215825_1.jpg

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

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

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

Поэтому они могут быть любыми. Еще я сказал, что 

36 минут назад, mvkarp сказал:

Ни один из вас не знает дополнительных условий, поэтому принимать решение могу только я

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

Это вы потом сказали.

@Darth_Vader , и все же сначала не были озвучены временнЫе параметры. Поэтому они - задержки - любые. Остальное - Ваши додумки. Вы даже ситуацию с приходом одновременно двух импульсов не рассмотрели. Дошли до этого уже при эксперименте. О чем не постеснялись всенародно признаться, за что отдельная уважуха.

@Falconist , по правилам (ГОСТы или что там еще, не помню уже) ТЗ составляется Заказчиком совместно с Исполнителем. Лучше - придерживаться этого правила и в быту. Если работа носит коммерческий характер, то не постесняться письменного составления ТЗ с одобрением обеих сторон. 

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

@Darth_Vader я привел плату, в которой НИЧЕГО не надо менять. Ни схему, ни саму плату. При подавляющем большинстве капризов клиента. Но Вы так ничего из моего посыла и не поняли. Тем не менее, продолжаете упёрто гнуть свою линию.

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

@Darth_Vader я привел плату, в которой НИЧЕГО не надо менять. Ни схему, ни саму плату. При подавляющем большинстве капризов клиента. Но Вы так ничего из моего посыла и не поняли. Тем не менее, продолжаете упёрто гнуть свою линию.

Ваше решение сделано под конкретные хотелки (4 вспышки стали 8) клиента. Если клиент видоизменит свои хотелки - хотя бы разные длительность вспышек и пауз между ними, как будете решать эту проблему на рассыпухе? Кто может поручиться, что он этого не захочет? :)

27 минут назад, mvkarp сказал:

@Darth_Vader , и все же сначала не были озвучены временнЫе параметры. Поэтому они - задержки - любые. Остальное - Ваши додумки. Вы даже ситуацию с приходом одновременно двух импульсов не рассмотрели. Дошли до этого уже при эксперименте. О чем не постеснялись всенародно признаться, за что отдельная уважуха.

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

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

Я тоже повторюсь:

Цитата

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

 

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

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

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

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

Мне одному кажется, что вверху написана какая-то дичь?

От решения технических задач перешли к НЛП и социальной инженерии.

В таком случае, клиент должен хотеть просто отдать мне как можно больше денег за просто так :D

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

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

А в общем весь этот спор и поиски критериев по поводу, что применять, схож с дилеммой, что первее, яйцо или курица. Ни ответа, ни критериев оценки никто так и не дал и не выработал. И никогда ответа не будет. Ибо ответ совсем в другом. :)

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

Схема не заработал

Вы все сделали неправильно! Начиная с RS-триггера, заканчивая схемой включения. У этого триггера есть строка неопределенности. Когда подается одновременно на оба входа. Я же написал, берем D-триггер, включаем по схеме #идеальный триггер#. У К561ТМ2 положительная логика. S-вход на минус. D-вход на плюс. На C-входы подается сигнал. R-входы вкючаем по схеме или. Шунтируем резистором на минус. Вперекрест на прямые выходы и общий сброс.

А вы все неправильно подключили, а потом, надувая щеки, выдохнули: не работает мля, надо мк по любасу вкорячивать...

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

Вы все сделали неправильно! Начиная с RS-триггера, заканчивая схемой включения. У этого триггера есть строка неопределенности. Когда подается одновременно на оба входа. Я же написал, берем D-триггер, включаем по схеме #идеальный триггер#. У К561ТМ2 положительная логика. S-вход на минус. D-вход на плюс. На C-входы подается сигнал. R-входы вкючаем по схеме или. Шунтируем резистором на минус. Вперекрест на прямые выходы и общий сброс.

Вы меня прямо-таки разоблачили! :D Схема-то нерабочая оказалась, а я же этот факт скрываю :)

@demiurg1978 нарисуйте свой вариант схемы символами УГО и обсудим.

Соберём конкретный вариант схемы, посмотрим, сравним с другим вариантом.

Что-то много эмоций стало и мало аргументов и конкретики - зачем?

Цитата

А вы все неправильно подключили, а потом, надувая щеки, выдохнули: не работает мля, надо мк по любасу вкорячивать...

Вот прямо так и сказал? :acute:

Пытаться приписать оппоненту то, что не делал, заставить его опровергать то, чего он не говорил - дешёвый трюк. Я на такие примитивные уловки не ведусь, придумайте что-нибудь поизящнее :)

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

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

За производительность. Без разницы как оно внутри устроено.

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

А сбрасывать схему в изначальное состояние кто будет?

Схема при включении уже в рабочем состоянии ждёт импульсов на входе.

 

3 минуты назад, demiurg1978 сказал:

Повторяю еще раз я вам дал идею, как собрать #идеальный триггер#.

Просто нарисуйте свой вариант схемы

Изменено пользователем Darth_Vader
Ссылка на комментарий
4 часа назад, demiurg1978 сказал:

R-входы вкючаем по схеме или. Шунтируем резистором на минус. Вперекрест на прямые выходы и общий сброс.

Вот с этого места непонятно становится

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

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

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

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

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

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

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

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

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

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