Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 30 из 101 ПерваяПервая ... 20272829303132334080 ... ПоследняяПоследняя
Показано с 291 по 300 из 1005

Тема: Индикатор лампового УМ на Arduino nano 3 и LCD 2004

  1. #291
    Аватар для Integral
    Регистрация
    08.02.2007
    Адрес
    г. Снежное
    Сообщений
    2,926
    Записей в дневнике
    1
    Позывной
    UT0IS/D0ISM
    Цитата Сообщение от rx3apf Посмотреть сообщение
    Проблемы вылезает из-за особенностей SSB (отсутствия постоянной несущей) ?
    Да. Замерить частоту SSB напрямую практически невозможно. Тональной посылки CW пожалуйста, в SSB нет постоянного уровня и "каша" всех частот. Там у меня работает мой алгоритм определения частоты в SSB.
    Цитата Сообщение от rx3apf Посмотреть сообщение
    Вариант - перейти к взаимному счету ("reciprocal counting"), уменьшив интервал измерения до сотен, а то и десятков ms. С какой точностью/дискретностью требуется измерять ?
    Сейчас интервал измерения 1мс и 2мс на ожидание результата подсчета. Алгоритм определения частоты достаточно простой (но ушло на его создание 3 месяца), запускаем цикл измерения частоты, четыре измерения в одном цикле. Выбираем наиболее высшую частоту и сохраняем. Запускаем второй цикл измерения, четыре измерения в цикле. Так же сортируем по наивысшей частоте и сохраняем в переменную. Третий и последний цикл измерений, все как выше описано. После чего сравниваем результаты из трех циклов, если они равны, значит частота получилась истинная. Если нет, идем на измерение. Вот здесь и получается задержка в алгоритме SSB, три цикла по 4 измерения это уже 12 измерений, каждая как минимум занимает 3мс плюс время на перезапись максимальных значений и сравнения. Вот и набегает 50мс. Но смущает то что до 21МГц определяется быстро, выше уже алгоритму приходится дольше крутится в цикле. Любое изменение количества измерений в цикле, как и самих циклов измерений только ухудшает ситуацию по времени. Альтернативных алгоритмов в интернете я не видел.

    Скрытый текст

    Код:
      if (FreqCount.available()){                                                       // если есть сигнал на входе
      for (byte i=0; i<3; i++){frq = FreqCount.read()*0.16; delay(4);                   // измеряем входную частоту и приводим её к виду 17...300
      if (frq>frq_old1) { frq_old1 = frq;}}                                             // получаем наивысшую частоту "frq_old1"
      for (byte i=0; i<3; i++){frq = FreqCount.read()*0.16; delay(4);                   // измеряем входную частоту и приводим её к виду 17...300
      if (frq>frq_old2) { frq_old2 = frq;}}                                             // получаем наивысшую частоту "frq_old2"
      for (byte i=0; i<3; i++){frq = FreqCount.read()*0.16; delay(4);                   // измеряем входную частоту и приводим её к виду 17...300
      if (frq>frq_old3) { frq_old3 = frq;}}}                                            // получаем наивысшую частоту "frq_old3"
      else FreqCount.end();
      if ((frq_old1 == frq_old2) && (frq_old2 == frq_old3)){frq_get = frq_old1;}        // сравниваем три частоты и при их равенстве записываем в "frq_get"



    Цитата Сообщение от Milldi Посмотреть сообщение
    А еще таймеры и выводы есть свободные, посмотрите по даташиту,
    Там используется два таймера. Первый настраивается на пин D5 как счетчик тиков, а второй таймер формирует отрезки времени 1мс. Нулевой таймер трогать нельзя, он аппаратный.
    Интеграл от человеческих заблуждений - истина, производная - безумие.


  2. #292

    Регистрация
    16.02.2012
    Адрес
    За полярным кругом
    Сообщений
    5,670
    Записей в дневнике
    1
    Позывной
    ex RA1OGS
    Цитата Сообщение от Integral Посмотреть сообщение
    Там используется два таймера.
    я имел ввиду режим типа описанного тут, используется один таймер и его прерывание (забыл что на прерываниях работает).

    http://avr-start.ru/?p=1997

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

    ну а дальше делаем что нам надо
    Последний раз редактировалось Milldi; 12.01.2020 в 02:15.

  3. #293
    Аватар для tomcat
    Регистрация
    27.01.2010
    Адрес
    Магаляндия, колония США
    Сообщений
    1,674
    Записей в дневнике
    3
    Цитата Сообщение от Integral Посмотреть сообщение
    это триггер Шмитта на входе (74АС14) и делитель 74НС4060. Выход взял с 4 пина (делитель на 64) и подаю на счетный вход D5 платы Ардуино.
    чтобы всем было понятно, об чем идет речь, вот набросок идеи делителя-дешифратора :


    Нажмите на изображение для увеличения. 

Название:	PA_control_unit_protection_AUTO.GIF 
Просмотров:	232 
Размер:	57.2 Кб 
ID:	327771



    Сначала была проблема с датчиком температуры ds18b20. сопротивление резистора между сигнальным выводом и +5В было 5,6 кОм, так как гугл рекомендовал от 4,7 до 10 кОм :

    Нажмите на изображение для увеличения. 

Название:	IMG_20200102_191334.jpg 
Просмотров:	165 
Размер:	410.5 Кб 
ID:	327772

    по рекомендации Сергея UT0IS уменьшил сопротивление резистора до 3,3 кОм, температура ожила :

    Нажмите на изображение для увеличения. 

Название:	IMG_20200110_193131_160.jpg 
Просмотров:	163 
Размер:	95.6 Кб 
ID:	327773


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

Название:	IMG_20200110_182637_330.jpg 
Просмотров:	207 
Размер:	258.5 Кб 
ID:	327775

    внизу синей платы есть желтый джампер - нужно выяснить - для чего он !?
    Последний раз редактировалось tomcat; 12.01.2020 в 14:47.
    ICOM-728, Mini SW2013, sdr-trx R3DI (Маламут), ATU N7DDC, Inv-V, GP.

  4. #294

    Регистрация
    19.08.2010
    Адрес
    Ставрополь
    Сообщений
    131
    Позывной
    UA7F
    Цитата Сообщение от tomcat Посмотреть сообщение
    чтобы всем было понятно, об чем идет речь, вот набросок идеи делителя-дешифратора :
    Последняя версия по моему вот эта была: Нажмите на изображение для увеличения. 

Название:	Снимок.PNG 
Просмотров:	201 
Размер:	66.6 Кб 
ID:	327778

  5. Спасибо от tomcat

  6. #295
    Аватар для Integral
    Регистрация
    08.02.2007
    Адрес
    г. Снежное
    Сообщений
    2,926
    Записей в дневнике
    1
    Позывной
    UT0IS/D0ISM
    Цитата Сообщение от UA7F Посмотреть сообщение
    Последняя версия по моему вот эта была
    Там добавлен еще один элемент триггера.
    Цитата Сообщение от tomcat Посмотреть сообщение
    внизу синей платы есть желтый джампер - нужно выяснить - для чего он !?
    Вот схема его, с дешифратором должен работать:

    Нажмите на изображение для увеличения. 

Название:	Relay Module.jpg 
Просмотров:	227 
Размер:	80.8 Кб 
ID:	327780
    Интеграл от человеческих заблуждений - истина, производная - безумие.

  7. Спасибо от tomcat

  8. #296
    Цитата Сообщение от Integral Посмотреть сообщение
    Да. Замерить частоту SSB напрямую практически невозможно.
    ...
    Сейчас интервал измерения 1мс и 2мс на ожидание результата подсчета. Алгоритм определения частоты достаточно простой (но ушло на его создание 3 месяца), запускаем цикл измерения частоты, четыре измерения в одном цикле. Выбираем наиболее высшую частоту и сохраняем.
    IMHO, идея правильная. Но с реализацией, вероятно, можно поиграться. Не вижу причин (ну, за исключением недостатков самой среды), чтобы не иметь готовый результат измерения сразу через 1 ms измерения, не останавливая счет. В общем-то и прямой счет (при внешнем прескалере на 4) даст приемлемые результаты для принятия решения (дискрет 4 kHz за 1 ms), а вот при 64 уже в 16 раз хуже. Взаимный счет даст от ~220 Hz (@3.5 MHz) до менее 2 kHz (@28 MHz), при системном такте 16 MHz. Для определения диапазона оба варианта вполне достаточны. Я бы:
    1. Решил вопрос с готовностью результата без остановки счета
    2. Скользящую выборку из набора смежных отсчетов
    3. Пропечатать все это добро, чтобы посмотреть, а как оно выглядит "вживую".

    Цитата Сообщение от Milldi Посмотреть сообщение
    а после делителя на 64 полпериода будут длинные.
    В таком варианте да. Можно полпериода, можно полный период. Если гарантированно не потерять прерывание ICP, решение можно принять и по паре выборок. Да и 4060 штука длинная, можно и с другого отвода взять... SSB, конечно, портит картину, так вот "в лоб" плохо решается.

  9. #297

    Регистрация
    12.05.2016
    Адрес
    Краснодарский край
    Сообщений
    65
    Доброго времени. Скажите ваша версия сборки #293 я так понимаю для ума с общими сетками. интересует такая схема чтоб без сеточных измерений.

  10. #298
    Аватар для Integral
    Регистрация
    08.02.2007
    Адрес
    г. Снежное
    Сообщений
    2,926
    Записей в дневнике
    1
    Позывной
    UT0IS/D0ISM
    Для схем с ОС контроллер еще не делали, пока что с ОК. Версия с ОС это частный случай для контроллера, т.к. контролировать напряжение второй сетки не нужно, да и тока тоже. А вот ток первой сетки необходимо. Сделаем немного позже, когда прояснится с измерениями тока и частоты диапазона.
    Интеграл от человеческих заблуждений - истина, производная - безумие.

  11. #299
    Аватар для RK9AMX
    Регистрация
    26.03.2005
    Адрес
    Челябинск, MO05RE
    Сообщений
    1,341
    Записей в дневнике
    20
    Позывной
    RK9AMX
    Цитата Сообщение от VA6AM Посмотреть сообщение
    нет особых проблем.
    Ага, нет проблем. Прямые руки и масло в голове)
    ...
    В лоб не удалось подключить программный модуль управления от ПК. Попробовал костыль, работает кривовато. Добавил ещё один костыль и понял, что алгоритм придется править очень сильно.
    Из непоняток... Программа зависает в функции включения и отключения. В майн луп переходит только после того, как отсчет времени заканчивается. Пробовал вариант программы без определения автоматического определения диапазона. Это конечно не фатально для нынешней реализации, но для реализации некоторых задумок такой алгоритм не подходит.
    В выходные в магазине прикупил ещё один модуль на INA219. Буду делать на них измерители тока. Для переключения диапазонов будет использоваться HC595 2 шт. Пока сделаю ручное управление переключением диапазонов + 2 кнопки (Band UP, Band DOWN). Дальше будет видно, как реализовать автоматику.

    В общем, будет ещё один вариант прошивки и схемы.
    Сомнения могут быть устранены только опытом.


  12. #300
    Аватар для Integral
    Регистрация
    08.02.2007
    Адрес
    г. Снежное
    Сообщений
    2,926
    Записей в дневнике
    1
    Позывной
    UT0IS/D0ISM
    Цитата Сообщение от RK9AMX Посмотреть сообщение
    Из непоняток... Программа зависает в функции включения и отключения. В майн луп переходит только после того, как отсчет времени заканчивается.
    Есть такое. В подпрограмме нагрева и охлаждения есть цикл while, который крутится, пока счетчик времени не отсчитает положенное время. В этот момент в основной цикл не попадает. Просто когда это делалось, мне в основном цикле делать нечего. Там большая часть программы не работает.

    Добавлено через 10 минут(ы):

    Сделал еще одну промежуточную версию 1.0.7.5
    Она отличается от 1.0.7.4 тем, что я применил не библиотечный частотомер, а сделал непосредственную настройку таймеров по прерываниям. Вот эти две версии будем сравнивать. Затем надо вернуть каким-нибудь образом бипер.
    Последний раз редактировалось Integral; 13.01.2020 в 15:04.
    Интеграл от человеческих заблуждений - истина, производная - безумие.

Страница 30 из 101 ПерваяПервая ... 20272829303132334080 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Контроллер на Arduino NANO и индикаторе WH1602 для транзисторного УМ
    от D0ITC в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 18
    Последнее сообщение: 16.01.2024, 10:20
  2. ad9952+arduino nano
    от greekk в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 5
    Последнее сообщение: 13.06.2019, 12:31
  3. Si5351 arduino nano cw передатчик
    от Tlg в разделе Для начинающих
    Ответов: 4
    Последнее сообщение: 18.04.2019, 16:46
  4. Arduino nano v3+ad9850 cw transmitter
    от Tlg в разделе Для любителей QRP и QRPP
    Ответов: 15
    Последнее сообщение: 09.01.2019, 21:42
  5. Контроллер на Arduino NANO и индикаторе WH1602 для транзисторного УМ
    от в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 0
    Последнее сообщение: 01.01.1970, 03:00

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •