Плата BeagleBone Black має 8 вихідних контактів широтно-імпульсної
модуляції (ШІМ, PWM). Кожен пін PWM видає квадратний сигнал із змінною
частотою та робочим циклом.
Мінімальна вихідна частота PWM становить 0 Гц. Максимальна вихідна частота PWM становить 400 МГц.
Для конфігурування PWM0 потрібно включити cape у файлі /boot/uEnv.txt і перевантажити ОС.
###Additional custom capes
uboot_overlay_addr5=/lib/firmware/BB-PWM0-00A0.dtbo
Цей overlay відповідає контактам P9-21 (EHRPWM0B) і P9-22 (EHRPWM0A).
Далі можна буде побачити що з*явився PWM в /sys/class/pwm
debian@beaglebone:/sys/class/pwm$ ls -l
total 0
lrwxrwxrwx 1 root root 0 Jul 30 14:16 pwmchip0 -> ../../devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@300000/48300000.target-module/48300000.epwmss/48300200.pwm/pwm/pwmchip0
debian@beaglebone:/sys/class/pwm$ cd pwmchip0/
debian@beaglebone:/sys/class/pwm/pwmchip0$ ls -l
total 0
lrwxrwxrwx 1 root gpio 0 Jul 30 14:17 device -> ../../../48300200.pwm
--w--w---- 1 root gpio 4096 Jul 30 14:17 export
-r--r--r-- 1 root gpio 4096 Jul 30 14:17 npwm
drwxrwxr-x 2 root gpio 0 Jul 30 14:17 power
drwxrwxr-x 3 root gpio 0 Jul 30 14:17 pwm0
drwxrwxr-x 3 root gpio 0 Jul 30 14:17 pwm1
lrwxrwxrwx 1 root gpio 0 Jul 30 14:17 subsystem -> ../../../../../../../../../../class/pwm
-rw-rw-r-- 1 root gpio 4096 Jul 30 14:17 uevent
--w--w---- 1 root gpio 4096 Jul 30 14:17 unexport
Для написання програми на С++ знайшов гарну бібліотеку для ВВВ
https://github.com/silver2row/BeagleCPP
Посилання
- https://opencoursehub.cs.sfu.ca/bfraser/grav-cms/cmpt433/links/files/2022-student-howtos/ServoPWMGuide_SG90_9gMicroServo.pdf
- https://wgaonar.github.io/Post42-BeagleBone_SG90_Sweep/
Немає коментарів:
Дописати коментар