стабилизация ускорилась в разы! Даже без увеличения значений.
Осталась проблема цикличность процесса: ток стабилизируется до 0,25А, а потом снова возвращается на исходное значение и так по кругу.
Здесь есть сложности, так как у меня нет полностью собранной схемы я не могу с первого раза решить проблему.
Идея такая:
Сейчас когда достигается нужный уровень стабилизации, перестает работать правило уменьшения напряжения, происходит возврат на установленное значение.
Добавьте строку:
else if(float(i_out)/100.0-0>0.00 && float(i_out)/100.0 - i <= 0.1){u_dig++;if(u_dig<0){u_dig=0;}lcd.setCursor(12, 1);lcd.print("STB");}
сразу после этих строк
if(i - float(i_out)/100.0>=1){u_dig-=100;if(u_dig<0){u_dig=0;}lcd.setCursor(12, 1);lcd.print("STB");}
else if(i - float(i_out)/100.0>=0.5 && i - float(i_out)/100.0<1){u_dig-=100;if(u_dig<0){u_dig=0;}lcd.setCursor(12, 1);lcd.print("STB");}
else if(i - float(i_out)/100.0>=0.25 && i - float(i_out)/100.0<0.5){u_dig-=50;if(u_dig<0){u_dig=0;}lcd.setCursor(12, 1);lcd.print("STB");}
else if(i - float(i_out)/100.0>=0.1 && i - float(i_out)/100.0<0.25){u_dig-=25;if(u_dig<0){u_dig=0;}lcd.setCursor(12, 1);lcd.print("STB");}
else if(i - float(i_out)/100.0>0.00 && i - float(i_out)/100.0<0.1){u_dig--;if(u_dig<0){u_dig=0;}lcd.setCursor(12, 1);lcd.print("STB");}
Сейчас теоретически:
else if(float(i_out)/100.0-0>0.00 && float(i_out)/100.0 - i <= 0.1){u_dig++;if(u_dig<0){u_dig=0;}lcd.setCursor(12, 1);lcd.print("STB");}
если ток измеренный меньше установленного от 0,00 до 0,1 происходит повышение напряжения, до значения при котором снова начинается токовая стабилизация
Но я не знаю сработает это как задумано, что будет если полностью убрать нагрузку, выйдет ли источник питания на установленное напряжение.