Ви не увійшли.
renoshnik пише:Программная реализация усилителя класса D
и поменяйте название темы, она совершенно не соответствует вашей хотелке...
Я поменяю название но, я обратился с вопросом генерации треугольника, а д класс это очень обширно и не охватываться в этой теме целяком.
??????????????
Я вам дал ссылку на программную реализацию класса Д УНЧ, что там не так... ?
КАКАЯ ГЕНЕРАЦИЯ ???? Вы почитайте свои посты .... вот цитата - " Выводить треугольник наружу мне не нужно, он должен быть виртуальным. " яка в биса гэнэрация ? вам просто нужна формула в программе для обработки входящей синусоиды...
Программная реализация усилителя класса D
и поменяйте название темы, она совершенно не соответствует вашей хотелке...
Я поменяю название но, я обратился с вопросом генерации треугольника, а д класс это очень обширно и не охватываться в этой теме целяком.
Спасибо, попробую отпишусь!
З поста #3 я це так зрозумів:
loop {
signal1 = (signal1 + 1) % 1024; // virtual
signal2 = alalogRead(A0); // real
digitalWrite(13, signal1 > signal2 ? HIGH : LOW);
}
Программная реализация усилителя класса D
и поменяйте название темы, она совершенно не соответствует вашей хотелке...
Подав синусоиду на АЦП я хочу получить значения напряжения в течении какогото времени (насколько быстро мк сможет). Тоесть значение в переменной должно плавно увеличиваться то спадать. Разрешение будет зависеть от битности АЦП и скорости работы кода- если так можно выразиться.
https://radioskot.ru/publ/unch/usilitel_moshhnosti_klassa_d/6-1-0-1146. вот как выглядит эта схема в железе. я хочу повторить это програмнно.
Выводить треугольник наружу мне не нужно, он должен быть виртуальным. На вход аналогового пина я подаю только синусоиду, после чего сравниваю значение с ацп со значением напряжения в данный момент времени внутри кода. после чего получаю или 1 или 0 на виходе. Тем самым модулирую синусоиду шим сигналом с частотой 100кгц.
1 - Создали виртуальный сигнал треугольной формы, = это решаемо, тут понятно
2 - после этого при каждом прохождении цикла записываем значение напряжения в переменную. = выходе ардуино (ATmega328) можно получить только меандр амплитудой 5 Вольт.
Как вариант использовать WEMOS XI на LGT8F328D тут элементарно на выходе получаем треугольник но опять же максимум 5 Вольт.
3 - После того как записали значение = какое значение вы собираетесь записывать ?
4 - сравниваем его с сигналом с АЦП, допустим там синусоида на входе 50гц. если значение с АЦП = подав на вход АЦП синусоиду, что и как вы там планируете измерять ?
В железе это компаратор на один вход которого мы подаем треугольный сигнал, а на другой вход синусоиду.А я хочу попытаться сделать это программно.
[img=Создали виртуальный сигнал треугольной формы, после этого при каждом прохождении цикла записываем значение напряжения в переменную. После того как записали значение сравниваем его с сигналом с АЦП, допустим там синусоида на входе 50гц. если значение с АЦП больше то на одном из цифровых пинов появляеться 1 если меньше то 0.
Всем привет. Прошу помочь мне с написание скетча. Нужно создать виртуальный генератор треугольного сигнала с частотой допустим 100кгц. == это понятно
Значение записать в переменную, и после этого сравнить с сигналом из аналогового входа. == это совсем не понятно ...
Всем привет. Прошу помочь мне с написание скетча. Нужно создать виртуальный генератор треугольного сигнала с частотой допустим 100кгц. Значение записать в переменную, и после этого сравнить с сигналом из аналогового входа. Прошу показать мне пример скетча, сам я только начал знакомиться с програмированием. Посути мне нужно замодулировать синусоиду шимом. Буду очень благодарен за помощь! Слава Україні!