Custom Meta Tags
2503 Hero Banner

AMD製品に関連する技術ブログ

Long Copy

KR260でロボットアームを動かしてみた! (1)

皆さん、こんにちは。新人エンジニアの「ノリさん」です!今回はhttps://www.hackster.io/adam-taylor/kria-robotic-starter-kit-robotic-arm-90b02dを参考にKR260でロボットアームを動かすためのハードウェアデザインを作っていきます!ソフトウェアの作成は次回以降行うので楽しみにしておいてください!

2023-11-01

Long Copy_Body

Step0:ハードウェア要件

Step1: VivadoによるPynq用デザインの作成

Vivado を開いて新しいプロジェクトを作成します

ボード選択にてKR260が見つからない場合は、Refreshをクリックして、Robotics Starter Kit carrier card とKria KR260 Robotic Starter Kit をインストールします

次の図のようにConnectionからRobotic Starter Kit carrier を選択します

https://www.hackster.io/adam-taylor/kria-robotic-starter-kit-robotic-arm-90b02d を参考にデザインを作成します

Nextをクリックしていき、次の図のようになっていることを確認してFinishをクリックします

左側のメニューにあるCreate Block Design をクリックしてブロックデザインを作成します

上側のメニューにある+ボタンからZynq Ultra Scale MPSoC をデザイン上に追加し、Run Block Automation → Apply Board Preseにチェック → OKを選択します

+ボタンからTimerをデザイン上に追加し、Run Block Automation → All Automationにチェックが入っていることを確認 → OKを選択します

デザインの整形ボタンをクリックして、次の図のデザインになっていることを確認します

デザイン上でTimerを選択 → Ctrl + c でコピー → ペーストしたい箇所をクリックしてCtrl + vで貼り付けを5回行い、デザイン上のTimerが6個ある状態にします

Run Connection Automation → All Automationにチェックが入っていることを確認 → OKを選択します

pwm0を右クリックしてMake External を選択します

pwm0_0を右クリックして、External Port Properties を選択し、pwm0_0 の名前をpwm_0に変更します

他のpwmの名前も表1に合わせて変更します

表1. axi_timerと名前の対応

Hirarchy → DesignSourrces → bdファイル → Create HDL Wrapper を選択してHDL Wrapperを作成します

Hirarchyタブ → Constraints → constrs1 → Add sources を選択して制約ファイルの追加を行います

追加したxdcファイルを開きます

開いたxdcファイルに次を書き込みます(Pmodのピン番号はhttps://marsee101.blog.fc2.com/blog-entry-5847.htmlを参考にさせていただきました)

set_property PACKAGE_PIN H12 [get_ports pwm0]
set_property PACKAGE_PIN E10 [get_ports pwm1]
set_property PACKAGE_PIN D10 [get_ports pwm2]
set_property PACKAGE_PIN C11 [get_ports pwm3]
set_property PACKAGE_PIN J10 [get_ports pwm4]
set_property PACKAGE_PIN J11 [get_ports pwm5]
set_property IOSTANDARD LVCMOS33 [get_ports pwm0]
set_property IOSTANDARD LVCMOS33 [get_ports pwm5]
set_property IOSTANDARD LVCMOS33 [get_ports pwm4]
set_property IOSTANDARD LVCMOS33 [get_ports pwm3]
set_property IOSTANDARD LVCMOS33 [get_ports pwm2]
set_property IOSTANDARD LVCMOS33 [get_ports pwm1]

左側のメニューにあるGenerate Bitstreamを選択してBitstreamの生成を行います

Bitstreamが作成できたらハードウェアデザインの作業は完了です

感想

今回は初め、ハード開発とソフト開発を両方載せる予定だったのですが、想定以上にボリューミーになってしまったので、分割して載せることにしました。参考にしたハードウェアデザインのページは説明不足なところが多かったので少し苦労しましたね(笑)。次回はPynqでのPWMによるロボットアームの制御を行う予定です。それではまたお会いしましょう。See you next time!

 

 

2503 Grid Box Light - Blog

ブログ

AMDによる設計およびデバッグ手法のブログ、およびアヴネット社員によるAMD製品を用いた開発チャレンジのブログです。

2503 Grid Box Light - Kria

Kria

Kria SOMはアダプティブSoCデバイスを搭載しており、スマートカメラやエンベデッドビジョンなどに最適です。