Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как грамотно сделать регулятор напряжения с помощью шим М88
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Electronic)
Здравствуйте форумчани. Поднял такую тему как регулятор с помощью ШИМ моодуляции. Собствено у меня 1 шим с частотой импульсов 100Гц (эта частота используется для генерации опорных импульсов для устройства, изменять не могу) изменяя регистр OCR1А могу генерировать шим модуляцию которую использую для регулятора напряжения. как видно на схеме поставил диод резистор и кондёр. так как нагрузкой служит диод который работает с частотой 38кГц всего 1мс, фильтр шим спокойно способен отдать кратковременый ток в диод 200ма.
Возникли такие вопросы...
Первое- регулятор не совсем линейный... и хотя шаг регулировки у меня 0-48. у меня получается что напряжение изменятся от 1,5 до 3.8 В тоесть не совсем линейно... если увеличиваю резитор то уменьшается верхняя граница если уменьшаю то нижняя. самое не приятное что нет плавности регулировки на низких значениях регулировки. сразу прыгает до 1.5 вольт а потом уже всё намного линейнее проиходит.

Второе - хотел избавится от диода (от падения напряжения особено) тем что делал ножку мк не выходом а входом. эфективность измерял отношением поребляемого тока к напряжению на сглаживающем конденсаторе С1. получилось что если ставить ножку входом и убирать диод КПД резко падает... так например схема с диодом - Iп=1,15мА , Uс=1.57В. схема без диода - Iп=2,16мА Uс=1.57В это с подтягивающим резистором и Iп=1,9мА Uс=1.53В без него.
Вобще я этого падения КПД не понял... так как если PORT = 0 и DDR=0 то это условно считается Hi-Z состоянием... и этот способ должен быть самым эфективным. частота не большая...( вход точно становится выходом видно по осцилографу и приемлимому току потребления). ток потребляемый самим мк 0,65мА (1Мгц 5В + Idle. P.S. 0,45мА только Idle) и стабильный при всех режимах работы.

Третье - нужен совет по выбору транзистора для комутации LED1 так как ножка мк больше 70мА не потянет а нужен ток 200мА это должен быть смд кмоп транзистор с самым не большим падением напряжения. и буду благодарен если предложите мне свои варианты решения проблемы, главные требования простота поворения, не зависимость от точности эелементов, и без начальной настройки.

Замечу что впринципе это всё работает. регулировка приемлимая при увеличении сопротивления резистора 1,4 - 3.6 В и ток в диод по расчётам 190ма всё таки даёт. И замечу что пульсаций на С1 нет абсолютно.
Dopler
70 ма нога контроллера не отдаст, см документацию:
DC Current per I/O Pin ............................................... 40.0 mA


можно применить маленький n-канальный транзистор 2N7002
VDG
влепили диод и удивляетесь откуда нелинейность взялась
Огурцов
Цитата(Dopler @ Oct 25 2008, 20:23) *
можно применить маленький n-канальный транзистор 2N7002

Можно несколько выходов запараллелить
Dopler
Цитата(Огурцов @ Oct 26 2008, 03:26) *
Можно несколько выходов запараллелить

1. Нельзя, ибо радиолюбительство.
2. Нельзя, ибо глядя в тот же даташит видим, что максимальный ток через выводы VCC-GND (т.е. через кристал) 200мА

а вообще на мой взгляд схема автора с конденсатором и диодом не работоспособна. Если бы у автора был бы иделальный конденсатор, то напряжение на нем было бы всегда равно VCC-Vd (прямое напряжение диода), т.е. регулировка здесь получается только за счет токов утечки конденсатора. Судя по всему он у автора совсем паршивый. Т.е. если взять конденсатор большего размера (даже тойже емкости), вся регулировка сместится к VCC.

P.S. Автор не указал, как часто идут импульсы через светодиот, сказал только об их длительности.
delamoure
Это все делается для изменения яркости свечения светодиода?
ukpyr
эхх, бедный микроконтроллер...
не совсем понятно что нужно аффтару, но имхо регулировку можно сделать и одним выходом высокочастотного ШИМа, разрешая/запрещая генерацию с частотой 100 Гц.
Dopler
А делать надо так:
Нажмите для просмотра прикрепленного файла


При необходимости резисторы R7, R8 пропорционально уменьшить, конденсатор С8 соответственно пропорционально увеличить. Будет регулировка линейная от 0 до 5В-0.6В(падение на базе транзистора)
Electronic)
Спасибо всем за советы! Немного прокоментирую:

Dopler - более чем благодарен за схему уже воплощаю!
" DC Current per I/O Pin ............................................... 40.0 mA"
это понятно! я про реальность, всё таки ток ножка отдаёт в импульсе нормальный. я приборами засёк 180-190ма!

"P.S. Автор не указал, как часто идут импульсы через светодиот, сказал только об их длительности"-
всё сказал автор!) даже 2 раз на схеме и в описание и ещё раз повторяется - 38кГц, длина 1мс, часта пачек 100Гц

"VCC-GND (т.е. через кристал) 200мА" - ну я думаю что возможно вопервых 200ма это максимум и никто не говорит что мне 190 не хватит например. и надо учитывать что это они про постояный ток пишут а у меня импульсики очень короткие и редкие. общие потребление схемы например становилось вчего 9ма при импульсном токе в диод 180-190ма. P.S. обычное рабочее напряжение будет 3В а при этой напруге диод и 130ма еле забирает, основным рабочим режимом будет ток 20- 80ма.

Огурцов- спасибо большое!
"Можно несколько выходов запараллелить" - вобще как была бы красота если бы шим не нагружал контролер (выход OCR1А функционирует без участия CPU а управляется таймером даже в режиме Idle)
но! не принципиально вобще то! делал прерыванием и потребелние не увеличилось. очень уж быстро оно обрабатывается и мк уходит в Idle.
так что идея шорошая я её и сам держу в голове но есть одно но, при использовании прерывания и обработки его, часта импульсов 38кГц при 1Мгц cpu не получается (~ только 20кГц)! (а при 2 Мгц получается))_) потому надо использовать имено апаратные свойства таймера т.е. выход OCR1A (при этом способе нагрузки на мк нет и ошибка частоты 1.2% )

delamoure- ну конечно! регулировка силы импульсов ИК диода.


Кстати насчёт второго вопроса у кого то соображения есть?
delamoure
Ну блин, поставьте полевик (например IRLML2502), управляющий этим злосчастным светодиодом. Никакой фильтр вам и в помине не нужен. Не будет видно мерцаний на высокой частоте.
Electronic)
Dopler собрал схему. работает. есть небольшие вопросы... помоему немного упал кпд например "схема с диодом - Iп=1,15мА , Uс=1.57В." теперь Iп=1,18мА. и напряжение не поднялось больше 3,95В. транзистор 3102Е (резистор 510кОм убирал). (если что есть ещё мосфет полевые, просто далеко живу что бы что то купить быстро подходящее). почему так много на транзиторе упало .. хм.

нашол шотки с ним получилась регулировка до 4В с резистором R1 160ом, и до 4,38 с резитором 47 Ом.
вобще максимальное напряжение можно сделать тупым поднянием напряжением на другой ножке, держа её в режиме PORT=0 DDR=0 когда не нужет максимум.

вот вобще было бы идеально если бы работал програмный диод как описано в моём вопросе номер 2. непонимаю в чём там проблема.

Я ЗАГНАЛ насчёт тока ножки 190 ма в пике!... он составляет 90ма!

delamoure - ну вобще по частоте 38кГ понятно что это ИК диод. а потому пульсации нужно что были видно)))) за транзистор спасибо, посмотрю даташит к нему.

замечу питание батарея/акумулятор экономичность очень важна. и в перспективе питание 3В а там потеря напряжения в пол вольт смертельна, так как иногда нужны максимальные токи (~ 130ма от 3В забрает ИК диод SFH484-2).
SFH 484-2 угол излучения ± 8Grad возожно кто то знает диоды с меньшим углом вплоть до +-1град. это ведь собвствено сам главный путь к экономичности.
Dopler
Цитата(Electronic) @ Oct 26 2008, 14:39) *
Dopler собрал схему. работает. есть небольшие вопросы... помоему немного упал кпд например "схема с диодом - Iп=1,15мА , Uс=1.57В." теперь Iп=1,18мА. и напряжение не поднялось больше 3,95В. транзистор 3102Е. (если что есть ещё мосфет полевые, просто далеко живу что бы что то купить быстро подходящее). почему так много на транзиторе упало .. хм.


Советские транзисторы не знаю, должно быть до 4.3В. Номиналы резисторов можно еще увеличить, потребление будет меньше. Ваша схема с диодом не работоспособна. Почему - я писал выше. Повторю, возьмете другой конденсатор, и вся ваша регулировка уплывет (или мощность потребления возрастет/уменьшится). В моей же схеме напряжение не зависит от нагрузки. Вы бы подумали бы как работает приведенная мною схема, там не так много элементов. А называется она эмитерный повторитель.

Цитата
вот вобще было бы идеально если бы работал програмный диод как описано в моём вопросе номер 2. непонимаю в чём там проблема.

Это не будет работать вообще, так как насколько я понимаю, токи утечки в Z состоянии не нормируются, т.е. у вас заряд из конденсатора просто утекает в МК.

А транзистор, который есть смысл применять, я написал выше.
Electronic)
"Это не будет работать вообще, так как насколько я понимаю, токи утечки в Z состоянии не нормируются, т.е. у вас заряд из конденсатора просто утекает в МК." -

- не нормируется но и никто не оворил что он большой. я сделал одну ножку входом и подключал её в ножке OCR1A. потребление не увеличилось не на милиапер!
Особено замечу что когда ножку настроеную как вход никуда не подсоединять то потребелние резко увеличивается ! у меня до милиампера больше потребление становится как только её кудато сажу а минус или на плюс снова прежнее потребление.
ищу причину почиму так увеличивается потребление когда програмно миняю вход на выход, ведь даже если подключаю просто вход (В5) к выходу OCR1A потребеление не меняется. а когда ту же ножку (В5) начинаю делать то входом то выходом все меняется... разбираюсь сейчас с этим...
Electronic)
ещё замечу что максимум напряжения 4.3 не устраивает... ну хотя бы 4,8. такое падение критично будет при питании 3В.
Dopler
Цитата(Electronic) @ Oct 26 2008, 22:37) *
ещё замечу что максимум напряжения 4.3 не устраивает... ну хотя бы 4,8. такое падение критично будет при питании 3В.

при питании 3В будет соответсвенно 2.3. На вскидку вам поможет только ОУ, например дешевый ad8541 (стоит около 15руб) потребляет примерно 60 мкА
Electronic)
ну зачем опер... это я уже прошол. тогда уже просто кмоп полевик. и будет повторитель на полевике. экономичный с малым падением.

щас вобще другим занялся... а имено вопросом номер 2. есть новости:
- увидел где причина проблемы. она не в переключении выхода на вход! сделал просто выход и имитировал работу OCR1A потребление всё также повышалось. я сравнил сигналы с выхода OCR1A и обычного выхода порта например В5... они разные(под нагрузкой)! с выхода OCR таймера ровный идеально, с обычного выхода другой , сначала поднятый до максимума потом проваленый немного на 0.4 вольта где то. длина пика 0,15 мсек. может у выхода OCR1A отключены внутрение подтягивающие диоды...

если использовать выход обычного порта на форму импульса, и экономичность влияет С1 ! если С1 убрать неэкономичность работы обычного выхода пропадает, и напряжение импульса поднимаеся (провал исчезает)...
если использовать выход OCR1A то этих недостатков нет. форма сигнала прямая, и С1 на экономичность не влияет!

В чём разница обыночного выхода и выхода OCR... !!!?

это не всплески от щупа! это провал напряжение сопровождаемый потребелнием тока. отключаю с1 провал пропадает (U поднимается и сигнал становится как на фото слева) и форма идельная. При использовании OCR всё работает идельно импульсы прямые, кпд максимальный.

Для чего это надо? для максимального кпд и простоты. ножка работает часть времени как выход , чать времени как вход. в режиме входа она ничего не потребляет проверено! идиальный програмный диод, падения напряжения нет.

P.S. я понимаю что проще поставить повторитель и не маятся (так и сделаю наверное если не получится), но не понятно почему выход порта не такой как выход OCR. для тех кто верит что это выброс! - сравните уровни сигналов, уровни разные видно по клеточкам(0 на месте)! и учтите что частота 100гц какие выбросы? да ещё такой длины. Длина спада зависит от типа диода (тоесть тока утечки!), при IN4007 длиный (рисунок справа) при КД521 короче на много (фото не делал ). фото слева это с выхода OCR1А , форма импульса одна и та же с нагрузкой или без!

оба вывода свободны , ничем не используются. проверял на ножках В5 и С2.

обяснения что происходит не нахожу. в электронике очень давно. потому всё проверено перепроверено. всё что я написал - факт.
Огурцов
Цитата(Dopler @ Oct 26 2008, 08:21) *
1. Нельзя, ибо радиолюбительство.
2. Нельзя, ибо глядя в тот же даташит видим, что максимальный ток через выводы VCC-GND (т.е. через кристал) 200мА

Можно! До тех пор, пока не нарушаются условия DS.
Electronic)
разобрался . Вобщем разница обычных выходов и выхода таймера OCR есть! то что можно сделать на OCR на обычном порте сделать нельзя получается.

я проснулся проверил ещё раз всё. и так как мне важен результат сделал этот диод прямо на выходе OCR. так как програма сложная выложу отрывки кодов (если разбиратся можно разнервничатся):

#define W_ON PORTB|=BIT(1)
#define W_OFF PORTB&=~BIT(1)
#define WD_ON DDRB|=BIT(1)
#define WD_OFF DDRB&=~BIT(1)

есть перывание от таймера Т1. оно большое но в один участок програмы контролер заходит с периодичностью 100Гц. и там написано - WD_OFF;W_OFF;TCCR1A=0x00;TCCR1C=0x80;OCR1A=(T+PWM); - вывод В1 ставится в состоянии выхода без подтягивающего резистора. и принудительно отключается вывод таймера OCR1A от физической ножки В1.

разрешено прерывание при равенстве счётного регистра регистру OCR , и там написано следующее:
#pragma interrupt_handler timer1_compa_isr:12
void timer1_compa_isr(void)
{WD_ON;TCCR1A=0xC0;TCCR1C=0x80;} - тоесть В1 делается выходом, и подключается выход OCR1A в тостоянии 1.

КПД поднялся посравнению с обычным выходом. форма сигнала без провала, и не меняется как при использовании обычного порта. максимальный КПД всё равно вышел только с диодом. но для меня важен сам факт. потребление при использовании OCR возрасло на 0.2мА, с обычной ножки возрастает 0,4ма. и самое важное что с обычной ножки ток возрастал как с диодом так и без! с вывода OCR даже без диода не плохие результаты.

Почему имеет место разница этих выводов я так и не понял, но она есть!
Сергей Борщ
Цитата(Electronic) @ Oct 27 2008, 12:10) *
ВСЁ! я это зделал! Вобщем разница обычных выходов и выхода таймера OCR есть! то что можно сделать на OCR на обычном порте сделать нельзя!
Разница лишь в том, что при аппаратной генерации ШИМ нет джитера (дрожания фронта). Все остальное от нежиданного поведения программы.
Цитата(Electronic) @ Oct 27 2008, 12:10) *
так как програма сложная выложу отрывки кодов (если разбиратся можно разнервничатся):
В таких случаях программа обрезается до минимального размера, при котором эффект повторяется.
Цитата(Electronic) @ Oct 27 2008, 12:10) *
На обычном выходе такого результата добится не удалось
"А что поделать, если хлопец одаренный?" ;)

Вы так и не ответили на пост №3 от VDG - а зачем в вашей схеме диод?
Electronic)
сомнений в програме нет. она работает совсем с другими ножками. ну а как зачем диод? что бы ток не забирала ножка обратно когда становится выходом с лог. 0. если убрать диод то при малых скважностях потребление 20ма и больше, если не делать ножку на входом.
с шотки пока добился максимального кпд.

думаю с IRLML 2505 вобще будет красота, всмысле истоковый повторитель на нём.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.