Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
kompanec_oleg
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 12
1

ШИМ до 1кГц

02.06.2016, 22:39. Просмотров 712. Ответов 9
Метки нет (Все метки)

Всем доброго времени суток.

Прошу, по возможности, подсказать, как решить задачу.

Необходимо на МК Atmega8 реализовать 2 ШИМ сигнала, разной скважности но с частотой не более 1 кГц. Выход должен быть реализован на одной ноге и переключаться по внешней команде.

Куда стоит посмотреть и какую информацию почитать, чтобы разобраться в этом?

Заранее благодарю за помощь.

Добавлено через 1 час 10 минут
C
1
2
3
4
5
6
7
int main(void)
{
    DDRB |= (1 << DDB1); 
    OCR1A = 0x01FF;
    TCCR1A |= (1 << COM1A1);
    TCCR1A |= (1 << WGM11) | (1 << WGM10);
    TCCR1B |= (1 << CS10);
Возможно ли на одном МК реализовать несколько таких условий (изменив некоторые их параметры) на одном выходе?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2016, 22:39
Ответы с готовыми решениями:

Dell Vostro 3560 (LA-8241P) - Не включался, после замены шим сдохла и шим и ещё что-то
Имеется бук бп в защиту не уходил, но ни на что не реагировал. После изучения схемы и проверки...

Модуль управления кондиционера Haier 0010402487, снесло "крышу " шим ,вопрос - какой шим должен быть ?
Фото модуля ...и шимки.. http://www.cyberforum.ru/savedimages/2015/04/28/3814729637.jpg...

задание-подобрать нужный ОУ и резисторы Roc и R1, при частроте=1кГц,напряжении=10мВ. Построить принципиальную схему
прикладываю текст задания, и образец в котором нужно просто заменить f=1 КГц, и U=10мВ. А также...

ШИМ на ОУ
Проясните более подробно работу блока №1 в статье DY...

ШИМ
Здравствуйте. Хотелось бы поглядеть на пример простейшей программы, реализующей ШИМ. Задача такая....

9
pyzhman
1158 / 513 / 76
Регистрация: 15.05.2012
Сообщений: 2,930
03.06.2016, 07:01 2
Параметрируйте ШИМ по внешней команде, и будет вам счастье.
1
kompanec_oleg
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 12
03.06.2016, 14:13  [ТС] 3
Спасибо за помощь, только не могу никак найти подходящую информацию...
Не подскажете, где посмотреть?
0
Voland_
1725 / 1064 / 104
Регистрация: 04.01.2010
Сообщений: 3,640
03.06.2016, 15:18 4
Цитата Сообщение от kompanec_oleg Посмотреть сообщение
Не подскажете, где посмотреть?
Можно здесь. Читать со стр.75. Но если хочется по-быстрому, поставьте Codevision AVR, у него есть мастера настройки таймеров, которые помогут стартовать с проектом рабочего ШИМа. В симуляции вы побалуетесь (нужен Proteus) и поймете что на что влияет.
1
03.06.2016, 15:18
kompanec_oleg
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 12
07.06.2016, 22:30  [ТС] 5
C
1
2
3
4
5
6
// кнопка на PC0
        if((PINC.0==0)&(OCR1A!=0x100))      
        {
        delay_ms(10); 
        OCR1A+=128; 
        }
Эта часть кода должна увеличивать заполнение импульса только до 25%. Однако, этим не ограничивается и заполнение происходит свыше заданного условия.
Как возможно ограничить условие, чтобы кнопка заполняла импульс только до 25% периода?
0
Voland_
1725 / 1064 / 104
Регистрация: 04.01.2010
Сообщений: 3,640
08.06.2016, 13:55 6
if (OCR1A+offs<=maxval)
OCR1A += offs;
1
kompanec_oleg
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 12
08.06.2016, 15:56  [ТС] 7
Спасибо. Всё заработало практически так, как нужно. Только проблема в том, что при установлении импульса в 50%, на 25% я вернуться не могу. Каким образом это возможно сделать?
0
kompanec_oleg
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 12
12.06.2016, 23:02  [ТС] 8
Подскажите, могу ли я изменять скважность, если на вход контроллера придёт набор импульсов, который я подам с другого контроллера? Каким образом это реализовать?
0
Voland_
1725 / 1064 / 104
Регистрация: 04.01.2010
Сообщений: 3,640
13.06.2016, 09:13 9
Цитата Сообщение от kompanec_oleg Посмотреть сообщение
Каким образом это реализовать?
Ключевое здесь - это понять, что такое "набор импульсов". Потому что для связи между системами предусматриваются разные протоколы обмена данными, типа UART, 1WIRE и т.д. Так что если вы не хотите что-то "свое" и "супер-особенное", то используйте лучше USORT. Почитайте как он работает и настраивается в ДШ на МК, и используйте для передачи данных.
1
ValeryS
Модератор
7916 / 5892 / 775
Регистрация: 14.02.2011
Сообщений: 20,267
Завершенные тесты: 1
13.06.2016, 12:21 10
Цитата Сообщение от kompanec_oleg Посмотреть сообщение
Подскажите, могу ли я изменять скважность,
можешь
Цитата Сообщение от kompanec_oleg Посмотреть сообщение
если на вход контроллера придёт набор импульсов,
а вот здесь нужно послушать Voland_,
Цитата Сообщение от Voland_ Посмотреть сообщение
понять, что такое "набор импульсов".
я например управляю скважностью по протоколу DMX512, который реализован через UART
1
13.06.2016, 12:21
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2016, 12:21

ШИМ
Всем добрый вечер! Посоветуйте пожалуйста шим который может ни только скважность менять но и...

ШИМ регулятор
Будет ли работать такой ШИМ регулятор с такой функиональностью: - при подаче питания начинает...

Раздача ШИМ
Здраствуйте! У меня есть 1 линия ШИМ МК Atmega8 и мне нужно поочереди раздавать импульсы с этой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.