Страница 1 из 2
генератор до 8МГц
Добавлено: 30 мар 2020, 19:19
sser
Всем привет.
Не знаю как размещать блоки на сайте , пришлось кинуть на форум.Этот блок сделан благодаря пользователю с Ардуино ру. ник: dimax.
Всем не болеть!
Отправлено спустя 1 час 38 минут 6 секунд:
Если хотите более стабильную частоту , то используйте блок "гена8".
генератор до 8МГц
Добавлено: 30 мар 2020, 21:29
hrach
Большое спасибо за блоки. Просьба если можно на втором блоке сделайте вход.
генератор до 8МГц
Добавлено: 30 мар 2020, 21:41
ingener
этот блок вроде бы не использует библиотек, можно ли его переделать для ESP32?
генератор до 8МГц
Добавлено: 30 мар 2020, 22:52
sser
hrach писал(а): 30 мар 2020, 21:29
на втором блоке сделайте вход.
Блок гена_s это копия блока гена8 ,только со входом.
Вот попробуйте этот блок , может он лучше, точно не помню делал блоки давно...
Отправлено спустя 3 минуты 38 секунд:
ingener писал(а): 30 мар 2020, 21:41
этот блок вроде бы не использует библиотек, можно ли его переделать для ESP32?
Нет не пойдёт, там нужно знать какие регистры настраивать, в разных контроллерах они по разному настраиваются .
Нужно в даташите смотреть структуру ESP и настраивать таймеры .
генератор до 8МГц
Добавлено: 23 ноя 2021, 18:16
aidar_i
sser писал(а): 30 мар 2020, 19:19
Этот блок сделан благодаря пользователю с Ардуино ру. ник: dimax.
Еще блок по скетчу того же автора.
Генератор.flp
До частоты 2,8 кГц разрешение 1 герц, на частотах выше таймер аппаратно уже не может поддерживать это разрешение, поэтому более высокие частоты синтезируются задавая параметром не требуемую частоту, а просто инкриминируя регистр сравнения. Получается чем выше частота -тем больше шаг.
Задаете требуемую частоту на входе, на выходе получаете частоту, которую может создать таймер. Частоту снимаете с вывода 9 Ардуино.
генератор до 8МГц
Добавлено: 13 дек 2021, 09:48
zakhar81
ingener писал(а): 30 мар 2020, 21:41
этот блок вроде бы не использует библиотек, можно ли его переделать для ESP32?
Вот есть статейка:
http://mypractic.ru/urok-6-tajmery-obsh ... esp32.html
Про прерывания и все нужные регистры для настройки и использования для подобного генератора, но нет полноценного примера кода
Хорошо бы воспользоваться этим, так как у ESP тактовая почти в 10 раз выше тех что на атмелах, выйдет неплохой генератор с хорошим шагом по перестройке, так как там счетчики 64 разрядные как у STM32
Может кто нибудь запакует это в ПБ?
Можно даже на коммерческой основе, если да пишите в личку
Отправлено спустя 17 минут 14 секунд:
Вот на гитхабе нашел сигнальный (прямоугольной и гармонической форм) генератор ESP с WEB интерфейсом, который используется для задания параметров генератора
Блин классная штука!
https://github.com/vdeschwb/esp32-signal-generator
И там же ссылка на расширение Visual Studio Code version 1.43.1 для Arduino IDE
Т.е. в чистом виде этот код не откомпилировать в Arduino IDE без этого расширения
Отправлено спустя 3 минуты 23 секунды:
Синус генератор 40Гц-250КГц
https://www.esp32.com/viewtopic.php?t=10321
генератор до 8МГц
Добавлено: 13 дек 2021, 21:23
aidar_i
zakhar81 писал(а): 13 дек 2021, 09:48
в чистом виде этот код не откомпилировать в Arduino IDE без этого расширения
Прекрасно компилируется!Без расширения.
генератор до 8МГц
Добавлено: 13 дек 2021, 22:27
AlexCrane
Интересный блок получается, через параметры сделать не сложно, но теряется возможность менять параметры генератора на лету, хоть через тот же веб интерфейс.
А если сделать изменение параметров через входы, то получается не очень красивый код...
Тестовый блок
блок перенесён сюда
viewtopic.php?f=81&t=7858#p111641
генератор до 8МГц
Добавлено: 14 дек 2021, 05:36
zakhar81
[ref]AlexCrane[/ref],
Спасибо!
Будем проверять
Отправлено спустя 2 часа 21 секунду:
Интересно, а он сможет на нескольких пинах одновременно генерить, т.е. несколько блоков в программе потянет, или это не целесообразно, нужно в коде блока добавлять такую возможность
Проверим пару тройку одновременно поглядим, с осциллографом
Отправлено спустя 7 минут 17 секунд:
А вот таймеры там вибираються для каждого канала независимо, эти таймеры же в ЕСП тактируются от одного источника? Ну общего генератора
Значит они будут синхронны, и если так, то можно максимально 4 независимых канала организовать с разными таймерами, т.е. 4 блока можно использовать одновременно в программе если таймеры у них будут выбраны разные 0 1 2 3, тогда все корректно будет
И еще было бы здорово эти таймеры на ходу настраивать чтобы модулировать ШИМ
Отправлено спустя 4 минуты 28 секунд:
Но это нужно тестить с контролем сигналов конечно
В выходные займемся
генератор до 8МГц
Добавлено: 14 дек 2021, 07:11
AlexCrane
zakhar81 писал(а): 14 дек 2021, 05:36
несколько блоков в программе потянет
Такая возможность заложена
zakhar81 писал(а): 14 дек 2021, 05:36
И еще было бы здорово эти таймеры на ходу настраивать чтобы модулировать ШИМ
Все параметры меняются по сигналу Start
генератор до 8МГц
Добавлено: 17 янв 2022, 13:21
4755
AlexCrane писал(а): 13 дек 2021, 22:27
Интересный блок получается, через параметры сделать не сложно, но теряется возможность менять параметры генератора на лету, хоть через тот же веб интерфейс.
А если сделать изменение параметров через входы, то получается не очень красивый код...
Тестовый блок
esp32-signal-generator.flp
у меня не работает
генератор до 8МГц
Добавлено: 17 янв 2022, 13:29
AlexCrane
[ref]4755[/ref], Напиши [ref]zakhar81[/ref] у него работает, но есть какие-то нюансы, о которых он обещал мне рассказать, пока жду...
генератор до 8МГц
Добавлено: 17 янв 2022, 16:20
Rovki
А на есп8266 будет работать ?
генератор до 8МГц
Добавлено: 17 янв 2022, 16:35
AlexCrane
[ref]4755[/ref], А что именно не работает?
[ref=#ff8000]Rovki[/ref], Не будет, библиотека заточена чисто под ESP32
генератор до 8МГц
Добавлено: 17 янв 2022, 16:46
Rovki
А переточить ни как?
генератор до 8МГц
Добавлено: 17 янв 2022, 19:07
AlexCrane
[ref=#ff8000]Rovki[/ref], Никак...
генератор до 8МГц
Добавлено: 18 янв 2022, 05:54
zakhar81
Извиняюсь руки не дошли написать, сейчас сделаем
Отправлено спустя 2 минуты 3 секунды:
Да, это только для ESP32, в библиотеке привязка к архитектуре, поэтому она к ESP8266 не применима
Отправлено спустя 15 минут 37 секунд:
40МГц разрешение 1 (коэф зап 0-1)
20МГц разрешение 2 (коэф зап 0-3)
10МГц разрешение 3 (коэф зап 0-7)
5МГц разрешение 4 (коэф зап 0-15)
2,5МГц разрешение 5 (коэф зап 0-31)
1,125МГц разрешение 6 (коэф зап 0-63)
562500Гц разрешение 7 (коэф зап 0-127)
281250Гц разрешение 8 (коэф зап 0-255)
140625Гц разрешение 9 (коэф зап 0-511)
70312Гц разрешение 10 (коэф зап 0-1023)
35156Гц разрешение 11 (коэф зап 0-2047)
17578Гц разрешение 12 (коэф зап 0-4095)
... ну и так далее до разрешения 20
Коэффициент заполнения как видно не в процентах а в делениях, ну т.е. период в секундах делим на это количество отсчетов и получаем одну минимальную дискрету в секундах
Фаза задается аналогично коэффициенту заполнения
Отправлено спустя 3 минуты 30 секунд:
Вход для включения highspeed mode, служит для того чтобы изменения настроек применялись налету без перезапуска блока, сразу на следующем цикле следующем за тем в котором изменили соответствующую величину
Если этот режим не включен то нужно перезапускать блок
А при не включенном режиме можно плавно выходить на заданную частоту или скважность перезапуская блок на каждом цикле и меняя на одну минимальную дискрету изменяемый параметр
Отправлено спустя 2 минуты 24 секунды:
4755, установки делайте в пределах того что я выше привел, тогда все работает, другие комбинации можете не пробовать они не будут отработаны контроллером
Отправлено спустя 1 минуту 24 секунды:
На ходу я еще не успел попробовать при включенном режиме highspeed mode
Отправлено спустя 1 минуту :
В смысле на ходу менять параметры с использованием этого режима без перезапуска блока
Отправлено спустя 9 минут 1 секунду:
Да, еще, в блоке нужно изменить тип данных на INT для входных переменных задающих коэф заполнения и фазу, поскольку BYTE не хватит для диапазона заданий с разрешением от 8 и выше до 20
генератор до 8МГц
Добавлено: 18 янв 2022, 08:01
AlexCrane
[ref]zakhar81[/ref], Спасибо за информацию, добавлю в описание и внесу изменения в блок. Но INT тоже не хватит...
Так фаза тоже задается в пределах установленного разрешения?
генератор до 8МГц
Добавлено: 18 янв 2022, 12:27
zakhar81
Да на неё те же правила/ограничения действуют что и на коэф заполнения/скважность
Отправлено спустя 5 минут 26 секунд:
Ну я на сотнях килогерц работать собираюсь поэтому мне INT достаточно, а так да 2 в 20-й степени это уже 1048576 тут нужно двойное слово ну или в FlProg это LongInteger кажется
Отправлено спустя 3 часа 35 минут 1 секунду:
Вообще конечно надо это в новую тему все перенести, например "Генератор до 40МГц на ESP32"
генератор до 8МГц
Добавлено: 18 янв 2022, 13:43
Andrejka
Добрый день. Генератор гармонического сигнала (SIN) звуковой частоты я предполагая нужен многим, и в первоисточнике он реализован,
есть ли возможность организации его в блоке FLPROG на ESP32? В свое время платный вариант с Wi-Fi интерфейсом был выложен в гуголмагазине.
Отправлено спустя 42 минуты 36 секунд:
Вот вариант, многим пригодиться думаю,
https://apk.support/app/com.dgvelab.SWG32