РадиоКот >Схемы >Цифровые устройства >Измерительная техника >

Теги статьи: STM32DDSгенератор

Простой универсальный функциональный генератор ГА71

Автор: Andrey_B
Опубликовано 28.08.2019
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2019!"

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

Идея была создать максимально полезный прибор, который бы не пылился на полке, а был постоянным помощником на рабочем столе, занимая немного места. Сделать прибор максимально универсальным, но остаться в рамках разумного компромисса между сложностью и количеством функций и режимов. Сделать интерфейс прибора наглядным и интуитивно понятным, на родном языке, не требующим для работы чтения и запоминания вороха инструкций. Без бесконечных меню с одной стороны или леса ручек и кнопок с другой. На приборе должно быть удобно регулировать во время работы именно те параметры, которые требуются. По возможности конструкция не должна требовать настройки, состоять из дешевых и распространенных компонентов, простых в монтаже. Схемотехника с одной стороны не должна содержать дорогих компонентов типа DDS от аналоговых девиц, с другой не иметь дедовских матриц R-2R на дискретных резисторах. И вот после многих проб, ошибок и экспериментов по удовлетворению этих противоречивых требований, родился прибор, который выносится на суд общественности.

Участие в конкурсе определило основные моменты, на которые делался упор при проектировании прибора:
- простота изготовления, повторяемость, относительная дешевизна.
- максимум функциональности используемого железа, удобство использования.

Главные отличия от многочисленных собратьев:
- гибкий и простой интерфейс управления. Три функционально равнозначных регулятора (энкодера), которыми можно управлять любыми параметрами выходных сигналов, одним или сразу несколькими, в любых мыслимых комбинациях и вариантах в реальном времени. Например управление частотой одного выхода сразу двумя энкодерами, но с разным шагом. Или управление одним энкодером длительностью импульсов на разных входах и с противоположным знаком. Возможности ограничены только фантазией оператора.
- наличие большого количества выходов, на которых формируемые сигналы присутствуют всегда, независимо от режима работы прибора. Имеются несколько групп выходов: два аналоговых (А, Б), два импульсных (В, Г), три высокочастотных (Д, Е, Ж) выхода, вход внешнего запуска и измерения сигнала (У), а так же последовательный порт (UART). Выходы одной группы позволяют формировать взаимозависимые сигналы (модуляция, двухканальный ШИМ и т.д.).
- большое количество функций и вариантов применения для достаточно скромного размера. В том числе уникальных, например тестирование каналов передачи данных по последовательному порту с подсчетом количества ошибок и плавной регулировкой скорости для нахождения ее правильного значения в неизвестном потоке.
- легкость повторения. Не смотря на применение в конструкции микроконтроллера, прибор сможет повторить человек, вообще не знакомый с программированием или прошивкой микроконтроллеров. Для этого предусмотрена возможность прошить микроконтроллер без каких-либо программаторов или адаптеров, достаточно скачать свободно распространяемую утилиту на любой компьютер, стандартным шнурком подключить прибор к USB-разъему компьютера и выполнить пошаговую инструкцию.
- широкие возможности для конфигурирования под особенности конкретного железа (энкодеры, частоты внутренних преобразователей, делители напряжения обратных связей, частота кварца и т.д.).

Основные характеристики прибора:
Напряжение питания: постоянное, стабилизированное, .
Ток потребления в покое: 180мА.
Индикация: TFT дисплей 2.4d, 320х240@262k.
Управление: 3 функционально равнозначных энкодера с нажатием (разного цвета).
Выходы/входы: 8/2.
Подключения: нажимные клеммники с шагом 2.54мм.
Размеры: 130х95х45мм.
Вес: 170г.

Аналоговые выходы А, Б:
Выходной сигнал (с плавной настройкой формы -99%...0%...+99%):
- синус, с возможностью убрать или "выгнуть"(зеркально отразить) в противоположную сторону одну или другую полуволну периода.
- треугольник, с возможностью "заваливания" до правой или левой пилы.
- меандр, с возможностью введения участков со средним (третьим) уровнем между периодами или полупериодами сигнала.
- прямоугольник, с регулировкой скважности.
- кубическая парабола (y=x^3), с возможностью убрать или "выгнуть"(зеркально отразить) в противоположную сторону одну или другую полуволну периода.
- трапеция, с настройкой от меандра до треугольника.
- конус, с настройкой от треугольника до "игл" вверх или вниз.
Комбинирование сигнала на выходе Б:
- генерация суммы сигналов выхода А и канала Б (А + Б).
- генерация произведения сигналов выхода А и канала Б (А * Б).
- амплитудная модуляция выходом А канала Б (А ам Б), глубина 0...100%.
- частотная модуляция выходом А канала Б (А чм Б), макс.девиация от f/8 до f.
- генерация белого шума.
Частотный диапазон: 0.1Гц...100кГц, с шагом от 0.1Гц.
Регулировка фазы: -360...+360 градусов, в том числе для кратных частот.
Размах (пик-пик), независимо на каждом выходе: 0...10В.
Выходной ток усилителей: до 80мА.
Смещение: фиксированное, половина размаха.
Коэффициент нелинейных искажений синуса THD 1кГц/9В@100R: 0.03% (Visual Analyser).

Импульсные выходы В, Г:
Форма выходного сигнала: прямоугольник.
Амплитуда, независимо на каждом выходе: 4...13В.
Диапазон формируемых интервалов: 40нс...40сек с шагом от 10нс.
Количество вариантов (схем) запуска последовательности импульсов: 12.
Запуск: автоматический, внешний по фронту, по спаду, по фронту и спаду.
Время нарастания/спада на нагрузке 100R@1нФ, 12В: 30/30нс.

Высокочастотные выходы Д, Е, Ж:
Форма выходного сигнала: меандр.
Частотный диапазон: 4кГц...225МГц, с шагом 1Гц.
Амплитуда на нагрузке 50 Ом: 3.3В.
Выходной импеданс: 50 Ом.

Вход У:
Функции (одновременно):
- внешний запуск последовательности на импульсных выходах.
- измерение размаха переменного напряжения.
- измерение среднего значения переменного напряжения.
- измерение максимального значения напряжения.
Частота дискретизации при измерении: 256кГц.
Длина окна выборок при измерении: 130мс.
Диапазон измеряемого напряжения: 0..3.3В.
Порог срабатывания компаратора запуска последовательности: 1.23В.
Максимальное входное напряжение: 15В.
Входное сопротивление: 20кОм.

Узел последовательного порта:
Формат выходного/входного потока: 8N1/8Nx.
Скорость потока: стандартный ряд с плавной подстройкой 0.3...2400кбод.
Содержимое выходного потока: фиксированный, инкремент, случайный.
Отображаемый на дисплее приемный буфер: кольцевой, 96 байт.
Вид отображения принимаемых данных: HEX и ASCII (с кирилицей).
Выходное напряжение лог."1": 3.3В.
Входное максимальное/пороговое напряжение лог."1": 15В/1.5В.

 

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

Удержание всех трех энкодеров зеленый+синий+оранжевый вызывает переход в сервисное меню (описание ниже).

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

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

Установка нескольких указателей (дубликатов) одного цвета и изменение знака приращения при вращении энкодеров:
- находясь в состоянии выбора параметра, двойное нажатие на энкодер вызовет установку на данном параметре дубликата указателя (не закрашенный прямоугольник).
- повторное двойное нажатие вызовет смену дубликата на инверсный ("минус").
- следующее двойное нажатие снимет дубликат указателя.

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

Использованные цвета для подписей на дисплее имеют определенный смысл:
- левый верхний энкодер 1 (зеленый).
- правый энкодер 2 (синий).
- левый нижний энкодер 3 (оранжевый).
- значения, подлежащие регулировке (бирюзовый) и их подписи (белый).
- обозначения выходов (желтый).
- измеренные значения (малиновый).
- вычисленные значения и их подписи (менее яркие).

 

Страница аналоговых выходов А и Б. Килогерцы и герцы частот для наглядности отделены друг от друга пробелами. Сигнал белого шума формируется аппаратно, поэтому регулировка его амплитуды ступенчатая и имеет только 11 уровней. Его смешивание с сигналом с другого выхода (через отдельные внешние резисторы), может оказаться очень полезным для эффективной отладки фильтров и других узлов техники обработки сигналов, цифровой и аналоговой. Из-за ограничений ЦАП микроконтроллера на частотах выше десятков килогерц у треугольного и прямоугольного сигнала ухудшается форма. Из-за известных ограничений алгоритма DDS, резкие перепады сигнала подвержены джиттеру (около 800нс).

В режимах комбинирования Б=А+Б, Б=АхБ, Б=АамБ, Б=АчмБ сигналы обоих каналов участвуют в преобразовании с учетом типа, формы, частоты, фазы и размаха. Результат преобразования отправляется на выход Б. В режимах Б=АамБ и Б=АчмБ сигнал канала А модулирует сигнал канала Б. При этом для Б=АамБ регулировка размаха А изменяет глубину модуляции, т.е. чем больше размах, тем сильнее подавление несущей (глубже модуляция). Для режима Б=АчмБ увеличение размаха А увеличивает девиацию, сдвигая вниз нижнюю границу частоты. Если в этом режиме на канале А установить пилообразный сигнал с периодом в несколько секунд, то получится подобие ГКЧ. Режим Б=АхБ отличается от Б=АамБ тем, что в последнем перемножаемые отсчеты сигналов нулевой (численно) уровень имеют не в нижней части размаха, а в ее середине, это приводит к введению постоянной составляющей в сигнале, равной половине размаха (симметрии). Вообще управляя параметрами обоих каналов в режиме комбинирования, можно формировать очень замысловатые сигналы.

 

Страница импульсных выходов В и Г. Из-за чрезвычайной гибкости этого узла, на первых порах может оказаться сложно настраивать необходимые режимы, например нетривиальные двухканальные схемы ШИМ. В этом случае лучше сначала нарисовать на бумаге желаемые сигналы, определить интервалы требующие регулировки и их величины, а затем выбрать подходящую схему запуска, выставить необходимые значения и разместить маркеры на нужных разрядах нужных величин. Старт интервала t1(t3) всегда приводит к появлению активного уровня на выходе В(Г), а его окончание к появлению пассивного уровня, старт/стоп интервалов t2, t4 не изменяет состояния выходов. Активный уровень может быть логической "1" (напряжение 4-13В), а может быть логическим "0" (0В). Миллисекунды, микросекунды и наносекунды интервалов отделены друг от друга пробелами. Из-за предделителей таймеров МК при больших интервалах минимальный шаг перестройки интервалов t1, t2, t3 становится крупнее. Интервал t4 формируется 32х-разрядным счетчиком, поэтому имеет расширенный диапазон настройки и не имеет увеличения шага на больших длительностях. С выходов можно непосредственно управлять затворами силовых полевых транзисторов. При больших выходных токах в цепях питания драйверов может возникать переходный процесс, искажающий амплитуду импульсов, это происходит из-за программной реализации петель обратной связи преобразователей. Из-за экстремальной простоты схемотехники выходных драйверов у них имеется задержка распространения сигнала (фронт - 220нс, спад - 150нс), это накладывает следующие ограничения: минимальный интервал не может быть короче этих значений, на коротких интервалах увеличивается погрешность их установки, возможен дребезг перепадов (джиттер).

 

Страница высокочастотных выходов Д, Е и Ж. Для высокочастотных выходов сигнал формируется недорогой микросхемой тактового генератора с PLL Si5351A. Мегагерцы, килогерцы и герцы частот для наглядности отделены друг от друга пробелами. Микросхема Si5351A может выдавать на своих выходах только две уникальные частоты выше 100МГц из-за наличия в ее составе всего двух узлов ФАПЧ. Один узел обслуживает выход Д, другой пару выходов Е и Ж. Это означает, что если на одном выходе пары (Е или Ж) установлена частота выше 100МГц, то на другом выходе пары выходная частота может быть либо меньше 100МГц, либо равно частоте первого выхода пары. Настройка сдвига фазы сигнала возможна только на выходах одного узла ФАПЧ, т.е. Е и Ж. Подстройкой статического сдвига и инверсией сигналов можно получить дифференциальные и квадратурные сигналы. Шаг сдвига зависит от выходной частоты.

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

 

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

Управление на этой странице немного отличается от основного способа, регулируемые параметры жестко привязаны к энкодерам и выделены на экране цветом (значение, галка, двойная галка - поворот, нажатие, двойное нажатие соответственно):
- зеленый энкодер:
- вращение: переключение скорости ступенями (300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200, 128000, 230400, 256000, 460800, 512000, 921600, 1024000, 1843200, 2048000, 2400000 бод).
- нажатие: сброс счетчиков переданных и принятых байт, а так же количества ошибок.
- двойное нажатие: инвертирование входного и/или выходного сигнала, при этом над символами Tx и Rx при инвертировании соответствующего вывода появляется черточка. При включении инвертирования входного вывода, его подтягивающий потенциал тоже соответственно меняется.

- синий энкодер:
- вращение: выбор длины пакета (1...260, 270...990, 999 байт).
- нажатие: выбор содержимого тестового пакета (0x00, случайный, все символы по порядку, 0x0F, 0xF0, 0x55, 0xFF).
- двойное нажатие: выбор паузы между пакетами (10, 30, 70, 100, 300, 700 мс).

- оранжевый энкодер:
- вращение: плавная подстройка скорости с шагом 0.2% (-49%...+99%). Значение скорости на дисплее соответственно пересчитывается.
- нажатие: старт отправки одного пакета / стоп отправки.
- двойное нажатие: старт автоматической отправки пакета.

 

 

Схемотехника. Основа прибора, это микроконтроллер серии STM32 с архитектурой ARM. Микроконтроллер работает на частоте 75МГц, хоть это и на 3МГц больше заявленной производителем, проблем это не вызывает. Ресурсы ядра, периферии и памяти микроконтроллера задействованы практически полностью. Для написания прошивки использовалась среда Keil uVision, язык программирования Си с использованием библиотеки Standard Peripherals Library (SPL). Для обеспечения одновременного функционирования всех режимов, внутренняя периферия тесно взаимоувязана аппаратно, с широким применением каналов прямого доступа к памяти (DMA) и разграничением по приоритетам. По параллельной шине к МК подключен дисплей. Сигналы с энкодеров МК обрабатывает программно. В микросхеме EEPROM запоминаются значения всех настроек и регулируемых параметров прибора. Для увеличения ресурса, запоминание осуществляется с секундной задержкой. Если EEPROM не запаяна, то при каждом включении настройки будут иметь значения по умолчанию. При включении прибора с нажатыми энкодерами и паузой в несколько секунд происходит восстановление всех настроек по умолчанию.

Сигналы на аналоговых выходах формируются прямым цифровым синтезом (табличный DDS). Частота дискретизации около 1.4МГц, разрядность ЦАП 12 бит, размер таблицы 1024 16-битных ячейки. За идею реализации быстрого алгоритма синтезатора огромное спасибо Neekeetos. Напряжение смещения на аналоговых выходах было выбрано фиксированным, так как по опыту оно почти всегда требуется, но его уровень не особенно важен. Усилитель питается от повышающего преобразователя +10.5В.

Сигнал для импульсных выходов, МК формирует полностью аппаратно. Четыре таймера работают в режиме Slave One-Pulse Mode производя запуск друг друга в различных комбинациях, формируя четыре независимых временных интервала. Не смотря на большое количество таймеров в МК и их развесистую архитектуру, пришлось долго подбирать комбинации периферийных модулей так, чтобы охватить все требуемые варианты работы импульсных выходов. Для питания выходных драйверов импульсных выходов, на одном из таймеров МК собраны два повышающих импульсных преобразователя напряжения, их обратные связи через делители заведены на АЦП МК. В качестве самих драйверов используется КМОП версия дешевого и распространенного таймера 555 с дополнительными эмиттерными повторителями.

Генератор Si5351A управляется по шине I2C. Эта часть схемы особенностей не имеет, все по даташиту микросхемы. Если микросхема не запаяна, страница высокочастотных выходов Д, Е, Ж будет не доступна. Для более качественного согласования выходов с нагрузкой можно применить коаксиальные разъемы с волновым сопротивлением 50 Ом.

Аналоговый вход У и последовательный порт имеют простейшие цепи защиты.


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

Компоненты. Самый труднодоступный компонент, это TFT дисплей: диагональ 2.4 дюйма 320х240 точек, контроллер LI9341, шлейф на 37 выводов, их много разных, вот эти точно подходят. Микроконтроллер в корпусе LQFP48 STM32F303CBT (возможно применение STM32F303CСT). Операционный усилитель в каналах аналоговых выходов А и Б должен удовлетворять следующим требованиям: скорость нарастания не менее 10-15 в/мкс, выходной ток желателен не менее 50 мА, входной и выходной диапазон напряжений должен включать потенциал отрицательного источника питания (нижний rail по входу и выходу). Вместо MAX4392 применимы например MC33202, LMH6643, с некоторым ухудшением параметров AD8042, AD8052 или даже TS922. Микросхему Si5351A-B-GT (если нужны высокочастотные выходы) тоже можно недорого приобрести на AliExpress. EEPROM любая с однобайтовой адресацией 24C02...24С16. Таймеры 555 должны быть КМОП семейства. Зажимные клеммники серии DG141V, они разборные, поэтому подойдут 18 секций в любых комбинациях. Энкодеры следует выбирать с тактильным эффектом, некоторые с подходящей цоколевкой (PEC12R, PEC11R) выдают сигнал с противоположным направлением вращения, предусмотрена возможность и их применения. Электролитические конденсаторы CK1C221M-CRE77 ну или К50-35. Дроссели серии CD75 или обычные гантели размером не менее 7х8мм. Стабилизатор питания любой на напряжение 3.3В в корпусе DPAK или sot-223. Кварцевый резонатор HC49SM, ABM3-25.000MHZ-D2Y или подходящий выводной. Транзисторы BC847/BC857 - КТ315/КТ361, IRLML2502 - FET N-типа не менее 25В, 2А с логическим пороговым напряжением затвора. Вместо диодов SS12 можно применить SM5819 или любые Шоттки не менее 20В и 1А. US1M - диод с временем восстановления не менее 50нс, на ток не менее 1А, напряжением более 30В. Ручки на энкодеры можно посмотреть тут. Полный список компонентов и материалов, необходимых для изготовления прибора прилагается.

Печатная плата. Размер 100х70мм, разведена в Topor'е. Gerber-файлы для заказа на производстве прилагаются. Так-же прилагается файл для изготовлении платы по лазерно-утюговой технологии. Сложности может вызвать мелкий шаг выводов двух компонентов: МК и Si5351. Диаметр переходных отверстий на плате 0.6мм. При печати ничего дополнительно зеркалить не надо, оба слоя уже имеют отзеркаленый вид.

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

Прошивка. Ее осуществляют после визуального контроля смонтированной платы. Прошивку можно осуществить программатором ST-LINK/V2 через разъем JP5 или без программатора через имеющийся в микроконтроллере USB-бутлодер, по следующей инструкции:
1. Устанавливаем на компьютер пакет STSW-STM32080 DfuSe_Demo_V3_Setup.exe. Скачиваем тут, или архив прикрепленный в конце статьи.
2. Берем готовый .DFU файл или конвертим .HEX в .DFU утилитой "C:/Program Files/STMicroelectronics/Software/DfuSe v3.0.6/Sources/Binary/Release/DfuFileMgr.exe ниже скриншут.
3. Замыкаем R8 (подаем +3.3V на ногу BOOT0), подключаем к разъему XP7 4х-жильный кабель с разъемом USB-A (соблюдая цоколевку) и вставляем этот разъем в USB порт компьютера.
4. Если требуется (проверить в диспетчере устройств) ставим отсюда драйвер c:/Program Files/STMicroelectronics/SoftwareDfuSe v3.0.6/Bin/Driver
5. Запускаем утилиту C:/Program Files/STMicroelectronics/Software/DfuSe v3.0.6/Bin/DfuSeDemo.exe , грузим в нее файл .DFU и прошиваем, см. скриншот.
6. Все отключаем и удаляем перемычку R8. Прошивка выполнена.

 

Настройка. При первом включении сразу убедитесь, что ток потребления примерно равен номинальному, и на дисплее отображается стартовая страница. Правильно собранное устройство начинает работать сразу после прошивки микроконтроллера. С помощью осциллографа нужно убедиться в присутствии правильных сигналов на всех выходах. Если запаяна микросхема EEPROM, то для более точной настройки можно воспользоваться сервисным меню:

Нажатие на зеленый энкодер - переход на следующий параметр. Вращение зеленого энкодера - регулировка параметра. Двойное нажатие синего энкодера вызовет запись всех параметров в EEPROM. Изменяйте параметры только четко понимая смысл своих действий. Безразмерные величины (пункты 2,5,6) прямо пропорционально влияют на соответствующие параметры. Питание операционного усилителя в каналах А и Б (пункты 3,4) нужно установить таким, чтобы на максимуме амплитуды при максимальном выходном токе не происходило ограничение сигнала на выходе. На вход У нужно подать постоянное напряжение 2.7...3.1В и регулировкой коэффициента (пункт 7) добиться отображения его реального значения. Последовательный порт можно проверить соединив его вход с выходом и включив режим тестирования канала.

Сборка. Для печатной платы хорошо подходит недорогой корпус Z-19. В его верхней крышке нужно прорезать прямоугольные зоны для дисплея размером 37х50мм и для клеммников размером 48х15мм, 3 отверстия под энкодеры диаметром 7мм (программа в G-кодах для трехкоординатного станка прилагается). Затем нужно установить плату в верхнюю часть корпуса и определить точное положение дисплея относительно прорезанной зоны. Только после этого его можно приклеить к печатной плате двухсторонним скотчем в один или несколько слоев. Скотч лучше выбрать пористый, толщиной несколько миллиметров, слегка сжавшись, он должен плотно без щели прижать индикатор к плоскости корпуса.

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

Идет работа приемо-сдаточной комиссии:

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

В перспективе попробовать реализовать следующие идеи:
- список пресетов настроек, для быстрого вызова часто используемых режимов.
- режим измерителя АЧХ. Для опорного сигнала ГКЧ задействовать выход А или Д по выбору, пилообразный сигнал пропорциональный частоте ГКЧ - выход Б, сигнал синхронизации развертки - выход Г, вход детектора - вход У. Графики рисовать по размаху сигнала или его пиковому значению, с возможностью компенсации (приравнивания текущего графика к нулевому уровню).
- режим внешнего управления амплитудой, частотой или любым другим параметром сигнала. Внешний сигнал может подаваться на вход У или приниматься в цифровом виде через вход последовательного порта .
- режим тестера шины I2C. Определение неизвестных устройств, запись или чтение адреса, проверка целостности и определение объема типовых видов памяти.
- генерация определенного количества периодов сигнала на аналоговых выходах по внутреннему или внешнему событию.
- качественное улучшение метрологических параметров. Это к сожалению можно реализовать только путем существенной модификации железа, что по сути будет означать уже другой, новый прибор. Фильтры, смещение и аттенюаторы по аналоговым выходам, полноценные драйвера по импульсным выходам, канал высокочастотного синуса, термостатирование кварца, малошумящий источник питания, разделение схемы на блоки и т.д. Все это кардинально усложнит и удорожит конструкцию, а прибор задумывался как любительский, поэтому изначально метрологические параметры и были отодвинуты на второй план.

Осциллограммы выходных сигналов:

 

 

 

 

 

 

 

(тут раскрыли традиционную, еще не раскрытую тему).

 


Файлы:
Прошивка v1.0
Gerber rev5.2
dfu STSW-STM32080
Программа резки (G-коды)
Этикетка на клеммник
Плата для ЛУТ rev5.2
Принципиальная схема rev5.2
Спецификация


Все вопросы в Форум.




Эти статьи вам тоже могут пригодиться:

Микроконтроллеры. Начало. STM32.

Modbus и stm32

Измеритель всего, что попадется под руку (RLC-метр)

Аппарат физиотерапии Амплипульс-МИО

Щуп измеритель RLC-71 + Тестер полупроводников

Многофункциональный частотомер FC-71