Перейти к содержанию
    

Из ШИМ в постоянное напряжение

поставьте лучше ЦАП 8 ногий, у Филипса были такие 8-ногие в ДИП корпусе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чем это проблематичен RC фильтр при коэффициенте заполнения меньше 50%? Где в принцип его работы входят проценты?

 

проблема в постоянной времени. в идеале постоянная времени RC цепи должна быть равна периоду. Если длительность импульса меньше чем половина периода, то конденсатор разрядится до нуля ДО прихода следующего импульса. Если увеличить постоянную времени, то начинается проблема с переходом когда рядом расположены импульсы с коэффициентом заполнения больше 50 %. Пример: пришёл импульс с длительностью 50% от преиода и амплитудой ШИМ 5В. Конденсатор зарядился от нуля до напряжения 2В. За паузу длительностью 50% от периода он не успеет разрядиться до нуля и на нём останется напряжение Uост > 0 (постоянная времени RC больше периода!!!). Следующий такой же импульс заряжает конденсатор до напряжения 2В + Uост (началась накапливаться ошибка.). Следующий такой импульс зарядит конденсатор до ещё большего значения (примерно 2В + 2Uост) и т.д. Если длительность импульсов не измениться, то через некоторое количество импульсов конденсатор зарядится до 5В.

Поскольку частота низкая, можно ШИМом управлять источником тока который будет заряжать конденсатор (этим мы обеспечим линейность преобразования ШИМ-напряжение), с конденсатора по заднему фронту импульса снять пиковым детектором напряжение пропорциональное длительность импульса ШИМ после чего сбросить напряжение на конденсаторе в ноль тем самым подготовив его к приходу следующего импульса. Ток заряда конденсатора выбирается так, чтобы время заряда конденсатора было равно периоду ШИМ.

Изменено пользователем Nightmare76

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поскольку частота низкая, можно ШИМом управлять источником тока который будет заряжать конденсатор (этим мы обеспечим линейность преобразования ШИМ-напряжение), с конденсатора по заднему фронту импульса снять пиковым детектором напряжение пропорциональное длительность импульса ШИМ после чего сбросить напряжение на конденсаторе в ноль тем самым подготовив его к приходу следующего импульса. Ток заряда конденсатора выбирается так, чтобы время заряда конденсатора было равно периоду ШИМ.

Исчерпывающий ответ) Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это дурдом имхо такое городить.

 

проблема в постоянной времени. в идеале постоянная времени RC цепи должна быть равна периоду. Если длительность импульса меньше чем половина периода, то конденсатор разрядится до нуля ДО прихода следующего импульса. Если увеличить постоянную времени, то начинается проблема с переходом когда рядом расположены импульсы с коэффициентом заполнения больше 50 %. Пример: пришёл импульс с длительностью 50% от преиода и амплитудой ШИМ 5В. Конденсатор зарядился от нуля до напряжения 2В. За паузу длительностью 50% от периода он не успеет разрядиться до нуля и на нём останется напряжение Uост > 0 (постоянная времени RC больше периода!!!). Следующий такой же импульс заряжает конденсатор до напряжения 2В + Uост (началась накапливаться ошибка.). Следующий такой импульс зарядит конденсатор до ещё большего значения (примерно 2В + 2Uост) и т.д. Если длительность импульсов не измениться, то через некоторое количество импульсов конденсатор зарядится до 5В.

Поскольку частота низкая, можно ШИМом управлять источником тока который будет заряжать конденсатор (этим мы обеспечим линейность преобразования ШИМ-напряжение), с конденсатора по заднему фронту импульса снять пиковым детектором напряжение пропорциональное длительность импульса ШИМ после чего сбросить напряжение на конденсаторе в ноль тем самым подготовив его к приходу следующего импульса. Ток заряда конденсатора выбирается так, чтобы время заряда конденсатора было равно периоду ШИМ.

Вы, как мне кажется, совершенно не представляете себе работу RC цепочки, да и понятие "постоянная времени" сильно отличается от классического :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

"Наша наука простая: но Псалтирю да по Полусоннику, а арифметики мы нимало не знаем."

А просто написать и решить дифуравнение не проще ли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А просто написать и решить дифуравнение не проще ли?

Я не случайно в самом начале ссылку на Трамперта дал. Там теория расписана. И практика - тоже. Да только не слушают меня :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А просто написать и решить дифуравнение не проще ли?

Кажется, что это сарказм :biggrin:

 

Я не случайно в самом начале ссылку на Трамперта дал. Там теория расписана. И практика - тоже. Да только не слушают меня :)

Скачал, посмотрел, хотел побыстрее и не стал читать :) А похоже, что придётся :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проблема в постоянной времени. в идеале постоянная времени RC цепи должна быть равна периоду.

Нет, не должна, и поэтому остальное все неверно.

Постоянная времени должна определяться скоростью изменения НЧ сигнала, модулирующего ШИМ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самое лучшее ЦАП, тем более на 8 бит. С помощью ШИМ качественного сигнала не получите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно проще. К выходу ШИМ подключаем сервомашику, они как раз управляются ШИМ-ом. На вал сервомашинки крепим потенциометр. Соответсвенно ШИМ будет определять угол, на который сервомашинка повернет вал потенциометра. Ну а снять с потенциометра напряжение, пропорциональное углу поворота вала вроде более простая задача... Вот такая пойдет вполне.

post-5493-1406899991_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть некий прибор, построенный на одном весьма обеднённом функциональностью микроконтроллере (имеется в виду Arduino). Появилась идея немного усовершенствовать этот прибор, но для этого надо бы получить регулируемое постоянное напряжение с аналогового выхода микроконтроллера. Поскольку таковых выходов у него нету, но есть цифровые и ШИМ-выводы, то появилась мысль получить требуемое напряжение при помощи широтно-импульсной модуляции. Ширина импульсов в таком случае будет регулироваться через приложение на компьютере. Вот и вся проблема. Конечно, лучше использовать более продвинутые микроконтроллеры, вроде STM32, однако на переход к ним потребуется гораздо больше времени, чем на получение аналогового напряжения с ШИМ. Если бы было достаточно времени я бы этим занялся, но времени не так уж и много, поэтому хочу сделать всё на ШИМ

ну наконец-то...

Обычно я всегда задаю вопрос: "а что на самом деле нужно?"...

И вот наконец-то выясняется, что вся головоломка яйца выйденного не стоит...

1. Делать ШИМ и его потом обрабатывать - это идиотизм. Проще купить копеечный ЦАП с последовательным интерфейсом...

2. А если будут крики о том, что не хватает выводов, то и это не проблема. Или взять сдвиговый регистр и через него управлять периферией. Или на SPI перевесить периферию, что то-же самое. Или на I2C...

 

А выкрутасы с ШИМ - это бред... И заявления о 0 и 100% - тоже бред... Если все делается в микроконтроллере и код доступен...

В очередной раз подтверждается - НЕПРАВИЛЬНОЕ СУЖДЕНИЕ приводит к НЕПРАВИЛЬНОЙ ЗАДАЧЕ. И порождает бессмысленные дискуссии...

 

А вот это: "постоянная времени RC цепи должна быть равна периоду" - бред не только редкостный, но еще и дикий, т.к. написал это человек, абсолютно не понимающий ничего в автоматическом регулировании!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прям какой-то конкурс наипростейших решений. От простейшего ЦАП до наипростейшей сервомашинки.

Лучшее решение тут простой RC-фильтр. Постоянная времени его - как масло к каше - чем больше, тем меньше погрешность преобразования.

Но это при условии, что частота ШИМ на 1-2 порядка выше частоты изменения сигнала. И еще, на выходе фильтра должен быть повторитель напряжения, достаточно высокоомный по входу.

Если же частота ШИМ сравнима со скоростью изменения параметра дело обстоит сложнее. Теоретически информация сохраняется, если частота ШИМ хотя бы вдвое выше частоты изменения сигнала, но фильтрация уже требует достаточно тщательных расчетов.

В этом случае поможет не АЦП или ЦАП (они тут вообще ни при чем), а прямое измерение параметров ШИМ ( соотношение длительностей сигнала и паузы) и вычисления, если МК позволит по скорости. Последнее уже за исходными рамками задачи, поскольку требуется преобразование ШИМ - напряжение, а не ШИМ-код.

З.Ы. А в общем-то, выше iosifk заметил верно - неправильная постановка задачи приводит к заведомо неудачным решениям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот это: "постоянная времени RC цепи должна быть равна периоду" - бред не только редкостный, но еще и дикий, т.к. написал это человек, абсолютно не понимающий ничего в автоматическом регулировании!

 

у как у Вас тут плохо всё..... Вы ещё обратную связь найдите здесь. Я решил задачу для преобразования ШИМ напряжение в пределах ОДНОГО периода. Поэтому время заряда конденсатора должно быть равно периоду. Если частота моделируемого сигнала много больше частоты ШИМ то достаточно просто RC цепи с постоянной времени равной моделируемому сигналу. Читайте внимательно что я написал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

при ненулевом сопротивлении источника и ненулевой емкости время его полного заряда, собственно говоря - бесконечно. Что дальше ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...