- Компоненте потребне
- Кружни дијаграм и везе
- СМТ32Ф103Ц8 Детаљи о пину
- Програмирање СТМ32 за серво мотор
У електроници, серво мотори се углавном користе у пројектима роботике због њихове тачности и једноставног руковања. Серво мотори су мањих димензија, врло су ефикасни и енергетски ефикасни. Они пружају велики обртни моменат и могу се користити за подизање или потискивање тегова према спецификацијама мотора. У овом упутству ћемо научити о серво мотору и како повезати серво са плочом СТМ32Ф103Ц8. Потенциометар је такође повезан како би се променио положај осовине серво мотора, а ЛЦД приказује вредност угла.
Компоненте потребне
- СТМ32Ф103Ц8 (плава пилула) табла
- Серво мотор (СГ90)
- ЛЦД (16к2)
- Потенциометар
- Бреадбоард
- Јумпер Вирес
Кружни дијаграм и везе
СМТ32Ф103Ц8 Детаљи о пину
У СТМ32Ф103Ц8 имамо 10 АДЦ пинова (ПА0-ПБ1), а овде користимо само један пин (ПА3) за аналогни читач () за подешавање положаја осовине мотора помоћу потенциометра. Такође међу 15 ПВМ пинова СТМ32 (ПА0, ПА1, ПА2, ПА3, ПА6, ПА7, ПА8, ПА9, ПА10, ПБ0, ПБ1, ПБ6, ПБ7, ПБ8, ПБ9), један пин ће се користити за давање импулса серво-у ПВМ иглица мотора (обично је наранџасте боје).
Можете сазнати више о ПВМ и АДЦ читајући доле до детаљних чланака:
- Како се користи АДЦ у СТМ32Ф103Ц8
- Модулација ширине импулса (ПВМ) у СТМ32Ф103Ц8
Веза између СТМ32Ф103Ц8 и ЛЦД екрана
СТМ32Ф103Ц8 | ЛЦД |
ГНД | ВСС |
+ 5В | ВДД |
На ПИН центра за потенциометар | В0 |
ПБ0 | РС |
ГНД | РВ |
ПБ1 | Е. |
ПБ10 | Д4 |
ПБ11 | Д5 |
ПЦ13 | Д6 |
ПЦ14 | Д7 |
+ 5В | А. |
ГНД | К. |
Веза између серво мотора и СТМ32Ф103Ц8
СТМ32Ф103Ц8 |
СЕРВО |
+ 5В |
ЦРВЕНА (+ 5В) |
ПА0 |
НАРАНЧАСТА (ПВМ пин) |
ГНД |
СМЕЂА (ГНД) |
Потенциометри везе
Овде смо користили ДВА потенциометра
1. Потенциометар с десне стране служи за подешавање контраста ЛЦД екрана. Има три пина, леви пин је за + 5В, а десни за ГНД, а централни пин је повезан са В0 ЛЦД-а.
2. Потенциометар на левој страни користи се за промену положаја осовине серво мотора управљајући аналогним улазним напоном, леви пин има улаз 3,3 В, а десни ГНД и централни излаз је повезан на (ПА3) СТМ32
Програмирање СТМ32 за серво мотор
Као и наш претходни водич, СТМ32Ф103Ц8 смо програмирали са Ардуино ИДЕ преко УСБ порта без употребе ФТДИ програмера. Можемо наставити са програмирањем као Ардуино. Комплетни код је дат у наставку на крају пројекта.
Прво смо уврстили библиотечке датотеке за серво и ЛЦД функције:
#инцлуде
Затим су декларисане игле за ЛЦД екран и иницијализоване. Такође је декларисано неколико других променљивих за ПВМ и потенциометар:
цонст инт рс = ПБ0, ен = ПБ1, д4 = ПБ10, д5 = ПБ11, д6 = ПЦ13, д7 = ПЦ14; ЛЦД ЛикуидЦристал (рс, ен, д4, д5, д6, д7); инт сервоПин = ПА0; инт потПин = ПА3;
Овде смо креирали променљиви серво са типом података Серво и прикључили га на претходно декларисани ПВМ пин.
Серво серво; серво.аттацх (сервоПин);
Затим прочитајте аналогну вредност са пина ПА3, јер је АДЦ пин, претвара аналогни напон (0-3,3) у дигитални облик (0-4095)
аналогРеад (потПин);
Како је дигитални излаз 12-битне резолуције, морамо добити вредности у опсегу степена (0-170), он дели вредност АДЦ (0-4096) према максималном углу 170 степени, па делимо са 24.
угао = (очитавање / 24);
Испод наводи серво мотор да окреће осовину под задатим углом.
серво.врите (угао);
Комплетни код је дат у наставку и добро објашњен коментарима.