(仮)釣りと電子工作 忍者ブログ
趣味の電子工作と釣りについて。電子工作は、おもに変換器作成。釣りはおもにトラウトの管釣り。
[4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]


1か月前に、エーモンOFFタイマーで、以下のように失敗したと書いた。

  • よく知られていることだが、一般的な国産車の場合、スターター(大電流のセルモーター)が回っている間はACCに電源が来ない。だが、エーモンOFFタイマーのようなシガーソケットを入れることで、この種の問題は解決できる。。。はずであった。。。しかし、別の問題があった。スターターが回っている間、バッテリーがそっちにもっていかれて、電圧が7V程度まで低下する(俺の車の場合)ことが確認された。7Vなら5V以上だし問題ないんじゃないかと思うかもしれないが、シガーソケットタイプのUSB電源は基本チープなので7Vではラテパンダの電源を維持できるだけの5V出力を出すことができなかった。結果、エンジンかけると必ずラテパンダがリブートする、という現象が起きてしまうのであった。 残念ながら、これはまだ解決していないが、まあなんとか運用でカバーする予定。暇なときに、シガーソケットタイプのUSB電源をやめて、ちゃんとしたDC/DC電源に変更して、試してみる予定。
      

ということで、ちゃんとしたDC/DC電源に変更したところ、、、スターター回っても落ちなくなった!解決!使ったのは、これ。



OKL-T/6-W12N-C使用 小型高効率DCDCコンバーター可変電源キット(降圧)


電流は6Aまで出せるし、7Vあれば電圧5Vを十分出せるし、数百円で買えるシガーソケットのUSB電源とは性能が違う。
ちなみに可変抵抗で出力電圧が変えられるのだが、プチ高めの方がノイズに強いらしいので、5.25Vにした。


PR
NAS用に買ったpcDuino3 nano。banana pi無き今、現在におけるSATAが付いたワンボードLinuxの唯一の選択肢である(高いやつは除く)。とはいっても、こいつもディスコンなので同じく無き者ではあるが。。。

今年の1月ぐらいに買って、むしろbanana pi(PRO)より調子よく動いてくれていた。banana pi(PRO)は時々SATAエラーを出していたけど、こいつはそんなことはなかった。

しかし、ついに、壊れてしまった。。。。まず、nandのオンボードFlashがおかしくなった。OSを入れなおすと復旧するが、またすぐ壊れて起動しなくなる。ただ、これに関しては、SDカードブートで運用することもできるから、まあなんとかなる。

しかし、ネットワーク(有線)の調子も変だ。ごくまれにpingが通るが、基本何も通らない。設定は、たぶん大丈夫。LEDもチカチカ点滅しているのに、である。

これ、Flashとネットワークを担当する共通のチップが壊れた(調子わるく)んだなぁ。きっと。買ってからまだ1年経ってないのにこんな壊れ方するんじゃぁ、まだ秋月で売っている(おそらくあと5年くらい売っていると思う)けど、リピート買いできないなぁ。この手の格安Linuxボードで、ちゃんとしているのはラズパイだけみたいだな。
 
もう、SATA付きのボードが入手困難なので、しらばくはbanana piのみの運用となるが、もう物理的なハードディスクを捨てる時期が来たのかなぁ。。。
この前、6000円くらいで4TB買ったばかりだけど。。。。

と、台風でやることないのでこんなことしていたら、相模原市内で土砂災害発生らしい。
 

 
怖いなぁ。。。俺のところも警戒レベル5の避難指示が出てたけど、境川沿いじゃないし、ちょっと高台だし、避難した人無かったような。
 
 
 
災害発生現場は緑区牧野と放送されていた。牧野って結構広いけど、google mapで調べてみた。 
 
これがニュースのキャプチャー。
  





 それらしいとこ、みつけた。
 
 
 



  
藤野駅からタクシーで20分ってとこだな。田舎だが、ぽつんとってほどじゃない。
秋葉原に行くとき、ちょっと足を延ばしてaitendoまで歩いていくのが決まりだった。徒歩で7~8分はかかるが、そこにしかないものがあるので、けっこう足繁く通ったものだった。

aitendoは電子工作愛好家のオアシスみたいなもので、平日の夜など変な時間に行っても、それなりに客がいっぱい入っている店だった。aitendoでウィンドウショッピングする人なんているわけがなく、みんなWebで調べてこれが欲しいなど目的意識をもって店に来ているようだ。

しかし、ちょっと前に店舗の棚の配置をリニューアルしてから、どうも様子が変だ。常に20人以上いた客が7~8人にまで減っている。確かに棚が減っているので、置いてあるものは減っているのかもしれないが、そのときは理由がわからなかった。

今日、仕事帰りに、aitendoに寄った。主目的は、ラテパンダにRTC用のバッテリーを付けるための部品の購入であった。これ、amazonでもコネクターのところが売ってないんだなぁ。(digikeyなら売ってる)

まずは、バッテリーから。


 
ボタン電池withケーブル [CR2032-1MM2P] ¥150

あった。これ、昔、若松に置いてあったような気がするが、今秋葉原で置いているのはaitendoだけかもしれない。ネットで在庫数140なので、あって当然だな。1.25mmピッチなので、コネクターの入手が難しい。

次、コネクター。


基板コネクタベース付ポスト(1.25) [53261]、これの2極のやつ。¥10
モレックス社53261シリーズ互換(パチ物)です。本物はdigikeyで。\100円くらいするけど。

在庫は15個か。。。まあ大丈夫だろうなぁ。。。って、あれ?どこにもないぞ?
あ、倉庫か棚の上の段ボールの中にあって、言ったら出してくれるやつかな?

と思って聞いたところ、チャイナっ子(多分)から

「そのシリーズは店には置いていません」

なんと。。。それなら店舗在庫無しとか通販専用とか、書いとけよ。。。。

俺の横にいたおっさんも、いろいろ聞いていて、同じくチャイナっ子(多分)から

「出ているのが全てです」

って言われてやんの~(笑)

。。。。。。。

えと、あれだな、aitendoは通販専用ってことだな。在庫有りでも本当に店舗に
置いてあるかどうかはまったく不明ってことなので、店に行く意味がない。

今日が、aitendoに立ち寄る最後の日になるとは、思いもしなかった。
(俺の横のおっさんも多分おなじ)
こうして、どんどん客が離れていってるんだなぁ。。。。。

客離れといえば、埼玉にある本庄サーキットもかなりヤヴァい。今年度でドリフト走行禁止に
なることが決まったので、来年度からは集客は半分?それ以下?になると思われ。
これは全国各地にあるサーキットの末期状態でよくみられる現象(赤色巨星みたいなもの)
なので、残念ながら、本庄サーキットは、長くはない。
いつものように、メガソーラになっちゃうんだろうなぁ。。。。










いろいろあったが、とりあえずラテパンダの車載化は完了した。とくに頑張ったのは、以下のとおり。

①電源連動起動対応
②タッチパネル対応
③簡易操作ボタン(USBキーボード互換)実装
④ACCオフ時に自動シャットダウン
⑤ACCオフ時にシャットダウンが完了するまで電源電圧を確保
⑥上記⑤の電源電圧確保中にACCオンしたとき、シャットダウンされたままにならないようにする
⑦エンジン起動時にACCが一瞬OFFになることの対応

それぞれの概要であるが、

①電源連動起動対応
ラテパンダは起動時にEscキーを押すとBIOSの設定画面に入れる。BIOSのバージョンにもよるらしいが、俺が買った2年前のものでも、通電時に自動起動するためのオプションが用意されていた。

②タッチパネル対応
V1.0とV1.1のドライバー、両方入れるべし。最後はV1.1のドライバーで。ドライバーを入れたら必ずキャリブレーション(再調整にはバグがあるみたい。初期化→調整で。)

③簡易操作ボタン(仮想のUSBキーボード)実装
USBキーボードの実装が簡単のように見えて非常に難しかった。詳しくは、ラテパンダ冥府魔道編(前スレ)で。

④ACCオフ時に自動シャットダウン
ACC電源をarduinoに引き込みデジタル入力で読ませ、ACC電源が落ちていたらしばらく待って上記③で実装した仮想キーボードからAlt+F4 →Enterを送るようにした。ちなみにACC電源は12V以上なので、そのまま繋ぐとラテパンダが壊れるので、一旦1815のトランジスタに受けさせて、5Vに変換後(HI/LOWは反転)にラテパンダが受ける構成にした。
その後、Alt+F4だとうまくシャットダウンできないことが多いことがわかり、仕方なくshutdownコマンドを叩くためのBATを作り、そのショートカットを作り、ショートカットキーとしてF10を割り当てて、arduinoからF10をWindowsの電源が落ちるまで(落ちたあとも?)繰り返し投げるようにした。まあ落ちたあとに投げても、死人に口なしなので問題ないとは思うが。なお、言うまでもないが、Windowsの電源が落ちていても、arduino側は普通に生きている。

⑤ACCオフ時にシャットダウンが完了するまで電源電圧を確保
エーモン 電源ソケット OFFタイマー機能付 1543で解決。これって昔流行ったターボタイマーと同じだよね。でも0分(すぐ切れる)、30分、60分しかタイマーを選べない。30分にした。イグニッションを切ったあと30分間もarduinoが動き続けることになるが、まあ消費電力は微々たるものであろう。


⑥上記⑤の電源電圧確保中にACCオンしたとき、シャットダウンされたままにならないようにする

長文覚悟のこと。

エーモンのOFFタイマー(30分設定)を付けるとシャットダウン後30分間は電源が切れない状態になる。その状態でラテパンダ(のWindows10)を起動しようとすると、電源ボタン(物理的なスイッチ)を押すしか手がない。電源ボタンをArduinoから制御できればいいのだが、そんな仕組みは実装されていない。スイッチにジャンパー線をハンダ付けして取り出すことも検討したが、ラテパンダ本体基板をイジって改造するのは嫌だなぁ。。

もう1段、リレーを追加して、Arduinoから制御する方法も考えたが、どうも美しくない。

Windowsの電源が落ちたことはボード上の1.8V電源が出ているかどうかで検知できる(落ちていたら、ほぼ0V)。1.8Vだと低すぎてArduinoへ直接入力させるのは厳しいので、またまた1815に受けさせて5V出力に変換
(HI/LOWは反転)させると安心。ちなみに反転とは電源が入っているときは0V、電源が切れたら5Vになること。

Windowsの電源が落ちたタイミングで、エーモンタイマーを30分から0分に変更できないか、検討してみた。とはいえスライドスイッチを自動で動かすのは無理だし、これを外すのも大変そうなので、まずは仕組みを調べてみた。

時間調整用のスライドスイッチは、0、30、60、COMMONの4極の足が出ていて、COMはGNDであるが、それぞれのスイッチ設定時の電圧を測ってみた。

スイッチ設定 0・・・・0:0V、 30:5V、 60:5V
スイッチ設定30・・・・0:5V、 30:0V、 60:5V
スイッチ設定60・・・・0:5V、 30:5V、 60:0V

う~ん、想定通り。このスイッチ設定をarduinoから論理的に弄って何分でOFFタイマーが切れるか測ってみた。

0:0V、 30:0V、 60:5V・・・・30分で切れた

つまり、物理スイッチは0にしておいて、外部から30の足を0Vへ落とせばOFFタイマーを一時的に30分へ切り替えできることがわかった。あ、これって
「電源が入っているときは0V、電源が切れたら5Vになる」の線をそのまま直結(arduinoを経由せず)すればいけそうだ→当然いけた。


⑦エンジン起動時にACCが一瞬OFFになることの対応

よく知られていることだが、一般的な国産車の場合、スターター(大電流のセルモーター)が回っている間はACCに電源が来ない。だが、エーモンOFFタイマーのようなシガーソケットを入れることで、この種の問題は解決できる。。。はずであった。。。
しかし、別の問題があった。スターターが回っている間、バッテリーがそっちにもっていかれて、電圧が7V程度まで低下する(俺の車の場合)ことが確認された。7Vなら5V以上だし問題ないんじゃないかと思うかもしれないが、シガーソケットタイプのUSB電源は基本チープなので7Vではラテパンダの電源を維持できるだけの5V出力を出すことができなかった。結果、エンジンかけると必ずラテパンダがリブートする、という現象が起きてしまうのであった。

残念ながら、これはまだ解決していないが、まあなんとか運用でカバーする予定。暇なときに、
シガーソケットタイプのUSB電源をやめて、ちゃんとしたDC/DC電源に変更して、試してみる予定。








USBキーボード作成までは順調に進んだが、それ以降はイバラの道であった。解決しても解決しても、次から次へと問題が沸いてきた。さしづめ開発元のDFRobotから送られてきた刺客とでもいうべきか。

【壱の刺客】ときどきUSBキーボードが消える
arduinoの起動がWindowsよりも早すぎるのが原因みたい。arduinoの起動でディレイを入れまくる方法もあるが、Windowsリブートだと対応できない(Windowsが落ちていてもarduinoは普通に動いている)ので、Windowsが起動したタイミングでarduinoに仮想COM経由でメッセージを投げて、メッセージを受け取ったarduinoは自分を再起動するようにした。

【弐の刺客】ブートローダーが頻繁に破壊される。
PICのHID bootloaderも1/256程度の確率で壊れたがarduinoの場合は20%~100%の確率で壊れる。アプリによって確率は異なるようだ(四の刺客参照)。PICのようにbootブロックをプロテクトする方法が使えればいいのであるが、調べた限り、arduinoではこの手は使えない。でも心配ご無用。壊れたのならまた書き込めばいい。このためのツールであるAVRライターであるが、秋月だと10000円以上するのでaitendoで買ってきた。500円程度でも売っているが、どうも怪しいので1500円のやつにした。言うまでもないがAVRライターは必需品である、

【三の刺客】AVRライターのドライバーがインストールできない
署名がないドライバーはインストールできないようだ。Windows10をテストモードにして、ブートメニューから署名なしドライバーを利用可能にした。画面の右下にテストモードと表示されるのは気にはなるが。。。

【四の刺客】arduinoをリブートするためWatchDogTimerを使ったところ、ブートローダーが氏ぬ?
おそらくだけど、ブートローダーは消えてもいないし、氏んでもいない。ではなぜブートローダーとして機能できないかというと、WDTが書き換え途中のarduinoをリブートしてしまうから、と思うのである。これは、WDTをリブート処理直前で有効にすればOK。WDTを本来の目的で使うことはarduinoでは禁忌ということになる。気を付けるべし。

【伍の刺客】COMポートがコロコロ変わるのでarduinoにリブート用コマンドを送れない。
これの動きは、はっきりしている。
COM3がある・・・・アプリのUSB周りの起動にプチ失敗している。arduinoをリブートする必要がある。完全に失敗したときはCOM3すら無い(COM1のみになる)。こうなってはAVRライタしか手はない。
COM4がある・・・・アプリが正しく立ち上がろうとしている状態
COM5がある・・・・アプリが正しく立ち上がっている。arduinoのリブートの必要は無い。
つまり、COM3に対してリブート用のコマンドを送ればいい。もし無ければarduinoはコマンドを受け取れないが、そもそもそのときは受け取る必要がない。

【六の刺客】D12をdigitalのインプットとして使えない
これは結局原因不明。チップが壊れていたり基板が壊れている可能性もゼロではないが、まあ仕様だろうと思うことにして、A0ポートをデジタル入力設定にして使うことにした。

【七の刺客】A0がデジタル入力として機能しない
まずはこの絵を見て、A0はD18として使えることを知る。アナログをデジタルに切り替えるなんか命令があるかと思ったが、通常と変わらずデジタルインプットとして設定すればいいらしい。






さーてと、D18と結線したスイッチを押したら。。。。何も起きない!なんだこれ?使えねーぞ!!

さらに調べると、D18は嘘でしたD14でした、というような記載を見つけた。むむむ!



さくさくっと18から14に書き換えて、さ~て、解決。。。。と思いきや、動かん!!なんじゃこりゃ!?

さらに調べると、アナログはデジタル化してもA0とかで指定できることがわかった。なので、ダメ元で、次のように試してみた。

pinMode( A0, INPUT )
digitalRead( A0 )

たぶんダメだろうなぁ、と思ったが、ビルドはでき、書き込みもできた。でも動かないだろうなぁ。。。。あれ?動いた。。。なんだかなぁ。。。解決!










カレンダー
05 2025/06 07
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
リンク
最新TB
バーコード
ブログ内検索
カウンター
Powered by ニンジャブログ  Designed by 穂高
Copyright © (仮)釣りと電子工作 All Rights Reserved
忍者ブログ / [PR]