• Что такое MISRA и как её готовить
    +3
    По-моему, вы не читаете мои сообщения. Использование default — маленький кирпичик, который может повысить надежность.

    Кстати, если вы так настаиваете, я тоже перейду на личности и спрошу — а вы сами далеко ушли от Arduino? Похоже нет.

    И показать, почему это будет лучше, чем без default.


    То, что наличие дополнительной обработки ошибок лучше, чем ее отсутствие, не очевидно?
  • Что такое MISRA и как её готовить
    +4
    я единственный, кто последовательно, логично и с примерами отстаивает свою позицию.


    Переход на аргументы ad hominem плохо сочетается с перечисленными добродетелями. :)

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


    В реальном мире никогда не будет идеальных условий эксплуатации — просто примите это. Причем чем специфичнее применение, тем условия, как правило, тяжелее. И программа, по-возможности, должна если и не спасать положение целиком, то хотя бы минимизировать финальный ущерб. Это достигается не только программными средствами, конечно; критичные функции всегда защищаются аппаратно, насколько это возможно.

    Кстати, от выбивания битов в памяти не имунна полностью и «правильная» по вашему мнению элементная база. Да, в технологии с диэлектрическими подложками тиристорного эффекта не будет, но вероятность повреждения памяти заряженными частицами все равно есть. Предлагаете делать на лампах? Вот они да, 100% защищены от всех эффектов.

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

    Жизнь сложна и многообразна; защищаться воплями «ЭТО НАРУШЕНИЕ ПРАВИЛ ЭКСПЛУАТАЦИИ ВЫ САМИ ВИНОВАТЫ!!!1111» — так себе вариант. Надо предполагать работу аппаратуры и в нештатных условиях. В том числе и не предусмотренных ТЗ, но вероятных, в том числе и в результате возможного раздолбайства.

    Вы таки продемонстрируете код?


    Эээ, вам написать switch, в котором в блоке default осуществляется вызов обработчика ошибки?
  • Что такое MISRA и как её готовить
    +4
    Ну, если человеку (не вам лично, я вообще) кажется хардкором отсутствие динамического выделения памяти — значит он очень далек от эмбеда. :)

    Статическое объявление всего — вообще первая особенность программирования под железо. Во-первых, в 90% случаев отсутствует ОС, так что по умолчанию следить за памятью нечему, а реализации менеджера памяти в стандартной библиотеке не слишком оптимальны. При этом действительно хорошая реализация malloc() может занимать места столько же, сколько вся программа.

    Ну и я уже не говорю о том, что выделение памяти, действительно, недетерминированная операция; нет никакой гарантии, что в нужный момент окажется доступным нужный объем памяти.
  • Что такое MISRA и как её готовить
    +3
    Да вот только правило говорит нам, что следует всегда использовать default.


    Лучше перебдеть.

    Действительно не поверю. Если программа гадит не пойми куда ...


    Хехе, сразу видно программиста не-железячника.

    Программа тут не при чем. Может прилететь частица и изменить бит в памяти (нормальная ситуация для аппаратуры на спутниках), может случиться скачок/просадка напряжения и повредить участок FLASH/EEPROM (например, если BOD настроен неверно и запись в NVM прошла при нештатном напряжении) или область RAM, может быть повреждена линия к внешней микросхеме памяти, и еще куча вариантов.

    Только при чём тут default?


    Это самый простой способ отловить неожиданное значение.
  • Что такое MISRA и как её готовить
    +1
    1. enum не всегда подходит: иногда удобно делать switch по константам, связанным с содержимым аппаратных регистров.

    2. Память контроллера, не поверите, может быть испорчена в рантайме. Или даже не память — некорректное значение может прийти через USART, например.

    Вкратце: не всегда switch делается по членам enum'а.
  • Почему разработчики так любят тёмную тему
    0
    Вот я кстати исторически пользуюсь светлыми темами. И в DipTrace, и в редакторах кода, и во всем прочем софте, который поддерживает темы.

    Склоняюсь к тому, что это просто дело вкуса. Но лично мне в темной теме сложнее сфокусироваться на нужных элементах, и вообще глаз хуже адаптируется.
  • Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32)
    0
    MPU обычно хоть какой-нибдь даже есть


    В тех системах, с которыми работаю я, MPU обычно нет. :)
  • Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32)
    0
    О-о-о, мосье — большой эстет! :)

    Может тогда уж лучше TCL? :)
  • Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32)
    0
    Иногда бывает полезно иметь скриптовый язык в устройстве, особенно когда стоит задача дать пользователю возможность слегка модифицировать логику работы, но при этом не дать натворить непоправимого.

    Lua кстати — самый шустрый и легковесный вариант для таких случаев. По работе делал примерно то же самое, что описано в статье, для местного испытательного комплекса. Только у нас там еще и самописный WEB-сервер (сеть через Ethernet). Все вместе занимает 144380 байт во флеше STM32F429 (FreeRTOS + драйвера + Lua + стек TCP/IP + WEB-сервер).
  • Синглтон, размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4)
    0
    Какой чудесный комментарий. :) Ну да, мало кто помнит, как работают структуры и указатели. Нынче людям интереснее разбираться с синглтонами и прочими модными штуками. :)

    А теперь внимательно-внимательно посмотрите, что делает каждая запись.

    Эти записи пишут в одно и то же место. Только одна использует инструкцию записи слова, а другая — байта.

    Во второй записи происходит следующее: мы берем адрес регистра (потому что структура отображается непосредственно на область памяти, которую занимает модуль SPI), приводим его к типу указателя на uint8_t и разыменовываем обратно.

    В первом случае мы пишем просто в регистр, который в структуре объявлен как uint16_t.
  • Синглтон, размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4)
    0
    А чего компилятор это не ловит в 2019-м-то году?


    Потому что может быть случай, когда человек хотел сделать именно так. Может это какой-то хитрый регистр, обращение к которому по такому правилу вызывает определенный эффект?

    Скажем, в STM32F0 модуль SPI устроен так, что обращения

    SPIx->DR = byte;

    и

    *((uint8_t *)(&(SPIx->DR))) = byte;

    вызывают разный аппаратный эффект. Внезапно, да?

    Вообще, корректно работать с указателями на уровне рефлекса — первое, чему должен научиться разработчик встроенных систем.
  • Синглтон, размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4)
    0
    Я вообще не помню, чтобы за всю мою практику мне приходилось в эмбеде использовать сортировку. :)
  • Синглтон, размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4)
    0
    мне тоже приходятся байтики ворочать, просто их обычно в районе 10-100 миллиардов, и они все в памяти, и мне надо уметь быстро по ним отвечать на запросы, или что-то матрично-машинно-обучательное воротить.


    При этом количество памяти измеряется сотнями гигабайт, частоты процессоров — гигагерцами, а их количество — сотнями? Тогда ваша позиция неудивительна.

    Поймите меня верно, я совершенно не подвергаю сомнению ваш опыт в обработке больших массивов данных, но, поверьте, контроллер микроволновки программируется совсем по-другому, и тут навыки в описываемой области так же бесполезны, как и мои навыки в программировании контроллеров бесполезны применительно к big data.
  • Коды Рида-Соломона. Часть 2 — арифметика полей Галуа
    +1
    Изумительно! Я наконец понял, как это все работает. :) В универе бы нам так рассказывали!
  • Коды Рида-Соломона. Часть 1 — теория простым языком
    +1
    ААААААА!!!
    ААААААААА!!!!11111

    Гхм, эээ, простите. :) Просто я в восторге — вот так и надо писать статьи и учебники. Отличный пример хорошей подачи материала. Я очень надеюсь, что такой стиль будет распространяться и вытеснять из практики преподавания нынешний академический стиль.
  • Текстолит вместо картона. Пара слов об интерактивном бейдже OFFZONE 2019
    +1
    «Таблетки» не потянут описанную периферию. Можно было бы, правда, поставить CR123A, но AAA дешевле.
  • Текстолит вместо картона. Пара слов об интерактивном бейдже OFFZONE 2019
    +2
    Вам принципиально, чтобы оно выглядело так же гламурно? Тогда попросите знакомого электронщика, он вам за вечер такое оттрассирует. Дальше отдаете в производство — и вперед.

    Если стандартный внешний вид устраивает — продается множество отладочных плат. Купите ту, на которой есть интересные вам модули, и наслаждайтесь. :)
  • Тюнинг переходных отверстий печатных плат
    0
    Ооо, хехе, вот у нас на работе как раз любимое развлечение — протаскивать SPI, IIC, UART и похожее через кабели длиной метров пять. :) При этом конвертеры в какой-нибудь RS-485 в силу специфики не поставить.

    А что до гигагерц, то, как я говорил, для меня это трансиверы. Топология там простая — трансивер, симметрирующий узел (aka balun) и дальше SMA-разьем, все. :)
  • Тюнинг переходных отверстий печатных плат
    0
    Хорошая статья, спасибо!

    Для себя понял, что, по всей видимости, где-то до 5 ГГц можно особенно не заморачиваться.

    В принципе, самое скоростное, что есть в моей практике — это трансиверы на 2.4 ГГц. Как-то так сложилось, что я больше занимаюсь низкопотребляющими решениями.
  • Понимание алгоритма БПФ
    +1
    Простите, мой комментарий может показаться резковатым, но накипело.

    в главе 10 нашей будущей книги


    Если вся книга написана в том же духе, что и эта статья, то мне печально. Увы! Примерно с шестидесятых годов прошлого века в отечественной литературе наметилось стремление к наукообразию. Не знаю, что тому причиной, но факт. И это ужасно.

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

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

    В итоге статья, которая называется "Понимание алгоритма БПФ", сходу путает читателя, отдаляя его от этого самого понимания. Зато красиво, с матрицами.

    Вот человек хорошо объяснил, что такое преобразование Фурье. Что-то в духе этого комментария должно было быть в начале статьи. А потом можно было бы объяснить, что FFT — это набор скалярных произведений на базовые ортогональные векторы. Вот это как раз очевидно, но про это в статье — ни слова.

    Математически БПФ — это координаты нашего сигнала в пространстве, в котором синусоиды выступают в качестве орт. Физически — (частотный) спектр сигнала. Все!

    Какое «конфигурационное пространство»? Что это вообще такое? Впрочем, я понимаю — тот, кто сходу может увидеть в комплексном суммировании матричное умножение, наверняка это знает. Но ему эта статья скорее всего уже не нужна.

    Ну а дальше разбор математики с периодичностью, разбиением на две суммы и так далее. Это стандартно.

    Вот действительно хорошая статья про FFT. Из нее да, можно понять. Картинки, подробные записи вычислений, ясные объяснения.

    Ну и, конечно, язык, да.
    «это реализация на Фортране, которая получила годы доработок и оптимизаций.»

    Реализация получила годы? Может быть, «дорабатывалась на протяжении многих лет», или как-то так?

    «преподнесли некоторую интуицию»

    Видимо, не совсем корректная калька с «brought some insight». Статья, кстати, точно не перевод? Вообще, она носителем русского языка написана?

    «справиться с реализацией «черного ящика» фундаментальных инструментов, созданных нашими более алгоритмически настроенными коллегами»

    Справиться с реализацией того, что, как следует из продолжения фразы, уже реализовано другими?

  • Кому эффективнее всего заниматься разводкой печатных плат?
    +3
    Странные рассуждения. Трассировать плату должен тот, кто рисовал схему, однозначно. Разделять эти процессы — значит заведомо терять в эффективности.

    • Если конкретный компонент не подходит геометрически, чаще всего можно рассмотреть варианты по его замене, возможно, с некоторым изменением схемотехнического решения. Если эти рассуждения происходят в голове одного человека — они происходят молниеносно. Если же процесс разделен между людьми, требуется время, чтобы они поняли друг друга (а потом еще время на внесение и согласование изменений). Более того, если конструктор не слишком разбирается в схемотехнике, то он может даже не представлять, что замена реальна. В итоге устройство либо теряет в возможностях (или в итоге будет иметь худшие параметры, чем могло бы), либо секундный процесс затягивается на дни.
    • Топология чаще всего очень связана с, как это назвали выше, семантикой элементов в контексте схемы. Опять же, если конструктор-трассировщик не разбирается в схемотехнике, то разработчику придется долго комментировать ему требуемые нюансы трассировки. Либо сам трассировщик должен хорошо разбираться в схемотехнике. Но если мы имеем схемотехника, который, по факту, может хорошо трассировать, и трассировщика, который хорошо разбирается в схемотехнике, то мы фактически имеем двух хороших разработчиков, которым будет логичнее дать по цельному индивидуальному проекту — так будет эффективнее за счет отсутствия лишних согласований.


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

    «Не учат в ВУЗах» — не смешите. В ВУЗах на данный момент не рассказывают 80% того, что должен знать нормальный профессионал. Если студент не занимается самообразованием, специалиста из него не выйдет.
  • Иди-ка ты на !@# со своей «токсичностью»
    0
    Ох. Столько комментариев, столько мнений… А все оттого, что когда-то давно, по причинам, которые лежат за пределами здешнего обсуждения, люди фатально решили, что профильное образование может заменить обычное человеческое воспитание. Оказалось, однако, что умение брать тройные интегралы не делает из дикаря просвещенного человека — последнее достигается по-другому и параллельно.

    Помните знаменитое разделение на «физиков» и «лириков»? Это самый известный знак того, что общество зашло не туда. Инженеры и ученые «старой школы» просто не поняли бы такой постановки вопроса.

    Шухов отлично разбирался в опере и создавал фотоснимки, имевшие очевидную художественную ценность.

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

    Про то, что Ломоносов писал стихи, все и так знают.

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

    Сейчас вроде бы заметна положительная динамика в этом направлении, но, боюсь, результаты мы увидим еще очень нескоро. А до тех пор все будут спорить, каким же должен быть инженер/программист…
  • Получаем доступ к рабочему столу WinCE и запускаем Doom на осциллографе Keysight DSOX1102G
    0
    Что еще надо?


    Собственно фронтенд обработки сигнала, 90% осциллографа. Прецизионные аналоговые входные цепи, цепи калибровки, скоростные АЦП и — самое главное — быстрая ПЛИС, которая будет принимать поток данных с АЦП, на той же скорости обрабатывать его в поисках условий захвата и при их обнаружении заполнять буферную память. А вот из этой памяти процессор потом берет готовые данные и неспеша отрисовывает их на экране.

    Иными словами, вся задача «компьютерной» подсистемы сводится к обработке кнопочек, миганию лампочками, настройке аппаратуры и отрисовке UI на экране. Сам захват сигнала в нормальных осциллографах производится аппаратно, как описано выше. Только так можно получить нормальные характеристики. Это даже не говоря о том, что выполнять захват сигнала в реальном времени под многозадачной операционной системой типа Linux/Windows вообще несерьезно.
  • Получаем доступ к рабочему столу WinCE и запускаем Doom на осциллографе Keysight DSOX1102G
    0
    Вообще после того как пользуешься RTO брать в руки что-то типа китайских хантеков или тектрониксов противно, есть куча дополнительного функционала (за ваши деньги), о котором вы не подозревали, но когда узнали — не можете перестать пользоваться.


    Здесь есть правдивая мысль… После того, как попользуешься хорошим оборудованием, low-end становится немного некомфортен. :) Rohde & Schwarz кстати особенно преуспевают в плане UI — за это, по всей видимости, они при тех же характеристиках и дороже.

    Но будем смотреть правде в глаза — домой такое не купить (если что, я понял иронию в первом сообщении). Помню на работе мне понравился один блок питания — ну очень удобный. Управление логичное, интерфейс красивый, размер компактный, встроенный мультиметр… Думал — куплю себе домой! Потом нашел его в магазине, посмотрел на цену и понял, что не куплю.: D
  • Получаем доступ к рабочему столу WinCE и запускаем Doom на осциллографе Keysight DSOX1102G
    +1
    Осциллограф должен иметь в своём арсенале любой уважающий себя энтузиаст-электронщик. Осциллографы, кратко говоря, позволяют вам изучать волны электрических сигналов в контуре, а цифровые осциллографы (digital storage oscilloscope, DSO) незаменимы тем, что могут найти редкие ошибки в сигнале, которые не распознает аналоговый осциллограф или мультиметр.


    Господи Исусе, надо же так-то, а… Вот поэтому я предпочитаю читать оригиналы.

    «The oscilloscope is one piece of equipment that any self-respecting electronics enthusiast should have. In short, oscilloscopes let you view the electronic waveforms of a circuit, and digital storage oscilloscopes (DSOs) are especially useful since they can reveal infrequent glitches on signals that an analog oscilloscope or a multimeter wouldn’t pick up.»

    ->

    «Осциллограф — это прибор, который полезно иметь [там should, а не must!] каждому уважающему себя радиолюбителю. Вкратце, осциллограф позволяет наблюдать формы электрических сигналов в схемах, при этом цифровые запоминающие осциллографы хороши тем, что могут помочь обнаружить редкие артефакты в сигнале, которые невозможно зарегистрировать аналоговым осциллографом или мультиметром.»
  • Познакомьтесь с анархистами, самостоятельно делающими лекарства
    0
    Да-да, как-то так. Ну или там «Панацея своими руками». Смысл в том, что уксус тут — совсем не главное. :)
  • Познакомьтесь с анархистами, самостоятельно делающими лекарства
    0
    «Four Thieves Vinegar» — словосочетание фразеологического толка. Вот статья в Википедии:
    en.wikipedia.org/wiki/Four_thieves_vinegar

    Так что правильный в смысловом плане перевод названия статьи — вообще что-то в духе «Лекарство от всего», «Гарантированное лекарство» и т.п. Как-то так. В русском варианте имеет смысл обойтись вообще без всякого уксуса.
  • Вышла первая бета-версия операционной системы Haiku R1
    0
    А что там у этой ОС с браузером? В нем можно нормально серфить современные страницы? Тот же YouTube поддерживается на 100%?

    Если с ним все ОК, так я бы, может быть, поставил ее на свой древний нетбук вместо XP.
  • Рекламные трюки, которые могут стоить вам денег и репутации
    +2
    Надо понимать, где нецензурная лексика в тему, а где — нет. Скажу сразу, что в тему она примерно в 0.01% ситуаций, а в остальных случаях — не в тему. В принципе, русский язык достаточно богат, чтобы на нем можно было выразить любую мысль, не прибегая к непечатным выражениям. Неспособность к этому некоторых людей свидетельствует либо об узком словарном запасе, либо о недостатке воспитания, либо о том и другом одновременно.

    По поводу отвращения. Наборы букв, сами по себе бессмысленные, для того и созданы, чтобы выражать концепции и понятия. Конкретно обсуждаемый раздел лексики выражает концепции и понятия, вызывающие предельное отвращение у воспитанного человека. Само по себе это нормально — ведь как-то же мы должны вербально описывать то, что вызывает предельное отвращение? Без этого язык был бы неполон. Но зачем без реальной нужды копаться в говне?

    Что касается непечатного в рекламе. Любой текст, вынесенный на обозрение широких масс, неизбежно выполняет роль эталона речевой нормы. Ну и, думаю, не надо объяснять, что мат никак не может проходить как речевая норма.
  • Регулятор оборотов минидрели
    +1
    Имею в виду, что в случае MC34063 подачей напряжения на управляющий вход невозможно добиться линейного изменения коэффициента заполнения.

    Генератор у MC34063 всегда работает на фиксированной частоте и фиксированной скважности, сигнал с компаратора лишь включает или отключает его (точнее, разрешает или запрещает прохождение сигнала с него на ключ), но не управляет собственно коэффициентом заполнения.

    Например, TL5001, TL494, UC3842 принципиально можно сконфигурировать так, чтобы, подавая на вход ОС линейно изменяющееся напряжение, получать на выходе ШИМ с линейно изменяющимся коэффициентом заполнения. С MC34063 такое невозможно — сигнал от компаратора заводится на элемент «И», который управляет выходным составным транзистором. Линейное регулирование в такой системе невозможно. Цитата из AN920/D, ссылку на которую я приводил:

    The output of the comparator can set the latch only during the ramp−up of CT and can initiate a partial or full on−cycle of output switch conduction. Once the comparator has set the latch, it cannot reset it. The latch will remain set until CT begins ramping down. Thus the comparator can initiate output switch conduction, but cannot terminate it and the latch is always reset when CT begins ramping down. The comparator’s output will be at a Logic “0” when the output voltage of the switching regulator is above nominal. Under these conditions, the comparator’s output can inhibit a portion of the output switch on−cycle, a complete cycle, a complete cycle plus a portion of one cycle, multiple cycles, or multiple cycles plus a portion of one cycle.

    Таким образом, режим работы MC34063 — не PWM, а PFM, ближе к constant-on-time / hysteretic mode.

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

    В вашем случае сигнал на моторе будет колбасить, это не будет нормальный ШИМ. Да, мотор проинтегрирует и это, но неаккуратненько…
  • Регулятор оборотов минидрели
    0
    Я поправил сообщение выше. Различие только в рисовке, вопрос снят. Мне показалось, что соединены все выводы — 6, 7, 8 и 1.
  • Регулятор оборотов минидрели
    0
    Прочтите аппноут, который я советовал. MC34063 не регулирует коэффициент заполнения, она включает или выключает генератор. Это режим PFM.

    А так, я понял, что вы хотели сделать. Я объясняю, что у вас получилось не совсем то. :)
  • Регулятор оборотов минидрели
    +2
    Да-да, вы нашли верную картинку. А теперь внимааааательно посмотрите, как включен вывод Ipk на картинке из даташита и у вас.

    Внимательно смотреть надо было мне. Просто на схеме в статье эта часть нарисована не слишком ясно. Мне показалось, что закорочены все выводы — и 6, и 7, и 8, и 1.

    Этот вопрос снят.
  • Регулятор оборотов минидрели
    0
    Искрение щеток никто не отменял, что в маленькой дрельке, что в большой. Так что конденсатор был бы кстати. Но можно и без него, да. В любом случае, это не главный недостаток предлагаемой схемы.
  • Регулятор оборотов минидрели
    +1
    В чём состоит неверность?


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

    Можно было это реализовать и стабилитроном, а можно L78L09.


    Согласен, дело вкуса.

    Все конденсаторы в наборе керамические


    Кстати тоже не лучший выбор. У вас там емкости в десятки микрофарад. Такие конденсаторы, если они керамические, делаются из керамики с характеристиками X7R или даже хуже. Их емкость дико зависит от температуры и приложенного напряжения. При ваших рабочих напряжениях от заявленных 10/22 мкФ остается хорошо если треть. Ставить конденсатор с нестабильными характеристиками в цепь ОС ОУ — тоже так себе идея, хотя тут, конечно, это некритично.

    Кроме того, низкое ЭПС керамического конденсатора может быть причиной нестабильности классического регулятора напряжения. Но вам, видимо, с этим повезло. Современные варианты 78xx крайне стабильны.

    Лучшим выбором были бы обычные электролитические конденсаторы в SMD-исполнении.
  • Регулятор оборотов минидрели
    0
    Вот оно чего. :) Как по мне, не совсем так надо бы создавать запас надежности, ну да ладно. Впрочем, выше я уже привел развернутую критику и изложил свои мысли на тему того, как бы я делал такую вещь.
  • Регулятор оборотов минидрели
    –1
    Воу. А сколько же сие потребляет в режиме сверления? Если что, предельный ток ключа у MC34063 — 1.5 А. *facepalm*
  • Регулятор оборотов минидрели
    +2
    Смысл предлагаемого в статье решения — всего лишь в ограничении оборотов холостого хода, это да.

    А в случае стабилизации оборотов пришлось бы возиться с компенсацией линейной обратной связи.
  • Регулятор оборотов минидрели
    +1
    Ну, так-то, это правда не сложная плата. :)

    Смысл здесь в регулировке оборотов с помощью ШИМ, чтобы избежать потерь на линейном регуляторе. Правда, предлагаемая схема выполняет эту задачу так себе (см. мой комментарий ниже).

    И тут нет линейной связи. Эта схема всего лишь ограничивает обороты холостого хода, чтобы мотор меньше изнашивался и не так надоедал шумом.
  • Регулятор оборотов минидрели
    +7
    Странная схема.

    Критика
    1. Я не вижу смысла в R1 — R3. Зачем они? Если это была попытка использовать встроенную защиту MC34063, то они включены неверно. Если это попытка ограничить пусковой ток двигателя, то в таких масштабах с этим вполне справится сам токовый шунт.

    2. Стабилизатор для LM358 можно было не ставить. Этот классический ОУ спокойно работает до напряжения питания более 30 В, а ток потребления у него мизерный. Чтобы покрыть предельное рабочее напряжение, достаточно было поставить резистор на килоом или около того, и стабилитрон на, скажем, 24 В. Это дешевле регулятора (правда, в штучных объемах это неважно) и занимает меньше места на плате (если поставить стабилитрон вроде BZX84).

    3. Что правда стоило бы поставить, так это развязывающие конденсаторы по 100 нФ для MC34063 и LM358 (по питанию).

    4. Опять же, для помехоподавления имеет смысл поставить конденсатор на 10… 100 нФ параллельно двигателю. Можно даже ферритовые колечки на входные провода, но это если совсем ударяться в искусство. :)

    5. Самое главное: MC34063 на самом деле не является ШИМ-контроллером. MC34063 работает на принципе пропуска импульсов. Фактически она работает не в режиме PWM (ШИМ), а в режиме PFM (ЧИМ). Потому в этом применении она не совсем оптимальна — посмотрите осциллографом на то, что творится на эмиттере (только подключите резистивную нагрузку, с двигателем там будет вообще непонятно что), и убедитесь.

    На входе MC34063 стоит не усилитель ошибки, а компаратор. Потому подавать туда аналоговый уровень для линейной установки коэффициента заполнения ШИМ на выходе — крайне неоптимальное решение.

    Для верной работы схемы можно было бы поставить, навскидку, TL5001. Вот там все по-честному — усилитель ошибки, генератор пилообразного напряжения и все прочее. Это полноценный voltage-mode ШИМ-контроллер.

    Ну и да, на выходе MC34063 стоит биполярный транзистор. Причем в этой схеме он еще и включен с общим коллектором. Все это не способствует эффективности решения…


    Как это надо было сделать правильно
    Не надо стрелять из пушки по воробьям — это первое. Такие схемы последние лет двадцать делают на таймере 555. Можно было сделать на нем. Как вариант, можно было бы на одной части сдвоенного ОУ собрать генератор ШИМ, а на второй — компаратор.

    Но идея тут такая: ставим силовой MOSFET для управления двигателем, это самое первое и самое логичное. Далее, пользуясь тем, что входное сопротивление оного очень велико, подаем ему на вход ШИМ от отдельного генератора через относительно большое сопротивление (ну там, килоом-два, например).

    ШИМ имеет смысл генерировать на частоте 100 — 200 Гц. Двигатель и так очень инерционен.

    На тот же затвор того же полевого транзистора подаем сигнал с компаратора через диод и малое сопротивление (ну там, ом этак сто). Смысл в том, что, когда компаратор сработает, сигнал от него будет доминировать на затворе, и откроет тразистор целиком несмотря на то, что на него подается от ШИМ-генератора.

    В этом случае обороты холостого хода задаются регулировочными элементами ШИМ-генератора.

    Я бы, наверное, взял LM393, на одной половине собрал генератор (правда, там выход в виде открытого коллектора, но, я думаю, это бы не помешало, хотя надо подумать) а другую бы использовал как собственно компаратор, и запитал бы все это от стабилитрона. Все.

    Либо, если бы с LM393 почему-либо не прокатило, взял бы 555 и что-то типа MCP6001.


    Но вообще, склонность к техническому творчеству — это прекрасно. :)

    Ссылки для изучения:

    Theory and Applications of the MC34063 and uA78S40 Switching Regulator Control Circuits

    TL5001
    LM393