Стабилизация тока Attiny85 не могу понять

Обсуждаем контроллеры компании Atmel.
Ответить
dds7sdd
Прорезались зубы
Сообщения: 207
Зарегистрирован: Чт дек 07, 2017 13:48:44

Стабилизация тока Attiny85 не могу понять

Сообщение dds7sdd »

Приветствую!

Вопрос из разряда песочницы, но видимо забыл все (или не знал)).
Хочу сделать зарядное уст. из промышленного обратноходового БП, где напряжение стабилизируется штатной ОС БП, а стабилизацию тока (точнее ограничение) хочу реализовать с помощью ШИМ+АЦП МК Attiny85.

Схема:
Изображение

Код:

Код: Выделить всё

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <Wire.h>


volatile int adc_l;
volatile int adc_HL;
volatile float adc_val;

//границы переменных
int grany (int peremen, int a1, int b1) {
if (peremen<=a1) {peremen=a1;}
if (peremen>=b1) {peremen=b1;}
return peremen;
}

int OCR1A_plus () {
if (OCR1A>=253) {OCR1A=254;}
else {OCR1A++;}
return 0;
}

int OCR1A_minus () {
if (OCR1A<=2) {OCR1A=0;}
else {OCR1A--;}
return 0;
}


int main (void) {

DDRB|=1<<PB1|0<<PB4;
//~~~~~~~~~~~~~~~~~~~~~~~~ШИМ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
// |состояние выхода OC1A| вкл.PWM|  4 бита предделителя частоты| 
TCCR1=0<<COM1A1|1<<COM1A0|1<<PWM1A|1<<CS10|1<<CS11|1<<CS12|0<<CS13;
OCR1A=200;//установка скважности 
//~~~~~~~~~~~~~~~~~~~~~~~~АЦП~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
//       ист. опорного напр. 2.56V|  выбор канала АЦП ADC1 (PB4)  |
ADMUX|= 0<<REFS0|1<<REFS1|1<<REFS2|0<<MUX0|1<<MUX1;//|0<<MUX2|0<<MUX3;
//    вкл.АЦП|авт. режим|старт  |предделитель частоты АЦП на 128 |
ADCSRA|=1<<ADEN|1<<ADATE|1<<ADSC|0<<ADPS0|1<<ADPS1|1<<ADPS2;
while(1){
           
adc_l=ADCL; //значение входного напряжения в нижнем регистре
adc_HL=(ADCH<<8)|adc_l;//чтение верхнего регистра вместе с нижним
adc_val = int(grany(adc_HL,0,1023));
if (adc_val>400) {OCR1A_minus();} else {OCR1A_plus ();}
}
}
По сути вроде так: запускаем ШИМ, уст. начальную скважность, получаем значение АЦП в диапазоне 0-1024. Если значение АЦП выше 400 - то уменьшаем скважность до момента пока знач. АЦП станет ниже 400 и так циклично.

Но так эта ОС не работает. Почему?
Игорь_396
Встал на лапы
Сообщения: 102
Зарегистрирован: Ср дек 25, 2019 21:17:31
Откуда: Саратов

Re: Стабилизация тока Attiny85 не могу понять

Сообщение Игорь_396 »

А вариант с оптопарой, параллельной уже имеющейся в БП, не рассматривали? Кмк, гораздо проще было бы. Или нужно только на МК?
dds7sdd
Прорезались зубы
Сообщения: 207
Зарегистрирован: Чт дек 07, 2017 13:48:44

Re: Стабилизация тока Attiny85 не могу понять

Сообщение dds7sdd »

Да можно и DC-DC обычный вкорячить с регулировками тока и напряжения. Интересно на МК сделать.
Аватара пользователя
Starichok51
Модератор
Сообщения: 19039
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: Стабилизация тока Attiny85 не могу понять

Сообщение Starichok51 »

dds7sdd, а чем твой ШИМ будут управлять, чтобы регулировать ток?
как я понял, ты решил создать НЕобычный DC-DC с применением МК?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
>TEHb<
Друг Кота
Сообщения: 5723
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж
Контактная информация:

Re: Стабилизация тока Attiny85 не могу понять

Сообщение >TEHb< »

Для 358 может понадобиться отрицательное питание для работы с такими входами.
А что происходит вообще, в чём выражается "не работает"?
"Привет!" - соврал он.
dds7sdd
Прорезались зубы
Сообщения: 207
Зарегистрирован: Чт дек 07, 2017 13:48:44

Re: Стабилизация тока Attiny85 не могу понять

Сообщение dds7sdd »

Starichok51, Владимир, коль это зарядное устройство - то ШИМ-ом будет регулироваться ток зарядки свинцово-кислотного АКБ.
как я понял, ты решил создать НЕобычный DC-DC с применением МК?
Именно так. Есть несколько ОХ ИБП и я хочу сделать из них ЗУ c параметрами стабилизации СС\СV: 0.7-5А и 12.5-15.6V и различными алгоритмами заряда на МК. Корпуса маленькие и вкорячить туда полноценный DC-DC на честные 5А - не получится, да и излишне.
Посему решил ток ограничивать ШИМ с МК, а напряжение стабилизируется штатной ОС ИБП.
Ранее делал подобные ЗУ на ATmega328 c OLED экраном. Но уже 5 лет прошло и все с башки вылетело))
Вопрос тут банальный и скорее всего математический))

Добавлено after 11 minutes 42 seconds:
>TEHb<, LM там работает как усилитель шунта с коэффициентом 30. Зачем ему отр. пит.?
А происходит то, что ток ограничивается в процентах но не работает как полноценная ОС.
Аватара пользователя
>TEHb<
Друг Кота
Сообщения: 5723
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж
Контактная информация:

Re: Стабилизация тока Attiny85 не могу понять

Сообщение >TEHb< »

30? Скорее ближе к семи, судя по резистором. Отрицательное питание затем, что этот ОУ не очень хорошо работает с напряжениями на входах, близких к минусовому питанию. Ещё на выходе стоит конденсатор убрать, а затворный резистор подбавить.
"Привет!" - соврал он.
dds7sdd
Прорезались зубы
Сообщения: 207
Зарегистрирован: Чт дек 07, 2017 13:48:44

Re: Стабилизация тока Attiny85 не могу понять

Сообщение dds7sdd »

Ну хз, значения с ADC приходят более или менее адекватные.
А конденсатор С3 как раз и нужен для адекватных значений АЦП ибо там ШИМ и без него на входе АЦП "каша".
К железу у меня в принципе вопросов нет. Все показания (ОCR1A и ADC) я выводил на OLED и они правильно считываются.
Здесь вопрос больше программный.
Последний раз редактировалось dds7sdd Вс ноя 19, 2023 20:02:17, всего редактировалось 1 раз.
Аватара пользователя
>TEHb<
Друг Кота
Сообщения: 5723
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж
Контактная информация:

Re: Стабилизация тока Attiny85 не могу понять

Сообщение >TEHb< »

Ну ладно, раз схема нравится, то отлаживайте программу.
"Привет!" - соврал он.
Иван Михайлович
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пт июл 14, 2023 19:07:53

Re: Стабилизация тока Attiny85 не могу понять

Сообщение Иван Михайлович »

Во-первых: Фильтр на R3C1 работать не будет, т.к. С1 моментально разрядится через шунт при запирании полевика, R3 нужно подключить к шунту, а после кондёр С1 на операционник;
Во-вторых: Кондёр на 200 мкФ на выходе операционника... без резистора... кровь из глаз... Он там нах не нужен, но если хочешь снизить пульсации, то 100н за глаза, через резистор, конечно;
В-третьих: Если после условия идёт одно действие, то скобки не нужны;
В-четвёртых: Не вижу смысла использовать все 10 бит АЦП, если ШИМ у тебя 8 бит + можно усреднить значение (старое значение + новое значение)>>1, причём усреднение можно делать прямо в прерывании по АЦП, а вообще, для более корректного измерения тока R3C1 нах и нужно искать среднеквадратичное значение, сигнал-то ШИМ, ну и на вывод AREF божественную керамику не забывай вешать о чём прямо в даташите сказано;
В-пятых: Ты не указал частоту ядра, но обрати внимание, если у тебя частота ядра, например, 1 МГц, то частота ШИМ получается 1МГц/8192/256 ~ 0,48 Гц и время, когда транзистор открыт/закрыт ~ 1 секунда;
В-шестых: Очевидно, что будут пульсации по току, я бы воткнул ещё электролит минимум микрофарад на 1000 LESR + керамика на 1 мкФ.
А вообще, для регулировки тока LM358 и полевика с резюком в истоке достаточно :))
https://vpayaem.ru/inf_curr1.html
Но полевик при таком включении будет работать в линейном режиме и греться, придётся продумать охлаждение, поскольку за Maximum Safe Operating Area можно легко улететь и словить тепловой пробой кристалла :))
P.S. Операционник с указанными номиналами резисторов в цепи ООС работает с коэффициентом усиления ~ 8, но никак не 30 :))
Окстись! Открой DataSheet и просветись!
Аватара пользователя
Starichok51
Модератор
Сообщения: 19039
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: Стабилизация тока Attiny85 не могу понять

Сообщение Starichok51 »

dds7sdd писал(а):коль это зарядное устройство - то ШИМ-ом будет регулироваться ток зарядки
я не спрашивал, что будет регулироваться - я спрашивал, чем твой ШИМ будут управлять, чтобы регулировать ток?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Тихий демон
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 04, 2009 12:49:25
Откуда: Урал

Re: Стабилизация тока Attiny85 не могу понять

Сообщение Тихий демон »

"то ШИМ-ом будет регулироваться ток зарядки свинцово-кислотного АКБ."

Из ШИМа надо сделать DAC, далее компаратор, далее оптопара выходом впаралель существующей.
И МК будет задавать режим, а не управлять преобразователем...
Вмешательство в схему будет минимальным, преобразователь будет работать на штатной частоте и скважности.
Я так думаю...
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20159
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Стабилизация тока Attiny85 не могу понять

Сообщение Martin76 »

не могу понять
Я вот тоже не могу понять, зачем на очень медленную систему АЦП МК + сам МК с его программой возлагать задачу слежения за током, когда даже самый дешманский ОУ это сделает многократно лучше.
Ответить

Вернуться в «AVR»