山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名 メカトロニクス工学実習III
時間割番号 TJM223
担当教員名 丹沢 勉/西崎 博光/牧野 浩二
開講学期・曜日・時限 後期・木・III-IV 単位数 2
<対象学生>
(未登録)
<授業の目的>
現在では家電製品,自動車などの工業製品のほとんどはマイクロプロセッサを内蔵している。したがって,工業製品の開発・設計を行う技術者にとってマイクロプロセッサによる機器等の制御の知識は必要不可欠である。本授業では,マイクロプロセッサによる制御の基本的な手法を理解することを目的としている。そのため,実際にマイクロプロセッサ基板を用いて,スイッチ,タイマ,A/D,モータなどの周辺回路の制御法などを習得する。さらに,本授業の中盤では、習得した知識を基にして自走形ライントレースロボットを製作する。各自,どうすれば速いライントレースロボットができるかを考え,自分の力でロボットを製作し,プログラムを作ることが重要である。これにより,デザイン能力,マイコン技術などを学ぶ。
本授業の終盤は,UNIX系OSとしてLinuxについて学ぶ。近年では,サーバだけではなく,組込み機器やエッジコンピュータ(例えばRaspberry Piなど)にもLinux OSが搭載されはじめている。これからのメカトロニクス技術者は,Linux OSを扱えるようにならなければならない。そのため本授業において,Linux OSの基礎的な操作方法,Linuxでのソフトウェア開発について学ぶ。
<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
工学部>メカトロニクス工学科向け
記号コンピテンシー(能力・資質) 
JM-A専門2.三分野での活躍を目指す技術者・研究者にとって必要な基礎知識と技術基本的な電気回路の動作を理解したうえで、回路図の読み書きと、それに基づく電子回路の製作ができる。
JM-BC言語による基本的(データ型、制御構造、関数等)なプログラムが作成でき、組込み用マイコンの基本的なI/O制御プログラムをマイコンの概要と動作の理解の上で作成できる。
JM-C3.三分野のうち、一つ以上のより専門的な技術と知識。少なくとも一分野の技術と知識を十分に身につけ、さらに一つ以上の分野の技術と知識も身につける。3.情報分野コンピュータのアーキテクチャ(構成様式)と動作原理が説明できる。
JM-D組込みシステムにおいて、ソフトウェアを開発することができる。
JM-E4.三分野の知識を利用した分野をまたがった活用アーキテクチャ、ハードウェア、プログラミング、電気信号、電子回路、センサ、アクチュエータ、機構、材料、等の関連性を考慮した上、総合的な設計をして製作ができる。
<到達目標>  到達目標とは
目標NO説明コンピテンシーとの対応
JM
1組み込み用マイクロプロセッサの概要について説明できる。JM-A
2組み込みプログラムの開発環境を利用できる。JM-D
3マイクロプロセッサの働きを説明できる。JM-C
4基本的な電子部品についての知識を持つ。JM-A
5フォトインタラプタの原理,使用法についての知識をもつ。JM-B
6モータやセンサとマイコンとのインターフェースを理解し,プログラムを作ることができる。JM-B
7組み込みプログラミングをつくり実際に動作させることができる。JM-E
8ライントレースロボットを自らの力で設計し,組み立てることができる。JM-E
9最終回に開催されるロボットコンテストの企画,準備,運営など社会性を必要とすることを身に着ける。JM-D
10開発環境としてよく用いられるLinux OSの基本操作,開発ができる。
<成績評価の方法>
目標No割合評価の観点
15%レポート課題によって評価する。
25%レポート課題によって評価する。
35%レポート課題によって評価する。
45%レポート課題によって評価する。
55%課題の実装とレポートによって評価する。
610%課題の実装とレポートによって評価する。
710%課題の実装とレポートによって評価する。
815%作成したロボットの実走性能とレポートで評価する
915%ロボットコンテストで評価する
1025%レポート課題によって評価する。
合計100% 
<授業の方法>
理解しているべき予備知識
・初歩的な電気回路
・C言語プログラミング
・組込み設計で学んだコンピュータの構成,機械語などについての基礎的な知識
組込み設計を履修していることが望ましい.(組込設計で使用したマイコンボードを使用します)
<受講に際して・学生へのメッセージ>
(未登録)
<テキスト>
(未登録)
<参考書>
(未登録)
<授業計画の概要>
1タイトルC言語によるマイコンプログラミング(1)C言語の復習,環境構築 変数 バイトオーダ
事前学習
事後学習
事前学習:C言語の復習
事後学習:演習問題
授業内容1.C言語によるマイコンプログラミング(1)環境構築 簡単なIO入出力 書込み
 2.C言語によるマイコンプログラミング(2)構造体 共用体
 3.ポテンショメータ角度のA/D による取得
 4.2相パルスエンコーダによる角度の取得(1,2,4逓倍)
 5.タイマー割り込み
 6.ソフトウェアによるチャタリング対策
 7.周波数の変更(音楽)
 8.PWMによるモータ制御
 9.ライントレースロボットの制作及びプログラミング製作
10.ライントレースロボットの製作及びプログラミング( 調整・動作確認 )
11.ライントレースコンテスト
12.LINUX環境の使い方(1)(インストール及び ファイル・階層)
13.LINUX環境の使い方(2)(基本的なファイル操作のコマンド)
14.LINUX環境の使い方(3)(圧縮・解凍 シェルスクリプト)
15.LINUX環境の使い方(4)(レポート課題)
2タイトルC言語によるマイコンプログラミング(2) ポインタ 構造体 共用体
事前学習
事後学習
事前学習:1回の授業内容の復習
事後学習:演習問題
授業内容マイコンプログラミングで用いる IOへのポインタを用いたアクセス,構造体,共用体について説明でき,実際にプログラムできるようになる.
3タイトルポテンショメータ角度のA/D による取得
事前学習
事後学習
事前学習:1~2回の授業内容の復習
事後学習:演習問題
授業内容ポテンショメータによる角度取得の原理を理解する.
マイコンを用いて角度を取得する手法を学習する.その際使用するADCの原理・精度・使用法を理解する.
4タイトル2相パルスエンコーダによる角度 の取得
事前学習
事後学習
事前学習:1~3回の授業内容の復習
事後学習:演習問題
授業内容2相パルスエンコーダによる角度の原理を理解する.
マイコンを用いてエンコーダからの信号と取り込み角度を取得できるようになる.
5タイトルタイマを用いて指定した時間だけ正確に待つ
事前学習
事後学習
事前学習:1~4回の授業内容の復習
事後学習:演習問題
授業内容マイコンのタイマの基本的動作原理を理解する.
実際にタイマーを用いて,指定した時間を毎にLEDを点滅させることができる.
6タイトル指定周波数信号の生成
事前学習
事後学習
事前学習:1~5回の授業内容の復習
事後学習:演習問題
授業内容マイコンのタイマを使用して,指定周波数信号の生成原理を理解する.
実際にタイマーを用いて,指定した周波数信号を生成し,スピーカから音階として出力できる.
7タイトル一定時間ごとに割込みをかける
事前学習
事後学習
事前学習:1~6回の授業内容の復習
事後学習:演習問題
授業内容マイコンの割込み処理の動作を理解する.
タイマー割込みを使用したプログラミングができる.
8タイトルチャタリング除去
事前学習
事後学習
事前学習:1~7回の授業内容の復習
事後学習:演習問題
授業内容SWで発生するチャタリングの発生原理を理解する.
マイコンで用いられるチャタリング除去手法の原理を理解し,実装できる.
9タイトルPWMを用いたモータ制御
事前学習
事後学習
事前学習:1~8回の授業内容の復習
事後学習:演習問題
授業内容モータドライバの必要性と動作原理に理解する.速度制御のためのもちいるPWMについて理解する.実際にマイコンボード上で実装し,モータの回転方向,速度制御ができるようになる.
10タイトルライントレースのラインを検出するセンサと車体制御
事前学習
事後学習
事前学習:1~9回の授業内容の復習
事後学習:演習問題
授業内容ライントレースで使用するフォトトランジスタの動作を理解する.センサ情報に基づいてラインをトレースするための車体の制御方法を理解,実装する
11タイトルライントレースロボットコンテスト
事前学習
事後学習
事前学習:1~10回の授業内容の復習, コースに合わせたロボットの調整
事後学習:演習問題
授業内容自身の作成したロボットの工夫点などを説明する.実際のコースでロボットを実走させるとともに,他の学生のロボットを評価する.
12タイトルLinux演習その1 ~Linux OS,ファイル操作等~
事前学習
事後学習
事前学習:12~14回の授業内容の復習
事後学習:演習問題
授業内容Linuxを含めたOSの種類について認識・理解し,OS,特にLinuxについて説明することができる。また,OSにおけるファイル,階層(ディレクトリ)構造などを理解し,シェルコマンドによってファイルやディレクトリが操作できるようになることを目標とする。
13タイトルLinux演習その2 ~シェルスクリプト~
事前学習
事後学習
事前学習:第12回の授業内容の復習
事後学習:演習問題
授業内容ファイルの圧縮や解凍方法について理解し説明でき,シェルコマンドによってそれを実行できるようになる。また,シェル変数や標準入出力について理解し説明ができ,シェルコマンドのパイプラインの組み合わせによって簡単な機能を実装できるようになることを目標とする。
14タイトルLinux演習その3 ~Linuxでのプログラミング開発~
事前学習
事後学習
事前学習:第12~13回の授業内容の復習
事後学習:演習問題
授業内容シェルスクリプトによるシェルプログラミングを理解し,シェルスクリプトが書けるようになること,加えてC言語で簡単なプログラムが開発できるできるようになることを目標とする。
15タイトルLinux演習その4 ~まとめと演習課題~
事前学習
事後学習
事前学習:第12~14回の授業内容の復習
事後学習:レポート作成
授業内容第12~14回目の授業内容の総括として,Linuxの基本操作,Linuxでの開発についての理解度を問うレポート課題に取り組むことで,Linuxでの基礎的な操作,開発ができるようになることを目標とする。
<実務経験のある教員による授業科目の概要>
企業において,組込システムの開発を行っており,その経験から,組込システムに特有なプログラミングの考え方,デバッグ方法などについて指導する.
<備考>
(未登録)