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

 
 
> регулятор мощности на 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
Ответов
beer_warrior
сообщение Apr 2 2006, 09:09
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Ну во-первых, честно-ли фиксируеться переход через ноль?
Во-вторых не получаеться ли лажа с функцией delay_us(),
т.е. не убивает ли ее оптимизатор, и правильно ли считаються задержки.
В-третьих, я бы например сделал бы расчет задержки по таймеру, а прерыание просто бы его сбрасывало.
Т.е. такой триггер - по TOVF установка, по EXT_INT сброс.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- валеравал   регулятор мощности на AT90S2313   Apr 2 2006, 08:38
|- - валеравал   Цитата(beer_warrior @ Apr 2 2006, 12:09) ...   Apr 2 2006, 11:20
- - Starick   Уважаемый, а он и небудет плавно регулировать. Так...   Apr 2 2006, 09:19
|- - валеравал   Цитата(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
|- - =AK=   Цитата(Starick @ Apr 2 2006, 18:49) Уважа...   Apr 2 2006, 09:49
- - 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 Текстовая версия Сейчас: 19th July 2025 - 18:25
Рейтинг@Mail.ru


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