Skip to content

nopnop2002/pwmlib-opi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pwmlib-opi

PWM Library for H3/H2+ Sunxi SoC

The Mainline Kernel provides a PWM driver as an Overlay driver.
Mainline Kernel no longer requires this library.

Mainline KernelではOverlay driverとしてPWMドライバーが提供されています。
Mainline Kernelではこのツールはもはや不要です。


このライブラリはOrangePiやNanoPiなど、H3/H2+ベースのボードでハードウェアPWMを使うためのライブラリです。
以下のボードで動作を確認しています。
OrangePi PC(H3)
OrangePi ZERO(H2+)
NanoPi M1(H3)

このライブラリを使うためには以下のドライバーを有効にする必要が有ります。
https://github.com/iboguslavsky/pwm-sunxi-opi0


以下のプログラムでSG90マイクロサーボモータが 0°→ -90° → +90° → 0° に動きます。
cc -o pwmt pwmt.c pwm.c -lwiringPi
sudo ./pwmt

サーボモータを使う場合、全体のパルス幅とActiveパルス幅で制御することができます。
void pwm_begin(float period)
period : 全体のパルス幅(mSec)

void pwm_active(float period)
period : Activeのパルス幅(mSec)


サーバプロセスをバックグラウンドで起動することで、コマンドラインからサーボモータを制御することができます。

cc -o pwmd pwmd.c pwm.c -lwiringPi
su
./pwmd &
exit

cc -o pwmc pwmc.c
./pwmc 20.0 1.45
./pwmc 20.0 2.35
./pwmc 20.0 0.625


sg90-1


This is the library to use hardware PWM by a board of H3/H2+ base such as OrangePi and NanoPi.
It works by the following board.
OrangePi PC(H3)
OrangePi ZERO(H2+)
NanoPi M1(H3)

You have to make the following driver effective to use this library.
https://github.com/iboguslavsky/pwm-sunxi-opi0


SG90 micro servomotor (http://akizukidenshi.com/download/ds/towerpro/SG90.pdf) works by the following program.

SG90 Opi
Vcc -- 5V
Gnd -- GND
PWM -- UART0_RX

cc -o pwmt pwmt.c pwm.c -lwiringPi
sudo ./pwmt

When using a servomotor, you can control with entire pulse width and active pulse width.

void pwm_begin(float period)
period : entire pulse width(mSec)

void pwm_active(float period)
period : active pulse width(mSec)


You can control servomotor from command-line with background server process like pigpio.

cc -o pwmd pwmd.c pwm.c -lwiringPi
su
./pwmd &
exit

cc -o pwmc pwmc.c
./pwmc 20.0 1.45
./pwmc 20.0 2.35
./pwmc 20.0 0.625

pwmc don't need delay time.

About

PWM C Library for H3/H2+ Sunxi SoC

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages