社内ハッカソン〜解説編〜in development

 
date:2015.03.31   posted by:lee
 

こんにちは
久しぶりに執筆したリーです。

今回は社内ハッカソンを開催したので、そこで使われた技術などを少し解説したいと思います!

まず今回の社内ハッカソンについて概要を説明します。
今回のテーマは「シーケンスハッカソン」と言って、要はオリジナルカートを使って、あらかじめルートを決めて、最後まで完走してもらうものです。簡単でしょう?

『==========================================================
あれ?それ「ハッカソン」と呼ぶの?って思っている方いらっしゃるかもしれませんが、ハッカソンにもたくさん種類がありますので、食べ物までのハッカソンが存在するなんて。。。
==========================================================』

カートは以下のハードウェア構成となっています。
 1)ステッピングモータ * 2
 2)モータードライバ(FET構成)
 3)Arduinoボード *1
 4)電池ボックス * 1

またコースは以下な感じで構成されています。


細かいルールはここで説明しませんが、重要なルールはたった1つ。

         ほかのチームを踏みつぶし、頂点に立つことだ!!!
                                                                                ❞

訳「ほかのチームよりポイントを取り、早くゴールすること」

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

ではオリジナルカートについて説明しましょう。
今回は「シーケンスハッカソン」なので、カート自体の精度が要求されるので、DCモータではなく、走行距離を精密制御できるステッピングモーターを使用しました。

ステッピングモーターとは、1パルスを与えると1ステップを進んでくれるモーターです。詳しく知りたい方はこちらへどうぞ!
そして、今回使用するタイヤは58mmで、ステッピングモーターの1ステップが3.75°なので、1ステップは(58*PI)/96 = 約1.9mmです!(なんで96で割るのか、わかるよね!)なので、38mmを進みたいときは20ステップを与えればOKなはずです!

DCモータより精密に制御できるゆえに、制御の仕方は少し複雑です。
「PWM制御」と言って、ステッピングモーターに与えるパルスの周期を制御することで、ステッピングモーターの回転速度を制御したり、与えるパルスの順番を逆することで、逆回転になったりします。
また励磁の種類によって、出力トルクやステップが変わってきます。ちなみに3Dプリンターにもステッピングモーターがよく使われていますよ!
「PWM制御」についてもっと知りたい方はこちらへどうぞ!
「励磁の種類」についてもっと知りたい方はこちらへどうぞ!

そして、今回はArduinoから直接モータを制御したいので、Arduinoの出力ポートをそのままモータに接続しても動きますが、Arduino自体の出力ポート電流は20mA(max)となっているので、カート自体を動かすトルクが得られません。またそれ以上の電流を出力すると、Arduino自体が壊れてしますので、注意してください。

そこでFETを使って、Arduinoの出力ポートから入力された電流を増幅し、モーターに与えます。この増幅回路をモータードライバーと言います。
世の中では色んな種類のドライバーがあるので、調べていくと面白い発見があるかもしれませんよ!

では、今度はソフトウェア-Arduinoの部分について説明します。
Stepperというライブラリを使って、ステッピングモーターのPWM制御も簡単になります。
参考リンク

以上が今回の社内ハッカソンの概要になります!
どうでしたか?作りたくなったでしょうか?
参考リンクをみながら、皆さんもきっとかっこいいオリジナルカートを作れるはずですよ!
BTTF

 
Copyright © TheDesignium inc. powered by WordPress & mootools.
Relative Keyword|none