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

投稿

ラベル(DIY)が付いた投稿を表示しています

CANトランシーバーを使わずにCAN通信をする

 CANバスの物理層は差動通信で、RS485の様にマルチドロップ接続が可能。  自動車におけるノイズ環境でも通信が成立するように、トランシーバICには様々な対策が施されている。  一方で、基板にマイコンを複数載せて、例えばブロードキャストメッセージを含んだ通信をさせたいとなったとき、ハードウェアとしてデータリンク層にあたるコントローラが実装されていて、メッセージフィルタ等が可能なCANバスは魅力的だ。しかし、長くても1m未満の配線長で差動ドライバのバスを駆動するのは電力的なペナルティが大きい。 CANバスの構成  トランシーバーには5Vレベルと3.3Vレベルの製品があり、車載以外だと省電力化のために3.3Vバスを採用する例があるらしい。(電圧が低いほうがドミナント時の電流は下がるので)製品によってはフォールトトレラントのための様々な機能が付加されている。    トランシーバーをつかわず、UARTの様に単純に接続することもできる。過去にはこのようなアプリケーションノートがあった。 On-Board Communication via CAN without Transceiver https://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf CANコントローラの入出力を1線式マルチドロップバスとしてつなぐことで、トランシーバーが無くても通信が可能になる。規格外の使い方ではあるけれど、大幅に単純、かつ省電力になる。 コントローラのみでの接続 R4 MinimaにはCANコントローラーが内蔵されているため、上記アプリケーションノートの様に接続してみた。ダイオード2個と数kΩのプルアップ抵抗だけでサンプルコードの通信ができた。 https://docs.arduino.cc/tutorials/uno-r4-minima/can  とりあえず1Mbpsでも通信できていたけれど、Lowレベルの電位が下がり切っていないので、OD出力のバッファをTXに挟むとよいかもしれない。  R4 Minimaのコントローラのみで通信させている様子(250kbps) https://github.com/sandeepmistry/arduino-CAN/blob/master/API.md ライブラリの実装は以下で確認...

週末電波天文

自宅で電波観測 衛星運用で鍛えた心眼(?) を鈍らせないために、天体観測の延長で電波観測設備を構築してみることにした。   ひとつのきっかけはSkyWatcherのAZ-GTI。自動架台として数kgの物体を振り回せる能力があるのを知って興味が湧いた。  さらに21cm線専用のLNAを見つけた。SDRのオプションとして製造されたものが、安価に入手できる。  果たして都市雑音に包まれ、携帯基地局が林立する都市部という悪条件でも検出できるだろうか。   装置構成  先行事例に習い、アンテナと受信系はまず流用で済ませる。 例1  https://spectrum.ieee.org/geek-life/hands-on/track-the-movement-of-the-milky-way-with-this-diy-radio-telescope 例2  https://cyberdynesystems.ai/cheap-and-easy-hydrogen-line-radio-astronomy-with-an-rtl-sdr-wifi-parabolic-grid-dish-lna-and-sdrsharp/ 今回の実験における装置構成は以下のとおり。 Antenna: Wifi Grid dish (24dbi@2.4GHz ビーム角は10度ほど) LNA+Filter : SAWbird + H1  https://www.nooelec.com/store/sdr/sdr-addons/sawbird/sawbird-h1.html SDR          :  Airspy R2 or mini  Software  : Astro spy (SDRSharpに付属)  Wifi用のグリッドパラボラについて。同じスペックのアンテナをいろいろなサプライヤが提供していて、OEMかどうかはわからないが入手性は良い。グリッドなので多少の風があっても安心。21cm線観測だけなら天頂に向けて固定すればよいので、後述の架台は必要無い。    電動架台にはAZ-GTiを使用。アリミ...

新AVRの内蔵温度センサを試す

 AVRにはADCの内部入力として温度センサが搭載されているものがある。シリコンダイオード方式ゆえに製造工程で特性がばらつくため、個体毎に面倒な校正作業が必要となっていた。 http://ww1.microchip.com/downloads/en/AppNotes/Atmel-8108-Calibration-of-the-AVRs-Internal-Temperature-Reference_ApplicationNote_AVR122.pdf  新しいmegaAVR-0やTinyAVR-1、AVR-DAはXMEGAの系譜なので、内蔵温度センサの校正係数があらかじめSignature ROW領域に記述されている。これを読みだしてキャリブレーションを行う手順がデータシートに記述されていたので試してみた。  Arduino Nano Everyで試せるサンプルスケッチ。    https://github.com/kentN/samplecodes/tree/main/Arduino/NANOEVERY-TEMPSENSE IDE付属のシリアルプロッタでモニタしてみると温度グラフが現れる。ホットエアでダイ温度が100℃になるほど炙ってしまったが、そのまま動作しつづけていた。 手元にあった二つのArduino Nano Everyはそれぞれ校正値を読み出すと次のようになっていた。 DEBUG: 305k, offset :-31 gain :142 DEBUG: 305k, offset :-6 gain :144  実機で比較テスト tinyPDUテスト基板  実際に温度を調節して試験してみよう。比較対象として、tinyPDUに接続してあるパルス温度センサLMT01の一つ(CH2)をQFNパッケージに張り付けた。  LMT01は高精度ADC内蔵、2端子カレントループ、温度データを約100ms毎にパルス数で出力するという面白いセンサ。-20度~90℃範囲で±0.5℃の測定精度とあるので、用途的には十分すぎる。(ただし割り込み管理が甘いとパルスカウントの取りこぼしで正確な温度を示さないことがある) テストプログラム。CH1、CH2はLMT01。CH2はMCUに張り付けている。  緑色...

電源管理モジュールの製作

2021年が始まった。去年も仕事はあったけれど、納品先に実際に出向いたのは一度だけだった。 日常がじわじわ侵食されていく中、今年はどうなることだろう。   そういう状況下では、実験装置の構成を、どこでも誰でもできるようにしておくという作業がたくさん出てくる。 最小限の装置でPC単体での遠隔開発が行えるような手段。似たようなものはお仕事でもワンオフで何度か作ってきて、今までも役立ってくれている。ということで昨年は仕事の合間に組み込み部品としての試作をいろいろ行っていた。  実際のところ、単体ではマイコン付きFETとシャントモニタでしかない。最近遊んでいるTinyAVR-0をMCUとして載せている。 機能としては以下のとおり。 ・電源ONOFF制御 ・INA226による0.5mA単位 ~4A程度までの電流測定、アラート通知 ・電圧(スイッチ前後)の測定  セルフチェック機能 ・コマンドサーボのようなデイジーチェーン接続 ・拡張性 端面スルーホール加工にしてみた。他の基板への実装も簡単。 USB端子がついた基板は、TinyAVR-0つきFT234Xが載ったUSBシリアル変換器。UPDIプログラマ化できる 試作例1  試験コントローラ 試験用冷蔵庫に入れて、庫内で電源制御や温度監視をさせてみた。 温度センサにはLMT01を複数繋ぎ、庫内や測定対象に取り付ける。 制御例。MegunoLink上でプロットと電源制御を行った例。 試作例2 試作OBC基板の電源制御、モード管理、状態監視 開発中にOBCの電流値を参照したり、電源制御段階ごとの異常検知や、ブートモード切替などをソフトウェア上から行える。実装と冗長性の検討が長引いて回路図段階で何回もやり直したおかげか、試作一号機はとりあえず元気に稼働し始めた。   たいていのシステムには複数の機能別ボードや異機種コントローラが内包されているものだけど、それらの動作を最適化しながら、HILS的なシステムを作りあげるのは結構大変。  個人的に、まずはベースバンド部、アプリケーションプロセッサ、ストレージみたいなまとまりを作りこむために、共通化配線とI/F基板1つでPCにつないで開発できることを目標としている。(電力規模100mW~1W以下)

Raspberry Pi High Quality Cameraを試す

https://www.raspberrypi.org/products/raspberry-pi-high-quality-camera/  ソニー製の1/2.3型 12Mピクセルのセンサモジュール(High Quality Camera)がPi Cameraのラインナップに加わった。    個人的に手持ちの産業用ズームレンズを評価するのにちょうどよさそうなので入手してみた。 背景としてはCマウントレンズがガラクタ箱の中でなぜか増殖しており、我に返ってみれば、Cマウントレンズ沼の中に膝まで浸かっているのだった。  1/2.3型といえばハイエンドスマートフォンでもおなじみのフォーマットだけれど、フルサイズ比で倍率は約5.6倍となる。同じ画を撮るための焦点距離が短くて済む利点がある。OlympusのTGシリーズや、Nikonの超望遠コンデジなど尖った製品も多い。  カメラとして、このクラスのセンサでレンズ遊びをするなら、中古市場でPentax Qシリーズを手に入れて、各種マウントアダプタを漁るほうが満足度は高いかもしれない。   センサ基板はしっかりした金属製マウントに取り付けられている。三脚穴もついておりテストしやすい。バックフォーカス調節リングが取り付けられており、Cマウントレンズ毎にバラついている無限遠点を微調整して合わせることができる。単焦点レンズでは不要なこともあるけれど、特にズーム機構を持つレンズではフォーカスリングの表示と一致させる調整が必須となり、マウントだけでもかなりの価値がある。 バックフォーカス調節リングは、マウント上のマイナスネジを緩めて、すこしテンションが無いと動き始めないので注意。  IRカットフィルタもついているが、これはユーザーが取り外すこともできるようになっている。ただし外すと保証は受けられないようだ。  基板とマウントは低粘着シートを介して封止してあり、光と埃等の侵入を防いでいる。 基板とマウントのネジはシリコーンスペーサだけで固定されているため、レンズの荷重を基板側のネジ穴で支える構造はやめたほうがよい。 カメラシステムの作成  個人的には屋外のRaspi地上局に接続して、星空を連続撮影する全天撮影カメラにしてみたいが、...

車載冷凍庫で簡易低温環境試験

 作ったものを投入してスイッチを入れると、温度に関連する不具合が観察できる不思議な箱を作ってみた。  一品物の装置の動作確認をするとき、極端な温度環境下の挙動を調べておくことで防げるトラブルは結構多い。それは半田の品質だったり、受動部品の定数だったり、ハードウェア設定に起因するソフトウェアの挙動だったりする。とある案件で、外部から提供されたファームウェアがバージョンによって全く違う温度挙動を示したのにはだいぶ苦しめられた。 急冷スプレーでも確認はできるけど、再現性のある試験には使いにくい。  本格的なサイクル試験は環境試験装置の出番なので、以下の確認だけを目的とする。  コールドスタート試験、不良個体のスクリーニング。  温度センサの動作確認。  クロック回りの回路の定数調整  低温におけるプロセッサの内蔵OSC周波数などの観察  DIY的な手法でいろいろ検討した結果、低価格でマイナス10度以下の環境を作ることに絞ると車載冷凍庫というカテゴリが残った。  ペルチェ方式は冷却効率が悪いため除外した。 車載冷凍庫の選定  現在入手できる低価格な車載冷凍庫のスペックはおおむねマイナス20度までの冷却能力、1℃刻みの操作パネルという共通点がある。コンプレッサー式なので小型とはいえA3対応の大型プリンタ程度の場所を占有する。加温機能が付くと値段が数倍になるので、熱サイクルが必要ならなんらかの熱源を後から設置することにする。  なおこの手の製品、Bluetooth対応とは書いてないけれど、海外で調べるとアプリ対応を謳っており、その名残りでBLEビーコンが検出できることがある。念のためBluetoothモジュールは基板から除去しておいた。  小さめの圧力鍋なら余裕で入るので、簡易熱真空試験装置にも転用できそう。  動作音はとても静かだが、冷却中はコンプレッサの振動があるため、設置場所によってはゴム足などをつけて防振したほうが良い。  12V系ということもあり、普通にオフグリッド生活で重宝しそう。 最近マキタから、似たような冷却能力でバッテリ駆動もできるパーフェクト製品が出てきた。 USB配線を引き込む まず軽く試運転するために、USBポー...

屋外受信局の設備更新

 屋外にRaspberrypi2を設置してから、もう4年が経過していた。そんなに負荷をかけてないからか、SSHで定期的にメンテしていたけどSDカード不良になることもなくSDR鯖として動いてくれた。  いままでの屋外BOXは入れ物の選択、構造、気象対策については問題なかったといえるけれど、小さくてコネクタも増設できず、ちょこっと試したい装置を取り付けるにしても取り回しが悪かった。なので今回は箱を大型化し、不満点の解消に努めた。 設置性やコネクタ回りのハンドリングを改善 イーサネットHUBを設置 外部装置への電源分配機能 余ったスペースにボードコンピュータを設置 ボックス回り AC100Vラインは屋外用の防水延長ケーブルをそのまま箱に導くので、延長コードの先が防水容器になった形。  コンセント部はキャップ構造になっており、やや小さい外形でボックスに穴加工すれば、押し込むことで容易には引っこ抜けない構造になる。  内部のACタップの配線を固定したあとで、ボックスとコンセント部の隙間はシリコンコーキングで充填する。 タカチのBOXは内部のベースプレートも一緒に購入して、ここに穴をあけてタイラップで様々な部品を固定することにする。  内部の部品、ケーブルの設置基準は、簡単にベースプレートを取り外せること。(防水性にかかわる部品を除く) 縦置きとなるので、ケーブルは直下から取り出す。  下部のどこかにベントホールを設けておく。 完全密閉状態だとプラケースということもあり、一度侵入した湿気が逃げられず、気温変化の激しい日に内部が結露して故障する。  穴の場所は重力で水が抜けるような位置かつ、暴風雨で雨水が逆流しないような構造が良い。 ベースプレートの裏側などはおすすめ。設置場所によっては虫などの侵入を許すこともあり気を遣う。 足は屋外用マグネットベースにしたので、仮置きでもある程度固定できるようになった。  電源回り  ACアダプタまでは既製品の組み合わせで固めた。内部は短い延長コードと、USB電源付きの小型コンセントタップを設置。  限られた容積を有効活用できるような配置にする。  コンセントタッ...

UMPCもどきの製作3 構造のくみ上げ

UMPCもどきの2つ目の制作記事 からまた半年が過ぎた。  その間に、RaspberyPi4が国内入手できるようになっていた。が、電力設計などでまだ扱いづらいところがある。アイドル状態で結構温かくなるサードパーティーのヒートシンクを触っていると、専用のPMICが無いRaspiの弱点が目立ってきたように感じる。  今回はBT接続の小型キーボードのデッドストック品の入手をきっかけとして、唐突にWaveShareのHDMI接続5.5インチOLEDモジュール(Raspi3用)のフレームを作成した。  その流れを生かし、ハンドヘルド端末として骨組み構造をプロトタイプしてみた。 始まり  中古で手に入れたキーボードはエレコムのTK-GMFBP029BKという製品。 日本語46キー配列。2012年にiPhone向けの英語配列モデルと同時に展開され、手持ちでライトなチャット入力用途とされていたもの。電源は単四電池x2なので経年劣化は無い。  これが5.5インチOLEDディスプレイと横幅がぴったりだったので、フレームをつくってハンドヘルド端末を組み立ててみることにした。 5.5インチ HDMI液晶について  手持ちの5.5インチディスプレイはHDMI接続、かつタッチ部はUSBなので接続対象を選ばないが、基板に直に組み付けられるのはRaspi3系統だけとなる。今確認すると、   Raspi4にも対応し、ケース付きになっている後発品も併売されている。 3Bと4Bを買えばすぐわかるけれど、両者はHDMI端子もだが、LANとUSBコネクタの配置まで異なっており、3B用のHDMI液晶キットは4Bではそのままだと使えないので、購入時には注意だ。 https://www.waveshare.com/product/displays/lcd-oled/lcd-oled-1/5.5inch-hdmi-amoled-with-case.htm 拡散されるとは思ってなかった写真  フレーム側面にキーボードについていた展開式カバーを模擬した固定ヒンジを設けた。 フラットなキーボード端末を目指していたので、特に折り畳み機構は設けなかった。 バ...