kvn234, А ничего что я в Вашем монастыре со своим уставом? Так сложилось что мне C# ближе, и поэтому в приоритете аналогичная конструкция от UA3REO. Если позволите, я сюда буду дальше выкладывать адаптацию для lgt8f328p, Это чтобы ветки не плодить... Пока прикрутил дисплей для автономной работы, добавил алгоритм интеллектуального энкодера, адаптировал драйвер st7735 для 1,44" 128Х128 V1.0, шрифт 7Х11 Спойлер
#define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x0400 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define VIOLET 0xEC1D #define AQUA 0x07FF
Пока прикрутил дисплей для автономной работы, добавил алгоритм интеллектуального энкодера, адаптировал драйвер st7735 для 1,44" 128Х128 V1.0, шрифт 7Х11
А как же Вы уложите 12 разрядов АЦП в этот дисплей?
Предложения по дисплею были и раньше. Смешно сравнивать разрешение монитора и дисплея. Да и реализация сложнее.
Оптимальное изделие должно быть как можно проще и иметь как можно больше возможностей и удобств.
Измеритель АЧХ на дисплее 1,44" 128Х128 - это игрушка на пару дней.
Вы к дисплею лупу приспособьте или линзу с водой, какие были лет 50 назад у телевизоров КВН.
А как же Вы уложите 12 разрядов АЦП в этот дисплей? Измеритель АЧХ на дисплее 1,44" 128Х128 - это игрушка на пару дней. Здесь мы обсуждаем приставку для ПК.
Я ни где не говорил что нужно график на такой экран выводить. И не собирался такую возможность прикручивать. Японец JA2NKD это уже сделал под 2,4" Под автономностью подразумевал обычный генератор и ГКЧ с выводом пилы и синхро импульса для осциллографа. Дисплей нужен чтобы параметры выставить.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Я ни где не говорил что нужно график на такой экран выводить. И не собирался такую возможность прикручивать. Японец JA2NKD это уже сделал под 2,4" Под автономностью подразумевал обычный генератор и ГКЧ с выводом пилы и синхро импульса для осциллографа. Дисплей нужен чтобы параметры выставить.
И вывод на осциллограф обсуждался.
На просторах интернет есть такие варианты.
Но еще раз повторяю, сравните возможности осциллографа по объему выводимой информации и размеру экрана с программой на ПК и монитором.
Зачем городить весь этот огород (усложнять программу на микроконтроллере где объем памяти ограничен) по выводу информации на дисплейчик 2,4" ? Если Вы уже используете компьютер то и выводите все на монитор и управляйте с ПК. Возможности ПК по обработке информации по сравнению с МК намного выше, есть "дисплейчик" в десятки раз больше 2,4" и клавиатура.
Основная концепция данного проекта, минимум нагрузки на МК и максимум нагрузка на ПК.
Основные функции ATMega 328p - сканирование частоты, загрузка частоты в AD9850, измерение амплитуды и связь с ПК. Что и сделано в этом проекте.
Вы же наоборот пытаетесь усложнить программу на МК, навешивать дополнительные детали и увеличивая стоимость.
А сколько стоит дополнительный дисплейчик 2,4" ?
Если хочется что-то доработать, в рамках данного проекта, то нужно упражняться на ПО компьютера или открывайте новую тему.
Последний раз редактировалось kvn234 Сб апр 18, 2020 09:16:08, всего редактировалось 1 раз.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
kvn234, А Вам не сложно добавить в "Шкалу АЦП" дополнительные значения 1.024V / 2.048V / 4.096V для lgt8f328p и 2.56 для mega2560. И каков протокол обмена с текущей версией управляющей программы на ПК?
А Вам не сложно добавить в "Шкалу АЦП" дополнительные значения 1.024V / 2.048V / 4.096V для lgt8f328p и 2.56 для mega2560.
Пока нет времени да и возможности проверки( нет lgt8f328p). Исходники я выкладывал. Открываете исходники для ПК и МК, ищите V1 или V5 и анализируете как формируются и выполняются. Могу выложить последний вариант с установкой времени измерения.
kvn234, А Вы не думали сравнивать напругу на выходе генератора через детектор и напругу с измерительного детектора одновременно? ИМХО, за один проход можно построить коэфф. передачи/затухания исследуемой цепи в нужной полосе частот. Без всяких АРУ и калибровок ВЧХ генератора
kvn234, А Вы не думали сравнивать напругу на выходе генератора через детектор и напругу с измерительного детектора одновременно? ИМХО, за один проход можно построить коэфф. передачи/затухания исследуемой цепи в нужной полосе частот.
При разных задержках включения АЦП и для различных измеряемых цепей ( разные постоянные времени ) соотношения будут различные.
Для одной измеряемой цепи и 4х значениях задержки имеем 4 коэфф. Если мы предполагаем проводит измерения N цепей, имеем N x 4 вариантов коэфф.
С чего начинался проект. Мне всего лишь нужно было найти резонанс в колебательном контуре, под рукой был AD9850. Если есть желание повышать точность и вводить дополнительные возможности можете продолжить. Исходник я выложил.
Принцип работы программы для МК простой.
Список команд указан в файле struct.h. Данные из файла используется в при компиляции софта для ПК и МК. МК Каждой команде соответствует исполняемая функция в Gkch2.c. Создается массив битов
В основном цикле проверяется массив битов и установка флага f_izm (задержка с помощью Timer1) . Если установлен флаг f_izm запускается GkchExe () где производится измерение АЦП и установка следующей частоты. При получении команды с ПК устанавливается бит соответствующий принятой номера команды
, А Вы не думали сравнивать напругу на выходе генератора через детектор и напругу с измерительного детектора одновременно? ИМХО, за один проход можно построить коэфф. передачи/затухания исследуемой цепи в нужной полосе частот.
Возможно я не понял, что то много детекторов. Бросьте схему.
Добавлено after 12 minutes 2 seconds: "Растяжка по U" - растягивает изображение по вертикали в 2, 4 раза.
Соответственно изображение по вертикали занимает 512, 1024, 2048 пикселей.
Для просмотра изображения используется прокрутка (ползунок справа).
Последний раз редактировалось kvn234 Сб апр 18, 2020 13:44:00, всего редактировалось 1 раз.
Я использовал такие. Один на выход генератора (вход исследуемой цери) на пин А1, другой на выход исследуемой цепи ( A0) Измеряю одномоментно, с усреднением
Код:
float readInVoltage() { vin = 0; vout = 0; for (int i = 0; i < 12; i++) { vin = vin + ((float)analogRead(INP_VAL) / 4095 * 4.096); vout = vout + ((float)analogRead(INP_OUT) / 4095 * 4.096); } //Коэфф. передачи. Если нужно в dB пишем vin = 20*log10((vin / 12)/(vout / 12)) vin = (vin / 12)/(vout / 12); return vin; }
Корявая схема
_________________ Девице - Device
Последний раз редактировалось maxlab Сб апр 18, 2020 19:33:05, всего редактировалось 2 раз(а).
Я использовал такие. Один на выход генератора и на пин А1, другой штатно на A0 Измеряю одномоментно, с усреднением
Идея неплохая, но нужно подумать о подводных камнях.
Код:
for (int i = 0; i < 12; i++) { vin = vin + ((float)analogRead(INP_VAL) / 4095 * 4.096); vout = vout + ((float)analogRead(INP_OUT) / 4095 * 4.096); }
Вот нюансы: 1. Время измерения на одной частоте и суммарное при проходе всех частот увеличится в 2 раза. 2. При переключении входов АЦП (между vin и vout)необходимо делать задержку перед следующим измерение, еще увеличит время развертки. 3. ВАХ диодов детекторов нелинейная и показание АЦП не соответствуют истинной амплитуде. Как эту нелинейность учитывать в расчетах?
Как вариант делать измерение vin 1 раз через 10, 20 измерений vout. Естественно необходимо записывать vout в память, для 1000 частот необходимо 2000 байт.
Если массив vin хранить в ПК то проблем с памятью не будет. И вычисление коэфф. нужно производить в ПК .
Последний раз редактировалось kvn234 Сб апр 18, 2020 15:55:43, всего редактировалось 3 раз(а).
Ну... на ВЧ будет небольшая нелинейность, связанная с технологией изготовления детекторов и разброса параметров диодов. Но в любительских условиях можно пренебречь. Но простейший ШПУ подкинуть не мешало бы. У меня четыре модуля AD9850 и 51, и у всех конкретно разные ВЧХ. Особенно от 30 мгц и выше. От 0.3 до 0,15 пик-то-пик, а это на грани чувствительности измерительного щупа
Вот нюансы: 1. Время измерения на одной частоте и суммарное при проходе всех частот увеличится в 2 раза. 2. При переключении входов АЦП (между vin и vout)необходимо делать задержку перед следующим измерение, еще увеличит время развертки.
Как вариант делать измерение vin 1 раз через 10, 20 измерений vout. Естественно необходимо записывать vout в память, для 1000 частот необходимо 2000 байт.
1. Это понятно... 2. Достаточно одного NOP если на ассемблере
Как вариант делать измерение vin 1 раз через 10, 20 измерений vout. Естественно необходимо записывать vout в память, для 1000 частот необходимо 2000 байт.
1. Это понятно... 2. Достаточно одного NOP если на ассемблере
NOP мало. Обычно не учитываю первый цикл измерения после переключения.
Цитата:
Поясните последние мысли... Зачем?
vout измеряем и передаем на ПК постоянно, а vin один раз за несколько циклов сканирования vout.
Например 10 раз сняли АЧХ фильтра и 1 раз выход генератора. И так в цикле. При этом мы не делаем одновременно 2 измерения vin и vout. Соответственно время сканирования не увеличивается в 2 раза.
Зачем Вы делаете 12 измерений? Проще делать 8 или 16 (степень двойки) , а вместо деления использовать сдвиг. /16 == >>4
С двух входов однозначно удобнее. Даже без компа можно АЧХ нарисовать на миллиметровке, как в школе учили. Только энкодер накручивай в нужной полосе частот
Цитата:
Например 10 раз сняли АЧХ фильтра и 1 раз выход генератора. И так в цикле. При этом мы не делаем одновременно 2 измерения vin и vout. Соответственно время сканирования не увеличивается в 2 раза.
Думаю что так не пойдет... ЕМНИП полосу пропускания по уровню +/- 6dB принято измерять. Значит в каждый отсчет нужно высчитывать Kп исследуемой цепи. Лучше Кп считать на МК и передавать на комп, а там к децибеллам приводить. Само по себе абсолютный уровень на измерительном детекторе не очень интересен.
Цитата:
3. ВАХ диодов детекторов нелинейная и показание АЦП не соответствуют истинной амплитуде. Как эту нелинейность учитывать в расчетах?
Диоды можно тупо подобрать по идентичным характеристикам. Где то видел методику подбора для смесителей. Или взять 4 штуки из одной партии ( с одной ленты или обоймы) на крайний случай. Мы же не Rohde&Schwarz хотим переплюнуть. Оптимально 1Д507А за 15р сюда бы подошли. У меня еле нашлись Д9К жменя. Пока с ними экспериментирую, но знаю что это фуфло. Они низкочастотные Вот тут BAT-41 рекомендуют http://radiopolyus.ru/sxemy-dlya-izmere ... ode-shotki
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения