Category: it

Category was added automatically. Read all entries about "it".

Баллистика



Сижу с головой в программировании STM32, который соскучиться не дает. Типа как на скриншоте выше – заливаю через ST-Link очередной раз в него прошивку, а вместо ее запуска получаю ответ: «The core is halted!» Откатываюсь на предыдущую версию прошивки - все нормально, заливает, пишет «Application started.», работает. Всякими такими вещами портит нервы периодически.

В целом помаленьку проект продвигается. В прошлый раз речь шла о первом цифровом фильтре в тракте: DC removal filter. Он отлажен, нареканий не вызывает. Следом за этим фильтром идет детектор.

Collapse )

DC removal



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

Измерители уровня аудиосигнала часто строят примитивным способом, когда контроллер оцифровывает готовое постоянное напряжение. Входной сигнал в таком случае выпрямляется аппаратным детектором. Такой способ очень прост в реализации, но имеет ряд существенных недостатков. Поскольку детектор аппаратный, невозможно менять его тип и характеристики. Детектор только один, не получится сделать комбинированный измеритель (например, средний + пиковый уровень). Для детектирования малых сигналов диодный детектор не подходит по причине плохой линейности, приходится делать активный детектор на ОУ. При этом напряжение смещения ОУ ограничивает динамический диапазон детектора, и ничего с этим не поделать. При цифровой реализации процесс детектирования не вносит ошибки по постоянному напряжению. Поэтому достаточно удалить постоянную составляющую переменного входного сигнала. Чем и предстоит сейчас заняться.

Collapse )

ДБ-95 – сервисная программа



Макет контроллера для двигателя ДБ-95 аппаратно готов, осталась самая длительная и самая неприятная часть работы – программирование. Для того, чтобы вести отладку программы микроконтроллера, сделал на компьютере сервисную программу. С ее помощью можно задавать любые параметры, а также выводить интересующие значения в виде цифр и графиков. Эту программу на скорую руку написал на C++ Builder 6 (привет mbr). С программой микроконтроллера пока все плохо, потратил полдня на написание простого измерителя скорости. Говорят, что программирование имеет феноменальную особенность – один неправильный символ может остановить взрослого, сильного человека на несколько дней. Натыкаюсь на это раз за разом.

Collapse )

Заморочки Win10



Чаще всего в технических постах я описываю какие-то готовые решения. Мне начинают советовать, как можно сделать по-другому, а у меня уже все сделано так. Получается неудобно. Но иногда бывают посты, когда я не знаю, как сделать. Тогда любые советы очень ценны. На этот раз - пост-вопрос. В программировании на компьютере я разбираюсь еще меньше, чем в программировании микроконтроллеров. А тут для тестирования узлов магнитофона пришлось написать сервисную утилиту, которой сейчас пользуются другие люди. У меня WinXP, а у других в основном более новые системы. При запуске программы под Win10 она не может построить список доступных в системе COM-портов. Если запустить от имени администратора, то все работает нормально. Но это не очень удобно. Знаю, что можно как-то настроить автоматический запуск от имени администратора, но это лишняя головная боль пользователю. Можно ли что-то поменять в программе, чтобы она работала при обычном запуске? Как я строю список портов, показано на картинке, пишу на C++ Builder 6.

Лучший друг программиста



Как известно, лучший друг программиста - это осциллограф. На фото с его помощью отлаживаю программу для нового блока управления катушечного магнитофона "Электроника-004". И вот наконец-то появилось что-то вроде первой версии, пригодной для использования. Наверняка еще остались баги, но самые злые из них отловлены, вполне себе работает.

Описание. Схема. Плата. PCAD и Gerber. Исходник прошивки. Сервисный софт.

Каждому болвану - по болванке



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

Collapse )

Запутанность



Что-то в последнее время стал запутываться в собственных программах. Решил изучить теорию вопроса: "Запутанной (obfuscated) называется программа, которая на всех допустимых для исходной программы входных данных выдаёт тот же самый результат, что и оригинальная программа, но более трудна для анализа, понимания и модификации. Запутанная программа получается в результате применения к исходной незапутанной программе запутывающих преобразований (obfuscating transformations)". Подробнее тут.

Коллизей



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

Collapse )

www.leoniv.diod.club



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

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

И вот недавно коллега koyodza предоставил мне совершенно бесплатно место на хостинге, за что ему огромное спасибо! Теперь у меня есть свой сайт, где я могу выкладывать статьи и проекты, а главное, могу свободно вносить исправления и делать дополнения. Пока я только начал размещать информацию, наверняка там много ошибок и пустых дыр. Но постепенно я приведу сайт в порядок. Все старые проекты будут пересмотрены и дополнены. Появятся новые. На сайте будет самая свежая информация. Добро пожаловать!

Доработка G-2021 (часть 5)



Тему по доработке проигрывателя виниловых дисков решил открыть на профильном форуме vegalab. В данный момент он «лежит», да и вообще, впечатления получил противоречивые. Но об этом в другой раз.

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

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

(дополнил про скорость 78 rpm)

Collapse )