日曜日の夕方ぐらいから、かなり体調が悪化して熱が出てきた。

子供も午後から熱が出て高熱に。


月曜日の朝、子供がけいれんを起こし救急車を呼ぶ (5分経過時点で119にかけたが、電話が終わった直後にけいれんがおさまり、合計では結局6分程度だった) 一応病院までいって救急の診察をうけたが、症状はおさまっているし「熱性けいれん」でしょうということで一旦帰る (タクシー) 前回の教訓を活かしけいれん中は動画をとっていた。救急医とかにはそれ見せたらいいので説明する必要がなく気が楽。

ただ、救急のフォローのため再度受診するために午前中に病院へ。ひたすら待ち時間が長くて、僕はどんどん体調が悪化してどうしようもなくなったので、妻の母に代わってもらい自分は帰宅して内科いって寝ていることに。(子供はまたいろいろ検査したが結局普通の風邪で、やはり熱性けいれんでしょうとのことだった)


内科にいくと喉が腫れているので、そこからくる風邪でしょうという診断をうけ、ロキソニンと鼻水止めだけもらって帰宅し、ひたすら寝ていた。

火曜日ももらった薬を飲んで耐えつつひたすら寝ていた。

水曜日、全く熱が下がらず (正確にはロキソニン飲んでいる間だけ解熱して、また上がる) 再度内科。弱めの抗生物質が追加で処方された。


子供の熱はこのあたりで下がっていたと思うが自分が辛すぎて完全に妻に押し付けていたので記憶が曖昧

木曜日も全く熱が下がらず、とにかく辛い。ロキソニンが朝晩1日2回しか飲めないので、13〜18時ぐらいと、24〜翌6時ぐらいの空白時間帯で死ぬほどつらい目にあう。喉がめちゃくちゃ痛いのは確定的にあきらかなので、耳鼻科に行こうと決意するが、木曜日は休診日のため耐える。


金曜日、午前中のロキソニンが効いている時間のうちに受診する。「完全に急性扁桃炎ですねえ」と言われ、内科の処方は一旦全部止めにして、強めの抗生物質とステロイド、イブプロフェンで様子を見ましょうということになる。耳鼻科だと処方に加えネブライザーとか鼻水吸引とか一通りやってくれるので結構楽になる。

土曜日、2回薬は飲んだが熱が下がらず、一応耳鼻科を受診しておくことにした。夜中にあまりにもつらいことがあるが、なんとかならないかと話をしたらアセトアミノフェンの頓服をもらう (結局使わなかったが)。ロキソニンも余っていたらつらかったら使ってもよいと言われた。

日曜日の朝方、急激に解熱したようですごい汗と動機と共に起床した。ものすごく疲弊していたがひとまず解熱薬以外で普通に解熱した。全身症状が収まってくると喉の痛さが余計気になるようになる。

月曜日、再び耳鼻科を受診。良くなってるので処方は変えずそのまま様子見。

火曜日、喉が痛い以外はだいぶ良くなったが全身が疲弊しまくっていた。

水曜日、再び耳鼻科を受診。もう少し強い薬を続けましょうということで3日分現状の初葉が延長される。その後の3日分の薬も処方される。この日から出社しようと電車にのって途中までいったが、保育園から連絡があり帰ることに。ただ、結果からいうと体調があまり戻っておらず、出社しなくてよかった。

木曜日、だいぶ良くなったが喉が痛い状態。ひさしぶりに出社したが全体的にふらふらする。

金曜日、喉がほぼ痛くなくなる。全身のふらつきも木曜日より改善 ← いまここ


とりあえず解熱するまで38〜39度ぐらい断続的に発熱していて死にそうだった。1週間近く発熱したのは初めての経験だったので、このまま死ぬんじゃないかとか、入院になったらどうしようとか考えていた。日々追うごとに気力も体力も失われていく。当然だるすぎて1週間は完全に何もできなかった。

とにかく今回の敗因は内科に通い続けたことだと思うので、耳鼻科の範疇っぽかったらすぐに耳鼻科に行くべきだった。内科はもっとひどくなるまで薬の処方しかしないので、耳鼻科の下位互換でしかない。耳鼻科でもインフルないし風邪の診断はしてくれるので、デフォルトで耳鼻科に行くべきで、内科はそれからでも良いという教訓を得た。

だいぶ前だけど、粗悪なmicro USBケーブルを掴んで (まともに充電できない) から、実際のところどれぐらいの抵抗があるのだろうか? と気になっていた。

いくつかの製品を調べたり計測したりしてみたので記録しておく。

比較結果

持ってないケーブルも入ってる。意外とケーブル持ってなかった。気が向いたら追試する。

2A時にケーブルだけで消費される電力も求めたが、ケーブルによって非常に大きな差があった。冒頭に書いた粗悪な micro USB ケーブルは 2A 流そうとすると 6W 近く消費するような抵抗値になっており、そりゃダメだわという感じ。

まともなケーブルならば1W未満になる。

まとめ

コネクタ同士の相性もありそうだなと思った。Anker は今回かなりカッチリハマってくれて、いかにも接触抵抗が低そうという印象(主観)をうけた。

Amazon で買えるのなら Anker がコスパ良さそう。

50cm なら秋月のケーブルが非常に安くて良さそうだった。

今回 Volutz プレミアムとかいうのが期待はずれだった。ケーブルというよりコネクタがあまり良くなさそう。ちょっと動かしたりすると抵抗値があがったりする。1本しか買ってないのではずれだったのかもしれないがもう買わないだろう。

Amazon Basics はケーブルに「USB 2.0 CABLE FOR OPTIMUM DATA TRANSFER」と印字されている通り、あくまでデータ通信用ということになっているっぽい。電源線も28AWGというのが残念すぎる。そしてその割に別にケーブルが柔らかいわけではないし、買う意味なさそう。

Anker® 【3本セット】 90cm Micro USB ケーブル ハイスピード USB 2.0 Aオス型-B同期 充電用ケーブル Android / Samsung / HTC / Motorola / Nokia 他対応 B7103012 -

4.0 / 5.0

↑ これが手軽で良さそうだった。充電用と商品タイトルに書いてあるがデータ線も結線されている。

実測方法

micro USB B 側 http://akizukidenshi.com/catalog/g/gK-06656/
USB A 側 http://akizukidenshi.com/catalog/g/gK-07429/

micro USB 側の基板は最初ポリスイッチがついているが、抵抗値に現れるのが嫌なので、はずしてスズめっき線でジャンパしている。その上で、VBUS と GND をスズめっき線でジャンパし、往復経路で測定するように。

USB A 側の足にミノムシクリップで安定化電源との接続と、電圧計の接続をしてある。

その上で、安定化電源の定電流モードで1Aちょうどの電流を流し、電圧降下を測定し、抵抗を求めた。1A 流すと mV レンジを直読できる。

メモ

USBコネクタの接触抵抗は初期で30~50mΩ以下

秋月の micro USB で max 30mΩ http://akizukidenshi.com/catalog/g/gC-05254/
10000回の抜き差しを行って 10mΩ以下の劣化。

https://ja.wikipedia.org/wiki/%E7%B1%B3%E5%9B%BD%E3%83%AF%E3%82%A4%E3%83%A4%E3%82%B2%E3%83%BC%E3%82%B8%E8%A6%8F%E6%A0%BC

AWG28 212.9Ω/km
AWG24 84.22Ω/km
AWG22 52.96Ω/km
AWG21 42Ω/km
AWG20 33.31Ω/km

数字そのままで mΩ/m によみかえ可能

外見(シールド)が金メッキされていなくても、ピンは金メッキなことも多い。シールドが金メッキされていても気分以上の特に意味はないので、あまり気にしなくてもよさそう。金は別に銅に比べて導電率は高くないが、反応しにくいので初期性能が維持されるという特徴がある。

  1. トップ
  2. tech
  3. micro USB ケーブル王座決定戦

ライブラリ使ってるだけだとなかなか意識しないが、tStop bStop を適切に設定していないと、半田レジストがかかってしまって銅箔が露出しない。

(わかりにくいが、tStop、bStop が設定されている領域にはレジストされない。tStop レイヤーに rectangle を配置したりするとその範囲はレジストされない=銅箔が露出する)

例えば、自作ライブラリとしてパーツを作っているとき、一部パッドで放熱のために大きな領域がある場合、これはパッドそのもの(自動的に tStop がかかる)にするか、tStop としてその領域を指定する必要がある。

VIA については細かな罠がある。http://www.cadsoftusa.com/training-service/faq/#c94

要約すると、

  • VIA のストップマスクについてはデザインルールの Mask 設定によって決まる。
  • CHANGE STOP ON | OFF コマンドを実行することで VIA 個別にマスクの設定が可能
  • tStop/bStop でマスク範囲を指定しても、自動的に作成されるVIAのマスクは解除できない
  1. トップ
  2. tech
  3. Eagle の tStop bStop レイヤーについて

体重が65kg台まで落ちたが、体脂肪率は上がっており、完全に筋肉のみが急激に落ちたみたい。副作用による糖新生のせい? ただ寝てるだけで2kgも減るもんなのか

ebay で600円ぐらいで売っている LTC1871 の昇圧モジュールを買ってみた。いくつかバージョンがあるみたいだが、ボタンが2つついているタイプ。かなりちいさい。コイルはシールドされてない。

放熱器が両面テープでとめられていて(届いた時点ではそもそも両面テープでついてなかった)、ちょっと不安がある。

5V->12V 昇圧で

  • 2.5W -> 1.78W 71.2%
  • 5W -> 4.1W 82.0%
  • 10W -> 8.6W 86%
  • 15W -> 12.8W 85.3%
  • 20W -> 16.6W 83%
  • 25W -> 20.7W 83%
  • 30W -> 25.7W 86%
  • 35W -> 30.8W 88%
  • 40W -> 34.8W 87%
  • 45W -> 40.5W 90%

こんな感じだった。低電流のとき効率があまり良くない。

40W出力するとボードが結構熱くなる。ヒートシンクもそうだがコイルなども結構熱い。とはいえ全く触れられないレベルではない。

45Wを超えると急激に出力電圧が下がるので、5Vではこのへんが限界っぽい。入力電流は9Aが最大というスペックなので、スペック通り。

値段の割にはかなり良い気がする。

メモ

  • パターンを見る限り5ピンは未接続なのでバーストモードが有効
  1. トップ
  2. tech
  3. LTC1871 の昇圧(ブースト) DC/DC モジュール

そういえばだいぶ前に買ってあったのを忘れていた。

これ http://www.aitendo.com/product/10257 (ebay だと 200円ぐらい)

5V -> 12V 昇圧時

  • 2.5W -> 1.75W 87.5%
  • 5W -> 4.26W 85.2%
  • 10W -> 7.99W 79.9%

これ以上出力しようとすると電圧降下するので限界っぽい。IC 自体は最大 4A らしいがそこまでは全くいかない。aitendo の説明だと最大出力 3A と書いてあって謎だけどいずれにせよそこまでいかなかった。

  1. トップ
  2. tech
  3. XL6009 の昇圧モジュール

前に [tech][ham] 電池ケースの電圧降下 | Fri, Sep 26. 2014 - 氾濫原 というのを書いた。

こういうバッテリークリップを利用した電池ホルダーを作ったが、金具の安定度が悪く、端子間でショートしやすいのと、ちょうどいいケースがなくて金具そのものが露出しており、出力のケーブル間とでショートしやすく、かなり安全性が低かった。


ということで、DigiKey を利用するタイミングがあったので、試してみたかったKeystone Electronics のバッテリーホルダーを買ってみた。189という2個直列のタイプ

ケースは http://akizukidenshi.com/catalog/g/gP-00277/ がたまたま手元にあってピッタリだったので使った。


エネループが少し大きいからというのもあるだろうが、かなり入れるのがかたくて大変。金属製なので電池のシースが破れてくると使えないという問題もあるが、前よりはだいぶマシになったと思う。

メモ

エネループは 1900mAh しかない。直列10本で12Vということにして計算すると 22.8Wh。

KX3に接続し12Vで受信に 0.2A (2.4W)、送信出力5Wに2A(24W)、デューティー比1:1 (送信半分受信半分) の場合、1時間に14.2Wh消費する。最大で1.6時間ぐらい持つ計算。

Amazonベーシック 高容量充電式ニッケル水素電池単3形8個パック(充電済み、最小容量 2400mAh、約500回使用可能) -

3.0 / 5.0

Amazon Basics のニッケル水素電池だと 2400mAh。同じように計算すると 28.8Wh、最大で2時間程度

  1. トップ
  2. tech
  3. Keystone Electronics 単3 10個のバッテリーホルダー

5V モバイルバッテリーの並列接続をしたい。

普通に生きていると、5V 2A の出力を複数(4つ)合成して、5V 8A をとりだし、12V に昇圧したくなることがあると思う。

DC/DC コンバータの並列接続

モバイルバッテリーの出力は DC/DC コンバータになっている (殆どは昇圧、たまに降圧のコンバータ) 。OCP (Over Current Protection 過電流保護)なども当然装備されているが、普通はスペックシートにはどういう挙動をするかは書いていない。ということで、基本的にスペックシートが保証していること(出力電圧、電流)だけに依存して、並列接続の回路をつくりたい。

DC/DC 電源を並列接続するには、電流制限回路とダイオードが必要になる。

電源間で逆電圧がかかったりしないように、まずダイオードが必要。これにより、電流が少ない場合は、電源の中で一番電圧が高い電源から全ての電流が供給される。

ダイオードだけだと、電流量を増やしたとき、モバイルバッテリー側のOCPにひっかかり、挙動が不安定になるため、電源制限回路で最大電流を2Aまでに制限し、2A以上とろうとしたら電圧降下させることで、他のバッテリーから電流が流れるようにする。

回路

ということで、電流制限しつつダイオードをつけたくていろいろ調べた結果、LTC4415 というICがあり、まさにこの用途に使えそうだと思った。LTC4415 は電流制限つき2回路理想ダイオード。

実装

LTC4415 は 16PIN MSOP + GND PAD となっており、手はんだするのが非常に難しかった。MSOPはともかく、グラウンドパッドはとてもつらい。

どうしようもないんだけど、一応以下のようにやると比較的再現性よくはんだがつけられた。

  • 基板側の GND パッドにちょうどいい量のはんだを盛る
  • IC を基板において位置をあわせ、1pin か 2pin ぐらいはんだ付けして仮り固定する
  • 基板を裏返し、慎重に抑えつけつつ、ICのすぐ裏にはんだごてをあてる
  • GNDパッドのはんだが溶けたらこてを離す (勘)

しかし、こんなことするよりホットプレートとシリンジクリームはんだで手動リフローしたほうが結果はいいと思う。

結果

思ったよりも大きい電流をとろうとしたときの電圧降下が大きく、6A ぐらいで 4.5V 付近まで下がってしまうことがわかった。こうなると後段にいれる 5V -> 12V の DC/DC コンバータの入力電圧を下回ってしまい、出力そのものがでなくなる。

電流制限による電圧降下による合成は、最も低い電圧の電源電圧によって最大電圧が制限されるため、1台でも弱い電源があって電圧降下すると、出力電圧に直接響いてくる(電流制限回路での電圧降下は全て損失になり発熱もする)。

これは電源そのものの弱さ (内部抵抗の高さ) だけではなく、コネクタの接触抵抗とか、ケーブルの善し悪し全てを含んで最悪の場合の電圧が出力されることになるので、たくさん合成するのは結構厳しい。印象としては近しい電圧の2つまでならこの方法でいけるかな程度。

結局、これでうまくいくなら簡単でいいなと思っていたが、12V 2A ぐらいまではギリギリとれる程度で、あんまり満足いく結果ではない。

ほかの方法も検討したい。

上記以外の検討事項だったもの

モバイルバッテリーは 50mA 以下の電流が続くと「充電終了」と判断して出力が落ちたりするため、基本的には常時 50mA 程度流す設計が必要になる。

この例のようにダイオードORの場合、電圧が低いバッテリーからは殆ど電流が流れてこないため、時間が経過するとパワーオフになって、必要なときに電流がとれなくなると思われる。

いろいろ解決方法はあると思うのでとりあえず無視していた。

  1. トップ
  2. tech
  3. モバイルバッテリーのロードバランサ

ebay で売ってる「40M CW Transmitter Receiver 7.023-7.026MHz QRP Pixie KITS」というのを1つ買ってみた。送料無料600円ぐらい。おそらく世界最安のトランシーバーだろう。

RX

フィルタが一切ないので、ものすごく広い範囲がきこえてくる。高音が特にうるさいので、実用上は数次のオーディオフィルタが必要そう。

安定化電源で動かしてもハム音が盛大にでる。電池なら大丈夫なのかな?

水晶1つのダイレクトコンバージョンなのでイメージ混信があり、どっちのサイドバンドが聞こえているかは聞いているだけでは全くわからない。これはオーディオフィルタを入れても解決しないので、どうしようもない。(やるなら周波数変換前にフィルタするしかない)

ボード上の半固定抵抗はRITのようだ。RIT というか局発が変わるわけではないので、トーンの設定という趣なんだろう。

TX

水晶は 7.023MHz だが、7.026MHz ぐらいで出ていた。

12V で 50Ω負荷 6Vrms なので 720mW ぐらい。9V で4.2Vrms なので 353mW ぐらい。まさにQRPって感じ。

連続で送信してるとファイナルのトランジスタはかなり発熱する…… デューティー比高く送信するのには不安がある。

ファイナルは S8050D (SS8050 のコピー) っぽい。

なお、サイドトーンはない。実用するならエレキーも外部に必要だと思うので、そっちで鳴らしたら良いかな。

その他

使用ICはLM386の低周波増幅 (200倍、46dB) のみ。ミキサーICは使っておらず、ファイナルトランジスタが受信時のミキサを兼ねているっぽい。

まとめ

とりあえず面白いかと思って作ってみたが、免許うけるのも面倒なので、また思い出したらいじる。

まだいくつか ebay に出品されている QRP トランシーバーがあるので、試してみたい。ないしは簡単なものを自分で作ってみたくなる。

  1. トップ
  2. tech
  3. 中華 40M CW TRX 7.023-7.026MHz QRP Pixie

Eagle で似たような回路及びボードレイアウトをコピーして配線する。

パネライズ(同じ基板を大きな基板に複数つくる) ではなく、似たような回路・ボードレイアウトを1つ作って、コピーを行なってからさらに配線を続けたい、という場合。

問題点

ボードレイアウトは、回路図を開いている状態だと、コンシステンシー維持のため、そのままではコピーができない。一方、回路図側側でコピーを行うと、部品の配置をイチからやりなおすハメになる。

解決方法

そのため、一旦回路図エディタを閉じ、回路図とのフィードバック維持を切る。

この状態だとボードレイアウトを全て選択してコピーして他の場所にペーストということができる。

これが終わったら、一旦ボードレイアウトを閉じて(閉じなくてもいいけど)、回路図エディタを開き、コピーした部分を選択して回路図側でもペーストする。

そしてボードレイアウトを再び開くが、普通はこの時点で「コンシステンシーが失われた」と怒られるので、ERC を行い、問題を特定する。

完全に回路図とボードで同じコピーを行なっていれば「different connections on pin and pad eagle」というエラーが支配的になるはず。

このエラーは、ボード側のコピー時に、本来共通であるはずの GND などの面がリネームされて GND1 などになることで発生する。なので、GND1 となっている部分を GND にリネームすれば良い。

簡単なものはこれで ERC をかけなおすとコンシステンシーが回復し、普通にフォワードバック編集可能に戻る。他にも「本来共通なのに別の名前になっている」というものは全てリネームする。

  1. トップ
  2. tech
  3. Eagle で似たような回路及びボードレイアウトをコピーして配線する。

中華互換 Arduino Nano を ebay で買ってみた 700円ぐらい。

Arduino 互換という意味ではもっと安いのもあるが、安いものは USB シリアル変換モジュールが中華チップなのでドライバのインストールとか挙動に不安がある。FTDI チップ搭載だとこれぐらいが最安っぽい。FTDI チップは偽物もあるらしく、ドライバ側で弾かれたりするみたいだが、今回買ったのは大丈夫だった。

USB Serial を別途用意するならもっとアホみたいに安いのがある (水晶やら何やらついててもAVR 単独で買うのと同じぐらい)。



今回買ったのはちゃんとブートローダーが書きこみ済みのもので、シリアルポート経由で書きこみができる。ただ、手元に Arduino IDE がないため、avrdude を直で読んで書きこんでみる。

最初適当にこんな感じにしてみたが失敗した。

$ avrdude -pm328p -cstk500v1 -P /dev/tty.usbserial-AL011AVX
avrdude: stk500_recv(): programmer is not responding

ボーレートがあってないとこうなる可能性がある。-b オプションをかえてみる。

$ avrdude -pm328p -cstk500v1 -P /dev/tty.usbserial-AL011AVX -b b57600
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

とかなればOK (この例では書きこみまでやってない)


LED が4つ載っていて、TX RX PWR L となっている。最後の L ってなんだ?と思って回路図を見てみたが、単に PB5 に繋がっている LED らしい。デフォルトだとLチカが書きこまれているようでチカチカする。

 -

3.0 / 5.0

Arduino IDE でも Arduino Nano を指定して書きこむことができた。

最初なぜか Uno と勘違いして設定していて失敗しまくって、なんでだろう?ってなっていた。結局 Arduino.app/Contents/Java/hardware/arduino/avr/boards.txt を見て調べてる途中で気付いた。

  1. トップ
  2. tech
  3. FTDI チップの Arduino Nano コンパチボード 700円


LTC3780を使った同期整流式DC/DCコンバータモジュールが気になったので買ってみた。ヒートシンクの下に FET が4つ隠れている。

スペック的には

  • 入力は 5〜32V
  • 出力は 2〜24V
  • 出力電流は最大14A
  • スイッチング周波数は200kHz
  • 4.5V 以下で出力停止

昇圧も降圧もできるので、一旦出力電圧を設定すると入力電圧範囲なら何も考えずその電圧がでる。

例によって 5V -> 12V の変換効率を調べてみた。

  • 2.5W -> 2.24W 89.6%
  • 5W -> 4.73W 94.6%
  • 10W -> 9.68W 96.8%
  • 15W -> 14.5W 96.6%
  • 20W -> 19.1W 95.5%
  • 25W -> 23.9W 95.6%
  • 30W -> 28.2W 94.0%
  • 35W -> 32.3W 92.3%
  • 40W -> 36.6W 91.5%
  • 45W -> 40W 88.8%
  • 50W -> 43.8W 87.6%

XL6009, LTC1871 と比べると10ポイントぐらい効率がいい。効率がいいのでそこそこ通電しても基板が全然熱くならない。

ただし2000円ぐらいする。LTC3780 がそもそも高価なのでこんなものだろう。この構成で自力で基板を起こしたらもっとかなり高額になってしまう。コストパフォーマンス的には XL6009 や LTC1871 は相当良いと思う。とはいえ高効率は何にも替えられない価値なので難しいところ。


正直そんなに変わらないんじゃないかと疑って計ってみたけど思いのほか差が大きかった。

  1. トップ
  2. tech
  3. LTC3780 同期整流ステップアップ/ダウン DC/DCコンバータ

なぜセンス抵抗というものが必要なのだろうと疑問に思った。低抵抗で高精度なものは一般的な抵抗に比べると10倍から100倍ぐらいの価格になる。

一方でセンス抵抗を使うときに頻発するのが、パターンの配置に気をつけないとパターン自体の抵抗が影響するというやつで、そんなにパターンに抵抗があるならパターン自体で電流センスしたらいいのではないかと思っていた。

パターンの抵抗はどれぐらいか

電流センス抵抗(シャント抵抗)は普通10mΩとか、あるいはもっと低抵抗値のものが使われる。

銅箔パターンの抵抗値は配線のアスペクト比で決まる (ref. http://www.tij.co.jp/lsds/ti_ja/analog/powermanagement/hints/power_sel_hint52.page )

20°C のときの銅の電気抵抗率 1.68e-8、1oz (35μm) の銅箔パターンの場合、1:1 の比の場合

1:10 の比の場合は 0.48 * 10 で約5mΩの抵抗値を持つことになる。基板上のパターンで電流センス程度の値の任意の抵抗値を作るのは割と簡単そうである。

銅の温度特性

しかし銅を抵抗として使おうとすると温度特性が問題になる。銅の温度特性は 4.3e-3/°C で、温度が高くなるほど抵抗値が上がる。

これはかなり大きい変動で、±10%の範囲に納めるには温度変化が±23°Cに収まる必要がある。もし±1%程度の精度を求めるなら±2.3°Cという極めて安定した温度でなければいけない。

抵抗のデータシートに書いてある温度係数単位 ppm/℃になおすと、4300ppm/℃ となり、一般的な(高精度ではない)抵抗の±300ppm/℃と比べてもケタ違いに大きい。

まとめ

ということで、これではとても高精度な電流センスはできそうにないので、代用できるケースはとても限られそうということがわかった。

  1. トップ
  2. tech
  3. 銅箔パターンで電流センス抵抗を代用できるか?

http://32bits.io/Arturo/ を使うといいっぽい。ino というコマンドがあったがメンテされてないので ano というフォークができたらしい。

使いかた

$ ano init

すると新規プロジェクトができる。

既存プロジェクトの場合、.ino ファイルは src ディレクトリ以下に入っている必要がある。

$ ano list-models
         yun: Arduino Yún
         uno: [DEFAULT] Arduino Uno
   diecimila: Arduino Duemilanove or Diecimila
        nano: Arduino Nano
        mega: Arduino Mega or Mega 2560
     megaADK: Arduino Mega ADK
    leonardo: Arduino Leonardo
       micro: Arduino Micro
     esplora: Arduino Esplora
        mini: Arduino Mini
    ethernet: Arduino Ethernet
         fio: Arduino Fio
          bt: Arduino BT
  LilyPadUSB: LilyPad Arduino USB
     lilypad: LilyPad Arduino
         pro: Arduino Pro or Pro Mini
    atmegang: Arduino NG or older
robotControl: Arduino Robot Control
  robotMotor: Arduino Robot Motor
       gemma: Arduino Gemma

で対応モデル名が出る。

nano 向けにビルドするにはオプションをつける。

$ ano build -m nano --cpu atmega328

アップロード(書きこみ)する場合は build を upload に変えて、-p でシリアルポートへのパスを指定する。ポート指定をつけないと勝手に推測して書きこもうとするが、意図せず違うデバイスに書きこむのを避けるためにも絶対に指定したほうが良い。

.ino とかやめたい場合

.ino はほぼ cpp だが include とかがないというなんか中途半端な状態のファイル型式になっている。

ano preproc src/sketch.ino をすると cpp の完全な形で吐いてくれるので、これを src/sketch.cpp として保存して .ino を消しさっても問題なくビルドできる。

ビルドプロセス

ちなみにおおまかなビルドプロセスは https://www.arduino.cc/en/Hacking/BuildProcess に書いてある

Arduino IDE はヘッダファイルなどのパスを解決しつつ .ino を .cpp に変換(ちょっと足すだけ)して avr-gcc している。

setup() と loop() の定義:
Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/Arduino.h

HIGH とか LOW とか定数定義マクロもここに書いてある。
型のエイリアスもここで定義してある。

実際に実行している場所
Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/main.cpp

よくある main ループ。

  1. トップ
  2. tech
  3. Arduino のスケッチをコマンドラインからビルドする

いっぱいUSBシリアルを繋いでいるとどれがどれだかわからなくなる。

一旦ケーブルをはずして以下のワンライナーを実行する。

ruby -e 'print "Connect Arduino and type RET ";"/dev/tty*".tap{|x|proc{|a,_,b|puts b-a}[Dir[x],gets,Dir[x]]}'

Arduino を繋いで RET を押せば新規に接続されたやつが表示される

  1. トップ
  2. tech
  3. どのシリアルポートが手元の Arduino かわからんよ!

eBay 見つつ、電子部品を PayPal で決済しようとしたらカード会社側で決済を拒否というエラーがでた。

最近、中国からの商品を買いまくっていたので、誤検知かと思っていて、翌日電話しよう、と思った矢先、「【重要】楽天カードから緊急のご連絡」というメールを受信し、それには至急電話しろと書いてあったので、とりあえず電話してみた。

電話はなかなか繋がらなかった。

で、話を聞くと、どうやら本当に不正利用の形跡があったらしく、身に覚えのないカナダとアメリカのサイトで(いずれもエラーだったようだが) 与信のリクエストが飛んでいたらしい。つまり PayPal とか中国とかは関係なく、誤検知ではなかった。

ということでカード再発行になってしまった。1週間から10日ぐらいかかりますとのことだが、電気・水道・ケータイ・VPSなどインフラ支払いをこのカードでやっていたので大変大変面倒くさい。

よかったところ

  • 当日18時、19時の不正利用に対し少なくとも23時ぐらいには既にカード停止になったところ
  • 23時50分ぐらいに前述のメールがきたところ (こちらから電話しないとかかってくるらしい)
  • 途中、電話代がかかるので向こうからコールバックするとう申し出があったところ
  • 話がスムーズだったところ

わるかったところ

  • そもそも不正利用されたことが大変遺憾。
  • それなりに気をつけてるつもりだったので、心あたりは全くない。

思うところ

不正利用モニタリングの精度が高くてすごいな、と思った。ちょいちょい海外通販してるけど、特に不正利用検知とかされたことがなくて、モニタリングしていないんじゃないかと思っていたが、しっかりされてたみたい。

直近2日ぐらいの利用履歴を口頭で確認させられるので、細かいの買いまくってると面倒くさい。たまたま PayPal の決済履歴画面を開いていたのである程度スムーズだった。あと、直近でDMMで動画買ってなくてよかった。

新しいカード届いた

  1. トップ
  2. tech
  3. クレジットカード(楽天カード)の不正利用の話