Што е контролер за серво мотор?
Дефиниција на контролер за серво мотор
Контролер за серво мотор (или дривер за серво мотор) се дефинира како кола која се користи за контрола на положбата на серво моторот.
Кола на дривер за серво мотор
Колата на дриверот за серво мотор вклучува микроконтролер, напонска заедница, потенциометар и конектори, што осигурува точна контрола на моторот.
Улога на микроконтролерот
Микроконтролерот генерира PWM импулси во одредени интервали за точна контрола на положбата на серво моторот.
Напонска заедница
Дизајнот на напонската заедница за контролер на серво мотор зависи од бројот на поврзани мотори. Сервомоторите типички користат напон од 4.8V до 6V, со стандарден напон од 5V. Прекостигнување на напонскиот напон може да ја оштети моторот. Стрмнина на струјата варира со торката и е помала во режим на чекање и поголема кога работи. Максималната стрмнина на струјата, позната како струја на стопор, може да достигне до 1A за некои мотори.
За контрола на еден мотор, користете регулатор на напон како LM317 со хладилник. За повеќе мотори, потребна е напонска заедница со висок карактеристика на струја. SMPS (Switched Mode Power Supply) е добар избор.
Дијаграм на блокови подолу - покажува поврзаности во дриверот за серво мотор

Контрола на серво мотор
Сервомоторот има три терминали.
Позиционен сигнал (PWM импулси)
Vcc (од напонска заедница)
Земја

Аголната положба на серво моторот се контролира со применување на PWM импулси со одредена длабочина. Длабочината на импулсот се од 0.5ms за ротација од 0 степени до 2.2ms за ротација од 180 степени. Импулсите треба да се даваат на фреквенции околу 50Hz до 60Hz.
За да се генерира PWM (Pulse Width Modulation) формата, како што е прикажана на дијаграмот подолу, може да се користи или внатрешниот модул на микроконтролерот или тимерите. Користењето на PWM блокот е пофлексибилно, бидејќи дизајнот на повеќето семејства на микроконтролери и овој PWM блок подобро одговара на потребите на апликациите како што е серво моторот. За различни длабочини на PWM импулси, треба да програмирате внатрешните регистри соодветно.
Сега, исто така треба да кажеме на микроконтролерот колку треба да се ротира. За оваа цел, може да се користи прост потенциометар и ADC за да се добие агол на ротација или за повеќе комплексни апликации, може да се користи акелерометар.

Алгоритам на програма
Да дизајнираме програма за контрола на еден серво мотор, а влезот за положба се дава преку потенциометар поврзан на пин на контролерот.
Иницијализирајте портовите за влез/излез.
Читајте ADC за желана положба на серво моторот.
Програмирајте регистрите на PWM за желаната вредност.
Соодветно, кога активирате PWM модул, избраната канална пин за PWM ќе стане висока (логика 1) и кога се достигне потребната длабочина, повторно ќе стане ниска (логика 0). Значи, следејќи активирањето на PWM, треба да започнете тимер со забавување од околу 19 ms и да чекате додека тимерот не преврзеОди на чекор 2
Постојат различни режими на PWM кои можете да користите во зависност од избраниот микроконтролер. Некаква степен на оптимизација треба да се направи во кодот за контрола на серво моторот.
Ако планирате да користите повеќе од еден серво мотор, ќе ви требаат колку што е можно канали за PWM. Секој серво мотор може да му се даде PWM сигнал последователно. Но треба да се внимава дека фреквенцијата на повторување на импулсите за секој серво мотор треба да се одржува. Во спротивно, сервомоторите ќе изгубат синхронизација.