реклама на сайте
подробности

 
 
> регулятор мощности на AT90S2313, не получается плавно регулировать
валеравал
сообщение Apr 2 2006, 08:38
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 28-05-05
Пользователь №: 5 503



хочу сделать регулятор мощности, управлять симистором вобщем
использую внешнее прерывание 0 чтобы получить момент перехода сетевого напряжения через ноль
подключил две кнопки она на увеличение угла открытия симистора другая на уменьшение
но не получается плавно регулировать может кто подскажет как сделать?

подпрограмма обработки внешнего прерывания выгляди так в CVAVR:
interrupt [EXT_INT0] void ext_int0_isr(void)
{
#asm("cli")

PORTB.4=1;
for (i=0; i<=k; i++)
{
delay_us(1); //регулировка мощности
}
PORTB.4=0;
delay_us(100);
PORTB.4=1;


#asm("sei")
}

основная программа бесконечный цикл
while (1)
{
k1=PIND.3;
if (k1==0) {
#asm("cli")
delay_us(30);
// #asm("sei")
k=k+1;
if (k>=3500) k=3500;
#asm("sei")



};
k2=PIND.1;

if (k2==0) { #asm("cli")
delay_us(30);
// #asm("sei")
k=k-1;
if (k<=30) k=30;
#asm("sei")
};
// Place your code here
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Starick
сообщение Apr 2 2006, 09:19
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 4-09-05
Пользователь №: 8 211



Уважаемый, а он и небудет плавно регулировать. Так, как зависимоть угла открытия тиристора (сисмистора) и получаемое напряжение (а соответственно и мощности и энергии) не линейна. Тут нужен алгоритм, который бы эту зависимость немного линеаризировал.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Apr 2 2006, 09:49
Сообщение #3


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Starick @ Apr 2 2006, 18:49) *
Уважаемый, а он и небудет плавно регулировать. Так, как зависимоть угла открытия тиристора (сисмистора) и получаемое напряжение (а соответственно и мощности и энергии) не линейна. Тут нужен алгоритм, который бы эту зависимость немного линеаризировал.

Непонятно что автор подразумевал под словом "плавно". Может, не "равномерно", а "монотонно"? Может, у него яркость скачет?

k почему-то меняется от 30 до 3500; скорость этого изменения (при нажатии на кнопку), похоже, велика; функция delay_us(1) дает непонятно какую задержку. При 50 Гц полупериод 10000 мкс, чтобы все работало монотонно delay_us(1) должна обеспечивать задержку не более 10000/3500=2.85 мкс. Если больше, то после минимальной яркости будет прыжок на максимальную.

Если delay_us(1) дает 2.85мкс, то delay_us(30) даст задержку всего в 85.5мкс, и при нажатии на кнопку счетчик k установится в 3500 или отмотает в 30 примерно за 350 мс, считая что полный цикл выполнится примерно за 100мкс. Глазом не успеешь моргнуть.

PS: На самом деле все гораздо хуже, т.к. прерывание не отдает управление сразу же, как должно было бы делать, а "держит" до тех пор пока не зажжет симистор. Поэтому время исполнения основного цикла зависит от угла поджига, чем меньше яркость - тем "инерционнее" становятся кнопки. Лучше бы так не делать.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- валеравал   регулятор мощности на AT90S2313   Apr 2 2006, 08:38
- - beer_warrior   Ну во-первых, честно-ли фиксируеться переход через...   Apr 2 2006, 09:09
|- - валеравал   Цитата(beer_warrior @ Apr 2 2006, 12:09) ...   Apr 2 2006, 11:20
|- - валеравал   Цитата(Starick @ Apr 2 2006, 12:19) Уважа...   Apr 2 2006, 09:47
||- - acex2   Цитата(валеравал @ Apr 2 2006, 06:47) а к...   Apr 2 2006, 09:50
||- - =AK=   Цитата(acex2 @ Apr 2 2006, 19:20) Отдавае...   Apr 2 2006, 10:05
||- - acex2   Цитата(=AK= @ Apr 2 2006, 07:05) Цитата(a...   Apr 2 2006, 13:27
||- - defunct   Цитата(acex2 @ Apr 2 2006, 15:27) Мне каж...   Apr 2 2006, 14:53
- - WHALE   В данном случае [/b]Starick[b] прав-зависимость си...   Apr 2 2006, 09:50
- - Kovrov   Цитата(валеравал @ Apr 2 2006, 11:38) хоч...   Apr 2 2006, 10:50
- - WHALE   А автор топика вроде говорил именно про регулировк...   Apr 2 2006, 10:52
- - beer_warrior   Да хоть бы и в обработчике перехода нуля, правда ...   Apr 2 2006, 12:32
- - WHALE   В CV функция delay_us() -это библиотечная функция,...   Apr 2 2006, 12:53
- - Laksus   Цитата... но не получается плавно регулировать мож...   Apr 2 2006, 19:43
- - ZiB   я собирал много канальный (8 каналов) регулятор мо...   Apr 3 2006, 03:53
- - Starick   [quote name='defunct' date='Apr 2 2006...   Apr 3 2006, 07:44
|- - defunct   Цитата(Starick @ Apr 3 2006, 09:44) Цитат...   Apr 3 2006, 22:12
- - Kovrov   а ещё неплохо было бы сделать защиту в детекторе н...   Apr 3 2006, 15:35
- - Zond   Посмотри вот здесь - www.telesys.ru/projects/proj1...   Apr 3 2006, 20:17


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.02643 секунд с 7
ELECTRONIX ©2004-2016