東京工業大学 ロボット技術研究会

東京工業大学の公認サークル「ロボット技術研究会」のブログです。 当サークルの日々の活動の様子を皆さんにお伝えしていきます。たくさんの人に気軽に読んでもらえると嬉しいです。
新歓特設ページ        ロボット技術研究会 HP        ロボット技術研究会 twitter公式アカウント

id研

「ロボット技術研究会」通称「ロ技研」は、その名前の通りロボットの制作や研究はもとより、電子工作や機械工作、プログラミングなどの幅広い分野にわたるものつくり活動を行っています。

カテゴリ一覧: loading

ミュージックサーバーにツイート機能を付ける

井土です。

約一年前に部室で稼働を始めたRapberry Piで作ったミュージックサーバー ですが、
構成を変えたりケースを作ったりして進化をしてます。
部室BGMサーバーということでロ技研部室にBGMを流す役割を担っています。

45

Raspberry Pi 2が発表されましたが、B+でもないRaspberry Pi Bです。

その部室BGMサーバーに新たに再生している曲名をつぶやく機能を追加しました。
こんな感じで曲が変わると新しい曲の曲名とアーティストをどんどんつぶやきます。
 
 46

案の定おたくソングbotになってしまいました。


◯なぜ作ったのか
部室で何か曲が流れている時、「これなんて曲だっけ」とか「誰の曲?」みたいな会話をよく聞きます。
そこで曲名をどっかに表示しようと考えました。
そんなとき、偶然友人が携帯で再生している曲を
「曲名/アーティスト #nowplaying」
の形式でツイートするアプリを使っているのを目にしました。

これはいいなと思い、部室BGMサーバーにも曲名をツイートする機能をつけようと思ったわけです。


◯ツイート機能の実装
基本的にPythonで

曲名を取得する
ミュージックサーバーとしての機能はMPDを使っていて、
外部からの再生制御は全てTCPでコマンドなどを文字列として送ってやればいろいろできます。
詳しくはここに書いてあります。 http://www.musicpd.org/doc/protocol/index.html
デフォルトではポート6600を使用しているので、ポート6600にtelnetなどで接続をすると
「play」や「stop」など、わかりやすい文字列のコマンドを打つだけで再生制御ができます。
実は一般的なMPDクライアントはこの機能を利用してみたいです。
なのでソケット通信ができたらオリジナルなMPDクライアントは案外簡単に作れそうです。

話を戻しますが、コマンドの中には再生中の曲を取得するようなコマンドもあるのでそれを使いました。
ソケットを使ってそのあたりの通信をしてくれるライブラリ(python-mpd2)が
偶然見つかったので今回はそれを使いました。
数秒に一回再生中の曲名を取得し、変化があったらつぶやく
やるべきことはそれだけです。


ツイートする
pythonで簡単にtwitterを扱うライブラリはいくらかあります。
その中でも今回はtweepyを使いました。
リプライを受けたりTLの文字列を拾ったりは一切せず、つぶやくだけなのでとても簡単です。


デーモン化する
勝手に裏で起動して、ずっと走っててくれて欲しいのでデーモン化します。
本来はforkして片方をexitしてforkして...などとしないといけないのですが、pythonにはそのあたりをよく知らなくてもデーモン化してくれる便利ライブラリがあります。
python-daemon です。
ちょっと書き加えるだけで簡単にdaemonとして動くものが作れます。

また、raspberry piを起動した時にこのデーモンも自動で起動して欲しいのでinit.dにスクリプトを追加します。
pythonのデーモンとinitの設定についてはここがとても参考になりました。
http://divide-et-impera.org/archives/1454


◯次は
現状だと再生などの制御がスマホやPCのクライアントからしかできないので、
ハードウェア的なスイッチなどをつける予定です。


トランジスタで作った時計

井土です。

先週ロボット技術研究会の役員が交代し、1年間の部長としての役割が終わりました。
今年度になって部員数は200人を突破し、色々ありましたが無事に終わりました。
これも支援してくださった皆様のおかげです。どうもありがとうございました。


さて、今回の本題は

トランジスタで作った時計
      (トランジスタ時計)


についてです。

id研の井土・齋藤・大貫・中村の4人で製作しました。

まず、完成品なのですがこんな感じです。
make


Maker Faire Tokyo2014(MFT2014)のロボット技術研究会ブースで展示をしました。
トランジスタとして2N7000(Nch MOS-FET)を640個使用しています。 
マイコンや74系のICは使わずに、クロックの分周器・カウンタ・7segデコーダは
すべてディスクリートのトランジスタで作りました。


◯なぜ作ったのか
話は 1 年前にさかのぼります。
昨年は論理演算であるNANDのみを用いて時計 (NAND 時)を製作し、
MFT2013で展示しました。(以前、少し紹介しました) 

すると
「トランジスタでやってみてよ (笑)」
「あっちにリレーだけの時計があるよ」
という意見・煽りを多く頂きました。

「あの人たちをを見返してやりたい」
「そうだ次はトランジスタだけで作った時計を展示しよう」


そこから、トランジスタだけで時計を作るプロジェクトは始まりました。



さて、ここからは設計・製作の過程を紹介していきます。
◯おおまかな構成
各機能を図にするとこんな感じです。
block

基板は全部で17枚(切削によるプリント基板)で、
各基板一枚で10進カウンタなどの機能を一つが完結しています。
 
図にはありませんがカウンタの桁上りのところにスイッチが入れてあり、
強制的にクロックを送ることで時刻合わせの機能を実装しています。
このスイッチのチャタリング防止にシュミットトリガー回路をつけているのですが、
これももちろんトランジスタ(2SC1815)でできています。
 

◯トランジスタによる論理演算
カウンタやデコーダはすべてAND,OR,NOTなどの基本的な論理回路の組み合わせでできます。
ということでまずは基本的な論理回路をトランジスタで作りました。

簡単に作れるNOT・NAND・NORはこんな感じです。
負荷の抵抗は10kΩで、50kHzくらいまでなら問題なく動きます。
59


バイポーラトランジスタだとベース電流がまあまあ必要で、
この回路が数百個もあると消費電流が大きくなってしまうので、FETを選択しました。
 
また、プッシュプルにしないのかと思われる人もいるとは思いますが、
PchのFETが安く手に入らなかったのでNchFETと抵抗で作ることにしました。
チップのFETを許せばPchの低価格なものもあるのですが、
どうしてもDIPで作りたかったのでこのような回路になりました。
(DIP部品で基板がでごちゃごちゃしてるほうが好きなので) 


◯デコーダの設計
論理回路はNANDもしくはNORだけで全部作れます。
去年はそれに基づき、NANDだけで時計を作ったわけです。

今年はトランジスタでせっかくなのでNANDではなくNORを作り、
そのNORを基本として組み合わせて上位のカウンタやデコーダを作っていきました。

デコーダはどうやって作るのでしょうか。
小さいものなら以下の手順が簡単です。
1.真理値表を書く
2.論理式(加法標準形)にする
3.カルノー図を使って論理式を簡単化する

簡単化についてはここがわかりやすいです。
http://akita-nct.jp/yamamoto/lecture/2003/2E/karnaugh_diagram/node1.html

論理式を式変形して項の数を減らせると、回路が小さくなるので簡単化をします。
もちろん論理式上での簡単=トランジスタ数が少ないではありませんが、
論理式の簡単化くらいしかわからなうのでとりあえず簡単化を行います。

去年のNAND計はカルノー図を使って、すべて手作業で行いました。
今回はクワインマクラスキー法というアルゴリズムを使ってコンピュータでこの作業を行いました。
クワインマクラスキー法で論理回路を簡単化するツールをC++で自作し、
それによってデコーダ・カウンタの設計を自動化したのが今回の設計における特徴です。

この簡単化ツールは真理値表に当たるデータの書かれた入力ファイル(画像では 37dec.txt)を用意すれば
自動でその真理値表をみたす論理式を出し、論理式の簡単化を行ってくれます。
真理値表を読み取って論理式にしたものが画像のinputに表示され、
それを簡単化したものがoutputのところに表示されます。

1,2,3...は変数のA,B,C、-は否定を意味しています。
input1の例だと、真理値表は
1
で、それを簡単化すると
2

になるという意味です。
05

真理値表のdon't careにもちゃんと対応をしていて、don't careを考慮した上で簡単化をしてくれます。
また、簡単化した結果が複数個あるときはそれらを全部出してくれます。

このツールによってデコーダの設計がとても楽になりました。
この時点でデコーダはNOT,AND,ORで構成されているので、
それらをNORにしてNOR特有の簡単化などを行ってデコーダの完成です。


◯カウンタの設計
カウンタはD-FFを元に設計をしていきます。
フリップフロップならなんでもいいんですが、D-FFだと考えるのが楽なのでD-FFを選択しました。
そのD-FFはトランジスタでNORを作り、それらを以下のように組み合わせることで実現します。
dff


長くなるので省略しますが、下の図のような感じで
D-FFの出力→組み合わせ回路→D-FFとやってやることで順序回路が作れます。
cnt

ここでも組み合わせ回路(デコーダ)を作る必要があるのですが、
先ほどと同様に、自作の簡単化ツールを使うことで自動で小さい回路を設計することができます。


◯実装
設計ができたら今度は実装です。
本当はユニバーサル基板でやりたかったのですが、
MFTに間に合いそうになかったのでプリント基板を使いました。
学校のものつくり支援センターには基板切削機があるので、それを使って片面のプリント基板を作ります。

そのために設計した論理回路たちをトランジスタレベルでCADに入力し、配線図を作成します。
最終的に6種類くらいの基板を設計しました。

参考までに、これが4bitの2進数を入力して7segLED用のデータを出すデコーダの配線図です。
標準ロジックでいう7447と同じような機能です。
22


基板データができたら基板切削機に基板を作ってもらい、はんだ付けをするのみです。
材料は大量のトランジスタと抵抗、少しの電解コンデンサとコネクタのみです。
31

できた基板の一部を並べるとこんな感じです。

トランジスタの森
44

整列するトランジスタたち
08


最後に組み上げて、コネクタを圧着しまくって配線したら完成です。

54




◯おわりに
MFT2014にトランジスタ時計を展示した結果、まぁまた煽られますね。
次は真空管らしいです。
 

アクリルをレーザー加工

id研の井土です。

レーザー加工機でアクリルを加工したので、今回は作ったものとその制作の様子を紹介します。
まずレーザー加工機なのですが、東工大にはものつくり支援センターという学生が自由に使える大きな工場があり、そこにおいてあります。
ものつくり支援センターには、ボール盤旋盤フライス盤など、金属加工ではおなじみの工作機械はもちろんのこと、基板切削機レーザー加工機などもおいてあり、講習を受けることでだれでも使えるようになります。

今回もそこにお世話になりました。

レーザー加工機はCADで作った二次元の図面どおりにレーザーでアクリルやMDFを切断してくれる機械です。なので、まずは加工したものをCADで設計します。

データができたらそれをレーザー加工機に送り、アクリル板をセットすれば準備完了です。
あとはスタートボタンを押すと勝手に加工が始まります。

写真の板には、傷防止用の紙が貼ってあるので茶色ですが、透明のアクリルを加工してます。
07

作りたいものをいっぱい並べとくと、同時にいっぱい出来ます。
01

動画はこんな感じです。
割と早く動いてくれます。


続いて、作ったものの紹介です。今回は2種類のものを作りました。
1つ目は以前このブログに書いたRaspberryPIによるミュージックサーバのケースです。
45

以前はHDDを使っていたのですが、割と発熱するのと配線がごちゃごちゃするという理由から64GBのmicroSDに全て入れることに変更しました。

こんな感じで立ちます。
25


もう一つ作ったのはユニバーサル基板を保護する板です。
ユニバーサル基板ではんだ付けをすると、裏面にゴミが入ってショートしたり、裏面の配線を引っ掻いた時に断線してしまったりします。それを防ぐために保護用の板とかが欲しいなと思っていたので作りました。

ユニバーサル基板の裏面に取り付けるとこんなかんじになります。
透明で見難いですが、これで引っ掻いたりしても大丈夫です。
あと、ちょっとだけ見栄えがよくなります。
24
57

サイズは秋月電子のユニバーサル基板に合わせてあり、Aサイズ、Bサイズ、Cサイズの3種類を作りました。
これでユニバーサル基板が捗ります。
36

アクリルをレーザー加工機で加工して何か作る場合、作業としてはCADで設計するのみなのでとても楽です。
その上見栄えがいいのでオススメです。


 

100W級ソーラーシステム自作

どーも。椋けり(@kerikun11)です。id研です。
そう、秋月バイトの彼です。

夏休みにもかかわらず、バイトを入れすぎて
全然遊んでないじゃないか!

じゃあ電子工作をしよう!

秋月電子で稼いだお金は秋月電子で使おう。そう、還元。
ということで、どん!
 
あれ?こんなの秋月では売ってないぞ?
はい。これはAmazonでポチりましt…
お値段
¥13,800
高いよぉ

秋月での買い物はこちら。 
ソーラー充電コントローラー(12/24V)10/10A CXN10-1.1
ソーラー充電コントローラー[CXN10-1.1]
http://akizukidenshi.com/catalog/g/gM-02824/
¥6,000

ソーラー充電コントローラー用リモートディスプレイCXM-1.2
ソーラー充電コントローラー用リモートディスプレイ[CXM-1.2]
http://akizukidenshi.com/catalog/g/gM-02826/
¥4,000

完全密封型鉛蓄電池(12V22Ah) WP22-12
鉛蓄電池12V22Ah[WP22-12]
http://akizukidenshi.com/catalog/g/gB-00020/
¥4,500

ソーラーパネルの設置には
近くのホームセンターで売っていた
「イレクターパイプ」という金属パイプを使用。
あとはステンレス製のワイヤーで固定。
パイプ、ジョイント、ワイヤー、VVFケーブル代
¥5,166

さらにAmazonで36Ahの鉛蓄電池を増設。¥5,000

とまあ、システムに必要なものをはこんな感じ。

★作り方★
イレクターパイプを切って組み立てる。
VVFケーブルでソーラーパネルと鉛蓄電池をつなぐ
終わた\(^o^)/

はい、できました!
IMG_1703
IMG_1705
 ↑ベランダにイレクターパイプを使って設置。

IMG_2233
 ↑部屋ではこんな感じ

下の配電盤にはDCジャックがずらりと並んで
様々な機器に電気を供給する。
IMG_2239
真ん中のつまみは机の照明の明るさ調整用の可変抵抗。
PICを使ってPWM制御だぜ!
IMG_2244
これが机の照明。1WのパワーLEDを18個も使ってチョー明るい!

次にこれがUSB電源出力
IMG_2248
IMG_2249
DCDCコンバーターを使って5Vに安定化している。
IMG_2247
最高6Aまで出力できる超優れものだ。

あと、電気が余ってるときは
DC/ACインバータを使ってAC100Vを作る。
IMG_2253
この形になれば、パソコンでもテレビでもなんでも使える!
ただし、やりすぎるとすぐに鉛蓄電池が空になるから注意。

ここまでは2Fの自分の部屋の中で電気を使っていた。

次に出窓の穴とアンテナの穴をとおして
電源を1Fに通す。 
IMG_2252
このへんはテキトーに。
これで1Fのリビングでも充電可能に。
IMG_1215
IMG_1217
IMG_1216
こちらのUSB電源給電器には、アナログ電流計が取りつけてあって
リアルタイムで充電電流を見ることができる。
充電が終わると電流計もちゃんと0を指していてなかなかおもしろい。 

今回のシステムの概要図です。
SCN_0001


まあ、今のところはこんなとこですかね
費用はシステムづくりに3万円程度ってところ。
照明用LED代を含めると恐ろしい金額に( ;∀;)
発電でこの分を賄うのは何十年先のことやら…
やはり、重要なのは自分で使う電気を自分で作り出すことですね
さあ、これからも電子工作の毎日だ!

【id研】AVRライタHIDapsxの量産

id研所属,学部2年の有塩です.

今年,2014年の6月から7月にかけて新入生向けにロ技研内でマイコン講習会を行いました.
そこで大人数がテストボードへの書き込みを円滑に行えるよう,大量に作って配った
小型・量産向きAVRマイコンの書き込み器について紹介します.
IMG_0488

続きを読む
ギャラリー
  • ABUロボコン結果報告
  • スマホから部屋の電気をつけてみた
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • たのしいロボット帝国 製作物紹介
記事検索
最新コメント