Сторінки

неділя, 30 липня 2023 р.

Beaglebobe Black. PWM C++

Плата 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




Посилання

  1. https://opencoursehub.cs.sfu.ca/bfraser/grav-cms/cmpt433/links/files/2022-student-howtos/ServoPWMGuide_SG90_9gMicroServo.pdf
  2. https://wgaonar.github.io/Post42-BeagleBone_SG90_Sweep/




Немає коментарів:

Дописати коментар