|
Преобразователь из 5V в 12V на ATtiny461, работает, но нет стабилизации |
|
|
|
Oct 4 2007, 20:39
|

Профессионал
    
Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807

|
Собрал испытательный стенд по нижеприведенной схеме:
Выходное напряжение не стабилизируется при изменении тока нагрузки, хотя нормально регулируется вручную при разомкнутой петле обратной связи. Привожу листинг программы микроконтроллера. По осциллографу видно, что с увеличением тока нагрузки время откр сост ключа увеличивается, но амплитуда импульсов все же уменьшается. При этом дроссель в насыщение не входит (измерялось на резисторе 1 Ом): форма тока линейно нарастающая, без "скривлений". Подозреваю логическую ошибку в программе. Подскажите, что не так: Код __C_task void main (void) { // инициализация таймера 1 Tmr1Stop; CLRBIT(PRR,PRTIM1); // включить модуль таймера 1 SETBIT(PLLCSR,LSM); // PLL = 32MHz SETBIT(PLLCSR,PLLE);Delay(200*us);do{}while(!CHKBIT(PLLCSR,PLOCK));// запуск PLL SETBIT(PLLCSR,PCKE); // разрешить тактирование таймера от PLL TCCR1A = BIN(00110011); TCCR1B = BIN(01000000);do{}while(CHKBIT(TCCR1B,PSR1));// сброс прескалера TCCR1C = BIN(00110000); TCCR1D = BIN(00000000); TCCR1E = BIN(00000000); DT1 = 0x00; Reg10write(TCNT1reg,0x000); Reg10write(OCR1Areg,0x3FF); Reg10write(OCR1Breg,0x3FF); Reg10write(OCR1Creg,0x3FF); Reg10write(OCR1Dreg,0x3FF); SETBITS(TIFR,BIT(OCF1A)+BIT(OCF1B)+BIT(OCF1D)); SETBITS(TIMSK,BIT(OCIE1A)+BIT(OCIE1B)+BIT(TOIE1)); Tmr1Start; Work: // инициализация ADC ADMUX = BIN(10011001); ADCSRA = BIN(10010110); ADCSRB = BIN(00000000); ADC = 0; SETBIT(DIDR0,AREFD); SETBITS(DIDR1,BIT(ADC8D)+BIT(ADC9D)); // запуск преобразования SETBIT(ADCSRA,ADSC);do{}while(CHKBIT(ADCSRA,ADSC));ADCdata = ADC; // запись результата if(ADCdata < ADCmin) ADCdata = ADCmin;// мин. время Тoff ключа(обычно 20%) PreIntState = __save_interrupt(); __disable_interrupt(); AS4value = ADCdata; __restore_interrupt(PreIntState); goto Work; }
// Timer/Counter1 Compare Match B #pragma vector = TIM1_COMPB_vect __interrupt void TIM1_COMPB(void) { unsigned int AStmp = AS4value; TC1H = ((AStmp >> 8) & 0x0003); OCR1B = (AStmp & 0x00FF);// загрузка величины сравнения для след. цикла } Краткое описание к программе. В основной имеем непрерывное измерение с делителя, усиление сигнала ошибки происходит с Кус = 20 внутр инструмент усилителем. Далее цифровой код используется как величина сравнения для таймера 1, работающего в режиме FastPWM. Итак, увеличение напряж на выходе => увеличение кода ADC => увелич. величины сравнения => уменьшение времени откр сост транзистра, что и требуется для PWM. Может, просто Кус = 20 недостаточно для регулирования?
|
|
|
|
|
 |
Ответов
(90 - 102)
|
May 13 2009, 12:18
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Если использовать АЦП, то хватит ли 15 ksps max? 15 - плоховато. Я у себя даю на клок АЦП 1МГц. Т.е. 13 мкс на преобразование. Вполне. Цитата Причем еще и др. сигналы в системе есть Другие - это какие?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
May 13 2009, 12:41
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Фуф...! Как у того физика после недельных лекций в военной академии об основах ядерной бомбы. Вопрос у слушателей был один: "А де ж, все-таки, шнур спичкой поджигать? Контроллер не может управлять источником (процессом силовой коммутации, параметрами ШИМ) непосредственно. Кто не верит - пусть проверит. По крайней мере, источником такой мощности и предназначения. Это не ЦАП на 10 миллиампер кодами гонять. Можно только с помощью АЦП и примитивного ЦАП косвенно задавать уставки на выходное напряжение или ток. Но, если это лабораторный источник, а не полностью автоматизированная технологическая установка, то какой в этом смысл? Уставки в нем задаются ручками управления пользователем непосредственно, а не по кабелю или радиоканалу за 100 верст. Контроллер тут совершенно лишнее, надуманное звено. Или в постановке задачи что-то не до конца сформулировано. Корпус G762 (95 x 158 x 58) , пластик без дырок, для такой конструкции заведомо мал. Исхитриться и втиснуться без индикации и хороших ручек можно, но нужна хорошая продувка.
|
|
|
|
|
May 13 2009, 16:41
|

Профессионал
    
Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807

|
Цитата(Rst7 @ May 13 2009, 16:18)  15 - плоховато. Я у себя даю на клок АЦП 1МГц. Т.е. 13 мкс на преобразование. Вполне. Страшновато давать клок в 1MHz.  Я еще так не пробовал... Что там от 8 бит останется? Как скажется на качестве выхода? Надо покумекать... Цитата Другие - это какие? Вот накрапал схемку как замену вышеприведенной на TL494. Конечно возможности поскромней (PWM = 37.5kHz max, управление от мастер-контроллера по SCL/SDA или его суррогату), следствие простоты. Для "предварительного" перед линейником степдауна может пойти? "Другие" - это др аналоговые сигналы. В данной схеме это всего лишь FB_I = контроль по току. У меня этот сигнал реализован в линейном регуляторе с размахом 0...5V. Из-за этого приходится использовать Vcc как опору, хотя есть внутренняя 1v1.
Эскизы прикрепленных изображений
|
|
|
|
|
May 13 2009, 17:01
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Страшновато давать клок в 1MHz. Зубов бояться... Ну дальше Вы в курсе  Цитата Из-за этого приходится использовать Vcc как опору, хотя есть внутренняя 1v1. Я Вам шепну по секрету, что именно эту опору и надо использовать. И что там за 0-5 вольт FB_I? Рисуйте и остальную часть схемы. Сейчас, кстати, господин Microwatt Вас будет ногами бить. За отсутствие цепи контроля тока ключа.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
Guest_orthodox_*
|
May 14 2009, 00:43
|
Guests

|
Цитата(ivainc1789 @ May 13 2009, 18:41)  Вот накрапал схемку как замену вышеприведенной на TL494. Шо ж Вы все избегаете нижний ключ ставить? Диодами там не обойтись.. Вы ж себе диапазон регулировки сужаете внизу- у Вас же уже были проблемы из-за этого. Выходите в режим прерывистых токов, теряете стабильность...В конце поста я описал как можно ее восстановить, но проще поставить нижний ключ... И все равно скорректировать на опережение правильно...  Цитата(Microwatt @ May 14 2009, 02:18)  Трудность тут не в самом источнике, а в конструкции. Панельные приборы надо найти или сделать. В субботу разузнаю и отпишусь Цитата(Rst7 @ May 13 2009, 13:49)  Это не я  А я говорил, что для аналогового стабилизатора заводить обратную связь через микроконтроллер - плохо. Для stepdown - проблем нет. Режим непрерывных токов, ПИД-регулятор (причем, D-звено снаружи в виде конденсатора параллельно верхнему резистору делителя, который будет на вход АЦП) и нет проблем. Я бы не поддержал такого...лишних 15 мкс задержки... в конце концов получится тормознутая реакция на изменение нагрузки. А вообще-то D-звено стоит попробовать не параллельно верхнему плечу делителя, а RC цепь, подключенная еще до дросселя. Иначе для стабильности придется зависеть еще и от ESR емкости , а так можно обойти - и получить лучше запас по фазе... Смоделируйте, Вам понравится... У меня уже применяется подобное - просто вздохнул облегченно... Даже на пропуски тактов выходит мягонько, интеллигентно и без лишних пульсаций... А параллельное верхнему плечу D-звено после этого можно и оставить - я оставлял в результате, хоть и чуточку - но помогает красиво фазу довернуть...
|
|
|
|
Guest_orthodox_*
|
May 14 2009, 05:57
|
Guests

|
Цитата(Rst7 @ May 14 2009, 07:53)  А можно осветить этот момент подробнее? да, сегодня же. вообще-то тянет на статью (в хорошем смысле слова  ) но места хватит тут...
|
|
|
|
|
May 14 2009, 09:20
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Цитата(orthodox @ May 14 2009, 02:43)  Я бы не поддержал такого...лишних 15 мкс задержки... в конце концов получится тормознутая реакция на изменение нагрузки.
А вообще-то D-звено стоит попробовать не параллельно верхнему плечу делителя, а RC цепь, подключенная еще до дросселя. Иначе для стабильности придется зависеть еще и от ESR емкости , а так можно обойти - и получить лучше запас по фазе... Смоделируйте, Вам понравится... У меня уже применяется подобное - просто вздохнул облегченно... Даже на пропуски тактов выходит мягонько, интеллигентно и без лишних пульсаций... А параллельное верхнему плечу D-звено после этого можно и оставить - я оставлял в результате, хоть и чуточку - но помогает красиво фазу довернуть... Вот-вот. У меня не всегда этот метод работал красиво. На больших токах при изменении нагрузки выходило не так гладко, к примеру, как на малых. Для себя решил, что регулируемый с широкими диапазонами входного/выходного источник и с этой хитростью хорошо отстроить практически невозможно. Может, терпения не хватало... Но при ступенчатой стабилизации - вполне. А по поводу ОС через МК - тоже удивляюсь: зачем? Полно же специализированных контроллеров, пусть своим делом занимаются.
|
|
|
|
Guest_orthodox_*
|
May 14 2009, 10:07
|
Guests

|
Цитата(Herz @ May 14 2009, 11:20)  Вот-вот. У меня не всегда этот метод работал красиво. На больших токах при изменении нагрузки выходило не так гладко, к примеру, как на малых. Для себя решил, что регулируемый с широкими диапазонами входного/выходного источник и с этой хитростью хорошо отстроить практически невозможно. Может, терпения не хватало... Но при ступенчатой стабилизации - вполне. Отстроить можно, но подобрать номиналы коррекции - нет. Без моделирования не получается, может и есть головы с мозгами - я не из них... Так что выложу результаты частного случая, вечерком или с утра... логика будет понятна.
|
|
|
|
|
May 14 2009, 10:20
|

Профессионал
    
Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807

|
Цитата(orthodox @ May 14 2009, 04:43)  Шо ж Вы все избегаете нижний ключ ставить? Диодами там не обойтись.. Честно признаюсь, я плохо понимаю, что даст переход к синхронной схеме, если за степдауном линейник? Моделирование показывает, что схема с одним ключем сможет иметь предел снизу от 3V. Этого вполне достаточно для работы линейника на малых напряжениях выхода. По поводу применения МК: ясно, конечно, что нужно избегать применения в обратной связи. Но все же в ряде неответственных задач это решение может и могло бы работать. Я так понял, серийно закладывать такие решения никто бы не стал... Проще и оптимальнее схемы на TL494 я так и не увидел. Навесу канешна много, но все равно и по стоимости, и по возможностям вполне прокатит... Найти готовый buck контроллер, легко сопрягаемый с МК мне так и не удалось...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|