コンテンツへスキップ

概要

研究室に転がっていた古い扇風機を分解したよという日記.全体的にほこりっぽいのでご注意ください.

分解

いらすとや
扇風機

もともとの写真は撮り忘れました.

土台

回路
台の中には回路.予想どおり.

中からは回路.ブザー.スイッチ,コントローラ. トランジスタはインバータ?3つで出来るんだっけ?何用なのかよく分かりませんでした.

回路のアップ
回路.

モータ

モータの部分はくまとりだと思ってたら三相誘導式ぽくて感動.ボロボロのわりにちゃんとしてる.

ステータ正面
ステータ正面. 厳つくてテンション上がりました.
ステータ横から
ステータ横から.
ロータ
ロータ.

太い円柱になっている部分がちょうどステータにはまるブラシレスモータだったらしい.周りのコイルが三相磁界を発生させる.

首振り機構

首振り上から
上からの首振り機構.水平に伸びるギアはシャフトに繋がっている.

首振り機構の動力もモータから取っていました.モーターシャフトに繋がったギアが回転し,

首振り後ろから
後ろから見た首振り機構.

裏側のギアが回転し,

首振り横から
横から見た首振り機構

台に固定された金具によって首が振れます.電子制御されていないのに巧く出来ている物をみると感動しますね.

誘導モータって?

誘導モータとは回転磁界を作ってモータを回すタイプのモータです.

例としてアゴラの円盤がわかりやすいです.

誘導電動機の基本原理,アラゴの円盤,等価回路,主な構造 -公益社団法人 日本電気技術者協会

磁束は鉛直下向き,回転は反時計回り,渦電流は進行方向側が反時計,進行方向と逆側は時計回り.
アラゴの円盤 (青矢印: 磁石移動方向,
赤矢印: 磁束方向, 黄色矢印: 電流方向)

地面に水平な円盤と、円盤の中心を通る垂直な軸があるとします.磁石を軸の周りに(時計回りに)動かしていくと,磁束が円盤を切ることになります.

電流は円盤中心から外側へ向く向きに流れる.
電流方向

このとき,磁石の進行方向(青矢印)側は磁束が近づいてくるので,右ねじの法則からそれを打ち消す向き,すなわち反時計回りに渦電流が流れます.逆側は逆に磁束が遠ざかっていくので,時計回りの渦電流が流れます.結果,図のように電流が流れます.

フレミング左手の法則
緑矢印: 力方向,黄色矢印: 電流方向,
赤矢印: 磁束方向

この状態でもやはり磁束は上から下へ向かうので,円盤はフレミング左手の法則に従って磁石の移動方向と同じ方向に力を受けます.

実際には磁石を回すのではなく磁界だけを回せば(回転磁界)円盤を回転させられます.誘導モータは同じように動きます.

交流電流による回転次回発生の仕組み -公益社団法人 日本電気技術者協会

三相誘導モータとくまとりコイル型単層誘導モータとは?

回転磁界を発生させるためには,磁束方向が3方向あるといい順番に磁束を発生させればいいだけだから,というのが三相です.

でも写真のようにコイルを複雑に取り付ける必要がありますし,回転磁界を作るために多少複雑なインバータが必要になります.

三相モータのコイル

もっと単純にしたい,そんなとき,「単相の正弦波でも回転に見えなくもないじゃん」ということで使われるのが単相誘導モータです.これでも問題無く回転しますが,単体ではスタート回転(始動)ができません.そこで様々な方法がありますが,その一つがくまとりコイルを取り付ける方法です.

くまとりコイルがある部分はスタート時に短絡電流が流れて,磁界に遅れが生じ,始動トルクを発生できます.

誘導電動機の単相誘導電動機、誘導発電機 -公益社団法人 日本電気技術者協会

日記なのでまとめとか特にありませんが

厳つくてかっこいいですね.一回ちゃんとしたモータを設計してみたいんですけど,がっつりしたコイルとか磁心鉄心を個人で発注するのは厳しいものがありますね.アラゴの円盤,授業でやったのは1年半位前,本で読んだの半年前なんですけど,2回やったのにあんまり覚えてませんでした.無念.

あと図がパワポというのも負けた気分です.もっと格好いいイラストを用意したかったんですが,楽に素早く書くなら結局慣れてるツールを選んでしまいますね.

2

年末なので今年の振り返り&目標再設定記事を書きます。ポエムです。

本記事は「IGGG Advent Calendar 2019」の13日目の記事(ポエム)です。

現在の目標は明らかに限界ですので、年末ですし目標再設定記事を書きます。

今年やった事

  • python boot camp参加=>記事へ
  • 研究(pythonもジュールezdxfを使ってDXFを自動生成するやつを作った。記事にしていない)
  • 研究(上記に関係。KiCADをかなり使い込んだ。)=>記事
  • 振動や力学の本を読んだ。機械学習の勉強を始めた。=>BOOK REPORT
  • At coderに登録した。
  • その他細々とした活動

ブログやプログラミング関係のことはこんなものです。全然やってねぇ。

これまで

週一更新を目標にしてやってきました。

内容に関しては、これまでの方針など=>イノマタの趣味部屋とは。要約すると、ロボットを個人で作るしアプリも作るのが目標、ということを言っています。

一応今まで、ドローンの姿勢制御のような部分を意識して勉強を進めてきました。電気科なので、ロボットを作ろう、というなかでコアにする技術はモータの性能や制御にしようと思っていました。これに関して知識がまだまだなのは明らかです。

それに加えて、最近では力学の勉強をすすめてきました。私の大学の電気科は全然力学をやりません。なので独学で力学、流体、熱、統計は一通りおさえていきたいと考えています。勉強を進めて来まして、解析力学や逆運動学をぼちぼち勉強中。また、ブームに乗っかり、少しづつ機械学習の基本的な部分を勉強中であります。

結果

明らかに多岐にわたりすぎていて無理です。アイアンマンじゃなきゃ無理。

具体的には作業時間不足です。深いところまでできないので、やってみた系、始め方系の記事が多かったです。

勉強は果てしないことがわかりましたし、ロボットは個人で作るものじゃないような気がします。迷走。

ほんとは何がしたいの?

先日アクアマンをみました(おすすめです=>amazon prime video) 。作中では、水中都市アトランティスや広大な海の景色がめちゃくちゃ美しい。空を飛んでいるように泳ぐ姿(ドラゴンボールの武空術に近いです)で思い出しました。

結局私が一番やりたいことは、飛行物体を作って飛び回ることです。そのことを思い出したことで、軌道がずれてきていることはっきりしました。これがなかなか致命的なレベルになってきたことを自覚したので、再設定を公開するべき時だなということになりました。

これから

今後もロボっぽいものを作るのはあきらめません。

解析力学やロボット工学の勉強をしてきて、なんとなく方向性が見えてきました。今後は、

まず、モータ、制御、機械学習をそれぞれ学部生が勉強できる範囲で勉強。加えて4力(材料はあとで?)と、ノンホロノミック系に手を出したい。数学がダメなので時間をかけてちゃんと勉強したいです。

そして、それを使って何か現実的に作れる目標が必要。なので当面の目標機体は水中ロボットを目指して行きたいと思います。あと、磁気浮上装置を作成したいと思っています(大学の研究の内容)。

必要なもの/何をブログにするのか

今後の記事は、主に2種類

  • おすすめの参考書
  • 作ったもの(これまでどおり)

参考書に関して

これまで少しずつ本の紹介記事も書いてきました。これは、勉強に次官を取られて記事をかけず苦し紛れにかいていた側面がありました。一方で、現在独学で勉強している身としては、何を読んだらいいのかわからないという問題がありました。

独学で勉強するなかであってうれしかった情報というのが、例えば力学や制御の簡単な本を読んでいたとき(振動の本)、次は解析力学や~~~がいいですよ、書いてあったことです。検索ワードが分からないうちは手も足も出ませんでした。

加えて、専門書って基本高いじゃないですか(とくに学生には)。それに、amazonレビューでは、この本はわかりにくい、などと書かれていたとして読者がミスマッチだったのか本当に説明が微妙なのかわからないじゃないですか。これの内容はこういうものだ、ということが、現在勉強している学生の目線で分かるのは、読者の皆様にとって有益なのではないでしょうか。

と言うわけで、今後は本のレビューを増やします。

まとめ

毎週の更新は無理です。毎週更新は完全に諦めます。

想定していたよりはるかに深い部分の理論を利用した小型ロボットを作成する方向に注力し、様々な挑戦の様子を記録します。

同じように個人でロボットを作りたいと考えている方が、独学で勉強する指標にできるように専門書のレビューを書き溜めていきたいと思います。加えて、大したことない人間がコツ事勉強を進めている様子が、誰かの勇気になれば嬉しです。

作りたいものを作る、までのステップを書いていきます。先は長そうですが、参考になる部分があればうれしいです。

python boot campに参加したので、内容、スケジュール、感想を書きました。また、pythonの実装方法について調べたこともまとめています。

2019/11/2にpython boot campに参加してきました。

目次

  • python boot camp とは
  • 内容
  • あとで調べたこと
  • 感想

python boot camp とは

python boot camp

PyCon JPではこれまでも年に1回東京で開催されるPyCon JPイベントでPythonを学べるチュートリアル講座を開催してきました。 今回は、以下のような人たちにPythonを知ってもらえる機会を提供できたらという思いで、Python Boot Camp(略してPyCamp)を企画しました。

python boot camp -connpass

主催は一般社団法人PyCon JP。

Python boot camp -PyCon JP

内容

スケジュール (全体13:00~17:00)

  • 13:00~15:00 文法、データ型
  • 15:10~16:50 ファイル入出力とモジュール、スクレイピング
  • 16:50~ アンケートと写真撮影

下記参照のチュートリアルのうち、いくらか飛ばしてさくさく進めて行きました。

Python Boot Camp Text 2016.04.28 ドキュメント

あとで調べたこと

質疑応答の中で「cで実装されたpythonとjavaで実装されたpythonと、あとmicropythonとか、pythonで実装されたpythonがあって」というようなことを言っていて「!!??」となったので調べました。

pythonには実装形式が異なる様々なバリエーションがあるようです。

Cpython: C言語で実装されたPython

標準の処理系で、pythonの仕様を表したソフトウェアと言えます。計算はあまり早くありません。

Jython: Javaで実装されたPython

JVM(Java Virtual Machine)上に実装されたJavaなどの言語のメソッドが簡単に使えます。 ちなみに、Javaは仮想マシンJVM上で動きます。これによってOSに依存せず動きます。

ただし、Python3には対応してないみたいです。 =>News -Jython

IronPython: C#で実装されたPython

.NET FrameworkとPythonライブラリを使用でき、他の.NET言語はPythonコードを使用できます。

IronPython2.7はpython2.7対応。python3系対応バージョンは開発中らしいです。

PyPy: Pythonで実装されたPython

Python言語(2.7.13および3.6.9)で実装された言語。Just-in-Timeコンパイラによって、大規模なPythonコードを省スペースで高速に実行できます。

micropython: マイコン上で動くように作られたpython

マイクロコントローラー上および制約された環境で実行するように最適化された言語です。python3で実装されています。非常にコンパクトです。

Cython: pythonっぽいコンパイラ言語

Pythonプログラミング言語と拡張Cythonプログラミング言語の両方に最適な、言語兼コンパイラーです。Python自体と同じくらい簡単に、Python用のC拡張機能を記述できます。

Cythonの処理系ではソースファイルをCのコードに変換し、コンパイルするとPythonの拡張モジュールになるようにして出力します。

所感

pythonはグルー(のり)言語と言われているように、様々な言語と連携して使用することを目指して開発されているという印象です。しかし、python3系に対応しきれていないものが複数あり、python2からpython3になった当時の衝撃の鱗片を感じました。

.NETやマイコンでも使えるというのは興味があるので、ぼちぼち勉強してみたいなと思います。

参考

次に読みたい

[Cython ―Cとの融合によるPythonの高速化] O'Reilly Japan Kurt W. Smith (著), 中田 秀基 (監修), 長尾 高弘  (翻訳)

[退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング] O'Reilly Japan Al Sweigart  (著), 相川 愛三 (翻訳)

Automate the Boring Stuff with Python

[ハイパフォーマンスPython] O'Reilly Japan Micha Gorelick (著), Ian Ozsvald (著), 相川 愛三 (翻訳)

感想

事前に記法はprogateでやった後、科学技術計算の本を読み終えていた。そのため、 参加する前に基本文法 モジュールのインポートやフロー制御は分かっていた。 また、DXFデータ(CAD用のデータ)の出力を自動化することができていた。(しばらくしたらブログ化する予定)

前半の内容はほぼ知っていたことだったが、集合setやタプルの使用シーンなどの細かい部分を改めて勉強することは有益だった。また、モジュールをインストールする環境を仮想環境venvにしておくことで、モジュールのバージョンが上がっても過去のモジュールが使用でき、過去のモジュールでしか上手く使用できないようなAPIを上手く使える、というような知恵も得られた。また、CpythonやJython, micropythonなどのように様々な方法で実装されたバージョンがあることが分かり、実装方法に興味がわいた。

エラーが出てもすぐに聞けるため、時間的なコスパは移動時間を含めてもかなり良かったのでは無いかと思う。また、参加やのほとんどはある程度pythonを自学していたり多言語を触ったりしたことがある人が多かったためか、作業中よりも質疑に対する回答が大変ためになった。全体的に、学びが多い勉強会だった。

この場で感謝申し上げます。ありがとうございました。