Отговори на тема  [ 34 мнения ]  Отиди на страница 1, 2, 3  Следваща
Алгоритъм на Bresenham - управление на SSR 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Юли 14, 2009 2:00 am
Мнения: 54
Мнение Алгоритъм на Bresenham - управление на SSR
Става въпрос за управление на активен товар на 220V/50Hz.В основата на принципа на управление стои следното - товарът се управлява с zero-crossing,като с помощта на алгоритъма на Bresenham се определя такова разпределение и продължителност на периодите on/off на симистора/тиристори/,че се постига степенно регулиране на мощността върху товара,с определена резолюция,нещо като PWM и най-важното - с равномерно рапределение на on_полупериодите и off_полупериодите.Някой правил ли е такова нещо,ако имате идеи как да стане практически най-лесно - споделете.Мерси!


Сря Юли 29, 2009 1:05 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юли 31, 2007 2:55 pm
Мнения: 1792
Местоположение: София
Мнение 
Какво точно ще ти помогне Брезенхам в случая? :D

Генерирането на импулси за отпушване на силовия елемент е елементарно - имаш минимален и максимален ъгъл на отпушване (както и минимална ширина на импулса), избираш си какъв точно ъгъл искаш в момента. Синхронизираш по zero-crossing на фазата. Ако търсиш линеаризация на мощността си правиш таблица. И гледаш положителните и отрицателните полупериоди да са симетрични.


Сря Юли 29, 2009 9:26 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
уди,
човека иска да работи само с цели полупериоди и да апроксимира кривата на желаната мощност към реалната/моментна като закръглява на цял (полу)период.
а защо с брезенхам? сигурно някой болен асистентски мозък го иска за курсова задача...


Сря Юли 29, 2009 1:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Не знам какъв е тоя Брезенхам, ама с триаци/тиристори хем zero crossing, хем фазово управление
очевидно не става.

Аналогичният случай в наше село беше преди 15-ина години, когато правих един 0 до 5 kV
модул за първия нюкман; обратната връзка отиваше във вид на 0 до 5 волта на един ADC
вход на HC11, един PWM изход щракаше ключа в първичната намотка (flyback convertor,
очевидно).

Та аналогичното в случая дойде от там, че разделителната способност на PWM-а беше
0.5 микросекунди; много повече, отколкото трябваше за плавно регулиране.

Какво направих - ами Брезенхам не Брезенхам (не съм го ни чувал, ни виждал тоя :-) ), дефинирах
един втори период, примерно 20 пъти колкото тоя на PWM-то (EEPROM програмируемо, както беше
и честотата на PWM-а), и почнах двете съседни стойности да ги задавам в рамките на този период,
от 1 на 20 за по-малката до 20 на 20 за същата.
Работят и до ден днешен.

Много други варианти за това zero-crossing не виждам - вариращ брой пуснати полупериоди за даден
интервал от време на колкото е възможно по-равни интервали вътре в рамките на периода,
какво друго може да направи човек.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Сря Юли 29, 2009 1:48 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Дек 19, 2004 6:26 pm
Мнения: 1628
Местоположение: Сливен
Мнение 
На мен ми се струва смислен въпроса. Примерно - правиш си 5 секунди такт.
Това са около 1 байт синусоиди. За този период пускаш САМО ЦЕЛИ такива - от 0 до 249.
И искаш да са разпределени равномерно, за някакъв дълъг период - не 5 накуп и после 244 - нулеви.
Та ако знаеш големия период и запълването в малкия - да ги пръснеш подходящо.
/не съм нищичко чел за подобни методи - просто ми се струва приемливо/
Но пък времето е толкова голямо, че можеш всякакви сметки да правиш.


Сря Юли 29, 2009 2:01 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
не се излагайте... :oops:
http://en.wikipedia.org/wiki/Bresenham's_line_algorithm

то верно, че съвременната тенденция на решаване на проблемите е силова (МИПС-ве, а не алгоритми), ама...
някак си не мога да приема да рендваш тексели, без да си наясно с пикселите

а дали ще с брезенхам или с питагоровата теорема ми се вижда еднакво отвлечено като постановка.
но ако даскала е казал брезенхам - тогава трябва да е с брезенхам (ако целта е заверка)


Сря Юли 29, 2009 2:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Ми не бях го чел, не го прочетох цялото и сега.

Но преди 20-ина и кусур години, когато писах първите си графични
библиотеки, нямах проблем как да ги направя - то и няма повече от един разумен
начин. И сегашните в DPS-а - последно ги правих за power architecture преди няколко
години - са все така правени.
Времето да измисля алгоритъма, което съм похарчил общо за всичките графични библиотеки,
дето съм писал, май е по-малко от времето, което би ми отнело да прочета статията в
wikipedia...
Знанията по елементарна геометрия са повече от достатъчни за да бъде тоя алгоритъм
очевиден за всеки, комуто потрябва - и без да е чувал името (аз не бях го чувал досега).

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Сря Юли 29, 2009 3:00 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Някой май не е внимавал в часа по компютърна графика 8)

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Сря Юли 29, 2009 4:08 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юли 31, 2007 2:55 pm
Мнения: 1792
Местоположение: София
Мнение 
ДедоБоре написа:
уди,
човека иска да работи само с цели полупериоди и да апроксимира кривата на желаната мощност към реалната/моментна като закръглява на цял (полу)период.
а защо с брезенхам? сигурно някой болен асистентски мозък го иска за курсова задача...


Определено имам проблем да декодирам заданието. :) Чак след твоята подсказка почнах да виждам някакви паралели в написаното от Infinity че става въпрос за цели (полу)периоди. Но пак не мога да го разбера докрай, тъй като има и "продължителност на периодите". 8O

Освен това, не е ли класическото регулиране по ъгъл на положителна и отрицателна полувълна най-доброто и за мрежата и за консуматора? Захранване с прескочени полупериоди ми се чини малко безумие. :roll: Или има изследвания в тая област които изтъкват предимства??


@Infinity - ако целта (на курсовата ти работа?) е да направиш интерполатор, няма дори нужда да споменаваш за 220V/50Hz и полупериоди. Дори един прост фазов акумулатор ще ти свърши работа.


Сря Юли 29, 2009 4:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
¶ написа:
Някой май не е внимавал в часа по компютърна графика 8)


Не съм аз - никога не съм посещавал такива часове. Формалното ми образование не включва
техниката, която правя последните 20 и кусур години :) .

Което не значи, че винаги съм внимавал във всички часове, които съм имал, де.
Но май ме бива много в това да приема тая част от знанието на някого, с когото комуникирам,
която нямам - knowledge vampire и половина съм... :-)

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Сря Юли 29, 2009 5:42 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
woody написа:
...
Освен това, не е ли класическото регулиране по ъгъл на положителна и отрицателна полувълна най-доброто и за мрежата и за консуматора? Захранване с прескочени полупериоди ми се чини малко безумие. :roll: Или има изследвания в тая област които изтъкват предимства??
...


За класика класика е фазовото регулиране, но zero crossing - включване на товара в момента, когато
напрежението е 0 волта - предполага цели полупериоди, триаците и тиристорите можеш само да ги
включваш през гейта, изключват, когато токът през тях стане 0 (т.е. трябва да чакаш до края на полупериода).

Предимството е, че генерират по-малки смущения - по-малък "inrush current".

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Сря Юли 29, 2009 6:35 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 11:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение 
А бе тя задачката е ясна макар и тъпа:
За време равно на N периода на мрежата (пиксели по X) мощността трябва от степен A да стане на степен B които са цели числа напр. от 0 до 100, т.е. пикселите по Y. Тук господин Б. си казва тежката дума: през първите n1 периода мощността трябва да е p1, после за n2 периода мощността трябва да е p2 и т.н. докато се запълни времевия интервал N.
Следва да се определи за колко периода тиристорът да е отпушен и за колко запушен и те да се поразхвърлят що-годе равномерно. И тук идва голямото омазване: заради нееднаквостта на малките n не могат да се ползват готови таблици, и представете си че господин Б. е казал, че за 2-а мрежови периода мощността трябва да е 1/5 от максималната...
Това само некадърник с летен грип и след голям запой ще да го е замислил :D


Сря Юли 29, 2009 7:19 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Юли 14, 2009 2:00 am
Мнения: 54
Мнение 
Цитат:
сигурно някой болен асистентски мозък го иска за курсова задача...
- в този случай болният мозък съм аз :D .Не става въпрос за курсова задача или нещо подобно.Става въпрос за чисто практическо реализиране на управление на мощен нагревател.Идеята за това я видях от някакъв руски проект,регулатор на мощност с тиристори и Bresenham алгоритъм.Регулатора също така поддържа и зададената му мощност/напрежение върху товара/ при промяна на захранващото напрежение,чрез обратна връзка по напрежение от товара.Ако товарът се регулираше фазово нещата са много по-лесни,но тук случаят не е такъв.Най-малката единица тук е полупериода.


Общо взето това са идеите:
Цитат:
Примерно - правиш си 5 секунди такт.
Това са около 1 байт синусоиди. За този период пускаш САМО ЦЕЛИ такива - от 0 до 249.
И искаш да са разпределени равномерно, за някакъв дълъг период - не 5 накуп и после 244 - нулеви.
Та ако знаеш големия период и запълването в малкия - да ги пръснеш подходящо.
/не съм нищичко чел за подобни методи - просто ми се струва приемливо/

Цитат:
За време равно на N периода на мрежата (пиксели по X) мощността трябва от степен A да стане на степен B които са цели числа напр. от 0 до 100, т.е. пикселите по Y. Тук господин Б. си казва тежката дума: през първите n1 периода мощността трябва да е p1, после за n2 периода мощността трябва да е p2 и т.н. докато се запълни времевия интервал N.
Следва да се определи за колко периода тиристорът да е отпушен и за колко запушен и те да се поразхвърлят що-годе равномерно. И тук идва голямото омазване: заради нееднаквостта на малките n не могат да се ползват готови таблици, и представете си че господин Б. е казал, че за 2-а мрежови периода мощността трябва да е 1/5 от максималната...
Това само некадърник с летен грип и след голям запой ще да го е замислил :D
- а бе май руснак ще да е :D


Чет Юли 30, 2009 2:16 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Добре де, не е ли очевидно.
Ако представиш интервала, който искаш да запълваш с управляван брой периоди,
като X, където X е дължината на тоя период в брой полупериоди на 50 Hzсинусоидата,
като Y можеш да представиш броя на пуснатите полупериоди.
Ако чертаеш линията, както се чертае по т.нар. Брезенхам (както всеки нормален
човек чертае линии по растер), при всяко минаване на нов, по-висок ред по Y
пускаш един полупериод.
Това е всичко. Нищо перверзно или сложно.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Чет Юли 30, 2009 5:22 am
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Нед Яну 18, 2009 1:28 pm
Мнения: 110
Мнение 
tgi написа:
Добре де, не е ли очевидно.
Ако представиш интервала, който искаш да запълваш с управляван брой периоди,
като X, където X е дължината на тоя период в брой полупериоди на 50 Hzсинусоидата,
като Y можеш да представиш броя на пуснатите полупериоди.
Ако чертаеш линията, както се чертае по т.нар. Брезенхам (както всеки нормален
човек чертае линии по растер), при всяко минаване на нов, по-висок ред по Y
пускаш един полупериод.
Това е всичко. Нищо перверзно или сложно.


даже бонго е схванал същността на проблема ... а ти не :)


Чет Юли 30, 2009 9:06 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 34 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни