Dimmer (mega128)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Dimmer (mega128)

Сообщение krysun »

Прошу помочь сконфигурировать по.
Диммер на BTA26800B вкоючается через МОС3063.
Ноль детектят пара РС817.
Мега128 запитана от своего БП.
Кварц 6 МГц.
Прерывание от "нуля" на INT0.
Включение триака ногой PA.0 (DDRA.0=1).

Привожу "куски" кода.

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

#include <mega128.h>

// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
TCCR1B=0x01; // Timer1 ON
}

// Timer1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
PORTA.0=1;  //TRIAK ON
}

// Timer1 output compare B interrupt service routine
interrupt [TIM1_COMPB] void timer1_compb_isr(void)
{
PORTA.0=0;  //TRIAK OFF
TCNT1H=0x00; // Timer1 CLEAR
TCNT1L=0x00; //
TCCR1B=0x00; //TIMER1 OFF
}

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

TCCR1B=0x01; // Делитель на 8
...
OCR1AH=0x0F; //Прерывание через 5мс
OCR1AL=0xA6; //

OCR1BH=0x0F; //Прерывание еще через 0,1мс
OCR1BL=0xF1; //


Даже прогу слепил на делфи для расчета задержек

ИТОГ:
На Вкл/Выкл ноги лампочка загорается и гаснет, соответственно...
При попытке "резать" синусы, может вкл. и не выкл (и наоборот, или просто мерцает...
Осциллографа нет (
Может в железе проблема? У МОС3063, вроде свой какой-то zero detector есть.
Жду помощи, господа... Недели 2 маюсь (
Вложения
Project1.zip
(203.82 КБ) 175 скачиваний
Это лыжи не едут!!!
lix
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 17, 2010 15:32:19
Откуда: Курган

Re: Dimmer (mega128)

Сообщение lix »

прескалер тоже надо обнулять, но это так к слову.

и еще вроде как порядок записи в 16битные регистры имеет значение. но я могу ошибаться.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Dimmer (mega128)

Сообщение coredumped »

Боюсь лажа с МОС3063 - эта штуковина, скорее всего, не подойдет для фазо-импульсного управления. Я глянул на даташит, и меня смутил ихний нуль-детектор. Скорее всего он какраз и предназначен для коммутации симистора в момент перехода через 0 - это сделано для предотвращения помех в электросети. На такой штуке можно "выбрасывать" только целые полупериоды, что примлемо, скажем для паяльника, и совсем не подходит для лампочки. Это мое предположение, тк в даташите про это ничего толком не написано. Был бы у Вас осцилл или у меня этот драйвер, мы бы сразу выяснили прав я или ошибаюсь... Могу предложить, попробовать заменить драйвер на какой-нибудь другой, без нуль-детекторов, если это возможно.
Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: Dimmer (mega128)

Сообщение krysun »

coredumped писал(а):Боюсь лажа с МОС3063...

Да, я про это и спрашивал...
Не ломает ли он весь кайф со своим детектором))

Кстати, прикупил
HCPL-3700
AC/DC to Logic Interface
Optocouplers
Technical Data

Для детекта буду его использовать. С ним никаких коней нет?
Это лыжи не едут!!!
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: Dimmer (mega128)

Сообщение krysun »

lix писал(а):прескалер тоже надо обнулять, но это так к слову.

и еще вроде как порядок записи в 16битные регистры имеет значение. но я могу ошибаться.

Регистры ж составные 2 х 8бит, или я не туда рулю? оО...
Это лыжи не едут!!!
lix
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 17, 2010 15:32:19
Откуда: Курган

Re: Dimmer (mega128)

Сообщение lix »

можно просто писать TCNT1 = 0x1FFF;
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Dimmer (mega128)

Сообщение qwerky »

Диммер на BTA26800B вкоючается через МОС3063.
на 3063 диммер не получится - он включается только при переходе через 0. Берите MOC3052
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: Dimmer (mega128)

Сообщение krysun »

qwerky писал(а):
Диммер на BTA26800B вкоючается через МОС3063.
на 3063 диммер не получится - он включается только при переходе через 0. Берите MOC3052


Спасибо! Этого ответа я и ждал.
А то ну ВСЕ вроде бы перепробовал и без результатов.
Во вторник проверю - отпишусь.
Это лыжи не едут!!!
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: Dimmer (mega128)

Сообщение krysun »

Котики, мне вообще не для димера это надо. Я планирую на этой базе сделать управление ИК нагревателями. BTA26800B стоят на радиаторе (4 шт). Может и не нужен этот диммер? Просто нормально гистерезис считать и достаточно?
Читать буду термопару MAX6675, у нее есть компенсация холодного спая.
Обмен через УСБ (Шнур от мобилки на FT232)))
Пример управлялки с компа прикрепляю....

А, и еще. Где можно взять нормальные термо-профиля для разных плат? (Желательно в цифрах, или графиках)
Методом тыка не хочется)
Вложения
Project1.zip
(527.16 КБ) 173 скачивания
Это лыжи не едут!!!
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Dimmer (mega128)

Сообщение qwerky »

Спасибо! Этого ответа я и ждал.
а в даташит глянуть не побовал ?
Я планирую на этой базе сделать управление ИК нагревателями.
для такого регулирования диммер без датчика 0 - неподходящее решение - генерирует помехи, сильно нагружает нагреватели. Оптосимистор с переходом 0 (3063/3083) - в самый раз. Регулирование - тот же ШИМ, только медленный, или алгоритм Брезенхема (равномерно распределяет импульсы мощности по периоду регулирования).
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: Dimmer (mega128)

Сообщение krysun »

qwerky писал(а):а в даташит глянуть не побовал ?

Пробовал. И видел. Вопрос "Понял ли?" )) Потому и спросил (конкретно по нему).
Курим предложенный алгоритм. Надеюсь разберусь.

Эээ, а вот тут я не понял.
Вы хотите сказать, что ШИМом и 3063 я смогу управлять Триак-ом? Он же не закроется когда мне НУЖНО, только при нуле. Или не правда?... оО

Разве, что только ШИМ до 100Гц....
Это лыжи не едут!!!
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Dimmer (mega128)

Сообщение qwerky »

krysun писал(а):
qwerky писал(а):а в даташит глянуть не побовал ?
Вы хотите сказать, что ШИМом и 3063 я смогу управлять Триак-ом? Он же не закроется когда мне НУЖНО, только при нуле. Или не правда? Разве, что только ШИМ до 100Гц....
нагреватель - сильно инерционная нагрузка, допускающая управление низкочастотными импульсами. За минимальный дискрет управления можно взять импульс 100..200мс, и период регулирования 10..20с (диапазон 0..100% с дискретностью 1%). Брезенхемом импульсы управления равномерно "размажутся" по периоду регулирования, что еще снизит пульсации на нагрузке. За основу можно взять упрощенный алгоритм (последний на http://en.wikipedia.org/wiki/Bresenham% ... _algorithm ). Ну и тут кое-что описано: http://cxem.net/mc/mc3.php
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: Dimmer (mega128)

Сообщение krysun »

qwerky писал(а):...упрощенный алгоритм (последний на http://en.wikipedia.org/wiki/Bresenham% ... _algorithm ). Ну и тут кое-что описано: http://cxem.net/mc/mc3.php

Спасибо, уважаемый!
Это лыжи не едут!!!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»