Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить

Re: DCF77 возможно ли это самостоятельно сделать?

Ср дек 20, 2023 10:23:03

dimbor писал(а):Далее имеется модуль DDS AD9833.

зачем? если ты береш есп32, то там 2 цапа есть, они могут работать на 77кгц

усилитель любой на транзисторе типа bd136

dimbor писал(а):Идея раздербанить приемник, выдрать ферритовую антенну с кпе тоже была.

это самая правильная идея
dimbor писал(а): Это ж надо считать, витки мотать, потом крутить-настраивать.

а что ты хотел? тем более если оса есть

Re: DCF77 возможно ли это самостоятельно сделать?

Ср мар 06, 2024 19:08:58

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

Радиоприемник было решено не увечить. Чтоб уж точно мощи излучения хватило, заказал нефритовый ферритовый стержень 10x200-400HN-вроде-буквы в чипидипе с доставкой один день за много денег. Приехал через три недели - видимо они тоже все на али заказывают, паршивцы. С длиной на три миллиметра обманули, ну да и ладно.

Далее поехал на Митьку, купил здоровый КПЕ - для опытов, и меди 0.3. Сдуру в количестве на обмотаться. Там всех жучков уходящей эпохи согнали в подвал, отчего у тех окончательно зашкалило жлобство, и количество тыщь там пришлось оставить.

Считать витки было активно лень. Последовал радистскому лозунгу, что согласовать можно даже гвоздь. Посему мотал пока влезало, виток к витку. Самая сложная оказалось часть работы. Руки у меня хоть и золотые, но к месту их крепления вопросы были с самого начала. Намотал таки. Около 7.3 миллигенри меряется. Витков 270-280 навскидку.

Уже излагал идею, чем в эту хреновину колебать. Колебать, понятно, генератором ad9833. Хороший синус, качественный - 500 мВ. Усилить бы только его. Китайский двенадцативольтовый модуль на TDA2030A - усилитель? Усилитель! В историческом процессе эту тэдэашку только что в задницу не вставляли и ... в длинноволновые передатчики. Не нагуглил по крайней мере. А что, между 20 и 80 килогерцами всего ничего промежуток. Не попробуешь - не узнаешь.

Сказано - сделано. Произошла вивисекция. Для начала из модуля выгнал Цобеля путем выпаивания C6. Привесил радиатор пожирнее. На вход - генератор. На выход подключил намотанное. Снял выходной электролит, вместо него включил приобретенный КПЕ (~1200) пФ. И как давай его крутить! Чисто лаба по физике в школе для умственно отсталых. Как ни странно, сразу попал в резонанс где-то на двух третях КПЕ. Резонанс ловил осой - на ферритовый стерженек намотал витков 30. Но он и по максимуму тока потребления тоже отлично ловится (~ 130 mA). Потом глянул на выходе tda - амплитуда 4В, синус корявенький. Убавил вход процентов на 5 - синус исправился, выход не пострадал. Отличненько! Несущая есть. Померял емкость КПЕ, набрал рассыпухой конденсаторной. Плюс отрыл в ящике маленький и ржавый кпе для окончательной подстройки.

Дальше озадачился, как модулировать. Забил в поиск амплитудный модулятор, почитал, охренел, поседел, обгадился словом "нелинейность". Но стоп! У меня-то манипуляция, телеграф считай. А на выходе ad9833 еще и постоянка какая-то имеется. Значит тупо посчитал резистивный делитель, как вики про dcf77 пишет. А в нижнюю его часть включил полевик. И все заманипулировалось со страшной силой.

Прямо со сборочного стола произошла синхронизация двух часов. 4 и 5 метров в противоположные стороны от. Причем стержни антенн у них под 90 градусов. За третьи часы не уверен - они иногда синхронизировались естественным путем. Там две взрослые бетонные стены на 4 метра.

Схема вундервафли:
Изображение
Рисовал схему в QElectroTech. Библиотека элементов у проги странная, с французским прононсом, так сказать. Так что не по ГОСТу, не стреляйте.
Электролиты - что были, те и поставил. И про остальное: да, критикуйте. Критикуйте меня полностью!

А это изделие на кровавой фанерке корявой макетке. Хвастаюсь, ога:
Изображение
Теперь коробку под него искать упрею. Хоть из картона клей, ё!

Хотел похвалиться, что ни одна tda в процессе экспериментов не пострадала. Но не похвалюсь - одна умерла. Надо же было разогнать попробовать. Закоротил R4, подал 19В с ноутбучного БП. Во первых, произошел громкий чпок забытого электролита в модуле. Он там на 16В, если что. Отскоблил его остатки, включил снова. Амплитуда на выходе возросла до 6.2В. Синхронизировались даже бабушкины часы с кукушкой. Шутки-шутками, но нашлись и засинхрились четвертые часы за теми же двумя бетонными стенами. Причем заметили не сразу, а как пожаловались, что на час врать стали (часовой пояс стоял левый). Я-то и не обращал внимание, что они dcf поддерживают. Идиллию нарушила тихая смерть микрухи модуля через час. Причем она даже не перегрелась, просто устала. Точное определение порции, которую можно в нее вдувать, все еще ждет своих пытливых исследователей.

Если не устали читать, дальше про софт:

Много времени потерял с esp8266 - захотел, блин, минималистично сделать. Да и программатор под нее есть с пружинками. Но когда она начинает в произвольный момент времени чесать свой вайфай на том же ядре, все таймеры идут лесом. А у esp32 в неодомашненном виде слишком для меня маленький шаг контактов, охреневаю подпаиваться. По счастью, нашелся esp32 devkit v1.

Первоначальная синхронизация была на https://wokwi.com/projects/347759046168674898. Скетч был кастрирован на LCD, а инициализация ad9833 добавлена. Но там странненько: модуляция по таймеру, а заполнение трехминутного массива - на каких-то безумных задержках в основном цикле прописано. И если ему что не нравится, оно минуту модуляции может пропустить в легкую, или две. Посему искалечил точно так же https://github.com/SensorsIot/DCF77-Tra ... -for-ESP32. Тоже откусил LCD (и что им, ардуинщикам, все неймется). Убрал отсылку двадцать четвертого часа, экономию энергии. Добавил дебажную цветомузыку, еще по мелочи. Архив со скетчем цепляю.
fake-dcf77.tar.gz
(2.97 KiB) Скачиваний: 10


Еще планирую со временем мелкое хулиганство. Может в utc-3 передавать сразу? Зато весной-осенью не надо бегать - на час корректировать.

Фигасе повесть вышла, со всхлипом. Сказка о потерянном времени, мда. Не мной, было занимательно.

Добавлено after 4 hours 14 minutes:
Забыл важное: На 12 вольтах питания словил неприятную бяку. Включаю питание, настраиваю в резонанс. Выключаю хоть на секунду холодную, горячую - без разницы. Включаю. На том-же расстоянии от приемной катушки/куска провода амплитуда падает процентов не тридцать. Шевелю подстроечным конденсатором слегка туда-сюда - восстанавливается все. То-ли какие-то выкрутасы с внутренней емкостью микросхемы, то-ли вообще блуждающие токи какие, хм. А вот ежели задрать питание до 15В, начинают соблюдаться законы физики, и поведение становится штатным. На этом и остановился. Между прочим, 12В для tda2030a - минималка вроде, не? Может из-за этого.

Re: DCF77 возможно ли это самостоятельно сделать?

Ср мар 06, 2024 23:12:42

эта микросхема гавно и она не работает на такой частоте
лучше tda7056a, если найдеш оригинальную

а лучше делай по такой схеме
это усилитель тока и поэтому надо катушку с конденсатором включать последовательно
изначально вон там подключалась плоская безиндуктивная катушка с незамкнутым контуром и при резонансе ток там около ампера протекает

и как я уже писал - есп32 имеет достаточно быстрый цап, чтобы генерить 77кгц
не нужен отдельный синтезатор и модулятор, все это делается математикой
Вложения
apml.gif
(88.82 KiB) Скачиваний: 23

Re: DCF77 возможно ли это самостоятельно сделать?

Чт мар 07, 2024 10:28:59

эта микросхема гавно и она не работает на такой частоте

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

лучше tda7056a

Спасибо, попробую. А вот интересно, откуда дровишки? В сети на нее нашел только куцый филипсовский даташит, где даже графика децибел от частоты нема.

и как я уже писал - есп32 имеет достаточно быстрый цап, чтобы генерить 77кгц
не нужен отдельный синтезатор и модулятор, все это делается математикой

А вот как же математикой можно амплитуду на ноге ЦАП до 15% исходной опустить. ЦАП еще восьми-битный, кста, в отличие от десяти-битного в dds за три копейки пучок. 256*0.15~=38 уровней не маловато для синуса?

Еще, как понял, перед усилителем тока еще какой-то каскад нужен для усиления, собственно, напряжения. (Я сейчас не глупость написал?) А с расчетом всяческих каскадов у ненастоящих сварщиков типа меня имеются перманентные проблемы.

Re: DCF77 возможно ли это самостоятельно сделать?

Чт мар 07, 2024 16:17:06

dimbor писал(а):Потребности нормальной трех-четырехкомнатной квартиры она кроет как бык овцу. Еще и соседям что-то достается, на сдачу.

это мало совсем при такой мощности
а все потому, что кпд ее на частотах выше 20кгц как у паровоза
а еще самовозбуд может быть и сгорит сразу

dimbor писал(а):А вот интересно, откуда дровишки?

на ней делали катушки мишина, а там до 300кгц автогенератор
усилитель тоже от катушек, только там еще блок генератора с фапч был

dimbor писал(а):А вот как же математикой можно амплитуду на ноге ЦАП до 15% исходной опустить.

ну цап выдает 3.3в или 255
255 надо умножить на 0.15, что составляет 15%
регулировка громкости это собственно и есть процесс умножения на 0...1
1 это 100% а 100% это число 255 в 8 битном цапе

dimbor писал(а):256*0.15~=38 уровней не маловато для синуса?

Это не 38 уровней, это число, которое надо будет записать в цап, чтобы он сгенерил нужное напряжение, которое будет 15% от нуля
хотя вроде я помню, что 30% должно быть

dimbor писал(а):Еще, как понял, перед усилителем тока еще какой-то каскад нужен для усиления, собственно, напряжения.

думаю 3.3в достаточно будет

Re: DCF77 возможно ли это самостоятельно сделать?

Чт апр 11, 2024 07:00:08

Таки соорудил вторую версию вундервафли согласно поданным советам. В основном, из-за собственной забывчивости. Одни часы из четырех синхронизировались как-то чрез раз. Грешил на недостаток мощности предыдущего передатчика для нищих и скупил походу последние остатки TDA7056B в нашей деревне в количестве трех штук на всякий. Забегая вперед, дело оказалось вовсе не в мощности. Аккурат за часами, под тонкой фанеркой в итоге обнаружился драйвер потолочной светодиодной ленты. Мдя!

Ну раз собрал, засуну сюда и эту схемку. В ней никаких секретов нет - повторяет найденную схему чудо-лечебных всех болезней катушек. Излучаемая амплитуда в попугаях выросла где-то в 1.4 раза, потребляемый ток уменьшился на ~35%. Соответственно, радиатор у микрухи стал маленький и еле теплый. А еще количество набегающих по вентиляции от соседей тараканов сошло почти в ноль, как только я начал эти эксперименты. Совпадение наверное. Но с другой стороны, когда была хрущеба в пятидесяти метрах от ЛЭП, тараканов там не было никогда, несмотря на ядреный соседский контингент.

Озаботился корпусом. За примерно подходящий по размерам пластиковый дойчсландский импорт хотят столько, будто он кокосом насыпан доверху. Высверлил потроха китайского пятирозеточного удлинителя за 300 рэ. Тютелька в тютельку, как на лиллипутской свадьбе! Замотал изолентой (как известно, ей крепятся друг к другу все гениальные вещи на свете). Фото показывать конечно же не буду.

Софт тоже новый. Во первых, часы в есп32 никакие - ардуиновский либсишный time() в моем экземпляре лажает на 1-3, изредка до 20 мс за минуту. Зависит от фазы луны. В сутки набегают секунды. Можно чаще синхронизировать sntp, но нет - секунда не совпадет, и синхронизация испортит передаваемую минуту с вероятностью 60%. И это конечно же будет минута, когда на часах приемник включен. Еще был вопрос, нафига пересчитывается весь массив каждую десятую секунды, когда надо это делать раз в минуту.

Лезть в дебри фриртоса ловить эти миллисекунды было неохота, там бы обязательно еще изучение IDF подтянулось. Хотелось обойтись сермяжной ардуиной. Поэтому прицепил еще rtc ds3231. (Часы опять получились, ой!) Тактируется теперь еёными посекундными прерываниями. С поделением секунды на десять частей справляется имеющийся софтовый тикер. Времени на пересчет следующей передаваемой минуты хватает даже с учетом никакой ардуинщецкой синхронности. Считается в лупе по флагу на 59 секунде, еще следующие первые 21 можно цеплять - они одинаковые всегда. Судя по логам, иногда цепляет.

А еще у меня несколько пригорало от факта, что миллиписька есп32 на два порядка шустрее бк-шки, где я писал свой первый пиу-пиу на бейсике. Посему теперь хостится портал с домино и профурсетками. Фото портала:
Изображение
Т.е. можно вообще ntp не включать - задать время из браузера.
dhcp префикс WIFI_DEVID в проге задан неспроста. Нормальные роутеры его вполне себе в DNS регистрируют. Там порносайт и искать.
Переехал в platformio и vscode. Хоть он и жирный, но всяко удобней.
Из под ардуиновского IDE тоже будет собираться с минимальными переименованиями.
Перед заливкой скетча, надо записать содержимое data в раздел на esp32. Гуглить - LittleFS.
Схему и скетч со слегка покоцанными библиотеками прилагаю к сему. Из библиотек удалил картинки, да простят меня. Ибо файл на форум не пролазил по размеру.
Изображение
fake-dcf77_v2.tar.gz
(507.01 KiB) Скачиваний: 8

Re: DCF77 возможно ли это самостоятельно сделать?

Сб апр 13, 2024 13:54:59

Исправление очепяток и ошибок.
Код:
--- fake-dcf77_v2.cpp.ofig  2024-04-11 03:16:54.958180305 +0300
+++ fake-dcf77_v2.cpp   2024-04-13 01:59:25.729930012 +0300
@@ -163,10 +163,10 @@
   #endif
   time_t ut = mktime(&rtc_ti) ;
   if (actual_sec != rtc_ti.tm_sec) {
-    actual_sec = rtc_ti.tm_sec; // The next second will be transmitted via dcf_attach()
     #ifdef DEBUG
       DBG_PRN("code_time: actual_sec %d -> %d\n\r", actual_sec, rtc_ti.tm_sec);
     #endif
+    actual_sec = rtc_ti.tm_sec; // The next second will be transmitted via dcf_attach()
   }
   if (rtc_ti.tm_sec != 59) {
     ut += 60; // DCF77 transmitts the next minute
@@ -395,7 +395,7 @@
       #ifdef DEBUG
       DBG_PRN("Device time set click: %s\n\r",ctime(&t));
       #endif
-      if (time_is_set(t)) { rtc_set(); set_unix_time(t); }
+      if (time_is_set(t)) { rtc_set(t); }
     }
     if (ui.click("btmz")) {
       String s = ui.getString();

Re: DCF77 возможно ли это самостоятельно сделать?

Сб апр 13, 2024 14:38:13

вот, я ж говорил, что другая мелкасхема будет получше на таких частотах

теперь можеш оптимизировать ее и выкинуть генератор и транзистор в модуляторе и сделать все это в коде на цапе

Re: DCF77 возможно ли это самостоятельно сделать?

Сб апр 13, 2024 19:00:27

вот, я ж говорил, что другая мелкасхема будет получше на таких частотах

Ога, осознал. Благодарю еще раз.

теперь можеш оптимизировать ее и выкинуть генератор и транзистор в модуляторе и сделать все это в коде на цапе

Не-не-не. Мне ж не на продажу их клепать. Сляпал себе, да и ладно. Опять же, главное не нарушать правило номер один: работает - не трогай!

Re: DCF77 возможно ли это самостоятельно сделать?

Вс апр 14, 2024 12:44:36

ну это для повышения своего уровня
зато будеш понимать, как генерится звук и сигналы вообще при помощи кода

потом схема еще упростится и будет на выходе пара транзисторов и еспеха
Ответить