Skip to content

KSY-IC/We-Bot

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

We-Bot制御ライブラリ (C) 2020 KSY

KSY社製のWe-Botを制御するためのライブラリです。

License

このライブラリはMITライセンスで配布します。 MITライセンスの詳細はLICENSE.txtを参照ください。

必要な環境

本ライブラリはPython 3.7以降で動作確認を行っています。 また、以下のライブラリを別途必要とします。

  • smbus2
  • pigpio

インストール方法

ソースコードをダウンロード後、以下のコマンドでセットアップしてください。

python3 setup.py install

使用するハードウエア

基板の説明

基板説明

コネクタピン配置

  • CN1 電源接続
ピン番号 用途
1 +VIN
2 GND

※VINは7.5V-12Vの範囲で使用してください。

  • CN4/CN5 未使用

  • CN6 MOTOR1/CN7 MOTOR2

ピン番号 用途
1 MOTOR OUT1
2 MOTOR OUT2
3 未接続
  • CN8 アナログ入力
ピン番号 用途
1 +5V
2 GND
3 アナログ入力1
4 アナログ入力2

We Botではモーター制御にTexas Instruments社製 DRV8872を2個、バッテリーなどの電圧取得にTexas Instruments社製 TLA2024を一つ搭載しています。 本ライブラリではこれらデバイスの制御に以下のハードウエアリソースを使用しています。

GPIO

GPIOピン番号 I/O 用途
5 Out Enable
6 In FAULT
12 Out PWM1
13 Out PWM2
24 Out DIR1
25 Out DIR2

PWM周期は20KHzで動作します。

I2C

デバイス アドレス 用途
TLA2024 0x48 ADC(バッテリー電源、5Vライン、外部入力)

使い方

以下にサンプルコードを記載します。

from webot import WeBot

webot = WeBot()

webot.readVoltage(2)  # read Battery voltage
webot.readVoltage(3)  # read 5V line voltage

webot.forward(400)    # move to forward
webot.back(400)       # move to back
webot.left(400)       # turn left
webot.right(400)      # turn right
webot.stop()          # stop motor

webot.setSpeed(400,200)  # Set motor speed

API

本ライブラリのAPIを解説します。


enableMotor()

モータードライバを有効にします。

引数:なし 戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
webot.enableMotor()

disableMotor()

モータードライバを無効にします。

引数:なし 戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
webot.disableMotor()

getFault()

モータードライバのFAIL出力状態を取得します。

引数:なし 戻り値:int ( 0 正常/ 1 異常)

使い方

from webot import WeBot

webot = WeBot()
fault = webot.getFault()

setSpeedOffset( offset1, offset2 )

モータードライバの出力補正値を行います。 We-Botではモーターを2個使用していますが、モーターのばらつきにより、同じPWM出力値で電圧を出力しても、実際に回転数が一致しない場合があります。 そのような場合、このメソッドを用いて出力補正値を設定することで調整を行います。

引数: offset1 モーター1の調整係数(0.00-1.00) offset2 モーター2の調整係数(0.00-1.00)

戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
fault = webot.setSpeedOffset( 1.00, 0.99 )

setSpeed( speed1, speed2 )

モータードライバの出力を行います。

引数: speed1 モーター1の出力値(0 - 480) speed2 モーター2の出力値(0 - 480)

戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
fault = webot.setSpeed( 480, 480 )

setMaxSpeed(speed)

出力できる最大値を設定します。

引数: speed1 モーター1の出力値(0 - 480) speed2 モーター2の出力値(0 - 480)

戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
fault = webot.setMaxSpeed( 300 )

getMaxSpeed()

出力できる最大値を取得します。

引数:なし

戻り値:設定値

使い方

from webot import WeBot

webot = WeBot()
max_speed = webot.getMaxSpeed( 300 )

stop()

We-Botを停止します。

引数:なし 戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
webot.stop()

forward(speed)

We-Botを前進させます。

引数: speed 前進する速度 戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
webot.forward(480)

back(speed)

We-Botを後進させます。

引数: speed 前進する速度 戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
webot.forward(480)

left(speed)

We-Botをその場で左回転させます。

引数: speed 回転する速度 戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
webot.left(480)

right(speed)

We-Botをその場で右回転させます。

引数: speed 回転する速度 戻り値:なし

使い方

from webot import WeBot

webot = WeBot()
webot.right(480)

readVoltage( port )

ADCのアナログ入力の電圧値を取得します。

引数: port 取得する入力ポート指定( 0 - 3 ) 戻り値:取得した電圧値(単位はV(ボルト))

ポート番号と対応する入力は以下の通りです。

ポート番号 対応
0 アナログ入力1
1 アナログ入力2
2 バッテリー電圧
3 5V電圧

使い方

from webot import WeBot

webot = WeBot()
battery = webot.readVoltage(2)

故障などの場合

故障が疑われる場合や保守部品の入手などは問い合わせ窓口までお問い合わせください。 https://raspberry-pi.ksyic.com/info/index

About

KSY We-Bot Python Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages