表面処理もある程度終了して、エンジンブロックの組み立てもしないといけません。
その前に各ギミックをどのように動かすかの仕様を決めました^^
ちなみに今回はうっかり編で長々と書いてありますが、お急ぎの方は3か所の赤い文字部分読むだけで全体の内容なんとなくわかりますw
さてと、まずはエンジンブロックの仕様を決める前に全体の仕様を決めないと何も決まりませんからね^^;
今回はブロック工法ですので、それぞれのブロックを繋ぐ配線は極力少なくしたい。てなことで基本構想はI2Cを用いてそれぞれのarduinoの連携を行っていくこととします。もちろんI2Cなんて難し事はできないのでarduinoさんに頼りっきりですw
この一行入れるだけで設定できるので神ですねwそれでも出来るかどうかは分かりませんがww
さて、全体の構想が決まりましたのでエンジンブロックの仕様を決めましょう。
もちろんスレーブ側もarduino使いますので、エンジンブロックでの親分はarduinoとなります。
エンジンブロックにはモクモク装置、ファンやインテークのモーター、サーボ、フルカラーLEDと満載になっています。このうちサーボ、モクモク装置は自由に可動させるためには別腹にした方がプログラムが簡単になりそうです。
てなことで、サーボはいつものAttiny13Aを用いてコントロールすることに。
基板はついでなので、エンジンブロック以外のサーボ用の基板も一緒に作っておきました。
プログラムはいつものサーボ可動プログラムをちょちょいと弄って完成w
可動範囲は取り付けてから調整です。
サーボはこの部分では色々と干渉や給水用のホースなどもありトルクが欲しい所
上写真左からトルクが7kg、 3.1kg 、2kg 、1.8kgとなっています。
まっ、やはりとりあえずトルクの大きなものでw
てなことで左のGWS2BBMGというものを選択。
早速テストです。(写真は違うサーボでテストしていますw)
それが、以前ツイッターに動画上げるために動かしたときはちゃんとしていたのですが、今回のテストでは電源入れたとたんサーボが右に左にと大暴れww少し経つと全く動かなくなってしまいました^^;
あれ・・・・プログラムと配線間違ったかな・・・と思い、他のサーボをつなげてみるとほかのサーボではすべて正常に動きます・・・・・・。
いろいろ悩んだのですが、私ごときでは解決できないと思い、ブロ友で作るLINEの秘密グループ(とはいっても構成員4人w)で相談。ちょっと私の情報提出不足で皆さんを悩ませてしまいましたが、Vividさんのサーボの電源を再確認してみてくださいの一言で、そういえば・・・・・
サーボはもちろん別電源にしていたのですが、単三電池2本を5Vに昇圧したもの・・・・
これだ!と思い電源を交換したところ見事にGWS2BBMGも動きました^^
どうやらトルクが7kgと大きいので要求される電流量も他のサーボと違い多く必要でそれが原因だったようです。
で、せっかく解決したのですがwここまで来ると今度はそんなに電流喰らうならここまでのトルクは必要ないし、もう少し小型のサーボにするか~とサーボ写真の左から2番目MG92Bというトルク3kg物にしてみましたw
取り付けてテストです.
取り付けて可動させてみたのですが、なんかこのサーボ限界付近でジリジリうるさい(私の個体だけの可能性あります)w
てなことで今度はサーボ写真の左から3番目トルク2KgのMG90Sを使用。
うんwこれ上手く可動するし音もしないからこれでとw
次にモクモク装置ですね~。これはI2CやフルカラーLEDを使いまくってるarduinoでほかのプログラムと干渉させずに動かしきる自信が無くて、別マイコンにw
といってもarduinoをもう一枚入れるのは邪魔そうだったのでarduinoのプログラムをAttiny2313に移植することにwももともとarduinoIDEにはAVR用のCで書いていたのでそのままAtmel Studioにコピペでw
プログラムは問題ないのですが、問題はarduinoとattiny2313との周波数の差!
てなことでAttiny2313を内蔵クロック8MHz→外部クロック20MHzにしてみましたw
もちろんネットで情報仕入れまくりですw
なになにXTAL1とXTL2の間に発振子を挟めばいいわけね。
4,5ピンを使うんだな~。
クリスタル発振子無いからセラミック発振子20MHzでw
後はフューズの書き換えね^^
クロックの周波数測るためにLOW.CKOUTにチェック入れて、
LOW.SUT_CKSELはよくわからんwまっこれでいいやw!
うまく動いているかな~?
よしゃw初めてにしては上出来ww
てなことでtiny2313もarduinoと同じ20Mzで動いてる~!と思い先ほどのプログラムを書き込むも、あれ???なんか出力される周波数が違うwwなんだ??
これまた少し悩んだのですが、あっ!そういえばarduinoは20MHzでなくて16MHzだww
16MHzの振動子持っていないから注文だな^^;
その前に、なおさんからPIC用のプログラムも貰っているしそれを試してみるか~と、パソコン新調していたのでMPLAB X IEDを最新のver5.4をインストール。
軽い気持ちで始めたのですが、これまたどうやってもプログラムがコンパイルできない・・・・・
何故だ~~~~~~!
で、ここで少しなおさんを疑ってww以前作ったPIC用のプログラムもコンパイルしてみるとこれも出来ない^^;どうやらなおさんのせいではなさそうww
で、またまたLINEの秘密グループ(秘密でも何でもないですがw)で聞いてみると、
なんとver4,2以前と5.3以降では互換性が無いとのこと!!!!
古いバージョンのMPLAB X IEDにするとコンパイルできましたw
あらゆるところにうっかり地雷が有りますw
PICの用意はできたのですが、基板作成のためにはパーツで無い物も有るのでこれも注文だな^^;
念のため注文の前にこのモクモク用のPWMが全体に影響しないかarduinoに組み込んで試してみるか~。
はいw影響なしでしたwwww
結局モクモク装置別マイコン化案は却下でwww長々と書きましたが何も残りませんww
なんか長くなったので本日はここまで^^
まだまだこの後勘違いとうっかりが続きますよ~w
関連すると思われる記事:
- None Found
うむ・・・確かに赤い3行を読めば全て解決なエントリかもww
しかし、こんな複雑な仕様になると、気分転換に他のキットに浮気して
うっかり1~2か月戻ってこないと、あらかた忘てしまいそうで怖いです。
こんばんは
いつもの「うっかり」ちゃんとちりばめられていますね!(笑)
流石に「宣教師様」です。
「彼女」の仕様はよくわからないのですが、i2cで複数の「彼女」をリンクして、システム化するなんてすごいです!
i2cは、IDをやり取りしたり、結構扱いが大変なんですが、そのあたりは、ライブラリで簡単にできるのでしょうね!
残りの「うっかり」が楽しみです(笑)
こんばんは!
I2Cも登場ですか?サーボもうっかりを交えつつ各種テストをして、モクモクも最後はPIC不要など物語性抜群のエントリ、楽しませていただきました(^^)
そうそう、今さらですが、Twitterの方でVINの電圧の話をされてましたが、5V端子に直接5Vを供給すればレギュレータの降圧分がなくなるので解決すると思いました。もう組みあがってるので、今後別のケースで必要になった時に試してもらったらいいかな~と。
うちのはUNOですが、VINではなく5V端子に電源供給してます。レギュレータはVINをOPENにしておけばフィードバックがOFFのままになってると思われます。
gyoさん こんばんは!
ねっw
あの赤の3行以外はいかに失敗したかが書かれていますww
プログラムを簡単に、さらにマルチタスクにするために色々と外注にしてマイコン増やして対応していますwプログラム自体は簡単になっていくのですが配線がね^^;
これ作り続けないとだめになるパターンですw
Vividさん こんばんは!
相変わらずうっかりは治りませんねw
I2Cはarduinoさん任せなんですが、どこまで出来るのかわからないのでボチボチI2Cのプログラム自体もテストしておかないとやばい事になりそうですw
私の能力ですとI2Cなんて単体のPICやAVRでは絶対出来ませんからねw
ただ基本的なこともまだよく分かっていないので絶対どこかでハマると思いますw
その時はまたLINEの秘密グループ(秘密でないw)で相談しますので、よろしくお願いします^^
なおさん こんばんは!
今回もあれやこれや色々試して、最終的に使わないという落ちも有りながらの工作ですww
その外部電源の件、私も5V端子がUSB端子の5Vと直結とのことなのでそこに付ければいいのかなと思ったのですが、公式には
/*
5V。このピンは、ボード上のレギュレーターから安定化された5Vを出力します。 ボードには、DC電源ジャック(7-12V)、USBコネクタ(5V)、またはボードのVINピン(7-12V)から電力を供給することができます。 5Vまたは3.3Vピンを介して電圧を供給すると、レギュレータがバイパスされ、ボードが損傷する可能性があります。 お勧めしません。
*/
と書いてあるんですよ~。そのため仕方なくVINに7Vを供給するようにしたのですが、なおさんのコメント見て気になりましたので調べてみるとスイッチサイエンスさんの所では5Vピンにつないでオッケーと書いてあるし、他の方も大丈夫と書いている人多いので、7Vなんて作るの面倒だし5Vピンに接続することにしましたw
この辺また次回のブログに書きます^^
横から失礼します。
PIC教から何なんですが、5Vピンに5Vを入れるのはちょっと危険かと。(上記引用文にあるとおりです)
おすすめは、USBですね。ちゃんとしたUSB電源アダプター(2A程度)があれば、一番安全です。
Vividさん こんんばんは!
どうも5Vピンからの供給オッケー派と慎重にした方が良い派に分かれているようですw
スイッチサイエンスではarduino Megaのボードですが供給は問題ないと明記してあるようですし・・
5Vピンで行っちゃおうかなと思いますw
まっwなんだかんだ言って7Vとか別の電圧作って配線するのが面倒なのが一番の理由ですww
ただ、5Vピンに外部電源を接続したままUSBで給電するとやばいとの書き込みも有りますので、プログラムの書き込み時には注意が必要なのかもです。
ちなみに5Vピンに5VかけながらUSBつなげて実験してみましたが今のとこ何も問題なしです^^;
まっ、書き込み時には出来るだけ注意するようにしてみます^^
追記
arduino nano公式にこの一文発見です^^
/*
Arduino Nanoは、Mini-B USB接続、6〜20Vの非安定化外部電源(ピン30)、または5Vの安定化外部電源(ピン27)を介して給電できます。 電源は、最も高い電圧源に自動的に選択されます。
*/(google翻訳)
5Vで行けそうです^^