ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
9 мая
84890 Топик полностью
Леонид Иванович (29.03.2007 22:23, просмотров: 1) ответил LordN на там нет описания работы самого брезенхемовского модулятора, т.е. нет алгоритма, которым получают равномерно распределенную последовательность нулей и единиц
Ну я пользовался при написании программы только http://upload.caxapa.ru/Brazenhame.zip
тем, что находится по ссылке. На Цэ это будет примерно так: <c> u8 Power; //требуемое значение мощности u8 Phase; s8 Delta; Phase = MAXPOW; //инициализация, делать 1 раз Power = MyPower; //задаем требуемое значение мощности //делать по вылавливанию перехода через 0: Delta = Power + Delta; if (Delta < 0) { TriacOff(); } else { TriacOn(); Delta = Delta - MAXPOW; } Phase = Phase - 1; if (Phase == 0) { Phase = MAXPOW; Delta = - (Phase / 2); } </c> Хотя я не понимаю, каким боком алгоритм Брезенхема применим к управлению асинхронными движками. Им ведь надо чатоту и напряжение питания менять. Сейчас это реализуется очень просто: генератор трехфазной последовательности (лучше ШИМ-овый синус, но на крайняк пойдут и прямоугольники), затем IR2130, затем трехфазный мост на MOSFET или IGBT по вкусу. See appnotes 494, 495 from Atmel.