Например TDA7294

Форум РадиоКот • Просмотр темы - ШИМ АТМЕГА,изменение частоты.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 25, 2024 13:58:37

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


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



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 100 ]    , 2, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 12:07:11 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 30, 2008 09:23:14
Сообщений: 209
Откуда: Краснодарский край
Рейтинг сообщения: 0
Вы ножку 3-го ШИМ сделали ВЫХОДОМ ???? как написано в задаче 8 !

Конечно! Порт D установлен 10110000. В протеусе она просто синий. А PD4 PD5 активно моргают. Осцилографом все 2 сигнала видно. Только TimerCounter при измерении частоты показавает 970. Непонятно чего, Гц что ли.
Ок! я ща после обеда подготовлю код и выложу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 12:50:21 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
AndyWorld писал(а):
В протеусе она просто синий.

Синий - значит она выход и на ней "0" - возможно ШИМ у вас 0% или инвертированы 100%.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 13:54:52 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 30, 2008 09:23:14
Сообщений: 209
Откуда: Краснодарский край
Рейтинг сообщения: 0
Готово! Проект протеуса не стал выкладывать т.к. там кроме микрухи ничего больше нет.


Вложения:
Mega.c [1.19 KiB]
Скачиваний: 745
Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 14:24:50 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
AndyWorld писал(а):
Готово! Проект протеуса не стал выкладывать т.к. там кроме микрухи ничего больше нет.


Посмотри стр 129-130 в даташите - регистр TCCR2 и таблицы 51 52 53

у вас там число 0x69 это 0100 0101 - т.е. биты 4 и 5 цвас НУЛИ - это "Normal port operation, OC2 disconnected."

Т.е. ОС2 отключен.

В курсе я пишу - когда вы мастером сделали код, ОБЯЗАТЕЛЬНО !!! просмотрите его и разберитесь что вписалв регистры мастер и ДЛЯ ЧЕГО !

Вот в мастере кода CVAVR 2 я поставил циферь и получил РАБОЧИЙ код:

Изображение

Вот полный проект подправленый - в студии и в PROTEUS ножка PD7 дергается.


Вложения:
3 pwm atmega16 cvavr PROTEUS AxrStudio 4.14 avr123.nm.ru .rar [55.58 KiB]
Скачиваний: 674

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 16:00:28 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 30, 2008 09:23:14
Сообщений: 209
Откуда: Краснодарский край
Рейтинг сообщения: 0
Как иногда полезно когда тебя потыкают носом в нужное место. В жизни бы сам не понял что не нужно выбирать Fast PWM top FFh! Спасибо за полученные знания.

Немного не понял одно 0х69 это шестнатеричное число и его двоичная раскладка 01101001 а не 01000101-(69 десятичное). Это ошибка или я совсем запутался.

Теперь осталось понять регистры TCNT2 и OCR2 влияют на сигнал. Пробовал менять значения но ничего не меняется. Этим сигналом нельзя управлять?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 16:28:33 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
AndyWorld писал(а):
В жизни бы сам не понял что не нужно выбирать Fast PWM top FFh

Не нужно а можно как один из вариантов

AndyWorld писал(а):
Спасибо за полученные знания.
:lol:
AndyWorld писал(а):
не понял одно 0х69 это шестнатеричное число и его двоичная раскладка 01101001 а не 01000101-(69 десятичное). Это ошибка или я совсем запутался.

Это я ошибся
AndyWorld писал(а):
Теперь осталось понять регистры TCNT2 и OCR2 влияют на сигнал. Пробовал менять значения но ничего не меняется. Этим сигналом нельзя управлять?

вы в цикле while(1) впишите инкремент OCR2 и на оциле посмотрите сигнал.

А TCNT2 это регистр в котором и происходит счет таймера.

=======

В курсе я рекомендую настраивать таймеры мастером ICC - там наглядней:

Изображение

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 19:06:50 
Родился

Зарегистрирован: Пт сен 05, 2008 05:15:14
Сообщений: 16
Рейтинг сообщения: 0
Для увеличения частоты, прейдётся увеличивать начальное значение счёта(при направлении счёта вверх (прибавляя)). И пропорционально и значение (уровень, момент смены) перехода выходного сигнала. При этом, укорачивая диапазон заполнение ШИМ[quote][/quote]
Можете показать на Си,на простом примере,например для меги16,как сделать?А то трудно врубиться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 19:18:39 
Нашел транзистор. Понюхал.

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Пн сен 01, 2008 14:49:03
Сообщений: 151
Откуда: Казахстан
Рейтинг сообщения: 0
Да, я бы тоже глянул :)))
кошак , не парься, невозможно так сделать (ну почти невозможно..). Для этого не увеличивают начальное значение, а уменьшают конечное.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 20:56:31 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
БЛИННННННННННН !!! Ну есть же МАСТЕР ! кликнул мышкой

Изображение

и получил РАБОЧИЙ код !

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 7370,000 kHz
// Mode: Phase correct PWM top=FFh
// OC2 output: Non-Inverted PWM

ASSR=0x00;
TCCR2=0x61;
TCNT2=0x00;
OCR2=0;

Получите ШИМ = 100%* OCR2 /255 (в процентах).

вот проект для CVAVR и PROTEUS - ШИМ растет от 0 до 100 и потом снова в ноль.


Вложения:
pwm OC2 atmega16.rar [43.03 KiB]
Скачиваний: 670

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Последний раз редактировалось tych Пн окт 06, 2008 15:56:54, всего редактировалось 2 раз(а).
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 05:17:35 
Родился

Зарегистрирован: Пт сен 05, 2008 05:15:14
Сообщений: 16
Рейтинг сообщения: 0
С ШИМом понятно,туда бы еще изменение ЧАСТОТЫ от 10 до 100 гц, например, добавить..


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 07:44:39 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 1
кошак писал(а):
С ШИМом понятно,туда бы еще изменение ЧАСТОТЫ от 10 до 100 гц, например, добавить..


Ну а сами то чего не попробуете ??? Руский даташит на стр. 2 у меня в домашней, КНИГИ !!! там же.

Запустили мастер - понаставили галочек и менбшек:

Изображение

получили РАБОЧИЙ код !

Код:
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 7370,000 kHz
// Mode: Fast PWM top=FFh
// OC2 output: Non-Inverted PWM
ASSR=0x00;
TCCR2=0x69;
TCNT2=0x00;
OCR2=250;     


250 - это я воткнул для эксперимента. Результат:

"1" на PD7 в течении OCR2 - TСNТ2 (TСNТ2 загружается в прерывании)
период ШИМ 256 - TСNТ2 (TСNТ2 загружается в прерывании)
Значит ШИМ = 100%*(OCR2 - TСNТ2)/(256 - TСNТ2)

1. для ПЛАВНОГО изменения частоты ШИМ надо менять число загружаемое в прерывании в TСNТ2, для ГРУБОГО изменения -
менять коэф. деления частоты биты 0,1,2 в регистре TCCR2

2. для изменения величины ШИМ надо менять OCR2 (где угодно в поге) но учитывать изменение периода ШИМ от изменения начального TСNТ2 !

3. если OCR2 < TCCR2 то ШИМ-а нету.

В этом примере плавно меняется частота и величина ШИМ, а пауза
("0" на PD7) неизменна и составляет 256 - OCR2 = 6 тактов процессора

ФАЙЛО в прицепе !

САМИМ НАДО ПЫТАТЬСЯ !!!


Вложения:
_pwm OC2 разной частоты avr123.nm.ru .rar [46.77 KiB]
Скачиваний: 627

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 11:29:02 
Нашел транзистор. Понюхал.

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Пн сен 01, 2008 14:49:03
Сообщений: 151
Откуда: Казахстан
Рейтинг сообщения: 0
Да вы что, ребята???....... Ну нахрена нужен ШИМ аппаратный, если в КАЖДОМ цикле в него надо подгружать начальное значение TCNTn ?!!
А тем более, если не FastPWM ? Что грузить будете и когда?

Есть же для этого специальные режимы, у некоторых даже называние подсказывает открытым текстом: PWM, Phase and Frequency Correct !!!
Если у вас в Си мастер не знает о таком режиме, это не значит, что его нету. Читайте даташит..


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 18:53:14 
Родился

Зарегистрирован: Пт сен 05, 2008 05:15:14
Сообщений: 16
Рейтинг сообщения: 0
Ну,ребята,не ругайтесь,просто я лошара в программировании,мне легче на примерах учиться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 19:21:56 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
YurkaM писал(а):
даже называние подсказывает открытым текстом: PWM, Phase and Frequency Correct !!!
Если у вас в Си мастер не знает о таком режиме, это не значит, что его нету.


А на скриншотах мастера (выше чуток) ЗАКРЫТЫМ чтоль текстом ТОЖЕ САМОЕ написано ?

YurkaM писал(а):
читайте даташит

даташит на русском языке на стр. 2 в моей домашней страничке.

YurkaM писал(а):
Ну нахрена

Ого !

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 19:54:34 
Нашел транзистор. Понюхал.

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Пн сен 01, 2008 14:49:03
Сообщений: 151
Откуда: Казахстан
Рейтинг сообщения: 0
ОК! На тот скриншот не обратил внимания.
Ну посмотрел. Там режим: Fase correct PWM top=FFh
А я Вам говорю об Phase and Frequency Correct
Вы не видите разницы??

Мне трудно ориентироваться в Си (не владею..), поэтому сужу именно по вашему словесному описанию. А из него следует, что в результате этот мастер сделал код, в котором для изменения частоты ШИМ каждый раз в прерывании грузится начальное значение в TCNTn. Я говорю, что это глупо, т.к. можно ОДИН раз загрузить конечное значение счёта для ШИМ и получить тот же результат.

ps Вот честное слово, этих Ваших разноцветныx строчек и на Вашем сайте хватает, мож хоть здесь без них...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 20:08:14 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
YurkaM писал(а):
ОК! На тот скриншот не обратил внимания. Мне трудно ориентироваться в Си (не владею..), поэтому судил именно по вашему словесному описанию.

Не маловажной частью является ПРИЦЕП в котором полный код программы приложен.

YurkaM писал(а):
А из него следует, что в результате этот мастер сделал код

Мастер выполняет то что ЗАКАЗЫВАЕТ юзверь !

YurkaM писал(а):
А из него следует, что в результате этот мастер сделал код, в котором для изменения частоты ШИМ каждый раз в прерывании грузится начальное значение в TCNTn.


НЕТ такого в описании ! что мастер сделал загрузку в прерывании !

Читайте внимательно ! Мастер сделал "Быстрый ШИМ" минимальной частоты для данного делителя тактовой частоты. Мастер не предлагал "плавного" изменения частоты и не делал.

А я уже написал в комментарии (так как выше был вопрос как менять частот ШИМ "плавно"), что для изменения частоты ШИМ "плавно" вам нужно в прерывании загружать значение в таймер.

Вы знаете другой способ "плавного" изменения частоты ШИМ на OC2 ? Приведите код.

И мастер конечно же оставил прерывание ПУСТЫМ !!!

А сделал он это прерыание потому что я (ЮЗВЕРЬ !) поставил ГАЛКУ - сделать прерывание от переполнения таймера.

МАСТЕР только точно исполнил задание ! вот и все.

Кстати Мастер любезно напомнил мне о том что ножку нужно сделать выходом, и когда я нажал "ОК" сам ее выходом и назначил.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 20:34:14 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
YurkaM писал(а):
ОК! На тот скриншот не обратил внимания.
Ну посмотрел. Там режим: Fase correct PWM top=FFh
А я Вам говорю об Phase and Frequency Correct
Вы не видите разницы ??


Ну бред то разной СИЛЫ бывает... это понятно ...

Может вы еще и в даташите ATmega16 такой
режим покажете для таймер 2 ?


Похоже вы открыли еще одно полезное качества Мастеров начального кода программ - опускать с небес на землю мечтателей не читающих даташит.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 02, 2008 21:37:52 
Родился

Зарегистрирован: Пн окт 23, 2006 09:13:29
Сообщений: 6
Рейтинг сообщения: 0
YurkaM
господин хороший
Цитата:
можно ОДИН раз загрузить конечное значение счёта для ШИМ и получить тот же результат


СКАЖИТЕ ПОЖАЛУЙСТА, Я ПРЯМО ТАКИ УМОЛЯЮ ВАС - КАК ЭТО СДЕЛАТЬ???


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 03, 2008 00:22:08 
Нашел транзистор. Понюхал.

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Пн сен 01, 2008 14:49:03
Сообщений: 151
Откуда: Казахстан
Рейтинг сообщения: 0
tych писал(а):
Может вы еще и в даташите ATmega16 такой
режим покажете для таймер 2 ?

О как! Сначала говорит мол, смотри там (на скриншоте) это написано!
Когда ткнули носом, что там не ЭТО написано, быстренько перевёл стрелки и пошёл в наступление! Стратег!!

Ну согласен я, тут чуток лоханулся, в Меге16 верхнюю границу счёта можно менять только в таймере 1.
А почему Вы упёрлись именно в АТмега16?. Топикстартер спрашивал о Мегах не конкретизируя, дальше кто-то ещё спрашивал перебирая разные МК...

tych писал(а):
опускать с небес на землю мечтателей не читающих даташит.
- промолчу, на провокации поддаваться не хочу. По Вашу душу и так в каждом форуме МОРЕ флуда.......

day177 писал(а):
СКАЖИТЕ ПОЖАЛУЙСТА, Я ПРЯМО ТАКИ УМОЛЯЮ ВАС - КАК ЭТО СДЕЛАТЬ???

Чтобы установить требуемую частоту ШИМ (в рамках возможного, естественно), достаточно записать нужное значение в регистр, который является конечным значением счета в данном режиме. Например, в ATtiny2313 для таймера0 в режимах FastPWM(режим5) или PWM, FaseCorrect(режим7) это регистр OCR0A.
Чувствую, что вопрос был с подъ..бкой, поэтому сразу отвечу. Естественно, чтобы менят частоту, придётся грузить новые значения в OCR0A! Но в моём примере (в отличие от тыча) это надо делать только по мере необходимости в изменении, а не в каждом цикле ШИМ.

Пример прилагается. На простеньком Tiny2313:


Вложения:
Комментарий к файлу: Регулирование частоты ШИМ изменением верхней границы счета таймера
pwm_f.asm [4.37 KiB]
Скачиваний: 903
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 03, 2008 07:20:41 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
YurkaM писал(а):
Топикстартер спрашивал о Мегах не конкретизируя

Еще сильней глаза протрите !
Разговор шел о том что 2 ШИМ уже сделали на таймере 1 и проблема возникла с выводом ШИМ на КОНКРЕТНУЮ НОГУ OC2 !

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


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

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


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