Например TDA7294

Форум РадиоКот • Просмотр темы - atmega 16: можно получить любую частоту шим (pwm) или нет?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн июл 28, 2025 11:35:34

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 15 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: atmega 16: можно получить любую частоту шим (pwm) или нет?
СообщениеДобавлено: Вс июн 13, 2010 22:00:59 
Грызет канифоль
Аватар пользователя

Карма: -3
Рейтинг сообщений: 3
Зарегистрирован: Пт май 14, 2010 15:26:14
Сообщений: 266
Рейтинг сообщения: 0
вопрос вот в чем: информация, которую я находил про частоту шима на атмеге16 всегда была привязана к разрядности таймера, делителя (прескаллер) и частоты основного генератора - то есть достаточно ограниченный диапазон частот.это навсегда или я знаю не всё ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Пн июн 14, 2010 01:17:33 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
Если всё-таки напрячься и понять принцип работы ШИМ, то подобные вопросы не должны возникнуть. :wink:

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Пн июн 14, 2010 02:27:37 
Грызет канифоль
Аватар пользователя

Карма: -3
Рейтинг сообщений: 3
Зарегистрирован: Пт май 14, 2010 15:26:14
Сообщений: 266
Рейтинг сообщения: 0
ну точно также можно напрячься и понять вопрос.
вот формулы расчета частоты шим. здесь только несколько комбинаций. сюда можно подставить кварц 1-4-8 мгц.
можно менять битность таймера, можно менять делитель и всё.

Quarz = 8 MHz ; Prescaler = 1 ; Timer = 8 Bit ergibt: (8000000Hz/1) / (256*2) = 15,625 kHz

Quarz = 8 MHz ; Prescaler = 8 ; Timer = 10 Bit ergibt: (8000000Hz/8) / (1024*2) = 244,14 Hz


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Пн июн 14, 2010 08:11:34 
Открыл глаза

Зарегистрирован: Сб май 08, 2010 09:33:42
Сообщений: 79
Рейтинг сообщения: 0
А еще можно почитать про режим CTC (очистка таймера по совпадению с заданным числом). С помощью этой функции можно повысить частоту ШИМ с одновременным снижением точности :)

Про "напрячься и понять вопрос" - это в корне не адекватное высказывание.
Во-первых, тот, кто делает проект по определению должен больше "напрягаться", чем тот, кто помогает.
Во-вторых, "помогать" давая готовые формулы - медвежья услуга. Так человек, требующей помощи не обретает никакого знания (а получает лишь частное следствие от требуемых знаний по вопросу), а также будет еще в большей степени обречен мучить своими вопросами более правильно образованных котов :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Пн июн 14, 2010 15:28:15 
Грызет канифоль
Аватар пользователя

Карма: -3
Рейтинг сообщений: 3
Зарегистрирован: Пт май 14, 2010 15:26:14
Сообщений: 266
Рейтинг сообщения: 0
А на чем еще самообразовываться, если не на готовых формулах и примерах исходников? Вы, когда все это изучали, не пользовались чужими готовыми примерами, формулами с проставленными в них числами?
Я не прошу делать за меня проект! Я задал чисто теоретический вопрос и написал на чем он основывается, ответ на который "да"
или "нет". Тебя это сильно замучает? Вот, например, нужно получить произвольную частоту 1,3,6,13,26 кгц шим от внутреннего генератора 8 мгц.Это возможно? Я даже не спрашиваю КАК это делать.Вопрос в том, ВОЗМОЖНО ли это? Это теоретический вопрос.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Пн июн 14, 2010 16:26:41 
Опытный кот

Зарегистрирован: Чт фев 18, 2010 13:51:56
Сообщений: 877
Рейтинг сообщения: 0
zybex писал(а):
А на чем еще самообразовываться, если не на готовых формулах и примерах исходников? Вы, когда все это изучали, не пользовались чужими готовыми примерами, формулами с проставленными в них числами?

Есть ещё документация, в том числе даташиты.

zybex писал(а):
Вот, например, нужно получить произвольную частоту 1,3,6,13,26 кгц шим от внутреннего генератора 8 мгц.Это возможно?

Если есть возможность настроить делитель так чтобы он получал эту частоту, то можно. А частота может сначала делиться на степень двойки(прескалер), причём не на каждую(смотри даташит), и затем на любое целое число в от 2 до 2^разрядность таймера.

Так что 1кГц из 8МГц получить можно, а 3,6,13 и 26 кГц - нельзя. Хотя можно взять близкую частоту.

zybex писал(а):
от внутреннего генератора 8 мгц

Во-первых не забывай, что внутренний генерато не очень точный(без калибровки вполне может быть и +-10%). И во-вторых его частоту можно поменять, чтобы получить нужную частоту ШИМ.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Пн июн 14, 2010 16:38:19 
Грызет канифоль
Аватар пользователя

Карма: -3
Рейтинг сообщений: 3
Зарегистрирован: Пт май 14, 2010 15:26:14
Сообщений: 266
Рейтинг сообщения: 0
Murav, спасибо! будем от этого отталкиваться!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Вт июн 15, 2010 15:12:10 
Открыл глаза

Зарегистрирован: Сб май 08, 2010 09:33:42
Сообщений: 79
Рейтинг сообщения: 0
Цитата:
а 3,6,13 и 26 кГц - нельзя.

Немного расшифрую фразу. На самом деле можно получить очень близкие частоты. Делаем так.
делим частоту генератора на желаемую. Например, в килогерцах - 8000/26 = 307. Теперь мы знаем, что нужно делить на 307.
Разделить режимом CTC в 8-разрядном ШИМ мы на столько не можем (а если применяем 16-разрядный счетчик, то можем - тогда получаем вообще ровно 26 кГц). применяем Prescaler на 2. 307/2 = 153. Отлично!
Итак, при использовании предделителя на 2 и СТС по значению153, получаем частоту 8000/2/153=26.14 кГц. Для ШИМ о большей точности и мечтать нельзя! :music:
Цитата:
Вы, когда все это изучали, не пользовались чужими готовыми примерами, формулами с проставленными в них числами?

как не странно, вообще не пользовался! Ни разу при освоении AVR я ни к кому не обратился за помощью, при том, что МК осваивал с нуля. Сейчас изучаю ARM, там без чужих библиотек просто нецелесообразно работать. Но вопросы я задаю только тогда, когда я изучил ВСЮ доступную литературу, которая по моему мнению связана с вопросом, и пришел к выводу,что на основании нее в принципе невозможно найти ответ на вопрос.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Вт июн 15, 2010 16:23:56 
Друг Кота
Аватар пользователя

Карма: 95
Рейтинг сообщений: 2428
Зарегистрирован: Пт май 18, 2007 22:56:58
Сообщений: 26668
Рейтинг сообщения: 0
of_silence писал(а):
как не странно, вообще не пользовался! Ни разу при освоении AVR я ни к кому не обратился за помощью, при том, что МК осваивал с нуля.
Но я хочу сказать, что не все так могут... А если еще нет знаний английского - так вообще даташит похож на китайских шифр...
Не все такие умные :cry:, учитывайте это.

Который раз гуглом ищу вопрос, нахожу его на форуме... а отвечают догадайтесь что? Иди в гугл, читай даташит... И так бесконечно. Никакой новой информации, никакого движения вперед. Сами подумайте...

_________________
Не променяю медь на ржавую несгорайку!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Вт июн 15, 2010 17:21:05 
Открыл глаза

Зарегистрирован: Сб май 08, 2010 09:33:42
Сообщений: 79
Рейтинг сообщения: 0
Читайте даташит, как работает ШИМ. Если проблемы с английским - есть товарищ, который занимается переводом даташитов и выдает их за книги по микроконтроллерам. К сожалению названия не могу привести, но найти думаю будет не сложно.
Я понимаю, что разобраться с нуля в чем-то бывает сложно, ибо надо одновременно изучать разные вещи. Но с ШИМ думаю все просто - в даташите есть описание того, как он работает, последовательно и достаточно понятно вроде "считает до указанной цифры,выставляет 1 на выходе, по переполнению выход обнуляется". Данное предложение - уже почти что полное описание работы ШИМ, надо только разобраться в деталях.
Про английский - мотивация понятна. Хочется сделать устройство, с минимумом затрат. Но стоит себя убедить, что цель не только устройство, но и повышение проф уровня - и все станет на свои места. Можно потихоньку, со словариком, переводить даташит. Это дольше, но если вытерпеть пару месяцев такого труда - потом все будет читаться само, ибо в даташитах инглиш - одно да потому. Москва не сразу строилась - мое знание Английского отнюдь не врожденное, к сожалению. Развивал также - сначала игры и винда нарочно установленные в английском варианте, потом даташиты и прочая литература.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Чт сен 16, 2010 08:15:52 
Родился
Аватар пользователя

Зарегистрирован: Ср май 26, 2010 13:48:40
Сообщений: 16
Рейтинг сообщения: 0
Коротко, но достаточно понятно и с примерами, этот вопрос освещён в книге "Программирование на языке C для AVR и PIC микроконтроллеров" автор Ю.А. Шпак. Есть книжка "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel" автор А.В. Евстифеев, всеми родинками похожая на собранные в кучу переводы даташитов. И книга "Микроконтроллеры семейства AVR фирмы Atmel" Гребнёв В.В. - сама не читала, но при беглом просмотре впечатление приятное осталось.
Вот в этих книгах можете посмотреть и почитать, если с английским туго :)
Сама только что решила проблему получения разных частот на выводах для Atmega329 и могу посоветовать для таких целей режим CTC - пару минут на подумать и посчитать, три строчки кода и вся работа выполняется аппаратно :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Чт сен 16, 2010 08:18:12 
Собутыльник Кота
Аватар пользователя

Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 10:27:19
Сообщений: 2584
Рейтинг сообщения: 0
zybex писал(а):
достаточно ограниченный диапазон частот. это навсегда или я знаю не всё ?

Да. Да.

_________________
Будете проходить мимо- проходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Чт сен 16, 2010 08:23:42 
Собутыльник Кота
Аватар пользователя

Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 10:27:19
Сообщений: 2584
Рейтинг сообщения: 0
Upgrader писал(а):
Который раз гуглом ищу вопрос, нахожу его на форуме... а отвечают догадайтесь что? Иди в гугл, читай даташит... И так бесконечно.


Пользуйтесь НОРМАЛЬНЫМ поисковиком и будете сразу получать ответ на ваш вопрос без кругов АДА
http://yandex.ru/yandsearch?text=%D1%82 ... 510&lr=213

_________________
Будете проходить мимо- проходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Чт сен 16, 2010 08:43:43 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
of_silence писал(а):
Итак, при использовании предделителя на 2 и СТС по значению153, получаем частоту 8000/2/153=26.14 кГц.
только вот скажите мне, в каком именно AVR имеется предделитель таймера, равный ДВУМ?

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: atmega 16: можно получить любую частоту шим (pwm) или не
СообщениеДобавлено: Чт сен 16, 2010 08:47:51 
Собутыльник Кота
Аватар пользователя

Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 10:27:19
Сообщений: 2584
Рейтинг сообщения: 0
zybex писал(а):
нужно получить произвольную частоту 1,3,6,13,26 кгц шим от внутреннего генератора 8 мгц. Это возможно?


Да.

Проще всего с помощью мастера настройки аппаратуры AVR в компиляторе ICC http://imagecraft.com

Моделировать в PROTEUS - http://www.google.ru/search?hl=ru&lr=&n ... =&gs_rfai=

_________________
Будете проходить мимо- проходите!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: eugenchen и гости: 1


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y