Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 29
  1. #11
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: ШИМ. Как запрограммировать?

    Вот здесь смотри http://www.compcar.ru/forum/showthread.php?t=5869

  2. #12
    Продвинутый
    Регистрация
    19.02.2010
    Возраст
    46
    Сообщений
    244
    Вес репутации
    223

    По умолчанию Re: ШИМ. Как запрограммировать?

    Понял, спасибо!

  3. #13
    Пользователь
    Регистрация
    19.09.2010
    Возраст
    44
    Сообщений
    21
    Вес репутации
    172

    По умолчанию Re: ШИМ. Как запрограммировать?

    Цитата Сообщение от Chip Посмотреть сообщение
    PHP код:
        tcnt2 237;      
        .......
        
    TCNT2 tcnt2
    Я правильно понимаю, что
    tcnt2 = 256 - (16000000/31000/частота_ШИМ_Гц)
    и соответственно tcnt2=254 даст частоту где-то между 200 и 300Гц?

  4. #14
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: ШИМ. Как запрограммировать?

    Флаг переполнения таймера будет срабатывать с частотой 31000Гц
    Последний раз редактировалось Chip; 11.12.2010 в 12:20.

  5. #15
    Пользователь
    Регистрация
    19.09.2010
    Возраст
    44
    Сообщений
    21
    Вес репутации
    172

    По умолчанию Re: ШИМ. Как запрограммировать?

    Ага, понял, а частота ШИМ будет зависеть от переполнения либо обнуления pwm_time.
    Тогда осталось не понятно, в формуле
    tcnt2 = 256 - (16000000/31000/X)
    что означает параметр X?

  6. #16
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: ШИМ. Как запрограммировать?

    это регистр таймера, он имеет один байт то есть 256 отсчетов до переполнения, флаг прерывания таймера установится после переполнения. По этому мы считаем по остатку до переполнения.
    Проще говоря чем больше значение положенное в регистр тем быстрей переполнится.

    P.S.
    Только сейчас дошло что ты спрашивал про значение 64 , это предделитель таймера , делящий основную тактовую частоту
    Последний раз редактировалось Chip; 11.12.2010 в 12:27.

  7. #17
    Пользователь
    Регистрация
    19.09.2010
    Возраст
    44
    Сообщений
    21
    Вес репутации
    172

    По умолчанию Re: ШИМ. Как запрограммировать?

    Попытался покопать документацию, но так и не пришло ясного осознания, как манипулировать TCCR2A, TCCR2B и сколько класть на прерывании в TCNT2, чтобы иметь конкретную (хотя бы приблизительно) частоту софтового ШИМ. С TCNT2 и pwm_time в общем-то разобрался, но при условии что знаю частоту таймера. Частота таймера, как понимаю, получается из частоты кварца, делённой на некий делитель, запрятанный в регистрах TCCR2A и/или TCCR2B. А вот с ними запутался...
    Chip, можно прокомментировать строки:

    TCCR2A &= ~((1<<WGM21) | (1<<WGM20));
    TCCR2B &= ~(1<<WGM22);
    Последний раз редактировалось ka-5; 11.12.2010 в 18:36.

  8. #18
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: ШИМ. Как запрограммировать?

    регистр TCCR2B имеет три бита предделителя CS20,CS21,CS22

    0 | 0 | 0 - таймер/счетчик остановлен
    0 | 0 | 1 - нет предделителя
    0 | 1 | 0 - предделитель 8
    0 | 1 | 1 - предделитель 64
    1 | 0 | 0 - предделитель 256
    1 | 0 | 1 - предделитель 1024
    Последний раз редактировалось Chip; 12.12.2010 в 01:03.

  9. #19
    Пользователь
    Регистрация
    19.09.2010
    Возраст
    44
    Сообщений
    21
    Вес репутации
    172

    По умолчанию Re: ШИМ. Как запрограммировать?

    Спасибо!

  10. #20
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    48
    Сообщений
    320
    Вес репутации
    326

    По умолчанию Re: ШИМ. Как запрограммировать?

    Эдуард, а подскажи пожалуйста как запрограмировать ШИМ на 300 гц и на 200 гц? Если не в тягость!

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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