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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 18.03.2011, 21:09   #71
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   #72
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

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

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

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

Сообщение от mr_smit Посмотреть сообщение
Сделал длину управляющего импульса 25 мкс. Слабое моргание в самом начале так и осталось. Что то не то при запуске TCCR1B.
Вам писали, не менять TCCR1B, при работающем таймере.
Выложите свой файлы с изменениями посмотрим.
CodeNameHawk вне форума  
Непрочитано 18.03.2011, 23:43   #76
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   #77
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   #78
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 180
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
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   #79
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, время: 05:33.


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