![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| Alexei |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
Меня интересует можно ли чередовать периоды ШИМ: период со значением, период с нулем.Для того, чтобы сделать скважность 2 и более, не теряя разрешения.
|
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Поподробнее пожалуйста.
Разрешение ШИМа зависит от частоты работы генератора и кол-ва шагов в периоде. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Alexei |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
В "железе" это выглядело бы так:
1 Поделить вых сигнал ШИМ на 2 2 Сделать "И" с исходным. Получится ШИМ поделеный на 2 Пока придумал: по прерыванию Таймера 0, включать - отключать выход ШИМ |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Вы хотите увеличить частоту ШИМ?
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Alexei |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
Наоборот уменьшить , но главное увеличить скважность: длина импульса не должна превышать 1/2 периода, с сохранением разрешения(можно ограничить ШИМ 128 битами, но надо сохранить 255)
В "железе" делалось бы так:http://www.mura.pochta.ru/PWM.jpg ![]() Надо получить сигн3- программно. Это сообщение отредактировал(а) Alexei - 23.7.2004, 11:23 |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Я что-то не пойму...
используйте хоть 512, на выходе интегратор на операционнике. И делайте любую скважность. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Alexei |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
Я хочу использовать тини26 в импульсном источнике, к выходу МК подключить ключ и L.
ШИМ там 8р - значит 256. Скважность(период/длит имп) нужна > 2. Короче, нужно получить сигнал , как бы поделенный на 2: пол периода ШИМ(0-256), пол - пауза.Как это сделать программно? |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Вы совершенно правильно отметили: "программно".
Таймер считает от 0 до 255. В ОCR вы заносите меняющееся значение. В каждом втором прерывании по Сравнению устанавливаем логический ноль на ножке, в каждом втором прерывании по переполнению устанавливаем единицу на ножке. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Alexei |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
Ну, это уж совсем -"ПРОГРАММНО!" А если только подключать -отключать PWM по переполнению таймера, меняя бит COM1A1 или COM1A0 в TCCR1A ? На эмуляторе работает. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Не уверен что это корректно. Все-таки менять режимы с такой частотой...
Я бы сделал именно программно. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Alexei |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
Нет, программно не потянет.
Даже, если взять МК на 16 МГц , то при около 30 кГц (16мкс +16 пауза) Время на 1 операцию соизмеримо с разрешением ШИМ Вот так- думаешь, что-нибудь на МК сделать, думаешь, а потом бац... И надо доделывать "жесткой" логикой. Это сообщение отредактировал(а) Alexei - 26.7.2004, 20:51 |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
ээээ.
считаем ШИМом на частоте 16МГц от 0 до 255, получается частота выходного сигнала 62500 Гц = 62.5кГц + пауза 255 = 31кГц, и что вас не устраивает? чтобы это получить в прерывании делаем то что я написал выше. Если нужны импульсы, то так и оставляем, если нужно напряжение, то ставим интегратор (либо операционник с обратной связью, либо RC-цепь с буферным каскадом). СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Alexei |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
Это устраивает, неустраивает , что придется потратить 10-20 тактов на каждый перепад, а их всего 255 |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Так Вы же в прерывании их тратите (и их будет где-то 5-10), они не влияют на счет.
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |