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

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

Схема для моделирования была взята из статьи про операционные усилители. Ниже приведен...

Читать далее...

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

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

Читать далее...

Добавлю шпаргалку по CUnit+CMake.

Недавно попадалась мне статья по теме: "CUnit: Автоматическое тестирование с динамической загрузкой тестов". Из статьи было почерпнуто достаточно полезный код по подгрузке тестов, а также сборка таких тестов посредством CMake.

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

Читать далее...

Задача: сделать на Си связный отсортированный список с ограниченным размером или хэш-таблицу, необходимо, что весь список занимал не более N байт в куче (стек не считается).

Реализация

Возможные варианты: 1) сделать счетчик сколько выделено и освобождено и при достижении значения не выделять больше, т.е написать враппер для malloc, calloc, realloc; 2) выделить массив нужного размера и все операции по размещению элементов делать в этом массиве, проверяя границы; 3) поискать готовое решение по реализации хэш, массивов или списков на ограниченном участке памяти.

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

Есть библиотека inarray-allocator(http://docs.putey.net/ru/inarrayalloc), которая позволит реализовать такой функционал.

Читать далее...

Для управления выходным напряжением, мой блок питания использует LM317, которым в свою очередь управляет микроконтроллер. На ножку ADJ микросхемы необходимо подавать напряжение до 9В-10В, а микроконтроллер сам с таким не справится. Поэтому необходимо вводить преобразователь напряжения.

Экспериментально установил, что напряжение, которое может организовать контроллер с помощью ШИМ и RC цепочки колеблется в диапазоне 0 и 4.3 Вольта. Значит вот они - величины входного сигнала.

Опять же экспериментально установил, что при питании 10В, трудно будет добится в любой из схем всех 10В на выходе преобразователя, т.к на самом преобразователе тоже потеряется напряжение, то было выбрано значение 9В. Большинство транзисторов с переходом База-Эмитер или Эмитер-Коллектор в насыщении в 1 вольт влезают.

Я же буду использовать операционный усилитель в качестве преобразователя, причем LM358, который позволяет работать с однополярным питанием. Большинство примеров приводится для классического двухполярного питания. И происходит жесткий облом, при попытке использовать эти схемы и правила при однополярном питании.

Читать далее...