スキップしてメイン コンテンツに移動

投稿

PIC32ブレイクアウト#2

以前試作したPIC32MM用ボードの修正板を実装してみた。 ・SOSC用に32.768kHzの水晶をシリンダタイプに変更。 ・ICSP端子を追加 ・コンデンサの外形見直し。(10μFを1608へ) ・32MX1xxに対応。(2xxだとICSP端子のデータ、クロック線が使えないけど使うことはできる。) PIC32MM 32MX1xx  ピンヘッダつけてしまうと意外とめんどくさいので、いつか端面スルーホール処理にしてみたい。  プロジェクトファイル置き場 https://github.com/kentN/PIC32-28P-Breakout

簡易無電源環境光センサ

太陽電池を簡易的な環境光センサとして使ってみた。 CPC1822はとても小さな太陽電池セル。 透明なSO8パッケージに封入されたアレイで構成され、4V 50μA(6000Lux時)の発電能力を持つとデータシートにはある。残念ながらすでに生産中止品なので、部品屋に流通している分で販売終了のようだ。部品箱から発掘されたので、供養と称して特性を調べてみた。   50μAで何ができるかといえば、アプリケーションとしては光検出、トリクル充電の電源といった用途になる。μAレベルの平均消費電力であれば、コンデンサを充電することでPIC12Fあたりを間欠駆動することもできそう。 光量センサとしては、無電源でADCに直結する簡易的な環境光センサとして使う事もできそうなので、簡単に実験してみた。 CPC1822のパッケージは向きが分かりにくいが、結線されている足は二つだけ。 シャント抵抗を取り付けて、I-V変換された電圧を読み取る。 (写真では100kΩを取り付けたときのもの) Arduino(AVR系列)なら、基準電圧に1.1Vが使えるので、10kΩでシャントすれば直射日光下で余裕のあるレンジになりそうだ。 10kΩの抵抗を接続し、照度計と一緒に窓辺に置いて、端子間電圧を測定した結果が下記のグラフになる。曇り空のため、あるていど均一な光量が得られていた。 薄曇りの窓辺での計測結果 < 4000Luxまで その後、雲間を通して直射日光が得られたので、変動の激しい中ではあるけど、プロットしてみた。  34401Aにつないでシャント電圧を測定してみると、曇り空でも本来のデータシートの発電特性よりも4倍ほど高い電流値を示していた。負荷抵抗を外して直接電流計測しても4倍の電流が計測できている。 そういうものなのかな…。   雲間の太陽光で計測した結果は、雲の動きが激しすぎて、プロット精度がとても落ちてしまった。快晴下で透過率を調節するのが理想かなぁ。直射日光下では発電電流が10倍くらいに増加しているようだ。  曇りのプロットと陽光下のプロットの傾きはやや異なる。セル自体はフィルタもないので、赤外線などの影響をかなり受けている。照度を測るなら、可視光帯...

Nexus5X(と寄り道)

いまさらだが、Androidアプリの作成をしてみたくなって、開発機としてNexus5Xを調達した。  端末のセンサ値をテレメトリみたいに長時間ロギングしてみたいとおもったが、手元にはセンサを積んだ新しめの機種がなく…。  Nexus5xには製造不良が原因とされるbootloopといった有名な不具合があり、保証切れの個体がオークションで放流されているため、最初は取り寄せてあそんでみることにした。 結局、安定しなかったので 開発機は新品を購入して運用中。  起動不良を抱えた個体を分解してみた。 分解については iFixitに詳細なレポート がある。分解はプラスチックの爪を外すだけなので容易く、基板は数か所のねじを外すだけでアクセスできる。 裏蓋などの分離する筐体にケーブルは伸びておらず、フレキシブルアンテナや指紋センサ、オーディオジャックは基板に配置された金属端子の接触のみで接続されている。基板につながるフレキ端子はLCD、バッテリ、二つのカメラモジュールのみだ。 今どきの端末はかなり設計の合理化が進んでいて、バラしやすい。  背面カメラはIMX377で、1200万画素、1/2.3型CMOS。 手持ちのTG-4と比較すると、オートホワイトバランスがちょっと頼りないけれど、画素サイズとレンズのおかげか、細部ははかなりシャープに映る。 5Xだと手振れ補正が無く、シャッターボタンを押してから動きの少ない瞬間を狙ってキャプチャしているっぽいので、光量がある場面ではかなり強い。 全球撮影やパノラマモードみたいな撮影についてはAndroidのほうが気に入っている。  話を基板に戻すと、SoCを覆う金属シールドもツメになっていて、簡単に開く。 放熱シートを介して、DRAMがPoP実装されたCPUが出てくる。 素子を放射温度計でモニタしながら、ヒートガンであぶってはんだクラックの対処をしてみると、たしかにある程度起動しつづけるようになった。  ただ、2日目に急速充電をテストした際に発熱が増え、bootloopが再発。 常用は難しそうだと見限ることにした。 あとから買った新品と比べると、負荷をかけたときの発熱が多いのも気になった。 バッテリ端子を外して絶縁し、保管中。  SoCの裏...

新PIC32(2017)

PIC32MZを久しぶりに触っている。 2015年にFPUが追加された第二世代のEFシリーズが登場した。(初期に登場したECシリーズはエラッタのせいか、ひっそりとNRNDとなっていた) 2014年に買った100pのプラグイン基板(PIM)をEFのチップに換装し、Chipkit CoreをインストールしたArduino環境上で試してみた。  32MZ EFが積まれたボードは、DigilentからChipkit Wi-FIREとして販売されている。 http://store.digilentinc.com/chipkit-wi-fire-wifi-enabled-mz-microcontroller-board/  32MXを置き換えるという観点で見ると、 ・下位構成ではROM512k/RAM128kも選択できて、チップ単体で1000円前後から入手可能になっている。 ・最大で144ピンのパッケージが選択できる。 ・12bit 18MSPSのADCを内蔵 ・倍精度にも対応したFPU ・ピンアサインは互換性なし DSPの仕様的には、ARMのCortex-M7クラスの仕様になる。小ロット入手だと単価は32MXとほとんど変わらない。  手軽さだけなら最近はRaspiに流れてしまうんだろうけれど、カスタムボードでも、HALとAPIの選択肢が増えてきたのもあって、いろいろな情報が得られるのでとっつきやすくなった。  多ピンをコンフィグする場合、予めMPLAB Harmony Configurator上でバスの機能ピンの割り当てを検討できるようになり、PPSピンの機能マトリクスを並べてにらめっこしていた頃と比べるとだいぶ検討が楽になった。 最大のパッケージで、UARTx6, I2Cx2, SPIx2 OC(PWM)x6,CAN, ADC (の一部) , 16bitパラレルx1を引き出してみた。 PIC32MXのほうは、従来のPPS対応の1XX, 2XXシリーズのラインナップが再び拡張され、64/100ピンファミリーが追加されていた。 最大でRAM64k、ROM512kで、第一世代とピン互換がある。シリアルバスなどのペリフェラルも増やされていて、PPS化で実質使えるバス数が増えている。クロ...

Olympus TG-4

オリンパスの防水コンデジ TG-4。 だんだんと入手しにくくなってきつつある。特価で入手。(3ヶ月後に後継機TG-5が登場した) 単体で海中撮影できるし、Exifには撮影方位、緯度経度、気圧(水深)が記録されるので、旅カメラとしては最強クラス。 画像をスマートフォンにダウンロードするだけなら、内蔵Wifiで転送が可能。 別売りのLEDライトガイドを装着したもの 特にマクロ機能が飛びぬけている。顕微鏡モードでも望遠端1cmで、直尺を接写してみたものが以下の写真となる。 被写界深度合成機能もあり、カメラ上での合成と、焦点を変えながら静止画を連続撮影するオプションが選べる。もっぱら基板上の実装確認に使う予定なので、この機能にはやや期待している…。 (アウトドア用なのに申し訳ない気分に) 古いCMOSセンサを被写体にして確認してみた。 被写界深度合成なし(1枚目) 被写界深度合成あり。ダイの奥までシャープになった もともと初めに買ったのがGX-200なので、鞄に入らないカメラはちょっと抵抗がある。Pentax Qでレンズをそろえるかどうか迷って、望遠レンズとマクロレンズの代わりに、中古だけどSP-100EEとTG-4をそろえた。 市場の縮小を受けてか、コンパクトな筐体に向いた1/2.3型素子採用のカメラが最近あまり発表されなくなっているのが寂しい。画質や暗部性能では太刀打ちできないものなぁ… <作例> AirSPY チューナー部 植物だと、拡大撮影時の倍率を一発で理解してもらえる被写体というのがなかなかないことに気付く。 1週間後の撮影 4kテレビの画面を光学望遠端で。(顕微鏡モード)RGBW配列が確認できる

RISC-Vなマイコンボード (HiFive1) を試す

オープンな命令セットアーキテクチャとして注目されているRISC-VベースのMCU評価ボード HiFive1が届いたので、さっそく使ってみた。  RISC-Vアーキテクチャそのものは、クラシックなRISCをベースにしつつ、分岐遅延スロットを持たない(ARMやPPCのように)系統で、可変長命令をはじめからサポートしている。 < https://riscv.org/specifications/ > 開発元 SiFive社< https://www.sifive.com/ > 入手はCloudsupplyから< https://www.crowdsupply.com/sifive/hifive1/ > HiFive1のMCUとボード上の実装 MCUとしてFreedom E310が搭載されている。< https://www.sifive.com/products/freedom-e310/ > パッケージは結構小さい RISCコアの周辺は最小限の実装となっている。  個人的にはこういう最小限のシリアルバスだけなROMレス32ビットMCUがほしい(RAMはもうちょっとあると良いけど・・・) MCU ・ISA:RV32IMAC(RV32Iベース) ・180nmプロセス ・16kb SRAM, 16kb L1 Chache ・1.61DMIPS/MHz ・ROMレス(128MbitのQSPI Flashが実装済み) ・Clock HFOSC: 16MHz XTal (内蔵PLLにより、最大320+MHz) ・LFOSC: 32.768kHz (RTC用) ・コア電圧は1.8V (VDDIOには3.3Vが入力されていた) I/O ・ピンヘッダには双方向レベルシフタ(TXS0108ERGYR)を挟んであり、ジャンパピンでI/O電圧レベルを5Vと3.3Vから選択(IOREF) ・外部バスは SPI x1, UART(デバッガと兼用) x1, I2C x1(ソフトウェア実装) ・ADCは無し ・PWM x9 JTAG ・OpenOCD(FT2232H) Freedom E310 manual https://dev.sifive.com/doc...

H-IIA F32 ロケット雲

17:55 RX100M3  70mm 1.3秒露光 ISO100  トリミングと明るさ補正済み 1年ほど前にロケット由来の発光雲を目撃 していたが、今回再び目撃することができた。 H-IIA 32号機の打ち上げは16時44分で、関東では17時に日没となり、その30分後あたりから南南西の方角に雲が現れた。 今回は定点で現れてから消えるまでを撮影することができたが、雲全体が南に移動するにしたがって大きく広がっていく過程を捉えることができた。 17時半ごろの出現当初の様子 18時を過ぎると、肉眼ではほとんど見えなくなっていた(10秒露光) 前回も今回も冬季だったので、高層大気では東向きの風が吹き、雲を運んでいたのだろうか。 雲といっても、発生高度から算出すると、直線距離にして数百キロ以上先のものを見ていることになるので、普段の生活とはかけ離れたスケールのものを眺めていることになる。 つい先日まで、鹿児島の南端でお仕事していたこともあって、なかなか感慨深い。

AIRSPY R2

 2016年も残り僅かな今日この頃。 2年越しのプロジェクトがひと段落したので、AIRSPY R2を入手。  現在、地上局に組み込んでいるRTLSDRの困りごとは、周波数の近い業務用テレメトリの混信がひどく、観測時の切り分けが難しいこと。 解決策はフィルタを入れてしまうことだけれど、広帯域で観測できる(遊べる)利点がなくなるので避けていた。  AIRSPYでは改善されているようで、同じアンテナで帯域をのぞいてみても、混信由来の信号はほとんど見えなかった。  RTL‐SDRを代替するなら、広帯域が必須ではないため、姉妹品のAIRSPY miniでも十分そうだ。 SDR#をインストールすると、AIRSPY用ツールがいくつかついてくる。 スペクトラム監視ツール(Spectrum SPY)で、チューナーIC(R820T2)の全帯域を覗いてみる。 屋外のUHFの衛星観測用アンテナに接続したときのもの。 1.8GHzを掃引するのに2秒ほどかかる。 業務無線や放送、携帯電話などのピークがよく見えている。 こちらは920MHz帯を20MHz幅で見渡してみたもの。 短いパケットがたくさん見えていた。 キャリアセンスや時間制限があるので、すぐには飽和しないと思うけれど、インフラとして今後どうなっていくのか興味深い。

軌道上に狙いを定めて

                                             ・・・・ ・  2014年の夏も終わる頃、 ひと粒 の人工衛星の軌道寿命が尽きようとしていた。  人工衛星が寿命を迎えるパターンは3通りある。人間が運用を停止したとき、機械が設計寿命を迎えたとき、もはや軌道を維持できなくなったときだ 。  大型の気象観測衛星へ相乗りした軌道投入から半年が経過し、当初400kmあった軌道高度は250kmを切っていた。   低軌道は宇宙空間とされているが、同時に高度1,000kmほどまでは熱圏とよばれる大気構造の中でもある。軌道を変えるには推力が必要だが、ここでは希薄な大気との衝突が抗力を発生させ、軌道高度を低下させる作用をもたらす。 低軌道衛星は高度によって数ヶ月〜数百年といったタイムスパンで空力ブレーキを受け続けているのだ。  緻密な螺旋降下が解けるとき、 遂に軌道は消滅する。衛星は濃い大気圏とまともにぶつかることになり、圧縮された空気が溶鉱炉並みの熱をもつ瞬間が訪れ…。  国際宇宙 ステーションや低軌道の大型衛星は推進系を用いて失った軌道高度を維持できるように設計されているが、小さな衛星はロケットが稼いでくれたエネルギーを失い続けるしかなかった。  もうすぐ、地球は1.5kgの質量を取り戻すだろう。  計画に携わった人工衛星の再突入が迫ったとある夕暮れ。  久しぶりに自宅で衛星追尾をすることにした。 がらくた箱から 手づくりの八木アンテナを 掘り返す。  バルサ材を軸として、ホームセンターで買ったアルミと真鍮の棒をエレメントとして並べた簡素なものだ。何度か自作して、一番コストパフォーマンスが高く、作りやすい素材を組み合わせている。   保管していた 間に曲がったエレメントを一つ一つ手でまっすぐに直す。  こんなアンテナでも、 低軌道衛星が相手なら必要十分な性能がある。    知覚を技術で拡張する遊びは...

白金温度センサで簡易温度測定

白金温度センサ(RTD)は温度係数が規格で定められているので、アナログ回路を積む余裕があって、広範囲の温度を測定したいときに向いている。  素子部がシンプルであることを除けば、ワンチップの温度センサICのほうが楽に測定できてお得なのだが、その場合電源のための配線が増えてしまう。 2線式でよいアプリケーションでは、電流駆動のみで単純化できて、NTCサーミスタのような複雑な換算も不要になるというメリットがある。 DigikeyでVishayのチップRTDを見つけて、下駄基板を作った。 データシート上では、-50℃から150℃程度まで、換算表が記載されている。  被測定物に接着することを想定し、5mm角で、1608と3216のパターンをつなげただけのもの。 どちらかに素子をとりつけ、ハーネスを半田づけする。 基板は0.6mm厚で発注し、表裏はVIAとパターンで熱を伝えやすくしておいた。  RTDには定電流ICによる1mAを与えて、出てきた電圧値を非反転アンプで増幅する。 素子の物理的サイズよっては、1mAも与えると自己発熱が高精度測定を邪魔するようなので、高精度測定では500μA以下に絞ると良さそう。 測定回路は自作のPIC32MXボードにつないだ。 ADCは10ビットで、2048mVの基準電圧(REF3320)を参照させる。  簡易構成用に0.1%精度の100Ω抵抗を買っておいた。 試験として、冷却スプレーを吹きかけて応答を観察してみた。 冷却スプレーといっても、自宅にあったのはフマキラーの凍殺ジェット。 代替フロンとジメチルエーテルによる気化冷却方式で、殺虫成分は含まれていない。 回路基板の温度試験用の冷却スプレーとほぼ同じ使い方ができると思う。 入手性が高いのもポイントだ。  普段は冷却スプレーでTCXOなどを イジメたり 試験しているので、実際の温度変化が知りたくなった。 (換気徹底と、火の気には注意!) まず、10cmほど離して素子に吹きかけると、-46℃を記録した。 製品は気温30℃から-85℃下げられるとあるので、近いところまで下げられているようだ。  あまり近すぎたり、吹きかけすぎても冷媒が気化できずあまり温度が下がらない。 ...