пятница, 27 мая 2016 г.

Утилита для подбра сопротивлений

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

Задача эта не так проста как кажется, потому было решено написать себе небольшого помощника.
Работает программка очень просто - вводим необходимое сопротивление, нажимаем на кнопку ">>" и наблюдаем 3 наиболее подходящих пары резисторов, принадлежащих ряду Е24. Ну а дальше уже выбираем ту пару, что больше нравится.

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



И по традиции, кроме самой программы даю ссылку на исходный код.

Ряды номиналов радиодеталей

Рассказывая про калькулятор для LM2733 я упоминал, что это была моя вторая программа на C#.
Первой же программой была утилита для подбора нестандартного номинала резистора (не из ряда Е24), путем параллельного подключения двух стандартных.
Но сперва, краткий ликбез о том, что это за ряды такие и для чего это вообще может быть нужно.

Куда не посмотри, повсюду есть принятые стандарты. И номиналы электронных компонентов, в том числе резисторов, конденсаторов и дросселей не исключение. Потому все номиналы подчиняются некоторым закономерностям и выполнены в виде так называемых рядов, содержащих в себе набор номиналов от 1 до 10, причем, в названии ряда содержится общее число элементов в нём. Например, ряд Е3 содержит всего 3 номинала, в диапазоне от 1 до 10 Ом: 1.0, 2.2 и 4.7 Ом.
Почему от 1 до 10? Все просто, дальше просто умножаем номинал на 10, 100 или 100000 и получаем нужный порядок. 
На всякий случай приведу хорошую статью на вики, и наглядную табличку из нее же.


Так вот, самым распространенным в быту является ряд Е24, состоящий, соответственно, из 24 элементов. Кто-то скажет: "Ух-ты, целых 24 элемента в диапазоне 1-10 Ом. Этож дофига.". И в целом, конечно, будет прав. Но, к сожалению, иногда этого нам бывает маловато. Как правило, точный и "нестандартный" номинал может понадобиться в различных аналоговых цепях. 
И если вдруг это "иногда" настало, у нас есть всего два варианта:
Вариант раз - обратиться к более старшим рядам, которых также существует большое количество, вплоть до Е192. Вариант конечно хороший, но на самом деле не очень. В таком случае либо нужно иметь отдельную огромную кассу с запасом резисторов на все случаи жизни, либо каждый раз докупать компоненты под новую разработку. Неудобно это.
И вариант два - получить нужное сопротивление, при помощи последовательного, либо же параллельного включения нескольких резисторов. 

ИМХО, в подавляющем большинстве случаев, именно второй вариант наиболее предпочтителен, ибо проще, быстрее и дешевле. Разве что очень критично место на плате, но в этой ситуации всегда можно призвать на помощь типоразмер 0402 :)

На всякий случай, если вдруг кто забыл: 
при последовательном подключении резисторов их сопротивления суммируются R12 = R1 + R
а при параллельном суммируются их проводимости (величины, обратные сопротивлению) 1/R12 = 1/R1 + 1/R2

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

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

среда, 25 мая 2016 г.

Калькулятор Texas Instruments LM2733

На днях, заканчивая очередной проект с использованием импульсного повышающего DC-DC преобразователя LM2733 от небезызвестных ребят из Texas Instruments, решил написать небольшой калькулятор для расчета номиналов.

В сети лежит уже один калькулятор от русскоязычного автора, которым я, к слову, тоже пользовался некоторое время. Но кое что мне в нем жутко не нравится. Потому, решил попрактиковаться в новом для себя языке C# и написал собственную утилиту.
Кстати, это моя вторая программа на C#.
Из полезных фич: округление номиналов резисторов до глубоко любимых нами E24.
Ну, и конечно же, исходный код программы, в студию.




скачать

Initial commit

Привет, друзья.
Меня зовут Чижов Николай.
Последние несколько лет я занимаюсь разработкой встраиваемых систем. Электроника, схемотехника, программирование разнообразных микроконтроллеров, десктопное ПО по сбору и обработке информации с устройств - это мой хлеб.
Коммерческие проекты, в которых я принимал участие, успешно используются по всему миру, в том числе и у нас. Многие ли отечественные разработчики могут похвастаться опытом разработки систем, ориентированных, в первую очередь, на западных клиентов? Увы, к сожалению, думаю, что не многие.
Кроме того, я являюсь автором некоторого количества DIY-проектов. Некоторыми из них я и решил с Вами поделиться.
Надеюсь, что Вы почерпнете из них что-нибудь полезное.
А иначе, зачем я этим занимаюсь? =)
Вот мой репозиторий на bitbucket. Все, что Вы там найдете, можно использовать по собственному усмотрению без зазрения совести. Я же обещаю чаще выкладывать собственные наработки в открытый доступ. Ну и критика, безусловно, приветствуется.