?

Log in

No account? Create an account
просто лось

ПИД-регулятор, часть 2, лирическая

После того, как механика была готова, я полез в интернет. Погуглил, почитал, покодил.
Программная "модель" вполне себе заработала, и даже коэффициенты подобрать удалось.
Но при попытке зашить это всё в Arduino, что-то пошло не так. Вроде бы всё работало, обороты считались, ПИД выдавал какие-то значения... Но, подобрать коэффициенты так, чтобы обороты стабилизировались, не удавалось.

Сначала я подумал, что это шум с энкодера. Ибо раскраска была ручная и неравномерная. Переписал счётчик оборотов, проверил. Потыкал осциллографом ;) Поправил код ещё...
И лишь через сутки раздумий заметил странность: обороты вели себя как-то очень подозрительно. Вроде бы должны были расти при увеличении значений PWM (на драйвере/моторе), но, на самом деле нет. График выглядел горбом!
Подивившись такому результату я сновал полез смотреть на Arduino осциллографом.
Поначалу всё выглядело неплохо:
DS0001.png

Но стоило мне прибавить оборотов, как начался цирк!
DS0000.png

Оказалось, что напряжение на компараторе слишком мало, и сигнал с оптопары не всегда "доставал" до нужного места! А самое удивительное, что проявлялось это только на больших оборотах!
DS0002.png

В итоге сутки мучительных поисков закончились банальной заменой резистора в делителе :)

Click to view large photo




Comments