• advertisement_alt
  • advertisement_alt
  • advertisement_alt
  • Объявления

    • admin

      Анонсы постов вашего блога в группах паяльника   04.09.2016

      Самые интересные посты будут анонсироваться в группах VK и FaceBook. Охват одного поста составляет несколько тысяч человек. Пример анонса записи про книгу Sprint Layout: в группе VK, в группе Facebook.  Поэтому если вы считаете, что ваш пост будет интересен аудитории, то не стесняйтесь - пишите, сделаем пост!

Falconist. Мемуары

  • записей
    26
  • комментариев
    389
  • просмотров
    8 116

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

Falconist

2 967 просмотров

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

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

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

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

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

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

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

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

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

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


 


3


174 комментария




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

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

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

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

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

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

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

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

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

Изменено пользователем Darth_Vader
0

Поделиться комментарием


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

Вновь однобокие суждения. А где анализ необходимого и достаточного?

@Darth_Vader , а какой контроллер Вы используете в своих разработках?

0

Поделиться комментарием


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

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

0

Поделиться комментарием


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

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

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

Изменено пользователем Darth_Vader
0

Поделиться комментарием


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

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

0

Поделиться комментарием


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

Сложно сказать потому что неизвестно, что дальше делать. Просто определить или что?

0

Поделиться комментарием


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

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

Изменено пользователем mvkarp
0

Поделиться комментарием


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

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

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

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

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

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

Изменено пользователем Darth_Vader
0

Поделиться комментарием


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

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

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

0

Поделиться комментарием


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

2 RS-триггера

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

0

Поделиться комментарием


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

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

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

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

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

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

Изменено пользователем Darth_Vader
0

Поделиться комментарием


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

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

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

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

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

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

 

0

Поделиться комментарием


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

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

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

 

0

Поделиться комментарием


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

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

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

0

Поделиться комментарием


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

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

0

Поделиться комментарием


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

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

0

Поделиться комментарием


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

 

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

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

0

Поделиться комментарием


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

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

0

Поделиться комментарием


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас