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

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

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

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

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

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

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

 
Опции темы

Задержки при плавной регулировке. Диммер с ДУ

Непрочитано 18.03.2011, 21:09  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от CodeNameHawk Посмотреть сообщение
Какая длина открывающего тиристор импульса?
И что происходит при 5% яркости, я так понимаю вы подаете открывающий импульс по истечении 0.0095 сек и если длина открывающего импульса больше 0.0005 (0.01-0.0095) будет пропуск.
Сделал длину управляющего импульса 25 мкс. Слабое моргание в самом начале так и осталось. Что то не то при запуске TCCR1B.
Реклама:
mr_smit вне форума  
Непрочитано 18.03.2011, 21:31  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от mr_smit Посмотреть сообщение
При запуске таймера что то не то.
Я бы к этому вопросу подошёл бы с другой стороны сразу. Думал сказать об этом раньше, но сдерживался. Сначала пару вопросов:
- от какого генератора всё работает?
- в таблице яркостей константы расчётные?(вопрос почти риторический)
omercury вне форума  
Непрочитано 18.03.2011, 22:05  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

- От кварца 16 МГц.
- Расчетные. Полуволна поделена на 100 равных площадей. И на основании этого определены задержки для каждого уровня мощности.
mr_smit вне форума  
Непрочитано 18.03.2011, 22:37  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от mr_smit Посмотреть сообщение
От кварца 16 МГц.
То есть расчёт на то, что кварц будет работать не частоте 16 000 000 Гц, а сеть 50,0 Гц ровно? Ситуация практически невероятная...
Алгоритм: после запуска измерить длительность полупериода сети. Перевести таймер в режим СТС, длительность такта - ТОР. В компаратор (ТОР/100)*Коэф.яркости. Чистая математика, никаких таблиц. Нет зависимости от частоты генератора и частоты сети(небольшая есть, но в пределах погрешности). По срабатыванию компаратора импульс запуска тиристора.
Если немного усложнить программу, то ТОР можно корректировать чуть не в каждом такте сети...
omercury вне форума  
Непрочитано 18.03.2011, 22:55  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 349
Сказал спасибо: 181
Сказали Спасибо 65 раз(а) в 57 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от mr_smit Посмотреть сообщение
Сделал длину управляющего импульса 25 мкс. Слабое моргание в самом начале так и осталось. Что то не то при запуске TCCR1B.
Вам писали, не менять TCCR1B, при работающем таймере.
Выложите свой файлы с изменениями посмотрим.
CodeNameHawk вне форума  
Непрочитано 18.03.2011, 23:43  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Omercury, спасибо за идею. Но улучшать алгоритм можно до бесконечности... Я этим займусь позже. Сейчас мне важно собрать работающее устройство. Собственно чтобы было что улучшать.

Последний раз редактировалось mr_smit; 18.03.2011 в 23:56.
mr_smit вне форума  
Непрочитано 18.03.2011, 23:54  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от CodeNameHawk Посмотреть сообщение
Вам писали, не менять TCCR1B, при работающем таймере.
Выложите свой файлы с изменениями посмотрим.
Последняя редакция кода. Сейчас залита и работает
Миниатюры:
Нажмите на изображение для увеличения
Название: displ.jpg
Просмотров: 48
Размер:	311.9 Кб
ID:	19934  
Вложения:
Тип файла: rar Dim2.rar (21.2 Кб, 59 просмотров)
mr_smit вне форума  
Непрочитано 19.03.2011, 16:28  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 349
Сказал спасибо: 181
Сказали Спасибо 65 раз(а) в 57 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

The Timer/Counter (TCNT1), Output Compare Registers (OCR1A/B), and Input Capture Register (ICR1) are all 16-bit registers. Special procedures must be followed when accessing the 16-bit registers.
Описано в Registers для 16-bit Timer/Counter1
Есть там и пример как это сделать
Код:
The following code examples show how to do an atomic write of the TCNT1 Register
contents. Writing any of the OCR1A/B or ICR1 Registers can be done by using the
same principle.

C Code Example
void TIM16_WriteTCNT1( unsigned int i )
{
unsigned char sreg;
unsigned int i;
/* Save Global Interrupt Flag */
sreg = SREG;
/* Disable interrupts */
_CLI();
/* Set TCNT1 to i */
TCNT1 = i;
/* Restore Global Interrupt Flag */
SREG = sreg;
}
TCNT1 замените на OCR1A и OCR1В

В процедуру
Код:
interrupt [EXT_INT0] void ext_int0_isr(void)
  {
добавьте принудительное закрытие тиристора.
Код:
TRIAC_PIN = 1;
Да и включение таймера1 сюда бы перенести.

У вас таймер1 запускается без привязки к напряжению сети вот и получается каша. Я бы так переписал процедуру прерывания

1.закрытие тиристора.
2.остановили таймер1 (для надежности)
3.сбросили таймер1
4.установили OCR1A и OCR1В (так как таймер остановлен, выше приведенную процедуру можете не применять)
5.запустили таймер

При таких изменениях необходимо добавить остановку таймера1 в процедуру
Код:
interrupt [TIM1_COMPB] void timer1_compb_isr(void)
{
 TRIAC_PIN = 1;    // вернулись в режим ожидания
Это избавит вас от морганий.

Последний раз редактировалось CodeNameHawk; 19.03.2011 в 17:07.
CodeNameHawk вне форума  
Непрочитано 25.03.2011, 00:55  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Спасибо! Всё, моргания пропали. Сделал так:
Код:
bit start_triac_timer = 0;
...
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
  {
  if (start_triac_timer == 1) {
    OCR1A = nagruzka[status];
    OCR1B = nagruzka[status]+60;
    TCNT1 = 0;      // сбросили таймер
    TCCR1B=0x02;
    GICR&=~(1‹‹6);  // запретили прерывание INT0 // GIFR = 0x10000000
    }
  else {
    TCCR1B=0x00;
    }
  }
Когда нужно запустить таймер делаю просто start_triac_timer = 1.
mr_smit вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Нужна схема автоматического закрывания дверей автомобиля при движении Aviasined Электроника средств транспорта 17 28.09.2010 06:14


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.