iNSTITUTEM@STER

iNSTITUTEM@STER

2011年4月27日水曜日

シナモンブレードのPICプログラムをHITECH-Cでコンパイルしたが…

 前作シナモンライト・シナモンブレードで使われているPICに書き込まれているプログラムをコンパイルするために、MPLAB IDEとHI-TECH C コンパイラ9.81をインストールしました。
 前回あれだけAVRを使う、と言っていたのにまたPICに戻るのか!?とか言われるかもしれませんが、前回のプログラムを使用するために、両方試してみる必要が出てきました。

 前回使ったのがIDE側が8.53、コンパイラが9.71a、今回使うのがIDE8.66とコンパイラ9.81です。たった0.1しか違わないはずなのですが、そのままコンパイルできませんでした…
 とまあ、最近はこんな「…できませんでした」の連続です。もっとも、こういう経験があって大きなものができるのが世の常です。

 待っていてもらちが明かないので、手掛かりを見つけるためにヘッダーファイルを確認します。9.71aと9.81を比較します。


全然違っとるがね(名古屋風に)

わずか0.1違うだけで、まるで1から作り直したかのように違います。悩んでみ仕方ない、ということで、この通りにそれぞれのコマンドを打ち直します。

 と、まあC言語でPICのプログラムを組む時は、必ずヘッダーファイルを確認してください。大雑把に言うと、この表に従ってC言語からアセンブラ言語に翻訳して、さらにバイナリファイルに変換する、というイメージです。
 PICのベースはアセンブラなので仕方ないのかもしれませんが…アセンブラが十分に使えればいいのですが…。

 実は、PICど再導入した理由のもう一つは、新製品のPIC12F1822がある、ということです。前回と同じPIC12F675と比べて、容量も大きく高速で多機能で、しかも安いという非の打ちどころが無い代物ですが…中の構造がまるで違うようで、結局かなりの部分を修正する必要がありそうです。

 無事にPIC12F1822が採用できれば、プログラムの容量にかなり余裕が出る予定なので、新作シナモンブレード・ライトに追加したい機能がありましたら、どんな細かいこと、無理だろう、ということでも、どしどしアイディアをお寄せください。

 「みんなと作る」シナモンブレード、シナモンライト完成のために。

2011年4月25日月曜日

シナモンブレードの度重なる故障について

ここ数日、シナモンブレードの修理依頼が増えております。
震災の復興が進み、各地でイベントが増えて使われているせいかと思いきや、送られてくる物の故障は大体共通していることが判明しました。
 
 上の写真の、黄緑色の部分がはがれてしまっています。他にも、赤丸で囲んだ部分のどこかがはがれてしまっていました。

 これも、シナモンブレードの構造と、このスイッチに問題がありました。
 まず、スイッチをON/OFFするのに、つまみに約1kgfの力がかかります。
 そして、この力が全て、上の写真の赤丸で囲んだ電極にかかります。

 特に後期型の、少し透明な白っぽい基板の場合は硬くなっています。基板が曲がらず全てが7本の電極にかかるので、はがれてしまいます。

 
 この度は、ご利用の皆様にご迷惑をおかけしてしまい誠に申し訳ございません。
 ご連絡いただければ、修理対応をしてまいります。

 今後、対策を練り、補強について再度検討してまいります。
 現在開発中の次期作では、これを受け別の構造を検討しております。
 
 今後とも、よろしくお願いいたします。

2011年4月19日火曜日

Arduino FIOで色々遊ぼうとしたら…

 最近ブログの更新が週1から2回のペースに落ちてしまいましたが…副業で色々面倒なのもありますが、新作シナモンブレードの設計が進んでいること等でなかなか書き込みができません…。

 そんな傍ら、流行りのArduinoを使って色々と作っていましたが…
 なぜかXbeeを使って無線通信での書き込みができません。


 書き込みのときに、こんなエラーが出ますが…
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

 書き込んでいるうちに、FIO本体下にあるLEDが高速に点滅しました。通常なら、1秒間に2回ぐらい点滅するのですが、これは1秒間に10回ぐらい点滅しています。
 
 ちなみに、XBee自体は他のArduino FIOで問題なく書き込みができています。
 
 FTDIケーブルで直接試したのですが、同じエラーが表示されます。

 これは本体のブートローダーのエラーかな、とか思いながらブートローダーを書き換えようとしても失敗します。
 
 次に試したのが、直接ISP経由でファームウェアの書き換えです。Arduinoも要はただのAVRなので、AVRライタを使って書き込めば行けるかな、と思いました。ですが、これが失敗でした。 
 
 Arduino IDEの中にある、arduino-0022\hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_atmega328.hexを、http://institute-master.blogspot.com/2011/04/avr_04.htmlで作成したAVRライタを使って直接書き込もうとしました。
 
 初めは、AVR Studio 4で書き込もうとしましたが、読み込み、消去は出来るものの書き込みができません。
 続いて、avrdudeでAtmel AVR ISP mkIIのライタで書き込んでいる、という設定をして書き込もうとしましたがやはり失敗。
 
 次は、元のファームウェアを改良したという、http://www.ladyada.net/library/arduino/bootloader.htmlを試しました。ですがやはり失敗。
 
 
 
 とまあ、結局うまくいかず放置してあります。ここまでで自分が出した結論は「AVRライタが対応していない」です。
 またAVRライタを作るのか…それとも買うか…結構苦労した覚えがあるのでまた作るとか大変…とか思っています。だからと言ってここで買うとそれこそこれまでの苦労が無駄になってしまいます…
 
 いつかArduino FIOを復活させる日を夢見て…

2011年4月14日木曜日

HT7750Aの部品選定

 新作シナモンライトに使う部品を見直すべく、ちゃんと出力されているかを実験しました。
 今のところ、シンプルで安価に仕上がるHT7750Aを引き続き使用しようと思います。

 特に、昇圧回路の性能に直接かかわる、インダクターとショットキーバリアダイオード部分を交換しました。
 簡易的に電池をつないだ時の出力電圧を測定しました。

・インダクター
LQH32CN470K23L(47μH 村田製作所 写真左)
VLF4012AT-470MR(47μH 秋月電子で購入した物、在庫限り 写真右)


・ショットキーバリアダイオード
CRS06(東芝 チップ部品 写真奥)
1S4(秋月電子で購入した物 写真中央)
1S1588(部品箱に入っていたもの、普通のダイオード、現在は廃番です 写真手前)

・その他の条件
単4型eneloop*1
22μF・47μFタンタルコンデンサ(データシートと同じつなげ方です)
RGBLEDのうち青色を使用、直列に47Ωの抵抗をつなげました。


まずは、インダクターを交換します。

CRS06+LQH32CN470K23L Vout=1.96
CRS06+VLF4012AT-470MR Vout=1.96



たったこれだけ…?

前作のシナモンライトでは、1S10とLAL02NA470K(小型アキシャルリード47μH)の組み合わせでなんとか実用のレベルに達したのですが、今回はどちらもまるでダメです…

インダクタがどちらもダメなら、ダイオードを交換します。



1S4+VLF4012AT-470MR  Vout=1.96
1S1588+VLF4012AT-470MR Vout=1.96






この記事を書いている時に、他のデータを取るために回路を組みなおました。

今度はちゃんと出力が出ました!

上の写真を良く見ればわかるのですが、青いコンデンサ(出力側)のつなげる位置を間違えていました。
その後の実験でも「取れない…」と思っていましたが、今度も青いコンデンサの接触不良でした。
測定した電圧については以下の通りです。
<> 
ダイオード・インダクタLQH32CN470K23L(四角型)VLF4012AT-470MR(丸型)
CRS06(チップ)4.384.23
1S4(秋月)4.274.13
1S1588(普通のダイオード)3.983.88

 ショットキーバリアダイオードは高速でスイッチングするので、順電圧が小さく、接合容量が小さいものが良いといわれています。CRS06は1.0Aで順電圧が0.32V、接合容量が60pFです。1S4順電圧が0.50V、接合容量が110pFです。電圧の出力の差が出たのも、これが原因でしょう。
 また、5Vに届かなかったのは、電源電圧が小さかったこと、ブレッドボードという簡易的な回路に原因があるかもしれません。配線が少し伸びただけでも、出力が変わるという報告があります。
http://www.henteko.org/fswiki/wiki.cgi?page=DC-DC%A5%B3%A5%F3%A5%D0%A1%BC%A5%BF%A1%BC%A3%B4%A1%CAHT7750A%A4%F2%BA%C6%A5%C6%A5%B9%A5%C8%A1%CB
 取り合えず、当初予定していたCRS06+LQH32CN470K23Lの組み合わせが良好なので、これを使っていこうと思います。

2011年4月12日火曜日

1週間の動きなど、動画投稿

前回の更新から1週間過ぎていました…
新しい職場になかなか慣れず、落ち着かない1週間を過ごしていました。
化学工学の専門知識をしばらく使っていなかったため、その内容についてテストされたけれど
あんまり答えられず…怒られてばかりです。LEDサイリウムばかり作っていたので忘れるのも当然…かもしれません。

他にも理由はあります。
今回は、「出来ちゃった」物を紹介します。

色の変えられるライトセイバーのような物を作ってみた
http://www.nicovideo.jp/watch/sm14136336
ネタに走りました。



もっとも、これは、「長い(50cm)シナモンブレードを作ってほしい」という依頼を受け、作ったものです。
実際に作ってみて、面白い物ができたので動画にアップロードしました。

赤色は、どう見ても工事現場で振られているあの棒です。
優れている点は、比較的在庫のある単4電池で動かせること。
最近、単1電池が品薄ですから…


単に工事現場で使うなら、素直に専用の棒を買ったほうがいいです。

2011年4月4日月曜日

AVRライタでの書き込みに成功

前回、高電圧シリアルモードで書き込むほうがうまくいかなかった、と書きましたが、
無事にうまく書き込みができました!


 まずは、簡単にLEDを点滅させるプログラムを作成して、実際に書き込んで動作させました。


 先日お伝えした、ChaNさんのサイトの下の方にある、
「Win32版AVRライタ制御ツール for Windows9X/Me/NT/2k/XP」の中に入っている「bin\avrpp.exe」を使ったところうまく書き込みができました。確かに古いモデルではありますが、2010年9月に更新されておりました。

 ただ、調べたところ現在の最新は「HIDaspx」でしょうか。USBで直接動作させることができ、コンパクトです。今後造る場合はこちらの方が良いと思います。…ただ、正直な所今後時間的に作るのは厳しいです。紹介できるかどうかは未定です。

2011年4月3日日曜日

AVRライタの製作に挑戦

 タイトル通りと言えばそれまでなのですが、今後、マイコンをAVRに変更しようかと思いながら、その基礎となるAVR書き込み器を作成します。
 市販の書き込み器を買ったほうが早い…と言ったら元も子もないので、ここはAVRの勉強のためにも、自分で作成しようと考えました。

 作成したのは、でんし研さんでいくつか紹介されている中の、「入門用AVR-ISPライタ」と、ChaNさんの作成した、高電圧シリアルモードで書き込むパラレルライタです。特に後者は、今後ペンライトを開発していく上で、小型の8ピンの物を使用したい、ということがあります。しかも、高電圧シリアルモードで書き込むライタで良いものが見当たらなかったので、これを自分で作ることとしました。

 買ったほうが早い、とか思いましたが、勉強がてらちょうど良いかな、とも思っています。
http://homepage2.nifty.com/denshiken/AVW019.html
http://elm-chan.org/works/avrx/report.html


 長いこと使いたいので、せっかくなので基板を作ってしっかりした物を作ろう!と思い、基板を作成して、そしてはんだ付けをしました。

 そして、組み立てが終わりました。待ってろAVR!




 なんか変ですね…特に上。

 基板を反転させずに作ってしまいました。

 何ともオマヌケな形になってしまいました。端子が直線上にある部品は問題ないのですが、いざICソケットをつける段階で気が付きました。
 1ピンと8ピンが逆だよな…と。


 で、結局作りました。

 
 下の物は、一見普通に見えますが、同様に反転させずに作っています。せっかくのZIFが台無しになってしまいました…。

 仕方ないので、ピンの位置を反転させる治具を作りました。

  

 そして、肝心の動作なのですが、小型の「入門用AVR-ISPライタ」は無事に動作しました。USB-シリアル変換ケーブルで動作しました。avrspxをダウンロードして、avrspx.iniの中にある数字がボーレートなので、それをシリアルケーブルの通信速度とあわせることでファームウェアを書き込むことができました。

 しかし、大型の高電圧パラレルライタは、ずっと「Device connection failed」のままで動作しません…なんとかして動作させなければ…。

 なんとかして完成させます…。

2011年4月1日金曜日

さらなるシナモンブレード作成のために、「iNSTITUTEMASTE」としての今後の方針

 ついに年度が変わりました。今年は、自分の周りでも状況が大きく変化する年でもあります。

 引っ越しをして、4月から新しい職場で仕事が始まります。そのため、十分な自由時間を取るのも難しくなり、このままではおそらく量産が難しくなる、と感じました。

 そこで、ソロサークル「iNSTITUTEMASTE」として今後の方針として、次のように考えています。

1)「シナモンライト2.0」「シナモンブレード2.0」の量産について
 前作細いモデルの「シナモンライト」と、「シナモンブレード」の構造を見直し、新たに開発を進めています。以下、「シナモンライト2.0」「シナモンブレード2.0」と呼んでいきます。
 シナモンライト2.0のほうは、大まかな形と基板の設計はほぼ完了しています。シナモンブレード2.0のほうも、概略設計を進めており、4月中の設計完了を目指しています。
 今回は、前回に増してさらなる量の作成を検討しています。8月中旬の完成を目指しています。

2)量産の進め方について
 単純に大量に作るのは難しいと書きましたが、裏があります。

 皆様に「お手伝い」をお願いする予定です。

 もちろん、給料は支払います。
 早い話、「内職」そのものです。現在の予定では、こちらのブログ上か、あるいは他の媒体でお仕事をお願いします。お手伝いいただける方に、作業の指示と必要な部品、条件によっては工具・機材を貸し出すか、代わりに購入していただく予定です。また、ご希望があれば、完成したマニュアルにお名前を載せる、なども考えております。

 内職は、原料から使用する部品への加工、基板へのはんだ付けなどを予定しております。
 設計が順調に進めば、5月上旬に募集する予定です。

3)他の製作物について
 今後、特に「特注」に力を入れていきたいと考えております。

 「こんなものを作ってほしい」というアイディアがありましたら、ぜひともお問い合わせていただきたいと思います。具体的な内容や費用を相談したいと思います。
 もちろん、シナモンブレードに関係ない内容でも歓迎です。ただ、すぐに対応できないかもしれない、と言うことがありますので、どうかご了承ください。みなさんのアイディアを一緒に形にしていきたいと思います。

 現時点で、「防水加工のシナモンブレード」、「光る銘盤」の作成や、「オーディオ回路の基板作成」などを請け負っております。

 今度とも、面白い物を作っていきたいと思います。よろしくお願いいたします。