Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 04.01.2020, 11:33  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,744
Сказал спасибо: 2,885
Сказали Спасибо 3,094 раз(а) в 2,092 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Большие плавные часы. Хвастаюсь.

Сообщение от b-612 Посмотреть сообщение
Динамик греется только когда включается ШИМ
Было неясно, когда-же грелся динамик. Поэтому и столько годных вопросов.
Реклама:
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
Непрочитано 11.06.2022, 14:16  
b-612
Прописка
 
Регистрация: 10.01.2010
Сообщений: 102
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 5 сообщении(ях)
b-612 на пути к лучшему
По умолчанию Re: Большие плавные часы. Хвастаюсь.

Дошли руки портировать проект на ESP32

В связи с этим прошу помощи
Нужен кусок кода для работы с ШИМ-ом на ESP32 для вывода звука.
Знаю, что в ESP32 есть ЦАП, но мне проще ШИМ, чтобы не париться с усилителем.
Заранее спасибо !
b-612 вне форума  
Непрочитано 17.06.2022, 12:33  
-Alan-
Прописка
 
Аватар для -Alan-
 
Регистрация: 05.12.2008
Адрес: Россия, Омск
Сообщений: 145
Сказал спасибо: 39
Сказали Спасибо 29 раз(а) в 22 сообщении(ях)
-Alan- на пути к лучшему
По умолчанию Re: Большие плавные часы. Хвастаюсь.

Используется ESP IDF.
Код:
void Init_PWM(void) {
	ledc_timer_config_t ledc_timer = {
		.speed_mode		= LEDC_HIGH_SPEED_MODE,
		.timer_num		= LEDC_TIMER_0,		// Using LED_Timer_0
		.duty_resolution	= LEDC_TIMER_8_BIT,	// 8 bits
		.freq_hz		= 24000,  		// Set output frequency at 24 kHz
		.clk_cfg		= LEDC_AUTO_CLK		// Clock -› Auto
	};
	ESP_ERROR_CHECK(ledc_timer_config(&ledc_timer));
	ledc_channel_config_t ledc_channel = {
		.speed_mode		= LEDC_HIGH_SPEED_MODE,
		.channel		= LEDC_CHANNEL_0,
		.timer_sel		= LEDC_TIMER_0,
		.intr_type		= LEDC_INTR_DISABLE,
		.gpio_num		= 5,
		.duty			= 128,	// Set duty to 64/256
		.hpoint			= 0,
		.channel		= 0,		// Channel [0..7]
		.gpio_num 	= 32		// IO32
	};
	ESP_ERROR_CHECK(ledc_channel_config(&ledc_channel));
}

void SetPwmChannel(uint8_t Value) {
	ledc_channel_config_t ledc_channel = {
		.speed_mode		= LEDC_HIGH_SPEED_MODE,
		.channel		= 0,
		.timer_sel		= LEDC_TIMER_0,
		.intr_type		= LEDC_INTR_DISABLE,
		.gpio_num		= 32,
		.duty			= Value,
		.hpoint			= 0
	};
	if (Value == 0) {
		ledc_channel.duty = 0;
	}
	ledc_channel_config(&ledc_channel);
}
Мне не требовалось более 8 бит, потому функция принимает 8-ми битное значение на входе. Можете переписать под себя. Структура, вроди бы, принимает до 16 бит.
Плюс, для быстрого вывода можно использовать таймеры + DMA + буфер отсчётов.
Опять же, в моём случае, не требовался вывод звука через PWM. Подкинул разве что основную инициализацию.

Здесь больше информации. С примером чуть хуже.
-Alan- вне форума  
Непрочитано 20.06.2022, 00:25  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,106
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Большие плавные часы. Хвастаюсь.

Сообщение от ForcePoint Посмотреть сообщение
Было неясно, когда-же грелся динамик. Поэтому и столько годных вопросов.
Схему нам так и не показали... Грелся, когда ШИМ стоял в нуле и мембрана была притянута "вниз". Или ШИМ в единице - была притянута "вверх".
Если так, то "выключить" динамик можно было бы высокочастотным ШИМом.
А как на самом деле -
makakus вне форума  
Сказали "Спасибо" makakus
mike-y-k (20.06.2022)
Непрочитано 20.06.2022, 05:23  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,853 раз(а) в 2,924 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Большие плавные часы. Хвастаюсь.

b-612, купите модуль усилителя D класса на aliexpress и не пытайтесь тратить время на его программную реализацию.
Еще одним решением может стать вывод из ESP32 цифрового потока на отдельный преобразователь с усилителем.
Конечно повторение широко распространённой традиции еще на XT слушать классику через speaker с несколькими вариациями кода можно считать гимнастикой ума, но такими темпами качественного звука придется ждать очень долго, а стерео и хорошая полифония…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интернет-магазины - ваша покупка - описание, оценка (часть 1) realid Барахолка электронных компонентов 1365 30.05.2019 13:27
Обзоры покупок товаров на GEARBEST.COM mikesmith Барахолка электронных компонентов 397 12.10.2018 22:51
Электромеханические настольные часы M234 Поиск схем. Делимся схемами 44 07.10.2016 22:55
ds1307 часы стоят без питания yellow87 Электроника - это просто 12 13.10.2015 07:08
Большие светодиодные часы на PIC16F84A aleks558 Электроника - это просто 10 12.10.2014 13:02


Часовой пояс GMT +4, время: 02:30.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot