|
|
  |
Из ШИМ в постоянное напряжение, с возможностью регулировки |
|
|
|
Aug 1 2014, 11:28
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-12-08
Из: Воронеж
Пользователь №: 42 504

|
Цитата А чем это проблематичен RC фильтр при коэффициенте заполнения меньше 50%? Где в принцип его работы входят проценты? проблема в постоянной времени. в идеале постоянная времени RC цепи должна быть равна периоду. Если длительность импульса меньше чем половина периода, то конденсатор разрядится до нуля ДО прихода следующего импульса. Если увеличить постоянную времени, то начинается проблема с переходом когда рядом расположены импульсы с коэффициентом заполнения больше 50 %. Пример: пришёл импульс с длительностью 50% от преиода и амплитудой ШИМ 5В. Конденсатор зарядился от нуля до напряжения 2В. За паузу длительностью 50% от периода он не успеет разрядиться до нуля и на нём останется напряжение Uост > 0 (постоянная времени RC больше периода!!!). Следующий такой же импульс заряжает конденсатор до напряжения 2В + Uост (началась накапливаться ошибка.). Следующий такой импульс зарядит конденсатор до ещё большего значения (примерно 2В + 2Uост) и т.д. Если длительность импульсов не измениться, то через некоторое количество импульсов конденсатор зарядится до 5В. Поскольку частота низкая, можно ШИМом управлять источником тока который будет заряжать конденсатор (этим мы обеспечим линейность преобразования ШИМ-напряжение), с конденсатора по заднему фронту импульса снять пиковым детектором напряжение пропорциональное длительность импульса ШИМ после чего сбросить напряжение на конденсаторе в ноль тем самым подготовив его к приходу следующего импульса. Ток заряда конденсатора выбирается так, чтобы время заряда конденсатора было равно периоду ШИМ.
Сообщение отредактировал Nightmare76 - Aug 1 2014, 11:31
|
|
|
|
|
Aug 1 2014, 11:54
|
Частый гость
 
Группа: Участник
Сообщений: 110
Регистрация: 23-06-14
Пользователь №: 82 030

|
Цитата(Nightmare76 @ Aug 1 2014, 15:28)  Поскольку частота низкая, можно ШИМом управлять источником тока который будет заряжать конденсатор (этим мы обеспечим линейность преобразования ШИМ-напряжение), с конденсатора по заднему фронту импульса снять пиковым детектором напряжение пропорциональное длительность импульса ШИМ после чего сбросить напряжение на конденсаторе в ноль тем самым подготовив его к приходу следующего импульса. Ток заряда конденсатора выбирается так, чтобы время заряда конденсатора было равно периоду ШИМ. Исчерпывающий ответ) Спасибо
|
|
|
|
|
Aug 1 2014, 12:11
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Это дурдом имхо такое городить. Цитата(Nightmare76 @ Aug 1 2014, 15:28)  проблема в постоянной времени. в идеале постоянная времени RC цепи должна быть равна периоду. Если длительность импульса меньше чем половина периода, то конденсатор разрядится до нуля ДО прихода следующего импульса. Если увеличить постоянную времени, то начинается проблема с переходом когда рядом расположены импульсы с коэффициентом заполнения больше 50 %. Пример: пришёл импульс с длительностью 50% от преиода и амплитудой ШИМ 5В. Конденсатор зарядился от нуля до напряжения 2В. За паузу длительностью 50% от периода он не успеет разрядиться до нуля и на нём останется напряжение Uост > 0 (постоянная времени RC больше периода!!!). Следующий такой же импульс заряжает конденсатор до напряжения 2В + Uост (началась накапливаться ошибка.). Следующий такой импульс зарядит конденсатор до ещё большего значения (примерно 2В + 2Uост) и т.д. Если длительность импульсов не измениться, то через некоторое количество импульсов конденсатор зарядится до 5В. Поскольку частота низкая, можно ШИМом управлять источником тока который будет заряжать конденсатор (этим мы обеспечим линейность преобразования ШИМ-напряжение), с конденсатора по заднему фронту импульса снять пиковым детектором напряжение пропорциональное длительность импульса ШИМ после чего сбросить напряжение на конденсаторе в ноль тем самым подготовив его к приходу следующего импульса. Ток заряда конденсатора выбирается так, чтобы время заряда конденсатора было равно периоду ШИМ. Вы, как мне кажется, совершенно не представляете себе работу RC цепочки, да и понятие "постоянная времени" сильно отличается от классического
|
|
|
|
|
Aug 1 2014, 12:20
|
Профессионал
    
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528

|
Цитата(Nightmare76 @ Aug 1 2014, 18:28)  ... "Наша наука простая: но Псалтирю да по Полусоннику, а арифметики мы нимало не знаем." А просто написать и решить дифуравнение не проще ли?
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
|
Aug 1 2014, 13:14
|
Частый гость
 
Группа: Участник
Сообщений: 110
Регистрация: 23-06-14
Пользователь №: 82 030

|
Цитата(SSerge @ Aug 1 2014, 16:20)  А просто написать и решить дифуравнение не проще ли? Кажется, что это сарказм  Цитата(kovigor @ Aug 1 2014, 16:59)  Я не случайно в самом начале ссылку на Трамперта дал. Там теория расписана. И практика - тоже. Да только не слушают меня  Скачал, посмотрел, хотел побыстрее и не стал читать  А похоже, что придётся
|
|
|
|
|
Aug 1 2014, 13:30
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-12-08
Из: Воронеж
Пользователь №: 42 504

|
А если это скорость не известна? Или близка к частоте ШИМ?
|
|
|
|
|
Aug 1 2014, 13:44
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(thamjell @ Aug 1 2014, 15:16)  Есть некий прибор, построенный на одном весьма обеднённом функциональностью микроконтроллере (имеется в виду Arduino). Появилась идея немного усовершенствовать этот прибор, но для этого надо бы получить регулируемое постоянное напряжение с аналогового выхода микроконтроллера. Поскольку таковых выходов у него нету, но есть цифровые и ШИМ-выводы, то появилась мысль получить требуемое напряжение при помощи широтно-импульсной модуляции. Ширина импульсов в таком случае будет регулироваться через приложение на компьютере. Вот и вся проблема. Конечно, лучше использовать более продвинутые микроконтроллеры, вроде STM32, однако на переход к ним потребуется гораздо больше времени, чем на получение аналогового напряжения с ШИМ. Если бы было достаточно времени я бы этим занялся, но времени не так уж и много, поэтому хочу сделать всё на ШИМ ну наконец-то... Обычно я всегда задаю вопрос: "а что на самом деле нужно?"... И вот наконец-то выясняется, что вся головоломка яйца выйденного не стоит... 1. Делать ШИМ и его потом обрабатывать - это идиотизм. Проще купить копеечный ЦАП с последовательным интерфейсом... 2. А если будут крики о том, что не хватает выводов, то и это не проблема. Или взять сдвиговый регистр и через него управлять периферией. Или на SPI перевесить периферию, что то-же самое. Или на I2C... А выкрутасы с ШИМ - это бред... И заявления о 0 и 100% - тоже бред... Если все делается в микроконтроллере и код доступен... В очередной раз подтверждается - НЕПРАВИЛЬНОЕ СУЖДЕНИЕ приводит к НЕПРАВИЛЬНОЙ ЗАДАЧЕ. И порождает бессмысленные дискуссии... А вот это: "постоянная времени RC цепи должна быть равна периоду" - бред не только редкостный, но еще и дикий, т.к. написал это человек, абсолютно не понимающий ничего в автоматическом регулировании!
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Aug 1 2014, 13:56
|
Гуру
     
Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048

|
Прям какой-то конкурс наипростейших решений. От простейшего ЦАП до наипростейшей сервомашинки. Лучшее решение тут простой RC-фильтр. Постоянная времени его - как масло к каше - чем больше, тем меньше погрешность преобразования. Но это при условии, что частота ШИМ на 1-2 порядка выше частоты изменения сигнала. И еще, на выходе фильтра должен быть повторитель напряжения, достаточно высокоомный по входу. Если же частота ШИМ сравнима со скоростью изменения параметра дело обстоит сложнее. Теоретически информация сохраняется, если частота ШИМ хотя бы вдвое выше частоты изменения сигнала, но фильтрация уже требует достаточно тщательных расчетов. В этом случае поможет не АЦП или ЦАП (они тут вообще ни при чем), а прямое измерение параметров ШИМ ( соотношение длительностей сигнала и паузы) и вычисления, если МК позволит по скорости. Последнее уже за исходными рамками задачи, поскольку требуется преобразование ШИМ - напряжение, а не ШИМ-код. З.Ы. А в общем-то, выше iosifk заметил верно - неправильная постановка задачи приводит к заведомо неудачным решениям.
|
|
|
|
|
Aug 1 2014, 14:03
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-12-08
Из: Воронеж
Пользователь №: 42 504

|
Цитата А вот это: "постоянная времени RC цепи должна быть равна периоду" - бред не только редкостный, но еще и дикий, т.к. написал это человек, абсолютно не понимающий ничего в автоматическом регулировании! у как у Вас тут плохо всё..... Вы ещё обратную связь найдите здесь. Я решил задачу для преобразования ШИМ напряжение в пределах ОДНОГО периода. Поэтому время заряда конденсатора должно быть равно периоду. Если частота моделируемого сигнала много больше частоты ШИМ то достаточно просто RC цепи с постоянной времени равной моделируемому сигналу. Читайте внимательно что я написал.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|