Хотел бы попиарить свой небольшой проект - функциональный генератор. Я его назвал JFF-1000, что означает just for fun, ибо на данный момент в домашних поделках генератор мне ни разу не пригождался. И в ближайшем будущем его использование не предвидится. А начал я его делать просто потому, что был отпуск, и хотелось заняться чем-то интересным. Тем более давно хотелось сделать генератор. Ну просто так. А если уж делать генератор, то такой, какого нет на просторах интернета. Вот так и сформировались требования:
- законченное изделие, никаких плат с кнопочками, никаких макеток с батарейками;
- удобный интерфейс;
- частота до 1 МГц (собственно это отражается в числовой составляющей названия);
- размах сигнала до ±5 В;
- выходное сопротивление 50 Ом;
- возможность смещения сигнала;
- режимы запуска: авто, ручной, внешний (с входа синхронизации);
- различные формы сигналов: синус, прямоугольник, прямая и обратная пила, треугольник, шум, пользовательская форма, загружаемая через ПО;
- различные режимы: непрерывный, модуляция, ГКЧ, пакет;
- сравнительно доступная элементная база.
Метрологию я сознательно не закладывал, ибо не собирался конкурировать с профприборами. Это бессмысленно. О продаже тоже не думал, т.к. стоимость одних только комплектующих обойдется чуть более чем в 3 т.р. Львиная доля - это корпус, трансформатор и две STM'ки. Остальное мелочи.
На данный момент железо готово на 99.9% Надо только подобрать емкость одного кондера, от него будет зависеть максимальная частота генератора, но об этом позже.
Софт состоит из двух частей: интерфейсной на STM32F107 (у меня просто была такая, можно и 103) и сигнальной на STM32F405. Первая версия первой части уже готова, т.е. интерфейс полностью функционирует, отправляет нужные команды сигнальной части, рисует на ЖКИ графику, опрашивает органы управления. Вторая часть сейчас в виде действующих фрагментов: сделан прием команд и выполнение некоторых из них, написаны обработчики режимов, кроме пакета, работает смещение и усиление сигнала. Видео 1 и видео 2 демонстрируют текущее состояние проекта.
Проект не простой и я знал, что быстро его не сделать. А не так давно у меня родилась дочка, поэтому времени практически нет свободного. Но как только появится, соберу весь конструктив и сделаю базовую рабочую прошивку, после чего генератор будет выполнять основную часть своего функционала. Тут описан весь ход разработки, чтобы уже не повторять одно и то же. Если будет интерес к теме, то найдутся другие ветки размышлений и реализаций. Например, очень бы хотелось порассуждать о реализации софта сигнальной части генератора в плане взаимодействия с интерфейсной частью.
Сказать, что проект интересный - это значит ничего не сказать ) На самом деле и задумка хорошая и реализация просто отличная. Как на форуме EE написано - самый сложный этап, который обычно "домашние" разработки не проходят - это сборка отдельных частей вместе 🙂 Надеюсь, у Вас все получится и мы скоро уже увидим полностью готовое устройство, а функционал при необходимости можно будет и в процессе использования расширить.
Ну, собственно, вот:
На разъем, расположенный сзади, выведены интерфейсы SWD и UART обеих плат для их программирования и отладки.
Наконец-то можно убрать лишнее со стола))
Кстати, предпросмотр сообщений бы не помешал...
Супер получилось! И дизайн и функционал =)
Вот функционал теперь и надо доделать)