Шим на атмег16

Обсуждаем контроллеры компании Atmel.
Ответить
dartmolot
Родился
Сообщения: 18
Зарегистрирован: Вт ноя 04, 2014 17:44:00

Шим на атмег16

Сообщение dartmolot »

как нужно настроить таймер Т1 для шима и как можно управлять длительностью? (если можно то где можно об этом почитать?)
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Шим на атмег16

Сообщение hybroid »

В даташите исчерпывающе написано.
dartmolot
Родился
Сообщения: 18
Зарегистрирован: Вт ноя 04, 2014 17:44:00

Re: Шим на атмег16

Сообщение dartmolot »

я не очень с английским( а русский даташит не нашел
Аватара пользователя
НАПАЛМ
Это не хвост, это антенна
Сообщения: 1314
Зарегистрирован: Пт ноя 27, 2009 19:47:13
Откуда: Казань

Re: Шим на атмег16

Сообщение НАПАЛМ »

Аватара пользователя
eess9
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Re: Шим на атмег16

Сообщение eess9 »

dartmolot писал(а):как нужно настроить таймер Т1 для шима

вопрос из разряда как сделать так, чтобы что-то работало. Частота тактирования кристалла, частота ШИМ, один или два канала нужно, в каких пределах планируете менять скважность и с каким шагом? Увы, какой вопрос, такой и ответ от сообщества...
dartmolot писал(а):как можно управлять длительностью?

при помощи регистра сравнения канала
dartmolot
Родился
Сообщения: 18
Зарегистрирован: Вт ноя 04, 2014 17:44:00

Re: Шим на атмег16

Сообщение dartmolot »

ну если подробно то нужен режим Fast PWM настроить, и посмотреть как работает в протеусе, в интернете нашел примерно как это делается ,но вот что то неполучается
Аватара пользователя
eess9
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Re: Шим на атмег16

Сообщение eess9 »

dartmolot писал(а):но вот что то неполучается

не хотите вы понимать простую истину: на четкий вопрос вы получаете четкий ответ.

Если у вас что-то не получается, сделайте что-то по другому.

В противном случае опишите проблему с приведением своего кода.
Аватара пользователя
Mishany
Электрический кот
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Re: Шим на атмег16

Сообщение Mishany »

а еще текст из даташита отлично копируется для вставки в любой переводчик, и не знание английского сдесь не причем.
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Шим на атмег16

Сообщение hybroid »

Посмотрел темы автора. Очередной студятел, прогулявший пары :(
dartmolot
Родился
Сообщения: 18
Зарегистрирован: Вт ноя 04, 2014 17:44:00

Re: Шим на атмег16

Сообщение dartmolot »

hybroid писал(а):Посмотрел темы автора. Очередной студятел, прогулявший пары :(

ну если ты такой умный подсказал бы чтоль, я же не прошу сделать за меня , мне только нужен совет или пример,
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Шим на атмег16

Сообщение hybroid »

А я такой умный, потому что привык сначала своими мозгами пользоваться. Так что давай, тренеруй, и тоже дураком не помрёшь.
Sel4
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Re: Шим на атмег16

Сообщение Sel4 »

Вот такая же фигня и со мной была... Многие говорят и говорят, типа, читай... А находяться единицы, которые просто скинут пример, а его разберешь и научишься и так гораздо быстрей учительство осуществляется.
А многие "учителя" видать, не понимают, что тема новичкам интересна, но с чего начать новички не понимают совсем.
Новичкам, молоко надо, а "учителя" сразу мясо дают, которое не усваивается.
Вложения
16mega_3PWM_GOOD.zip
(49.38 КБ) 136 скачиваний
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Шим на атмег16

Сообщение oleg110592 »

Sel4 писал(а):А многие "учителя" видать, не понимают, что тема новичкам интересна, но с чего начать новички не понимают совсем.

многие учителя начинали начинать :) когда учителей не было и помочь некому было и ничего справлялись.
По коду:
TCCR2 = 0b11100100;//тут поиграйся с битами -увидишь, как меняется частота и пр.
TCCR1A = 0b10100010;//например, TCCR2 = 0b1110000100 - частота будет ниже

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

TCCR2 = 0b1110000100! у AVR появился десятибитный регистр?
запись 0b11100100 в IAR AVR работать не будет

Предложу тестовый код:

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

#include <avr/io.h>
#include <util/delay.h>

uint16_t setPWM = 0;

int main(void)
{
   // PORTD bit5 set OUT
   DDRD = (0 << DDD7) | (0 << DDD6) | (1 << DDD5) | (0 << DDD4) | (0 << DDD3) | (0 << DDD2) | (0 << DDD1) | (0 << DDD0);

   // Timer/Counter 1 initialization
   // Clock source: System Clock
   // Clock value: 8000,000 kHz
   // Mode: Fast PWM top=0x03FF
   // OC1A output: Non-Inverted PWM
   // OC1B output: Disconnected
   TCCR1A = (1 << COM1A1) | (0 << COM1A0) | (0 << COM1B1) | (0 << COM1B0) | (1 << WGM11) | (1 << WGM10);
   TCCR1B = (0 << ICNC1) | (0 << ICES1) | (0 << WGM13) | (1 << WGM12) | (0 << CS12) | (0 << CS11) | (1 << CS10);
   while (1)
   {

      setPWM++;
      //To do a 16-bit write, the High byte must be written before the Low byte.
      OCR1AH = (uint8_t)(setPWM >> 8);
      OCR1AL = (uint8_t)(setPWM);
      _delay_ms(10);

   }
}



Изображение
Sel4
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Re: Шим на атмег16

Сообщение Sel4 »

Ну проще ж кинуть работающий пример, чем настукать больше символов на клаве во нравоучения..


Очевидно, в коде хотел записать

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

TCCR2 = 0b11100[b]001[/b];//тут поиграйся с битами -увидишь, как меняется частота и пр.
TCCR1A = 0b10100010;//например, TCCR2 = 0b11100100 - частота будет ниже [i]а тут перебрал с нулями))[/i]

Это понятно, что надо читать.. В данном случае очень наглядненько видно , что будет при изменении каждого бита, топому и написал )) А как менять ширину импульса ? ))) написав значение переменной?
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Шим на атмег16

Сообщение oleg110592 »

..очень наглядненько видно...
TCCR1A = 0b10100010;//например, TCCR2 = 0b11100100 - частота будет ниже а тут перебрал с нулями))

TCCR2 регистр какого таймера? Не "наглядненько". Подтверждение того, что надо пользоваться только документацией.
Пример мой рабочий - проверено, правда в протеусе. Ширина импульса задается переменной "setPWM" или надо записать значение "ширины" непосредственно в регистры OCR1AH и OCR1AL в определенной последовательности (последовательность действий расписана в документации).
В документации даже есть примеры на ассемблере и Си.
Sel4
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Re: Шим на атмег16

Сообщение Sel4 »

Та лан тебе )) покрутит, покурит даташит совместно с примером, да разберется что к чему и как настраивается таймер T1 ))))
Ответить

Вернуться в «AVR»