工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

シンプルなパイロボット

Simple Pi Robotは、ロボット制御をシンプルな形にすることを目的としています。

Simple Pi Robotは、ロボット制御をシンプルな形にすることを目的としています。

パーツリスト

(1)Raspberry pi(任意のモデル)ですが、最近のpizeroまたはpi 2の発売が適切なオプションであるため、現在のモデルではB +を採用しています。

(2)40ピンGPIOケーブル(pi B +またはpi2を使用している場合)。

(3)ブレッドボード(さまざまなセンサーをすばやく組み立てるため)。

(4)2WDシャーシ。

(5)距離センサー(超音波HC SR04)。

(6)パワーバンク(piの電源を入れるため)。

(7)充電式電池AA(できれば2100mAH)。

(8)オスとメスの両方のタイプのジャンパー線、抵抗器。

(9)WiFiアダプター(piとワイヤレスで通信するためのEDUP / EDIMAX)。

(10)メモリカード(piでOSを実行するための4GB以上)。

(11)モータードライバー(L298)。

(12)サーボモーター。

(13)その他–ケーブルタイ(ジャンパー線を結ぶため)およびフォームテープ(サーボまたはネジアセンブリを使用できないその他のセンサーを保持するため)

ステップ1:モータードライブシールドの選択

現在、ラズベリーパイに使用できるモータードライブシールドはほとんどありません。たとえば、次のようになります。-

(1)RTKモーターコントローラーシールド

(2)RaspberryPi用のPololuDRV8835デュアルモータードライバーキット

(3)RaspberryPi用のAdafruitDCおよびステッピングモーターHAT

(4)Adafruit製のRaspirobotボード

ZEROBORGのような最近開発が進んでいない

ロボットを構築する際の最も一般的な問題の1つは、配線要件を最小限に抑えることです。これは、シールド/帽子を使用することで実現できます。最初に、製造元ALSROBOTのRaspirobotに相当するシールドの1つを使用して、ロボットを作成してみました。キットは中国から出荷されますが、問題はモーターの入力電圧を上げることができなかったことです。最大値は5ボルト未満で、電圧間にわずかな不均衡がありましたが、それでも次のリンクを確認できます– ALSROBOT –PIモータードライバーシールド

とにかく、私の現在のチュートリアルでは、安価で用途の広いL298モータードライバー–L298を使用しました。

上記のボードの利点は、安価であることに加えて、調整された5ボルトの出力が利用できることです。

L298ボードを使用して2つのDCモーターと1つのサーボモーターを駆動しました。

ステップ2:L298モータードライバー

シャーシの下部にL298モータードライバーを取り付けました。これで、DCモーターとサーボモーターを接続します

(i)DCモーター-Aから出力-A(+&-)。

(ii)DCモーター-Bから出力-B(+&-)。

(iii)L298ボードのサーボモーター+ ve〜 + 5V調整電源およびL298ボードのGNDへのサーボモーター-ve。

速度制御が必要ない場合は、イネーブルピンジャンパーをそのままにします。それ以外の場合は、ジャンパーを取り外します。ジャンパーが所定の位置にあると、+ 5Vの電源が確保され、ピンが定格速度でモーターを駆動できるようになります。

次に、4つのnosジャンパー線を制御入力に接続し、次の手順で指定されているように、ジャンパー線のもう一方の端をGPIOピンに接続します。

サーボモータの場合は1つ接続してください。次のステップのようにGPIOピンに制御するためのジャンパー線

ステップ3:サーボモーター

サーボには、電源、アース、制御の3線式接続があります。電源は常に供給している必要があります。

制御信号はパルス幅変調(PWM)ですが、ここでは正方向のパルスの持続時間がサーボシャフトの位置を決定します。たとえば、1.520ミリ秒のパルスがFutabaS148サーボの中心位置です。パルスが長いとサーボが中心から時計回りに回転し、パルスが短いとサーボが中心から反時計回りに回転します。

私はFutubas3003サーボを使用しました–接続は非常に簡単です。「+」と「-」は、前に概説したようにL298ボードに接続されます。サーボの動作電圧(私の場合は4.8〜6 Vは上の画像を参照)を確認することが重要です。信号線はGPIO出力(通常は白またはオレンジ)に接続されます。

ラズベリーパイでサーボモーターを制御するのは難しいかもしれませんが、@ RPIO.PWMでホストされている非常に強力なライブラリがあり、パイにインストールするには、次のコードを使用します。

  sudo apt-get install python-setuptoolssudo easy_install -U RPIO  

RPIO.PWMと使用されるDMAの詳細については、リンクを参照してください。 https://pythonhosted.org/RPIO/pwm_py.html

ステップ4:ロボットのシャーシ

私は2WDのEllipzoRobotシャーシを使用しましたが、2WDはシンプルで制御が簡単です。

キットには、DCモーター、サーボモーター用のパンキット、およびキットを組み立てるために必要なすべてのハードウェアが含まれています。

詳細なリンクは、EllipzoRobotのchaisisキットで入手できます。

Pl。 L298モータードライバー、ブレイクアウトボード、カメラモジュール、パワーバンクとともに、RaspberryPiの組み立てについてはビデオを参照してください。

ステップ5:距離センサー

距離センサーの統合は簡単で、ジャンパー線と一緒に1kの抵抗器が必要です。 VCCとGNDをそれぞれpi + 5VoltsとGNDに接続します。

他の2つのピンTRIGとECHOは、前の手順と同様にGPIOピンに接続されます。画像のように抵抗を接続することを忘れないでください。

距離を測定するPythonコードは、最後のステップに含まれています。

ステップ6:Raspberry Pi -camera –VLCプレーヤーを使用したビデオストリーミング

>

ここではPiカメラモジュールを使用しました。セットアップは非常に簡単で、リンクを参照できます:Raspberry pi Camera setup

ビデオストリーミングの場合、VLCではラズベリーパイにVLCをインストールすることから始めます

  sudo apt-get install vlc  

RTSPを使用してカメラビデオのストリーミングを開始するには、次のように入力します

  raspivid -o --- t 0 -n | cvlc -vvv stream:/// dev / stdin --sout '#rtp {sdp =rtsp://:8554 /}':demux =h264  

または適切な幅と高さで次のコードを使用します

  raspivid -o --- t 0 -n -w 600 -h 400 -fps 12 | cvlc -vvv stream:/// dev / stdin --sout '#rtp {sdp =rtsp://:8554 /}':demux =h264  

を使用してネットワークストリームを開くよりも、リモートシステムでVLCを開いてVLCプレーヤーでストリームを表示します。

rtsp://###。###。###。###:8554 /

ここで、###。###。###。###は、ネットワークルーターによって指定されたpiのアドレスです。

これで、piが家の中を移動するときに、リモートシステムのビデオストリームが表示されます。

ステップ7:Raspberrypiのピン配置とPythonコード

ステップ8:いくつかのアセンブリイメージ

コード

 from RPIO import PWMimport RPi.GPIO as GPIOfrom RPIO import PWMimport RPi.GPIO as GPIOimport timefrom time import sleepfrom subprocess import callGPIO.setmode(GPIO.BCM)GPIO.setup(19、GPIO .OUT)GPIO.setup(26、GPIO.OUT)GPIO.setup(16、GPIO.OUT)GPIO.setup(20、GPIO.OUT)GPIO.setup(21、GPIO.IN)GPIO.setup(8、GPIO .OUT)GPIO.setup(27、GPIO.OUT)GPIO.setup(9、GPIO.OUT)TRIG =18ECHO =17print "controls" print "1:前進" print "2:後退" print "3:停止robot "print" 4:ユーザー定義の名前で写真を撮る "print" 5:速度制御で前進 "print" 6:ロボットを回転させる "print" 7:ロボットを回転させる "print" 8:サーボ制御のために "print" 11:自律制御へようこそ "print" Enterキーを押してコマンドを送信 "def takestillpic(inp):print"写真の文字を入力してください "inp =raw_input()call([" raspistill -vf -hf -o "+ str(inp) + ".jpg"]、shell =True)def fwd():GPIO.output(19、True)GPIO.output(26、False)GPIO.output(16、True)GPIO.output(20、False)def rev (): GPIO.output(19、False)GPIO.output(26、True)GPIO.output(16、False)GPIO.output(20、True)def stop():GPIO.output(19、False)GPIO.output(26 、False)GPIO.output(16、False)GPIO.output(20、False)def distmeas():print "進行中の距離測定" GPIO.setup(TRIG、GPIO.OUT)GPIO.setup(ECHO、GPIO.IN )GPIO.output(TRIG、False)print "センサーが落ち着くのを待っています" time.sleep(2)GPIO.output(TRIG、True)time.sleep(0.00001)GPIO.output(TRIG、False)while GPIO.input (ECHO)==0:pulse_start =time.time()while GPIO.input(ECHO)==1:pulse_end =time.time()pulse_duration =pulse_end --pulse_start distance =pulse_duration * 17150 distance =round(distance、2) print "Distance"、distance、 "cm" if distance <50:GPIO.output(19、False)GPIO.output(26、False)GPIO.output(16、False)GPIO.output(20、False)time.sleep (1)「距離が短いためロボットが停止しました」と印刷しますprint "Now Robot going Backward" GPIO.output(19、False)GPIO.output(26、True)GPIO.output(16、False)GPIO.output(20、True)time.sleep(1)GPIO.output(19 、False)GPIO.output(26、False)GPIO.output(16、False)GPIO.output(20、False)TLr()time.sleep(4)fwd()distmeas()else:distmeas()def TL( ):GPIO.output(19、True)GPIO.output(26、False)GPIO.output(16、False)GPIO.output(20、False)def TLr():GPIO.output(19、True)GPIO.output (26、False)time.sleep(0.75)GPIO.output(19、False)GPIO.output(26、False)while True:inp =raw_input()if inp =="1":fwd()print "ロボットの移動in fwd direction "elif inp ==" 2 ":rev()print"ロボットがrev方向に移動 "elif inp ==" 3 ":stop()print"ロボットが停止しました " elif inp =="4":takestillpic(inp)print "photo please" elif inp =="5":GPIO.output(7、False)GPIO.output(8、False)elif inp =="6":TL ()elif inp =="7":TLr()elif inp =="8":servo =PWM.Servo()servo.set_servo(27,1000)time.sleep(2)servo.stop_servo(27)elif inp =="9":サーボ=PWM.Servo()servo.set_servo(27,1500)time.sleep(2)servo.stop_servo(27)elif inp =="10":サーボ=PWM.Servo()サーボ。 set_servo(27,2000)time.sleep(2)servo.stop_servo(27)elif inp =="11":fwd()distmeas()GPIO.cleanup()

出典:Simple Pi Robot


製造プロセス

  1. ファナックサーボモーター修理の専門家
  2. エキスパートシーメンスサーボモーター修理
  3. サーボモーターの修理とトラブルシューティングのヒント
  4. サーボモーター付きロボット回避障害物
  5. Joy Robot(RobôDaAlegria)
  6. 超クールな屋内ナビゲーション用ロボット
  7. サーボモーションによりロボットの動作が向上
  8. サーボモーター用遊星ギアボックスの美しさ
  9. サーボモータとは
  10. サーボモータ減速機とは
  11. ギアヘッドとサーボ モーターのペアリング