Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 08.04.2010, 09:59   #1
Classic001
Временная регистрация
 
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Classic001 на пути к лучшему
По умолчанию AtTiny2313 ШИМ на два плеча

Доброго Вам времени суток уважаемые !

Есть надобность сделать ПН для питания ЛДС с регулированием яркости по 1-wire. Питание - 12 вольт. Не хотелось бы питать лампу постоянным напряжением. Поэтому решено было использовать в трансформаторе ПНа два плеча. Которые, как вы понимаете, не должны одновременно открываться. Покопавшись в даташите не совсем понял - не ужто запуск в режиме Phase Correct PWM не способен создать такой режим работы ? Или я не доглядел ? Приходит на ум схема с использованием триггера и пары логических элементов. Но добавлять к такой простой задаче еще пару корпусов - не совсем "прямое" решение. Может кто решал подобную задачу (я про два плеча на ШИМ)? Также не хотелось бы писать программный ШИМ, так как частота играет большую роль при намотке трансформатора, а его хотелось бы сделать поменьше.
Реклама:
Classic001 вне форума  
Непрочитано 08.04.2010, 10:09   #2
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: AtTiny2313 ШИМ на два плеча.

Я помню делал два шима. У одного диапазон скажем от 0..126,у другого 129..255
Deadtime = 129-126=3
Gnider вне форума  
Непрочитано 08.04.2010, 10:16   #3
Classic001
Временная регистрация
 
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Classic001 на пути к лучшему
По умолчанию Re: AtTiny2313 ШИМ на два плеча.

Устраивает. А не подскажите - как делали ?
Classic001 вне форума  
Непрочитано 08.04.2010, 10:26   #4
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: AtTiny2313 ШИМ на два плеча.

Я же только что сказал как.
Gnider вне форума  
Непрочитано 08.04.2010, 13:14   #5
Classic001
Временная регистрация
 
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Classic001 на пути к лучшему
По умолчанию Re: AtTiny2313 ШИМ на два плеча.

Тоесть Вы предлагаете использовать оба имеющихся таймера ? Не, так не пойдёт. Один из таймеров будет использован для реализации 1-wire на прерываниях. Еще варианты есть ? Можно на внешних элементах. Может это возможно реализовать на одном корпусе ?
Classic001 вне форума  
Непрочитано 08.04.2010, 13:28   #6
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию AtTiny2313 ШИМ на два плеча.

Код:
/**************************************************  ***
Project : PWM half-bridge controller
Version : 
Date    : 27.05.2009
Author  : OneTech                  
Company : OneTech                         


Chip type           : ATtiny13
Clock frequency     : 9,600000 MHz
Memory model        : Tiny
External SRAM size  : 0
Data Stack size     : 16
**************************************************  ***/

#include ‹tiny13.h›
#include ‹delay.h›
#define ADC_VREF_TYPE 0x20

unsigned char c; 

interrupt [PCINT0] void pin_change_isr(void)
{
};

unsigned char read_adc(void)
{
ADMUX=ADC_VREF_TYPE|1;
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
};

void PWM_set(unsigned char PWM_data)
{   
    if (PWM_data›=122)
    {
        PWM_data=122;
    };
    OCR0A=PWM_data;
    OCR0B=PWM_data^255;
};

void main(void)
{
// Declare your local variables here

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out 
// State5=T State4=T State3=T State2=T State1=0 State0=0 
PORTB=0x00;
DDRB=0x03;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 9600,000 kHz
// Mode: Phase correct PWM top=FFh
// OC0A output: Non-Inverted PWM
// OC0B output: Inverted PWM
TCCR0A=0xB1;
TCCR0B=0x01;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0xFF;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: On
GIMSK=0x20;
MCUCR=0x00;
PCMSK=0x10;
GIFR=0x20;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;

// ADC initialization
// ADC Clock frequency: 600,000 kHz
// ADC Bandgap Voltage Reference: Off
// ADC Auto Trigger Source: None
// Only the 8 most significant bits of
// the AD conversion result are used
// Digital input buffers on ADC0: Off, ADC1: Off, ADC2: Off, ADC3: Off
DIDR0&=0x03;
DIDR0|=0x3C;
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x84;

// Global enable interrupts
#asm("sei")

while (1)
{  
    c++;
    if (c›=122)
    {
        c=0;
    };
    delay_ms(10);    
    PWM_set(c);
    read_adc();
};
}
OneTech вне форума  
Сказали "Спасибо" OneTech
Classic001 (08.04.2010)
Непрочитано 08.04.2010, 13:48   #7
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Re: AtTiny2313 ШИМ на два плеча.

Пардон, забыл указать что это для ATtiny13 и Вам на С нужен код или на асм?
OneTech вне форума  
Непрочитано 08.04.2010, 14:29   #8
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: AtTiny2313 ШИМ на два плеча.

Сообщение от Classic001 Посмотреть сообщение
Тоесть Вы предлагаете использовать оба имеющихся таймера ? Не, так не пойдёт. Один из таймеров будет использован для реализации 1-wire на прерываниях. Еще варианты есть ? Можно на внешних элементах. Может это возможно реализовать на одном корпусе ?
На одном таймере
Gnider вне форума  
Непрочитано 08.04.2010, 14:48   #9
Classic001
Временная регистрация
 
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Classic001 на пути к лучшему
По умолчанию Re: AtTiny2313 ШИМ на два плеча.

Сообщение от OneTech Посмотреть сообщение
Пардон, забыл указать что это для ATtiny13 и Вам на С нужен код или на асм?
Мне всё равно. Спасибо. Код заработал без изменений.
Classic001 вне форума  
Непрочитано 08.04.2010, 23:50   #10
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: AtTiny2313 ШИМ на два плеча.

Сообщение от Classic001 Посмотреть сообщение
Можно на внешних элементах. Может это возможно реализовать на одном корпусе ?
PIC16F690 DIP20, имеет железный ШИМ полумостом и мостом + програмируемая пауза между верхним и нижним. + Аппаратная защита.
Это автоматическое выключение ШИМ выходов при срабатывании:
1 го из двух компараторов на борту
отдельной ножки.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
Закрытая тема

Закладки

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересный вопрос - два усилителя к одной нагрузке eCAH Аудиотехника 45 14.10.2010 01:23
Посоветуйте ШИМ Easyrider83 Информация по радиокомпонентам 19 04.10.2010 14:13
переделка БП на ШИМ 2003 на одно напряжение artem_y Источники питания и свет 9 26.02.2010 23:35
Ищу ШИМ контроллер serb-radio Информация по радиокомпонентам 1 16.02.2010 21:10


Часовой пояс GMT +4, время: 01:59.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot