алгоритм Брезенхема

Sep 02, 2004 5 Replies

Где можно почитать несложное обьяснение алгоритма Брезенхема для управления тиристорных устройств. В Инете пока нашёл только для графики или готовые схемы без обьяснения принципа... Если можно-дайте ссылку или расскажите...



С уважением...


Пpивет, Почтаренко!

*** 02 Sep 04 11:04, Почтаренко Андрей wrote to All:

ПА> алгоритма Брезенхема для управления тиристорных устройств. ПА> В Инете пока нашёл только для графики или готовые схемы без ПА> обьяснения принципа... Если можно-дайте ссылку или расскажите...

Пропуск периодов сетевого напряжения. Без фазового управления, нагрузка включается при переходе напряжения через ноль. Для мощных устройств типа тепловых пушек, водонагревателей и т.д., с большой инерционностью. При слабой сети очень неприятный побочный эффект в виде помаргивания ламп накаливания.

с уважением Владислав

"Vladislav Baliasov" snipped-for-privacy@p51.f.n5020.z2.fidonet.org>

сообщил/сообщила в новостях следующее: news: snipped-for-privacy@p51.f.n5020.z2.ftn... ...

Это понял.А какова логика этого пропуска периодов ?Т.е. почему так а не иначе ?

С уважением...

Если сабж - это одномерный dithering, то распространены два варианта - двоичный и error diffusion.

При двоичном управлении последовательность коммутируемых периодов считается двоичным счётчиком, для каждого периода его порядковый номер инвертируется (младший значащий бит становится старшим и наоборот) и полученное число сравнивается с уставкой мощности, заданной в виде двоичного числа с фиксированной точкой (нулевая мощность - 000..., половинная - 100..., полная - 111...). По результатам сравнения (больше или меньше) соответсвующий период либо пропускается, либо используется. В 155 серии даже специальная микросхема была для аппаратной реализации двоичного алгоритма.

Error же diffusion (известный также под именами Флойда-Штейнберга) удобнее реализовывать в непрерывном домене (плавающая точка или аналоговый интегратор). Суть алгоритма состоит в интегрировании по времени (суммированию по периодам) разности между уставкой и реально подводимой к нагрузке мощностью, так что решение о коммутации следующего периода принимается на основании значения этого интеграла (больше или меньше нуля) в конце предыдущего.

Вал. Дав.

Пpивет, Почтаренко!

*** 03 Sep 04 14:10, Почтаренко Андрей wrote to Vladislav Baliasov:

ПА> Это понял.А какова логика этого пропуска периодов ?Т.е. почему так ПА> а не иначе ?

А конкретнее по логике я подробностей не знаю, не интересовался. IMHO, просто выбираешь интервал, на котором пропуском периодов определяешь скважность.

с уважением Владислав

Hi Valentin!

At пятница, 03 сент. 2004, 18:28 Valentin Davydov wrote to Почтаренко Андрей:

VD> Если сабж - это одномерный dithering, то распространены два варианта - VD> двоичный и error diffusion.

VD> При двоичном управлении последовательность коммутируемых периодов считается VD> двоичным счётчиком, для каждого периода его порядковый номер инвертируется VD> (младший значащий бит становится старшим и наоборот) и полученное число VD> сравнивается с уставкой мощности, заданной в виде двоичного числа с VD> фиксированной точкой (нулевая мощность - 000..., половинная - 100..., VD> полная - 111...). По результатам сравнения (больше или меньше) VD> соответсвующий период либо пропускается, либо используется. В 155 серии VD> даже специальная микросхема была для аппаратной реализации двоичного VD> алгоритма.

Понятно. Биты инвеpтиpуются чтобы включения-выключения "pазбpызгивались", а не шли подpяд, давая большой пеpиод колебаний.

VD> Error же diffusion (известный также под именами Флойда-Штейнберга) VD> удобнее VD> реализовывать в непрерывном домене (плавающая точка или аналоговый VD> интегратор). Суть алгоритма состоит в интегрировании по времени VD> (суммированию по периодам) разности между уставкой и реально подводимой к VD> нагрузке мощностью, так что решение о коммутации следующего периода VD> принимается на основании значения этого интеграла (больше или меньше нуля) VD> в конце предыдущего.

Угу. Обычный дельта-сигма модулятоp. Как в соотв. АЦП. Пpавда, зачем плавающая точка - не понимаю. Пpосто вычитать из суммы каждый pаз уставку, а если было включение - пpибавлять фиксиpованное значение. Если знак суммы отpицательный - включать, иначе пpопускать пеpиод. Диапазон чисел огpаничен, спокойно делается на фикс.точке. Пpосто не вижу, что тут дает плавающая точка.

В наше вpемя самое pазумное pеализовать модклятоp на микpоконтpоллеpе, котоpый еще и напpяжение сети меpяет, и в соответствии с pезультатом замеpов коppектиpует уставку. Тем самым мощность не только pегулиpуется, но и стабилизиpуется относительно колебаний сети.

Cheers, Aleksei [mailto: snipped-for-privacy@nm.ru]

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required