17:33


Вас приветствует сайт Elektron
Каталог статей
меню

Профиль
Гость


Группа:
Гость
Время:17:33

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!


Категории раздела
Измерения [11]
Звук [10]
Автоматика [10]
Интерфейсы [11]
Видео [1]
Программы [25]
Разное [15]
Для дома [8]
Источники питания [3]
Программирование [19]
STM32 [2]
ESP [0]
Как подключить? [8]

Облако тегов

Статистика





Мы вконтакте

Приветствую Вас, Гость · RSS 29.03.2024, 17:33

Главная » Файлы » Автоматика

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

   Алгоритм Брезенхема  - это алгоритм применяющийся в графике, для определения точек сближения между двумя заданными опорными точками максимально коротким путем. Разработан был в компании IBM Джеком Элтоном Брезенхемом в 1962 году. 
   Спросите, как может он найти применение в электронике? Может. Один из примеров это регулирование мощности. В настоящее время базовые и распространенные регуляторы построены по принципу ШИМ. Сигнал управления подается в определенное время определенной длинны, будь то фазовое управление или классический ШИМ. Все эти методы просты в реализации но у них есть и один большой минус, они сильно "шумят" в сеть. Иногда от этих помех зависают и сбоят устройства, что не есть хорошо. Как альтернатива таким регуляторам, регулятор с применением алгоритма Брезенхема. Он также хорошо регулирует но не создает помех в сеть , так как все переключения происходят в момент перехода фазы через нуль. Но и у него есть свои, если так можно сказать минусы. Его невозможно применить в устройствах где необходима большая скорость регулировки.  
      
   Если применять к бытовой сети то точность и дискретизация будет зависит от периода, если к примеру взять период 1 секунду, то будем иметь точность в 1% так  как у нас 100 полупериодов сети и соответственно шагов регулирования. Если нам нужно регулировать что-то быстрее, скажем каждые 200 мс то и дискретность получаем в 20 шагов равную 5%  мощности на шаг. Если берем больше период то и разрешение становится больше. Алгоритм хорошо применять в  устройствах с большой инерцией переходного процесса. Он также распределяет нагрузку на оба периода сети стараясь нагрузить равномерно.
   Ниже приведен пример реализации этого метода в Bascom AVR. При симуляции в порт терминала выводятся управляющие сигналы на заданный период.


Dim size as byte
Dim value as byte
Dim error as integer
Dim stepNumber as byte
Dim result as byte
Declare sub bresenham_setValue(byval v as byte)
Declare sub bresenham_getNext()


Size = 100                                                                            ' размер периода
call bresenham_setValue(2)                                                 ' задаем значение исходя из длинны периода
 
Do

    call bresenham_getNext()
    print result;

 Loop until stepNumber = 0
 End


Sub bresenham_setValue(v as byte)                                     ' устанавливаем новое значение  
      stepNumber = 0
      value = v
      error = size / 2
End sub


 Sub bresenham_getNext()                                                    ' расчет очередного шага    
      error = error - value
      If error < 0 then
         error = error + size
         result = 1
      else
         result = 0
      End if
      incr stepNumber
      If stepNumber >= size then
         stepNumber = 0
         error = size / 2
      End if
 End sub
Для скачивания файлов:
Войдите или Зарегистрируйтесь


[ Сообщить о нерабочей ссылке ]
Категория: Автоматика | Добавил: Yuriy | Теги: line algorithm, регулятор, Bresenham's, Алгоритм Брезенхема
Просмотров: 1331 | | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Поиск Datasheet


Топ пользователей
Yuriy
Добавил статей: 72
Количество постов: 54

Sanyok
Добавил статей: 5
Количество постов: 0

snyfer
Добавил статей: 4
Количество постов: 2

4RESTER
Добавил статей: 1
Количество постов: 0

Аватар не выбран Arses
Добавил статей: 1
Количество постов: 0


Новое на сайте

 Bootloader


 LG FLATRON E2350V-PN


 Аудио Модуль USB TF Рад...


 Битовые операции И, ИЛИ...


 Учебник DipTrace для на...


 Samsung LE32R81B


 Коды ошибок


 Заправка и сброс картри...


 Сервисное меню телевизо...


 Изучаем Arduino - инст...


 Микросхемы EEPROM


 500 схем для радиолюбит...


 302 новые профессиональ...


 Сварочный инвертор. Тео...


 В копилку радиолюбителя


 В копилку радиолюбителя...


 Видеокарта GeForce 210


 Видеокарта Nvidia Gefor...


 Пульт для Сhallenger ch...


 Ноутбук Acer MS2277


 Осциллограф С1-65а



На форуме

БП ATOM IPS


Манчестер кодирование


Меню BAS


Контроллер теплых полов


Програмный Uart для BOO...


Простое шифрование данн...


433Mhz TX & RX



Опрос
Какой раздел для Вас наиболее интересен?

Всего ответов: 29

Галерея

Copyright Elektron © 2024

Яндекс цитирования Проверка PR и ТИЦ