ШИМ частотой 36kHz и скважностью 50%

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

Здравствуйте. Нужно получить ШИМ частотой 36kHz и скважностью 50% для работы фотоприемника TSOP2136.
Скажите пожалуйста, какие цифры надо написать в регистры
OCR1AH и OCR1AL?
Я написал:

Код: Выделить всё

OCR1AH=0x00;
OCR1AL=222;
это правильно?
Реклама
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Вт авг 25, 2009 22:24:39
Откуда: Черкассы

Сообщение Twilo »

а на какой частоте таймер работает?
вам бы в протеусе промоделировать и мразу видно будет
Контактная информация:
Реклама
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Вт авг 25, 2009 22:24:39
Откуда: Черкассы

Сообщение Twilo »

проще наверное на 555 таймере сделать, как в этой конструкции http://radiokot.ru/konkurs/23/
Контактная информация:
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

Частота МК 8 MHz
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

Twilo писал(а):а на какой частоте таймер работает?
вам бы в протеусе промоделировать и мразу видно будет
Я промоделировал в протеусе, а где же там частоту можно посмотреть?
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки

Сообщение Секретный кот »

А зачем для создания обычного меандра использовать ШИМ?
Даже остановленные часы два раза в сутки показывают правильное время.
Контактная информация:
Реклама
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

Потому что если не ШИМ, если контроллер будет заниматься генерированием сигнала, кроме этого он ничего не сможет делать. На сколько я знаю.
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

Так как же с помощью МК сгенерировать сигнал частотой 36kHz и скважностью 50%???
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Вт авг 25, 2009 22:24:39
Откуда: Черкассы

Сообщение Twilo »

нужно что б вы сказали частоту на которой таймер работает а не МК. откуда взяли 0x00 и 222 ?
Контактная информация:
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Вт авг 25, 2009 22:24:39
Откуда: Черкассы

Сообщение Twilo »

цепляете осцилограв на ногу откуда сигнал снимать собираетесь, смотрите что получается, меряем период в микросекундах - там прямо циферками видно, делим 1 на полученый период, только уже в секундах, т.е 1 микросекунда = 0.000001 с и получаем частоту в герцах.
для 36 кГц период составляет 0.00002777 сек. к этому значению вам и нужно стремится
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Если надо именно на МК, то проще использовать режим СТС. :tea:
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

если для ик диода, то меандр не нужен - там идет 4 с копейками микросекунд импульс на диод, омтальное пауза. В пакете около 30 таких импульсов, считаете по прерыванию таймера.
Контактная информация:
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Вт авг 25, 2009 22:24:39
Откуда: Черкассы

Сообщение Twilo »

ну я это подразумевал само-собой (я про CTC)

Код: Выделить всё

...
DDRB=0x02;
...
TCCR1A=0x40;
TCCR1B=0x09;
...
OCR1A=0xXXXX
ХХХХ сами подберете, что б период был правильный

это для меги 8 пример если что, сигнал снимается с PORTB.1
Контактная информация:
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

Twilo писал(а):нужно что б вы сказали частоту на которой таймер работает а не МК. откуда взяли 0x00 и 222 ?
222 потому-что
' Расчитываем Compare1a
' тактовая частота (kHz) / частота TSOPa (kHz) / 2 = Compare
' 16000 / 36 / 2 = 222
Compare1a = 222

Ну в данном случае не Сompare1a а OCR1AL
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

urry писал(а):если для ик диода, то меандр не нужен - там идет 4 с копейками микросекунд импульс на диод, омтальное пауза. В пакете около 30 таких импульсов, считаете по прерыванию таймера.
А кроме того как контроллер будет генерировать эти импульсы он сможет работу выполнять другую? Например управление двигателем, считывание показаний с датчиков?
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

Скажите пожалуйста, чем отличается СТС от PWM?
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Вт авг 25, 2009 22:24:39
Откуда: Черкассы

Сообщение Twilo »

у PWM скважность меняется при одинаковой частоте, а у CTC - частота, при одинаковой скважности, это если изменять значение OCRX
Контактная информация:
Открыл глаза
Сообщения: 74
Зарегистрирован: Вт янв 19, 2010 18:56:56

Сообщение Maycal »

А есть такой режим при котором меняется как скважность так и частота?
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Вт авг 25, 2009 22:24:39
Откуда: Черкассы

Сообщение Twilo »

ну например в режиме PWM скважность меняется в зависимости от значения OCR, а частоту можно менять настраивая предделитель в TCCR, хотя на мой взгляд это тупо, т.к. точно не получится. Думаю можно в режиме CTC менять скважность, но утверждать не буду, надо почитать даташить и поэкспериментировать. Взяли бы вы 555 таймер если с контролером трудно, тогда не будете переживать по поводу сможет ли контролер еще что то делать.
На самом деле он сможет, если все правильно сделать
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Если надо менять и частоту и длительности. И при этом есть возможность задействовать оба таймера, то можно упарвлять частотой в таймере 0, включенном в режиме СТС, выход которого подается на вход тактовых импульсов таймера 1, работающего в режиме PWM.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»