AVRマイコンを使っていろいろやってみようという計画です。
今のところ大まかに作るものは2つ。
①測定用のオシロスコープ的なもの
②磁気浮上装置
①は②を作る際に使いそうなので作ります。
AVRマイコンのADCを使った簡易オシロスコープやデバッグ用のデジタル出力を測定するのが目的です。
②のコントローラもAVRマイコンで作ろうとしているので同型番のAVRマイコンをもう一つ用意して測定用に使えば②の測定装置としては十分ですね。
②に関してはデバッグ用に別途、PCへの出力機能も必要になってくると思います。
②は実際に動くものです。
センサにホール素子なり距測センサなりを使って支えのない永久磁石の位置を測定し、
電磁石で磁界を発生させ、永久磁石を浮かせようというものです。
Arduinoを使ったものはすでに例があるのでATMEGA328Pでも必ず実現可能です。
大学の授業ではArduinoとSimulinkを使って実現しようとしていました。
今回はソフトはすべて自分で作ります。
それと②に関してはオフライン制御を目指しています。
つまり制御にPCを介しません。
なので計算リソースがかなり制限されます。
浮動小数点計算は望めないです。
これでどの程度正確に制御できるかは腕の見せ所ですね。
開発環境は今のところ以下の通りです。
PC S/W:Visual Studio 2017 C#
AVRマイコンS/W:Atmel Studio C
マイコンプログラムライタ:自作ArduinoにArduinoISPスケッチを書き込み、avrdudeでターゲットマイコンへプログラムを書き込み
自作ライタはAtmel Studio上でデバッグできないのもあり少々不便かと思われます。
私は大学時代にライタを買うのをけちっていて自作ライタでなんとかやっていました。
DCモータ制御系は自作できたので磁気浮上程度なら自作ライタでも行けるでしょう。
以上です。
次回はマイコン-PC間通信手法を確立させます。