2013/09/29

[電子工作]LPC800 Mini-Kitもどき その3

,
 基板は今中国あたりのどこかを揺蕩っているはずです。主な部品もDigi-Keyで買いました。でもひとつ重大な問題がありまして…メインの肝心要のLPC810の在庫が、どこのショップでも0のままなのです。もはやギャグ。  一応主要ショップでの在庫数はここから確認できるのですが、0のまま変化してないように思います…    Digi-KeyでもLPC81xシリーズだけ0のまま。NXPさん生産する予定あるのかなあ、って思うくらい。 在庫が無いよう… いつになったら手に入るんだろう… 追記: 2013/10/08 リセッタブルヒューズなんですが。 リセッタブルヒューズ各種 上から ・MF-SM050-2 2920(7351メトリック) 最大電圧60V \53 ・MF-MSMF050-2  1812(4532メトリック) 最大電圧15V \24 になっている。明らかにサイズが違う…。後写真には写ってないけれど、 ・MF-FSMF050X-2 0603(1608メトリック) 最大電圧6V \45 というのも買った。1608なのでとても小さい。  それはともかく、この前基板が届きました。 基板(表) 基板(裏) えっと、まあ最大のミスは、パッドと間違えてビアを配置したことですかね…。シルクのロゴが綺麗に出てたのにはびっくりしました。  で、これに部品をちまちまと乗せて行っているのですが、実装してみると幾つか問題が出てきたので書き留めておくことにします。 2013/10/05...
Read more →

2013/09/28

[電子工作]aitendoのDDSモジュールを動かす その2

,
0)前置き  前にこんな記事を書いて以来、aitendoのDDSモジュールも放置していたのですが、そろそろケースに入れたいのでまた触り始めました。  取り敢えず、SPIでいい加減動かさないと…ということでSPIから制御する話です。  使ったハードはArduino Duemilanoveなので(今となっては化石…)、Master側のSPI設定に困ることはないです。 1)ハード的な話  AD9850は、どうも2ピンがLow、3・4ピンがHighならばデフォルトでシリアル通信モードみたいです。aitendoにある回路図を見ると、2ピンに繋がっているJP1をジャンパしておけばGNDに落ちるみたいなので、パラレル→シリアルへの変換コマンドを送る必要はないみたいです。  出力ですが、IOUTが200ΩでGNDに落ちているので、そのまま出力インピーダンスも200Ωなのでしょうか…?評価キットの回路図では、IOUTBは25ΩでGNDに、IOUTは50ΩでGNDに落ちてますが… 2)ソフト的な話  AD9850のデータシートに書かれている、SPI通信のタイミングをみます。 AD9850 Data Sheet 英語 Rev H(http://www.analog.com/static/imported-files/data_sheets/AD9850.pdf)より転載 で、AD9850のシリアル信号線の名前は、SPIによくあるSS、MOSIなどとは違ってますが、結局役割は同じみたいです。 FQUP(FreQuency...
Read more →

2013/09/21

[電子工作]出てきたDAC08ボードのなにか

,
※書きかけ  昔作ったDAC08の載ったなにかが出てきました。よくわからないので回路図を調べました。 DAC08周辺回路図  電源周りは全ての部品を書いてるわけではないです。 載っているDC-DCコンバータモジュールは、+-5V出力のMAU106。Vref用の基準電圧源はLM336-2.5。DAC : DAC08です。8bitパラレル入力で、セトリング時間は最高85ns。私はDAC/ADCに関して無知なのでよく分からないのですが、セトリング時間の逆数が、サンプリングレートになるんでしょうか?だとしたら、11.8Mspsくらいでしょうか。鈴商で買ったやつです。  で、調べてみるとこの回路には少し問題があるみたいで… 1)DC-DCコンバータモジュール  MAU108ですが、安定出力域は、出力電流で+-42mAまでです。これは大丈夫そうだった    他に、出力リプル電圧が大きいこともあります。データシートp.3の、"Ripple & Noise (20MHz)"の項目に、Typ. 50mVp-p、Max. 75mVp-pと書かれています。  エレキジャックの記事にも、高周波ノイズが多いので、チョークコイルとコンデンサによるフィルタを入れていると書かれていますし… 今のところ本当に出力をDAC08の+V/-Vに直結しているので、ここを改善しないといけなさそうです。    また、上の記事には「ただし、出力は安定化されていないので負荷電流で出力の電圧が変化してしまいます」とあります。  どちらにせよ、ノイズに弱く電源が綺麗じゃないといけない(?)DAC/ADCのことなので、もうちょっとどうにかしたいです。 2)DAC08の出力抵抗  DAC08のデータシートp.11...
Read more →

[雑記]PS3と机買いました

,
 知り合いから譲ってもらったんですが…初期型PS3(20G)で、全面のフタが折れてるものを、\10,000。  もちろん20GBじゃあ足りないので、HDDを換装することにしました。換装はそこまで手順が多いわけではないですが、ネジが外しにくくて大変でした(1つねじ山潰してしまった…)。  周辺機器で買ったもの: ・HDMI-DVI変換アダプタ PL-HDDVAD \950 Amazon ・HDMIケーブル1.0m DH-HD14ER10BK \950 急いでたのでヨドバシ ・HDD(2.5inch 海門 500GB) \3,000 (別の方から譲ってもらった) ・PS3 メモリーカードアダプター CECHZM1J \980 じゃんぱら  ちょうど中古で売りに出てて良かったです。発売が2006年11月なので、新品はあまり販売されておらず(大体のところでは販売終了)、どっかに出てる中古品を回収する感じです。    これとは別に、机と棚も買ってしまいました。 ・デスク(リッケン2 120-DBR) \9,990 ニトリ ・シェルフ? ・A4 3段ケース(ZHU-BK) \1,490 ニトリ  本当は、そろそろ限界が来てるPC用の椅子(といっても、4脚のダイニング向けの普通のを使ってた)を、買い換えたかったのですが… なるべく早く欲しかったので近所のニトリに行ったのですが、タンパ2...
Read more →

2013/09/16

[電子工作]LPC800 Mini-Kitもどき その2

,
 1枚の基板としての設計(といえるほどのものではない…)は終わりました。 1)仕様     2層基板、幅98.63mm×高さ47.3mm。 2)パターン 全体のパターン パターン(裏面のみ) パターン(表面のみ) 3)回路図 回路図 4)変更点 ・参考になったサイト EAGLE on PCB Design (EAGLEを使った回路・パターン設計) http://slidesha.re/149g2L1 ・どうせだから基板を横10cmまで伸ばした。結果的にめっちゃスペースが余ることになって、大きめのロゴとかはそっちに移動させた。 ・コネクタの信号名をシルクで入れた。これがないとPCのモニタとにらめっこすることになって、個人的にとてもうざったい。 ・パスコンの位置を、VccがICに入る前に移動。 ・ダイオードをなんか適当なやつ(SOD-123パッケージ)に変えた。 ・Vccを幅16mil、ドリル16mil、ビア外形32milにした。  1mm幅で許容電流1Aくらいって聞いたので、USBの0.5A(実際はそこまで流れないだろうとは思う…)弱で耐えれるように。16mil=0.4064mmだからダメか… ・10ピン1.27mmのヘッダ(CN1)を、表面実装品に変えた。こ...
Read more →

2013/09/15

[電子工作]IV-16用ボード

,
※あとで書く  フィラメント管IV-16用のボードです。ユニバーサル基板でやろうとして、隣の桁の同じ部分も表示されてしまい頭を抱えてたので、思い切ってプリント基板で作ってみました。    動かなかった原因 ・フィラメント管は応答速度が遅いらしく、すぐには消えてくれないこと(未検証) ・フィラメント管は文字通りフィラメントが並んでいるので、発光ダイオードなどと違い、逆方向にも電流が流れる…?ちゃんとGNDに落としてないと消灯できなさそう。なのかなあ。 作ったもの パターン Top View Bottom View(表面レイヤー非表示) 回路図 回路図 部品について 部品リスト: Part     Value          Package    Library   Position (mil)        Orientation C1       0.1            C2012      rcl  ...
Read more →

2013/09/10

[電子工作]LPC800 Mini-Kitもどきの製作 その1

,
※書きかけ、やりかけ  LPC800 Mini-Kitが探しても本当に見当たらないので、業を煮やしてそれっぽいのを作ることにしました?  初心者がやるとこーなるのかーーーーみたいなことを分からされててとてもつらいなあ。 ピンの設定 ISPモードに入るためGNDに落とすスイッチが5ピン。 ISP書き込み用のUARTが 部品の選定    電源周り、自動切り替えするICは使わずに、原始的にダイオードで済ます。一応VBUSを外に出して使うことも考えてはいるので、バイパス用のジャンパパターンを付けておく。  ショットキーダイオードは思考停止でライブラリにあるSOD523を選んだ。でも実際ボードいじってると、これじゃあ小さすぎて無理だと思わされるってワケ。一応Digikeyにはこのパッケで使えそうなのがある(http://www.digikey.com/product-detail/en/PMEG3005EB,115/568-7397-1-ND/2697417)。けどねえ…    スイッチング電源はコイルを選ぶ才能がないと気付いたので、LDOにした(楽)。選択基準とか候補が次のようになってる。 3.3V LDO Vdrop < 1.0V、Iout > 0.3A ノイズ入るとヤバイとも思えないんだけど、なんか面倒くさいしLDOにしておく。 BA33BC0FP-E2...
Read more →

2013/09/08

[電子工作]双方向レベルシフタ基板を設計して、Elecrowに投げてみた

,
 なんかそろそろ基板作れるようになりたいよなあ、ということで、試しに双方向レベルシフタの基板を作ってみました。双方向レベルシフタを選んだのは、部品点数が少なく、基板の規模も小さく、そして少しは実用になるもので思いついたのがこれしか無かったからです…  使うレベルシフタICは、Texas InstrumentsのTXB0108です。単純にググって一番上に出てきたから使おうと思っただけの話。  変換基板は、Adafruitのこれをパクリ目標にして作りました。  設計にはEagleを使いました。 ・ライブラリを準備する  メインの部品であるTXB0108が、Adafruit.lbr(GitHub)に元から入っているので、自分でライブラリを作るということはありませんでした。というか、面倒そうなのでその必要がないようなものを選んでました。 ・シルクの編集  シルクの編集には、表面ならレイヤ21(tPlace)あたりにテキストを書き込んだりする。Vectorフォントの方が無難、らしい。フォントが3種類しか選べないのがとてもつらい。 参考:EAGLEでのシルク印刷編集: 組込み徒然草 http://bit.ly/1cT9LFD ・イメージの追加(import-bmp.ulp)  import-bmp.ulpを使うと、シルクに.bmpが追加できるみたいです。でも失敗しました。なので今回は使用していません。 シルク印刷する、どちらかの色を選ぶべき(決して両方ではない) どうやら、上の画面でなぜかバカ正直に2つともチェックを入れてしまってたのが問題だったみたいです。使う色を指定する画面なので、モノクロビットマップならば、黒(かもしくはネガポジ反転となる白)のどちらかを選ぶべきでした。(2013/09/10) 画像のサイズの指定。シルクは21(tValue) あと、次に表示される上のようなダイアログでは、シルクとして印刷したいなら[Choose...
Read more →

[電子工作]LPC11U37でのXorshiftのメモリ消費量とかを調べた

,
 ちょっと気になったので、Xorshiftのコードサイズがどれくらいになるのか確かめてみました。あと最初うまくいかなかった時に何をしたのかの、ログです。 ぜんたいのこうせい 1)前置き 2)ソース 3)実行結果 4)まとめ 5)おまけ 使った環境 MPU : LPC11U37/401 Cortex-M0 Toolchain : Keil MDK-ARM Version:4.72.1.0 1)前置き - なんでXorshiftか  乱数が欲しい時は何を使えばいいんでしょうか。標準的な関数rand()は、今では精度の悪い(≒ランダム性が高くない)、使わない方がいい乱数生成器の代表になってしまいましたが、シード含めて2つの関数を呼べば乱数が出てくるので、気軽に使える乱数生成器の1つです。この気軽に使えるというのが重要で、例えばC++の標準になった乱数生成クラスだと、何回かクラスのインスタンスをゴニョゴニョして、んでもってやっと乱数が出てくる(精度はいい、らしい)感じです。これだと、PC上で実行する分にはいいけれど、メモリが少なく速度が遅いマイコンだと、本当に使えるのかと疑問になってしまいます(まあそもそもC++のこれにまだ対応していないのが多いような気もする、<random>インクルードしたらエラーになったし)。  ということで、今回はある程度精度があって、とても高速だと言われるXorshiftというものを使ってみます。  解説とサンプルコードは、Wikipedia(http://ja.wikipedia.org/wiki/Xorshift)にあります。   2)ソース  こんなかんじのコード(main.cpp)になりました。他に、startup_LPC11U**.s、system_LPC11Uxx.c、core_cm0.c、core_cm0.h、サンプルプログラム集にあるuart.c、uart.h、type.hが必要だと思われます。 #ifdef...
Read more →