|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 7:58 am
Алгоритъм на Bresenham - управление на SSR
| Автор |
Съобщение |
|
Infinity
Ранг: Минаващ
Регистриран на: Вто Юли 14, 2009 2:00 am Мнения: 54
|
 Алгоритъм на Bresenham - управление на SSR
Става въпрос за управление на активен товар на 220V/50Hz.В основата на принципа на управление стои следното - товарът се управлява с zero-crossing,като с помощта на алгоритъма на Bresenham се определя такова разпределение и продължителност на периодите on/off на симистора/тиристори/,че се постига степенно регулиране на мощността върху товара,с определена резолюция,нещо като PWM и най-важното - с равномерно рапределение на on_полупериодите и off_полупериодите.Някой правил ли е такова нещо,ако имате идеи как да стане практически най-лесно - споделете.Мерси!
|
| Сря Юли 29, 2009 1:05 am |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
Какво точно ще ти помогне Брезенхам в случая?
Генерирането на импулси за отпушване на силовия елемент е елементарно - имаш минимален и максимален ъгъл на отпушване (както и минимална ширина на импулса), избираш си какъв точно ъгъл искаш в момента. Синхронизираш по zero-crossing на фазата. Ако търсиш линеаризация на мощността си правиш таблица. И гледаш положителните и отрицателните полупериоди да са симетрични.
|
| Сря Юли 29, 2009 9:26 am |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
уди,
човека иска да работи само с цели полупериоди и да апроксимира кривата на желаната мощност към реалната/моментна като закръглява на цял (полу)период.
а защо с брезенхам? сигурно някой болен асистентски мозък го иска за курсова задача...
|
| Сря Юли 29, 2009 1:33 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 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 |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
На мен ми се струва смислен въпроса. Примерно - правиш си 5 секунди такт.
Това са около 1 байт синусоиди. За този период пускаш САМО ЦЕЛИ такива - от 0 до 249.
И искаш да са разпределени равномерно, за някакъв дълъг период - не 5 накуп и после 244 - нулеви.
Та ако знаеш големия период и запълването в малкия - да ги пръснеш подходящо.
/не съм нищичко чел за подобни методи - просто ми се струва приемливо/
Но пък времето е толкова голямо, че можеш всякакви сметки да правиш.
|
| Сря Юли 29, 2009 2:01 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
не се излагайте...
http://en.wikipedia.org/wiki/Bresenham's_line_algorithm
то верно, че съвременната тенденция на решаване на проблемите е силова (МИПС-ве, а не алгоритми), ама...
някак си не мога да приема да рендваш тексели, без да си наясно с пикселите
а дали ще с брезенхам или с питагоровата теорема ми се вижда еднакво отвлечено като постановка.
но ако даскала е казал брезенхам - тогава трябва да е с брезенхам (ако целта е заверка)
|
| Сря Юли 29, 2009 2:38 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 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 |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Някой май не е внимавал в часа по компютърна графика 
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Юли 29, 2009 4:08 pm |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
Определено имам проблем да декодирам заданието.  Чак след твоята подсказка почнах да виждам някакви паралели в написаното от Infinity че става въпрос за цели (полу)периоди. Но пак не мога да го разбера докрай, тъй като има и "продължителност на периодите".
Освен това, не е ли класическото регулиране по ъгъл на положителна и отрицателна полувълна най-доброто и за мрежата и за консуматора? Захранване с прескочени полупериоди ми се чини малко безумие.  Или има изследвания в тая област които изтъкват предимства??
@Infinity - ако целта (на курсовата ти работа?) е да направиш интерполатор, няма дори нужда да споменаваш за 220V/50Hz и полупериоди. Дори един прост фазов акумулатор ще ти свърши работа.
|
| Сря Юли 29, 2009 4:47 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Не съм аз - никога не съм посещавал такива часове. Формалното ми образование не включва
техниката, която правя последните 20 и кусур години  .
Което не значи, че винаги съм внимавал във всички часове, които съм имал, де.
Но май ме бива много в това да приема тая част от знанието на някого, с когото комуникирам,
която нямам - knowledge vampire и половина съм... 
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Сря Юли 29, 2009 5:42 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
За класика класика е фазовото регулиране, но zero crossing - включване на товара в момента, когато
напрежението е 0 волта - предполага цели полупериоди, триаците и тиристорите можеш само да ги
включваш през гейта, изключват, когато токът през тях стане 0 (т.е. трябва да чакаш до края на полупериода).
Предимството е, че генерират по-малки смущения - по-малък "inrush current".
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Сря Юли 29, 2009 6:35 pm |
|
 |
|
bongo_x2
Ранг: Форумен бог
Регистриран на: Вто Яну 20, 2009 11:54 pm Мнения: 11338 Местоположение: "Занзибар"
|
А бе тя задачката е ясна макар и тъпа:
За време равно на N периода на мрежата (пиксели по X) мощността трябва от степен A да стане на степен B които са цели числа напр. от 0 до 100, т.е. пикселите по Y. Тук господин Б. си казва тежката дума: през първите n1 периода мощността трябва да е p1, после за n2 периода мощността трябва да е p2 и т.н. докато се запълни времевия интервал N.
Следва да се определи за колко периода тиристорът да е отпушен и за колко запушен и те да се поразхвърлят що-годе равномерно. И тук идва голямото омазване: заради нееднаквостта на малките n не могат да се ползват готови таблици, и представете си че господин Б. е казал, че за 2-а мрежови периода мощността трябва да е 1/5 от максималната...
Това само некадърник с летен грип и след голям запой ще да го е замислил 
|
| Сря Юли 29, 2009 7:19 pm |
|
 |
|
Infinity
Ранг: Минаващ
Регистриран на: Вто Юли 14, 2009 2:00 am Мнения: 54
|
- в този случай болният мозък съм аз  .Не става въпрос за курсова задача или нещо подобно.Става въпрос за чисто практическо реализиране на управление на мощен нагревател.Идеята за това я видях от някакъв руски проект,регулатор на мощност с тиристори и Bresenham алгоритъм.Регулатора също така поддържа и зададената му мощност/напрежение върху товара/ при промяна на захранващото напрежение,чрез обратна връзка по напрежение от товара.Ако товарът се регулираше фазово нещата са много по-лесни,но тук случаят не е такъв.Най-малката единица тук е полупериода. Общо взето това са идеите: - а бе май руснак ще да е 
|
| Чет Юли 30, 2009 2:16 am |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 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 |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
даже бонго е схванал същността на проблема ... а ти не 
|
| Чет Юли 30, 2009 9:06 am |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 0 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|