2009年12月14日月曜日

LPCXpressoを買ってみた

Twitterにて、NXPから安価なデバッガ+IDE付き開発キットが出てるとの情報を頂いたので、
早速購入してみました。

NXP LPCXpresso

MOUSERにて購入しました。約3千円。
MCU, MPU & DSP Development Tools LPC 1343 Demo Board

対応チップはLPC1000シリーズがほぼすべて対応。
LPC2000/3000シリーズが一部対応となっています。
eclipseベースのIDEが付属しており、環境設定不要で、インストールするだけで利用可能です。
また、登録するとIDEのコードサイズ制限が無くなります。
デバッガは128Kまでのダウンロードに対応するようです。

詳細な概要はここに書かれています。
Introduction to LPCXpresso


届いた状態
とてもシンプルな包装。


中を取り出して見ました
URLの書かれた紙と、基板が入っています。
ドライバー類もオンラインでダウンロードする様です。


基板表面
LPC1343とデバッガ(LPC-Link)が1枚の基板に搭載されています。
Vカット等は入っておらず、切り離しを行う際は慎重に作業が必要です。


使用可能になるまでの手順ですが
Gettingstartedに詳しく書かれています。

大まかな手順は以下の通りです。
1.code_redのサイトにアクセス
2.ユーザー登録後、IDEをダウンロード
3.IDEをインストール後、アクティベーションを行う
特に環境設定などは不要で、即利用可能でした。

IDE画面のイメージです。
日本語は文字化けするようです。


内部回路図の場所を教えて頂きました。
以下URLから参照可能です。
LPCXpresso LPC1343 Rev.A

使ってみた感想ですが、さすが純正だけあって、しっかり?デバッグ出来ました。
唯一の欠点はステップ実行等で反応が遅い(数秒待たされる)ことです。
(2010/06/28追記:ファームウェアがアップデートされ、デバッグ時の反応が遅い問題は解決されている模様です。)

※ターゲットへの接続がJTAGとSWDに対応してて、付属基板はSWDで接続されている様です。
 JTAG接続に変更すると速度アップするかもしれません。

Cortex-Mシリーズで開発を考えた場合、安くてとても良いデバッガだと思いました。

2009年12月6日日曜日

今更STM32 Primer2を買ってみた

前々から気になっていたSTMicro製の開発キット(STM32 Primer2)が
たまたま秋月にて部品を購入する際に在庫があったので購入してみました。

スペックについてですが
72MHz動作のCortex-M3マイコンにいろいろな周辺チップが合体している開発キットのようです。
OSまで搭載されており、アプリケーションを手軽?に作れるそうです。

以下公式サイトのスペック表

STM32F103E (512 Kbytes Flash)
Li-Ion battery with smart loading control for improved current management, battery autonomy (more than 6 hours), charging time and battery lifespan
New interface possibilities:
128x160 pixel touch screen TFT display
Codec-based audio record and playback with headset connector and integrated microphone
4-direction joystick and push button
4 additional push buttons based on touchscreen capability
New evaluation features:
Micro SD card connector
IrDA transceiver
20-pin add-on connector for access to SPI, I2C, USART, CAN and analog/digital I/Os

STM32 Primer2

箱の様子
結構コンパクトなケース


付属品一式
本体、開発ツールの入ったCD-ROM、USBケーブル、スタートガイド


裏のカバーを外してみました。
基板のバージョンが1.2に上がっています。
拡張端子(ヘッダピン)に接続することにより、各種バスが利用可能な様です。


基板を裏向きにしてみました。
USB miniBコネクタが2カ所ありますが、マイコンと内蔵デバッガに接続されている様です。


開発ツールについてですが、
本体にデバッガが内蔵されてる上、インストールするだけで動く統合開発環境、
内蔵機能のライブラリが付属と、ARM系マイコンを始めるにはありがたい機能が満載でした。

また、ネットで調べていると、内蔵OSに頼らず自力でフォトビューアを作成されてる方がいました。
ねむいさんのぶろぐ

ソースも公開されているので、試しにインストールして表示してみました。(ありがたくお借りします!)
液晶の特性か、少し色が薄めのようです。


試しにいろいろ遊んでみるには低価格で良い開発キットに感じました。

USB-パラレル変換器を作ってみた

最近、パラレルポートが必要な機器を入手したのはいいのですが
手持ちのPCはレガシーフリーで、パラレルポートが無くて困っていました。
カードの増設も検討しましたがスロットの空きが足りず
ネットにて情報を探していた所、USBでECP対応のパラレルポートをエミュレートする変換アダプタを
制作されているサイトを発見しました。
(以下サイトです)

USB2LPT

サイト内で資料類はすべて公開されており、基板と部品を発注して組み立てればOKなのですが
とりあえず実験ということもあり、入手性の良いマイコンボードを使って同等品を制作することにしました。

マイコンボードはStrawberry Linuxより購入しました。
EZUSB-FX2 USB Ver.2 マイコンボード

今回のマイコンボード用にアレンジした回路図はこんな感じです


ハードウェア完成写真(表)
最終的にケースへの組み込みと、マイコン基板取りはずしを可能にするため、基板を逆に取り付けています。


ハードウェア完成写真(裏)


ソフトウェア類のインストールについてですが
以下の様に行いました。

1.Strawberry Linux、またはCypressより、開発ツールをダウンロード後インストールします。
EZ-USB_devtools_version_261700

2.公式サイトより、以下のファームウェアとドライバをダウンロードします。
(Software内にあります)
Driver for Windows 98/Me/2k/XP/Vista/7
Firmware for serial EEPROM (FX2LP)

3.EZ-USB Control Panelを起動し、USB2LPT2.IICを書き込みます。

4.USBコネクタを一度抜いて、再度差し込むとドライバを要求されるので、
 ダウンロードしたドライバを当てます。

デバイスマネージャでの様子
USB複合デバイスとして認識され、USB印刷サポート+仮想LPTになる模様


早速ECPモードにてテストしましたが、
今回のターゲットソフトでは正常に認識されませんでした
標準(SPPモード)しか使わないソフトでは使えそうな感じです。

パラレルポート接続が必要な機器を持ってる方は、一度制作されてみてはいかがでしょうか。

2009年11月25日水曜日

I2C液晶とセンサを買ってみた

I2C接続のデバイスで面白そうなのが売っていたので買ってみた。
StrawberryLinuxにて購入。

16x2行 I2C低電圧キャラクタ液晶モジュール SB1602E

Sensirion 1チップ温度・湿度センサ SHT-11

Sensirion 1チップ温度・湿度センサ SHT-71

SB1602Eは、超薄型な上低電圧(3.3V前後)で動いてくれる液晶モジュール。
英数字、半角カナが表示可能。

SHT-11/71は、温度だけで無く湿度も測れるセンサモジュール。

SHT-11は、オプションのフィルタキャップが装着可能。
SHT-71は、SHT-11のリード線付きバージョンで、パスコン類が装着済みで使いやすい。
性能も、温度0.01℃単位(精度±0.5℃)湿度:0.03%(精度±3.5%RH)となかなかのもの

届いた状態。丁寧に書かれたマニュアルが同梱されている。


I2C液晶モジュールを組み立ててみた
ユニバーサル基板(ICB-93SG)からはみでるほどのサイズ


温度・湿度センサを取り出して並べてみた
左からフィルタキャップ、付属専用基板、SHT-11、SHT-71


裏向きにしてみた


専用付属基板を組み立ててみた。右がフィルタキャップを付けた状態
装置にネジ固定する時には、SHT-11の方が便利かも


コマンドは割と単純ぽいので
LPC2388基板にでも組み込んでみようかな・・・。

2009年11月15日日曜日

Amazonでユニバーサル基板を買ってみた

なぜかAmazonでユニバーサル基板が買えるらしいので買ってみた。

ユニバーサル基板 カラー基板(黒・白・緑・青・赤・緑) 70×90mm RoHS対応品 ¥262
(Amazonにて「ユニバーサル基板」で検索)

珍しくレジストが標準的な緑色以外の色も揃っているようだ。
しかもスルーホール基板な上、RoHS対応品で金メッキ(金フラッシュ)処理。

全色買ってみた。
基板は個包装されている模様。


包装を破って並べてみた
色が鮮やかでいい感じ。一番右上は工作時に愛用しているサンハヤト製ICB-93SG


ICB-93SGと重ねてみた

全く同じでは無いが、ほぼ同じサイズの模様。
厚みはICB-93SGに比べて少し分厚いようだ(t=1.6)

値段も安いし、こっちをメインで使おうかな・・・

2009年11月11日水曜日

ARM Forumに行ってきました

前記事でhikaruが紹介の通り、ARMコンテストにて入賞したため、東京に行ってきました。
最近blog更新が滞っていたのは、コンテスト関連の作業ばかりしていたためです(汗

自展示ブースの写真
キーボード近くにあるのが、応募した作品です。
左奥は分解した開発機を展示してあります。


他作品全般の写真は、hamayanさんのレポートが詳しいです。

Under Power 研究所


作品作成時に参考にしていたサイトの方々が入選していました。
お話しできてとても嬉しかったです。
皆さん本当にありがとうございました。

マイコン工作実験日記
「LPC2388によるMP3プレーヤ」

ARMマイコンを使ったmp3プレーヤーを展示されていました。
ただのmp3プレーヤーでは無く、
OS(TOPPERS)、QVGALCD、ソフトウェアコーデック、タッチパネル、赤外線リモコン
FMチューナ、USBスピーカー、オーディオ入出力を搭載しており
製品で出ていても全くおかしくないクオリティです。
グランプリにふさわしい内容と思います。


いま研
「FreeOS+uIPで作成したWebアプリケーション」

若松通商より発売されているLAN&SDカード拡張子基板を使いこなし
ARMマイコン上にWebサーバー&有線LAN+無線(Xbee使用)を構築した上で
それを応用した作品群が展示されていました。
どれも実用性の高い作品となっていました。
個人的にメッセージ表示のアプリケーションが欲しいです。


「簡単オシロスコープ」

サイトはありませんが
もう1人の方は、オシロスコープを展示されていました。
簡単オシロスコープと書かれているだけあって
とても使いやすく操作出来るように仕上がっていました。
ソフトウェアの作り込みが半端じゃない印象を受けました。

自作品についての説明ですが

当日配布したパンフレット


職業柄、キーボードを打つ機会が多く、キータイプ状況の統計を取れれば
仕事のサボり具合がすぐ分かっておもしろいなということで制作しました。
また、私がMacとWindowsを併用している、ソフト利用制限が厳しい場所で利用出来るよう考慮した結果、
ソフトじゃなくて、OSに依存しないハードウェアで制作することにしました。

応募作品には実装されていませんが、将来的に
PS/2-USB相互変換、PCヘビーユーザーにうれしいキー入れ替え、キーマクロ機能等を搭載して
OSに依存しない便利ツールとして使えたらなぁと思っています。


ハードウェアブロック図を貼っておきます。


使い方についてですが
PCとキーボードの間に接続して使用すると
液晶にキャラクターが表示されます、デスクトップアクセサリのイメージです。
キータイピングに合わせて一緒にタイプしてくれます。

キーボードは、USBキーボードとPS/2キーボードが利用可能です。
PCからは、この作品はHID準拠キーボードとして認識されます。

動作についてですが
仕事をさぼっている(キーを打たないでいる)とキャラクターの体調が良くなり、最後には寝てしまいます。
寝ている場合、Enterキーを押すと、叩き起こすことが出来ます。

仕事がはかどっている(キーのたたき具合が多い)と、キャラクターがやつれていきます。

決められたタイプ数を達成、記録更新すると、生ボイスで祝福してくれます。

また、Enterキーを押すといつでもキャラクターを殴ることが出来ます。

ハード、ファーム、アプリの動作詳細については、Interface誌面上にて掲載予定です。

2009年11月9日月曜日

Interface誌のARMマイコン基板コンテストに応募しました


Interface誌 ARMマイコン基板アプリケーション制作コンテストに応募しました。
なんと入賞し、ARM Forumで表彰されることになりましたので、明日は東京まで行ってきます。
作品「キータイプカウンター・コイセ君」を見られた方いらっしゃましたら感想を聞かせてくれると嬉しいです!

2009年6月27日土曜日

電子工作用ピンセットを買ってみた

日本橋をぶらついていたら、変わったピンセットが置いてあったので購入してみた。

ideal-tek
SM100.SA (SMD / 光ファイバー用ピンセット X型)
SA104.SA (SMD / 光ファイバー用ピンセット)

五階百貨店内の大谷商店で購入

この店は輸入工具が豊富に揃えてあって
工作用の工具類は大体ここで購入している。

並べてみた
非磁性ステンレス製なので重いとおもいきや、持ってみるととても軽い。


SM104は先端が平らになっていて、チップ部品が持ちやすい形状。
はんだごて1本でチップ部品の半田付けをするのに重宝している。


SM100は普段は閉じていて、手で押さえると開く構造になっている。
先も太く、線材類でも滑らずつかめるので、狭い場所でリード線等を半田付けするのに使っている。
汎用工具でもなんとかなる気もするけど
同じ作業を繰り返したりする場合、専用工具は楽だしとても有用と思う。

超音波距離センサで遊んでみた

日本橋をぶらついてたら、おもしろそうなセンサがあったので購入してみた。

MaxBotix
LV-MaxSonar®-EZ1™ (MB1010)
http://www.maxbotix.com/downloads.html

シリコンハウス共立にて購入(¥3600)

これを使うと、外付け回路不要で簡単に距離が測れるらしい。
しかもデータがシリアル、アナログ、パルス幅出力が可能でかなり使いやすい。

開封前の状態
裏面に端子の説明があるだけで、マニュアル類は一切無し






センサ表面
かなり小型になっていて500円玉程度のサイズしかない。


センサ裏面
電源、シリアル出力、アナログ出力、パルス幅出力の端子がある

今回は、PCにシリアル出力で接続してみた。

電源(2.5-5.5V)を接続すると、TX端子から一定間隔でシリアルデータが垂れ流されてくるので

USB-UART変換基板で受けるだけ。

ちなみに、RX端子をGNDに落とすと、シリアル出力が停止するようだ



垂れ流されるデータをロジアナでキャプチャしてみた
一定間隔でASCIIコードの「R」 数字3桁(0-255) 復帰コード「CR」が垂れ流される模様

HEXデータ


ASCIIに表示変換してみた



これはいろいろ応用が出来そうだ……。

DSLiteの液晶交換に挑戦してみた

前回に引き続き、aitendoにて購入した液晶をDSLite下側の液晶に取り付けてみました。
(実際に組み込みはしませんでしたが……^^;)

※DSLiteの詳細な分解方法はググれば見つかるとは思いますのでさくっと書きます。

また、分解には特殊ドライバー(Y字型)と精密ドライバー(+)が必要です。
(Y字ドライバーは日本橋シリコンハウス2Fで手に入れました。)

まず、底面右側のバッテリホルダの+ねじを外してバッテリーを取り出した後
☆マークのねじをはずします(8カ所)
上側ゴムの部分(2カ所)の下に隠しねじが入っているので注意









筐体を開けます。
画像右側方向から持ち上げると開けやすいです。
(後で組み立てやすいように、ボリュームを左か右いっぱいまで移動しておくのをおすすめします。)

☆マークのねじをはずし、LRボタンを外します。
(LRボタンの中にバネが入っているので、飛び出さないように注意しながらはずします。)

コネクタのロックを解除し、丸印部分のフレキを外します。

コネクタは、この画像で手前側の黒い部分を持ち上げれば、ロックが解除されます。

作業しにくい場合はコネクタ手前の無線LANモジュールを外すと良いでしょう。


基板を慎重に持ち上げ、ひっくり返します。

四角部分のコネクタのロックを解除し、フレキを外します。

コネクタは、この画像で左側の黒い部分を持ち上げれば、ロックが解除されます。
とても割れやすいので注意!


新しい液晶をとりあえず取り付けてみる。
……交換前と大差ないような気が(汗


交換前の状態

結局、交換しても大差ないので、組み込むのはやめました。
割れるor故障するまで保管しておこう……

2009年5月29日金曜日

NDS用液晶を買ってみた

aitendoにてDSLite用液晶パネルが売ってるようなので、試しに購入してみた。

シャープ 3.0型液晶 LS030B1DC48B
http://www.aitendo.co.jp/product/963


手持ちのOLED(有機EL)モジュールと並べて写真を撮ってみた
さすが携帯ゲーム機用だけあってとても薄い。
近くに置いてあるのは接続用コネクタ。かなりピッチが狭い(0.6mm 両側に端子が出ている)ので
コネクタのハンダ付けに苦労しそうだ・・・。

DSで変色が酷い(黄色めになっている)方の液晶パネル交換にでも挑戦してみようかな。

ネットワークモジュールを買ってみた。

PIC24ほげほげから簡単に使えそうなネットワークモジュールを試しに購入してみた。

LANTRONIX XPort(RTOS・TCP/IP。アプリケーション層搭載、超小型デバイスサーバー)
XP1001000-03R
http://www.lantronix.jp/products/ds_xport.shtml

MaxStream XBee(2.4GHz帯無線ネットワークモジュール 最大250kbps、30m伝送可能)
http://www.digi.com/technology/wireless/products.jsp

XPortはシリコンハウス共立、XBeeはStrawberry Linuxより購入。

並べて写真を撮ってみた。
大体500円玉位のサイズのようだ。

これはいろいろ遊べそうだ・・・・。

2009年5月17日日曜日

OLEDモジュールで遊んでみた(その2)

というわけで前回(http://hkhacks.blogspot.com/2009/05/oled1.html)に引き続き
一緒に購入していたフルカラーOLEDパネル(RGS15128128FH029)
で遊んでみることにした。

今回は既に解析済情報を提供してくれているサイトがあったため、
思っていたよりスムーズに点灯させることが出来た。 ほんと感謝。

ゆな研
http://yunadigick.blog94.fc2.com/blog-entry-22.html

なる研
http://naruken.cweb.tk/diary/diary.cgi?a=0810


回路図はこんな感じ



・DC/DCコンバータはStrawberryLinux製LM2735Yを使用。
http://strawberry-linux.com/catalog/items?code=12004

・51Ωの抵抗は100Ωを2本並列でもOK 。

・パネルの1番ピン方向が前回のパネルと左右逆なので注意。

・ダイオードは1N4148等適当なダイオードでOKの模様。

・消費電流が前回のパネルに比べて大きいので、電源に注意。

実験中の様子

今回もPIC24USBを使ってみた



思っていたより明るくない。
これはコントラスト等調整が必要そうだ。

OLEDモジュールで遊んでみた(その1)

有機ELモジュール(UG-2864AMBAG01 128x64 エリアカラー)
を買ったのはいいけど、組み立てるのが面倒で放置していた。
積みゲー状態にしておくのはもったいないので、なんとなく点灯させて遊んでみた。

データシートはここから
http://www.aitendo.co.jp/product/1088

データシートを読んでみると、
このモジュールを駆動させるには、12Vと3.3Vの2電源が必要な模様。

当初は定電圧電源を使って実験してたけど、組み込みの際面倒そうなので
モジュールに内蔵されているDC/DCコンバータ回路を使って3.3V単電源で動かしてみることにした。

とりあえずベタ塗りだけどPIC24USBを使って画面表示させることが出来たので
参考用回路図を張ってみる(ほぼデータシート内参考回路図まんまですが・・・。)



・OLEDモジュール、コネクタ以外の部品はすべてDigi-Keyで入手可能。

・回路図中C10は6.8uF以上のタンタル、または低ESRの電解コンを推奨。

・DC/DC周辺回路(ロケーション10番台)の配線が長くなるとコイルが鳴いたりするので、
極力最短距離で配線した方が無難です。

・aitendo製キャリーボード(IFB-UG-OLED27P)を改造して使う場合についての注意ですが
R1に910Ωが実装されているので910kに交換しましょう。

今回の動作確認にはNDSを使わず、
PIC24USB/PIC24Fシリーズに搭載されているPMPモジュールを利用しました。

PIC24USBを利用する際、マイコン側は以下の回路図の様に配線します。



実験中の様子


PIC24USBを使う際のファームウェアについてですが、
Microchipから出ているPIC24Fスタータキットのデモプログラム内
SH1101A.c/SH1101A.hを参考にされるのが良いかと思います。

MPLAB Starter Kit for PIC24F
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en535092

コマンド一覧はDriverIC(SH1101A)のデータシートを参照します。

大まかな初期化の流れは以下の通りです

・必要な場合、OLEDモジュールをリセット
(上記回路図では、5番ピン CSROMをLowに落とします
適当なポートに割り付けて制御して下さい)
・150ms Wait
・パネル解像度に合わせて、ドライバICマッピングを変更
・内蔵DC/DCコンバータを起動
・150ms Wait
・Display ONコマンドを発行

次はフルカラーのOLEDパネルで遊んでみよう。

2009年5月8日金曜日

MPLAB ICD3をGET!

PIC24ほげほげ開発キット用に追加でデバッガが必要なことが判明。
新しいデバッガに何を買うかを検討してたけど
今更PICKit2とかもう1台ICD2購入とかお金がもったいない気がしたので
最新型のICD3を購入してみることにした。

Digi-Keyにて購入
価格は送料関税等込みで¥23000位でした。

パッケージはこんな感じ
Digi-Keyの管理用のシールが張ってあった。

開封して中身を出してみた。
マニュアル・ドライバーCD類と最小限のケーブルのみ。
おまけ基板の代わりに10F202が搭載された基板が入っていた。

ICD2と並べてみた様子(モジュラー側)
特に変化はないようだ。

USBコネクタ側
ICD3はRS-232C、DCコネクタは廃止されて、USB端子しかない。


分解してみた
ICD3ではdsPIC(dsPIC33FJ256GP510)+FPGA(Spartan3 XC3S100E)が搭載されているようだ。


基板裏面
ICD2に比べて部品が多めだった。



というわけで接続してみた
認識にはICD2に比べて少し待たされる模様。


書き込みの速度比較をしてみた
HEXファイルは書き込み・ベリファイでやたら時間がかかる
Optimize製PIC24USBのファームウェア(33.4KB)を使用


結果
ICD2 = 115秒
ICD3 = 9秒
高速化しているとは噂には聞いていたけどここまで速いとは・・・
10倍速ってレベルじゃねぇ!

次に適当なプロジェクトファイルを開いてデバッガのテストをしてみた


見慣れないボタン(Debug Read)が追加されていた。
デバッグ実行部分を使ってプログラムメモリの内容が読み出せるらしい・・・

少し使ってみての感想は
Step実行がすばらしく早い!
まるでVisualStudioでStep実行をしてるみたいにほぼ一瞬で次のステップに移動している・・・
Animateボタンも超快適に使えるようになっている。
ブレークポイント設定可能箇所は、5カ所のまま変わらず。
ただし、ソフトウェアブレークポイントが今回新たに利用可能になっていて
利用した場合、5カ所の制限は無いようだ。

個人的には、これから買うには十分有りな選択肢だし
大規模なソースを日常的に書いてる人とかは買い換える価値は十分あると思う。