Микроконтроллеры | AVR начинающим - вопросы и ответы |
|
---|---|---|
Подскажите как программно реализовать алгоритм стабилизации тока? |
|
|
Простейший алгоритм: |
|
|
Так вот именно. Если я так делаю допустим ток меньше заданного |
|
|
А переход через границу байта контролируете? 255++ будет равно нулю, 0-- будет равно 255 |
|
|
Нет это не делаю. Честно говоря не могу сообразить как это по простому сделать |
|
|
Два if в нужных местах: if (OCR2 != 255) OCR2++; Это по-простому или по-сложному, но делать обязательно надо. |
|
|
Хорошо, как бороться с тем если, допустим ток<заданного, прибавляем OCR2++; |
|
|
У меня ток гуляет теперь : //Режим стабилизации по току если произведена установка тока стабилизации |
|
|
Он и будет гулять. Дело в том, что независимо от того, как - программно, или аппаратно, - реализована обратная связь, есть определенные правила расчета цепи обратной связи. У Вас она получилась почти в чистом виде пропорциональной, поскольку быстродействие процессора очень велико, а надо бы пропорционально-интегральную. Гуляющий ток - это "самовозбуждение", хотя и цифровое. Для реализации интегральной составляющей в программу нужно вводить задержку. Как ее расчитать - подсказать не могу, я не дока в расчете цепей ОС для источников питания. Думаю, будет разумно, если Вы с таким вопросом стукнетесь в ветку "Источники питания". Когда определите параметры цепи ОС, думаю, стоит попробовать ввести в программу задержку, равную или большую постоянной времени цепи ОС. |
|
|
Спасибо большое за помощь |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |