Например TDA7294

Форум РадиоКот • Просмотр темы - Шесть ШИМ каналов. Atmega48/168.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 16:25:14

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Шесть ШИМ каналов. Atmega48/168.
СообщениеДобавлено: Пн окт 16, 2017 08:52:24 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
Дня всем доброго , в очередной раз столкнулся с проблемой настройки таймеров. Прошу вашей помощи.

Пытался выставить настройки по
http://www.atmel.com/images/Atmel-7530- ... asheet.pdf

Где все таки косяк ?
ШИМы должны работать на одинаковой частоте. но с возможность изменения скважности.

Код:
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
void init_pwm()
{
   /**ШИМ 1-2**/
   TCCR0A=(1<<COM0A1)|(0<<COM0A0)|(1<<COM0B1)|(1<<COM0B0)|(1<<WGM01)|(1<<WGM00);
   TCCR0B=(1<<WGM02)|(0<<CS02)|(1<<CS01)|(0<<CS00);
   OCR0A=0x00;   
   OCR0B=0x00;   
   /**ШИМ 3-4**/
   TCCR1A=(1<<COM1A1)|(0<<COM1A0)|(1<<COM1B1)|(0<<COM1B0)|(0<<WGM11)|(1<<WGM10);
   TCCR1B=(0<<WGM13)|(1<<WGM12)|(0<<CS12)|(1<<CS11)|(0<<CS10);
   OCR1A=0x00;
   OCR1B=0x00;
   /**ШИМ 5-6**/
   TCCR2A=(1<<COM2A1)|(0<<COM2A0)|(1<<COM2B1)|(0<<COM2B0)|(1<<WGM21)|(0<<WGM20);
   TCCR2B=(1<<WGM22)|(0<<CS22)|(1<<CS21)|(0<<CS20);
   OCR2A=0x00;
   OCR2B=0x00;
}
int main(void)
{
   int i=0;
   DDRB =0xFF;
   PORTB=0x00;
   DDRC=0xFF;
   PORTC=0x00;
   DDRD=0xFF;
   PORTD=0x00;
   init_pwm();
    while(1)
    {
      for (i=0;i<255;i++)      //Плавно повышаем
      {
      _delay_ms(50);
      OCR0A++;
      OCR0B++;
      OCR1A++;
      OCR1B++;
      OCR2A++;
      OCR2B++;
      }
      for (i=0;i<255;i++)      //Плавно понижаем
      {
      _delay_ms(50);         
      OCR0A--;
      OCR0B--;
      OCR1A--;
      OCR1B--;
      OCR2A--;
      OCR2B--;
      }
    }
   return 0;
}

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шесть ШИМ каналов. Atmega48/168.
СообщениеДобавлено: Пн окт 16, 2017 09:28:02 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вообще-то на одном таймере получится только одноканальный полноценный ШИМ с произвольной частотой... разве что на Т/С1...
Ежли речь о двух независимых значениях в OCRхх... при периоде на ICRn... (доступно только для Т/С1)... То прерывания от них точно будут, а вот насчет аппаратной увязки с выводами весьма вчитываться надо...
Да и Т/С0 Т/С2 у 48/168 лишены своего ICRn...
Посему частота ВСЕХ будет определяться частотой переполнения Т/С0=Т/С2
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шесть ШИМ каналов. Atmega48/168.
СообщениеДобавлено: Пн окт 16, 2017 09:37:14 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
Частота и нужна одна ) управлять надо скважностью.

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Шесть ШИМ каналов. Atmega48/168.
СообщениеДобавлено: Пн окт 16, 2017 10:55:12 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 1
мега48 вроде все шимы работали:
Код:
TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (1<<WGM01) | (1<<WGM00);
TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00);
OCR0A=0x7F;
OCR0B=0x7F;

TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (1<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10);
OCR1AL=0x7F;
OCR1BL=0x7F;

TCCR2A=(1<<COM2A1) | (0<<COM2A0) | (1<<COM2B1) | (0<<COM2B0) | (1<<WGM21) | (1<<WGM20);
TCCR2B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (1<<CS20);
OCR2A=0x7F;
OCR2B=0x7F;

Изображение


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Шесть ШИМ каналов. Atmega48/168.
СообщениеДобавлено: Пн окт 16, 2017 11:19:05 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
Вроде все гуд, большое спасибо!
Т.к Шпротеус у меня подглючивает буду макетку собирать и оцылоскопом туда тыкаться )

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: TioSin и гости: 25


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y