Сообщений: 175
Своих тем: 0
Рег.: 09-2021
Репутация:
26
(11-02-2025, 01:53)KEN : Наконец запихал плату в корпус, уже можно на пробный коп...
Что особо радует - при изменении прошивки не надо разбирать, по WiFi прошивается за секунды. Можно менять прошивку прямо на копе - если файлы разных вариантов прошивки закинуть на телефон.
[attachment=8003] Всем здравствуйте! Если интересно могу подсказать как на ESP вывести два меандра со сдвигом 90 градусов.В схеме микросхем поубавится. Только не знаю сработает ли на ESP8266. На ESP32 работает прекрасно.
Сообщений: 885
Своих тем: 8
Рег.: 09-2021
Репутация:
41
(11-02-2025, 18:38)I_on : не знаю сработает ли на ESP8266 Не сработает, доступен только один таймер и напрямую управлять выводами он не может, там даже ШИМ программно реализован. Если повесить прерывание на таймер то при записи в EEPROM контроллер перезагружается, там вообще много подводных камней.
А про ESP32 интересно... Я вообще много раз пожалел что не использовать ESP32, ESP8266 это какой-то огрызок от ESP32, но я дожал... Как WiFi сервер ESP8266 работает отлично, ESP8266 достаточно шустрый, с математикой float всё на уровне... полноценных 32 бита.
На ESP8266 просто стабильную частоту на аппаратном уровне получить - уже проблема, там только через i2s DMA передавая данные по кругу, а по другому никак.
(11-02-2025, 20:14)-vlad- : Нагородил..... Вроде норм...
Сообщений: 31
Своих тем: 0
Рег.: 06-2024
Репутация:
0
А как насчет баланса грунта? Для него нужно третий канал с регулировкой фазы, а здесь только два канала ?
Перед сборкой платы хорошо бы было посматреть меню прибора.
(11-02-2025, 18:38)I_on : два меандра со сдвигом 90 градусов Вот два, надо добавить ещё один
Код: pinMode(PA8,PWM);
pinMode(PA9,PWM);
TIMER1_BASE->CCER=(1<<4)|(1<<0);//cc1e/cc2e enable
TIMER1_BASE->CCMR1=(1<<13)|(1<<12)|(1<<5)|(1<<4);//toogle mode
TIMER1_BASE->PSC=0;
//TIMER1_BASE->ARR=2879;
TIMER1_BASE->ARR=1181*2;// 15.2kHz
TIMER1_BASE->CCR1=0 ;
//TIMER1_BASE->CCR2=1439 ;//
TIMER1_BASE->CCR2=1181 ;
TIMER1_BASE->CR1=1;
}
void loop() {}
Сообщений: 175
Своих тем: 0
Рег.: 09-2021
Репутация:
26
(12-02-2025, 00:05)KEN : там даже ШИМ программно реализован Действительно огрызок. Код для ESP32.Может кому пригодится.
Код: #include <driver/ledc.h>
// Настройка PWM
void setupPWM() {
// Конфигурация таймера
ledc_timer_config_t timerConfig = {
.speed_mode = LEDC_LOW_SPEED_MODE, // Режим работы (низкая скорость)
.duty_resolution = LEDC_TIMER_10_BIT, // Разрешение ШИМ (10 бит = 0-1023)
.timer_num = LEDC_TIMER_0, // Номер таймера
.freq_hz = 10000, // Частота PWM (10 кГц)
.clk_cfg = LEDC_AUTO_CLK // Автоматический выбор источника тактирования
};
ledc_timer_config(&timerConfig);
// Конфигурация канала 1 (первый меандр)
ledc_channel_config_t channelConfig1 = {
.gpio_num = 18, // GPIO для первого меандра (например, GPIO18)
.speed_mode = LEDC_LOW_SPEED_MODE,
.channel = LEDC_CHANNEL_0, // Номер канала
.timer_sel = LEDC_TIMER_0, // Связать с таймером 0
.duty = 512, // Коэффициент заполнения 50% (512 для 10 бит)
.hpoint = 0 // Начальная точка (0 для начала периода)
};
ledc_channel_config(&channelConfig1);
// Конфигурация канала 2 (второй меандр со сдвигом фазы)
ledc_channel_config_t channelConfig2 = {
.gpio_num = 19, // GPIO для второго меандра (например, GPIO19)
.speed_mode = LEDC_LOW_SPEED_MODE,
.channel = LEDC_CHANNEL_1, // Номер канала
.timer_sel = LEDC_TIMER_0, // Связать с таймером 0
.duty = 512, // Коэффициент заполнения 50% (512 для 10 бит)
.hpoint = 256 // Сдвиг фазы на 25% периода (256 для 10 бит)
};
ledc_channel_config(&channelConfig2);
}
Сообщений: 885
Своих тем: 8
Рег.: 09-2021
Репутация:
41
(12-02-2025, 07:21)dima79 : А как насчет баланса грунта? Для него нужно третий канал с регулировкой фазы, а здесь только два канала ? Совсем не обязательно крутить фазу физически, это всё пережитки аналоговых приборов - там по другому никак... После квадратурного детектора у нас мнимое и реальное значения и их можно простой тригонометрией преобразовывать в любой нужный вектор, но на самом деле можно ещё проще... и никакой разницы между физическим кручением фазы и математическим - не будет.
(12-02-2025, 07:21)dima79 : хорошо бы было посматреть меню прибора. https://tehnodium.ru/thread-1039-post-23...l#pid23552 второе видео.
Меню отличается от меню любого Кванта только тем что оно реализовано на Web странице.
(12-02-2025, 12:43)I_on : Действительно огрызок. Да но ESP8266 точно так-же хорошо работает как сервер, у меня получилась достаточно большая web страница с обменом данными с частотой 83Гц, 8266 тянет без проблем, практически в реальном времени, а вот устройство не всякое тянет, старые смартфоны тормозят.
Сообщений: 175
Своих тем: 0
Рег.: 09-2021
Репутация:
26
(12-02-2025, 14:50)KEN : Да но ESP8266 точно так-же хорошо работает как сервер, у меня получилась достаточно большая web страница с обменом данными с частотой 83Гц, 8266 тянет без проблем, практически в реальном времени, а вот устройство не всякое тянет, старые смартфоны тормозят. Можно связать две ESP между собой.Смысла правда особого нет.Плата в катушку не влезет,а впрочем можно наушники с небольшим экраном и кнопками сделать.
Сообщений: 31
Своих тем: 0
Рег.: 06-2024
Репутация:
0
(12-02-2025, 14:50)KEN : оно реализовано на Web странице. Вот и её хотел загрузить.
Сообщений: 885
Своих тем: 8
Рег.: 09-2021
Репутация:
41
(12-02-2025, 23:02)dima79 : Вот и её хотел загрузить. Её загружает ESP8266.
(12-02-2025, 20:57)-vlad- : https://disk.yandex.ru/d/yaJj4tAzccYcuw А отверстия для крепления платы по углам?
Сообщений: 3943
Своих тем: 10
Рег.: 10-2021
Репутация:
57
(13-02-2025, 00:41)KEN : крепления Я ещё завтра ею заниматься буду, что то двигать... и повороты на дорожках(углы)более плавными делать.
Сообщений: 885
Своих тем: 8
Рег.: 09-2021
Репутация:
41
Замучил я таки ESP8266, после нескольких десятков прошивок - перестал прошиваться по воздуху, после прошивки зависал с постоянным сообщением по UART - Fatal exception (0) и куча разных чисел адресов и тд...
Что интересно - по UART прошивался нормально. Думал уже перепаивать контроллер но оказалось это частая проблема и лечиться перешивкой загрузчика, к счастью нашлась простенькая утилита для этого, там ничего настраивать ненужно, прошивается по UART как при обычной прошивке ESP8266.
Ссылка на утилиту.
Ещё реализовал тёмную тему, вроде должно экономить батарею.
|