Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |
| ru:examples:motor:servo [2010/12/26 17:26] – eduardtlmk | ru:examples:motor:servo [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| |
| ~~CL~~ | ~~CL~~ |
| ~~PB~~ | <pagebreak> |
| |
| ===== Практика ===== | ===== Практика ===== |
| Пример программы использует функции, описанные в библиотеке Домашней Лаборатории. В начале программы заставляют работать таймер первого серводвигателя, генерирующий PWM сигнал, функцией //servomotor_init//. Значение положения серводвигателя получается из канала 3 аналого-дигитального преобразователя, куда на плате модуля «Датчики» подсоединен потенциометр. Для того чтобы получить необходимый для управления серводвигателя интервал от -100 до 100, от значения ADC отнимается половина максимума (т.е. 512) и делится на 5. Результатом является ±102, но небольшая неточность не считается, так как серводвигатели сами отличаются в отношении PWM сигнала и угла поворота. Для точного передвижения придется в приложениях обозначить ширину полупериода PWM методом проб и ошибок. Так же у моделей радиоуправляемых пультов для точной настройки существуют соответствующие возможности (на английском языке //trim//). При запуске программы, изменяется в соответствии с положением потенциометра и положение вала серводвигателя. | Пример программы использует функции, описанные в библиотеке Домашней Лаборатории. В начале программы заставляют работать таймер первого серводвигателя, генерирующий PWM сигнал, функцией //servomotor_init//. Значение положения серводвигателя получается из канала 3 аналого-дигитального преобразователя, куда на плате модуля «Датчики» подсоединен потенциометр. Для того чтобы получить необходимый для управления серводвигателя интервал от -100 до 100, от значения ADC отнимается половина максимума (т.е. 512) и делится на 5. Результатом является ±102, но небольшая неточность не считается, так как серводвигатели сами отличаются в отношении PWM сигнала и угла поворота. Для точного передвижения придется в приложениях обозначить ширину полупериода PWM методом проб и ошибок. Так же у моделей радиоуправляемых пультов для точной настройки существуют соответствующие возможности (на английском языке //trim//). При запуске программы, изменяется в соответствии с положением потенциометра и положение вала серводвигателя. |
| |
| ~~PB~~ | <pagebreak> |
| |
| <code c> | <code c> |