Алгоритм Брезенхема - вопрос по практической реализации.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

Каким образом реализуеться алгоритм Брезенхема в микроконтроллерных регуляторах мощности (практически)? Это что, какая то формула ? В инете практически вся теория по этому вопросу сводиться к построению отрезков и окружностей, либо это уже готовые решения без всяких подробностей.
Реклама
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

Реклама
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

"" http://hardsign.hardsign.com/prog/6 ""

информация опять же сводиться к рисованию отрезка и окружности, каким образом это может быть связано с равномерным распределением импульсов внутри определённого временного интервала ?
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Вт авг 25, 2009 22:24:39
Откуда: Черкассы

Сообщение Twilo »

а какое отношение рисование отрезков имеет к регулировке мощности? я не знаю.
нужно определять момент перехода синусоиды через "ноль" и в этот (почти в этот, т.к. симистор/тиристор при "нуле" не включится) момент включать симистор, отключится он сам при переходе через "ноль". Пропускаем определенное число периодов, например 4, остальные например 6 симистор открываем, тогда у нас будет 60% мощности, но не для каждой нагрузки подходит такой алгоритм
http://radiokot.ru/konkurs/44/ тут все подробно описано
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 316
Зарегистрирован: Пт апр 17, 2009 22:45:42
Откуда: Minsk

Сообщение maglev »

Отношение есть. Рисование отрезков на растровом устройстве - попытка максимально точно определить, зажигать или нет точки, чтобы получить ровную линию, используя целочисленную арифметику, без деления и умножения. Регулирование мощности таким методом, по аналогии, пропускать или нет данный период сетевого тока в нагрузку.

Практически так:

* есть две глобальные переменные:
regValue - то, что хотим получить, пусть будет в интервале [0..99];
regError - накопление ошибки, это придумал Брезенхем.

* когда выяснилось, какую мощность хотим передать в нагрузку (пусть будет 20 из интервала [0..99]):
regValue = 20;
regError = 50;
Устанавливаем regError = 99/2, середина интервала. Это нужно делать каждый раз при изменении regValue;

* в начале каждого полного периода сетевого напряжения делаем:

regError = regError - regValue;
if (regError < 0) {
regError = regError + 99; // максимальное значение
_симистор_открыть_; // на весь период
} else
_симистор_не_открывать_; // весь период

Всё, собственно.
Последний раз редактировалось maglev Чт фев 09, 2012 21:28:26, всего редактировалось 1 раз.
Контактная информация:
Реклама
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

То что надо, Maglev . Это именно то что я искал. Спасибо.


Всё, тему можно закрывать
Реклама
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

собрал регулятор..... проблема . 66 и 88 процентов мощности пропускают 100% мощности. Где то в этом алгорите есть зяба . ???? Подскажите???
Вложения
Q.c
(4.21 КБ) 1238 скачиваний
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»