(仮)釣りと電子工作 忍者ブログ
趣味の電子工作と釣りについて。電子工作は、おもに変換器作成。釣りはおもにトラウトの管釣り。
[36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

16F1827のADCにはバグがあって、回り道しないとハングすることは知っていたが、その回り道の方法が今まで間違っていた。

Errataには、ADCのクロックをFRCにするとGO/DONEを返さない(通常はハングに直結)のでFOSCを使え、と書いてある。なので、

  ADCON1.ADCS0=1;
  ADCON1.ADCS1=0;
  ADCON1.ADCS2=0;
  ADC_Read(0);

みたいな感じで使っていた。が、よ~くMikroCのマニュアルを読むと、ADC_Read(char channel)はFRC固定と書いてあった。つまり、いくらFOSCに指定しても、結局ADC_Readの中でFRCに変更されてしまうのだった。これでかな?ハングしまくっていたのは?

ということで、16F1827ではADC_Readは使用禁止。代わりに、ADC_Init、ADC_GetSampleを使用するべきである。まあ、下記のような関数を定義して、ADC_Readの代わりに使えばいいのかな?

unsigned int ADC_Read2(char channel)
{
  unsigned int adc;
  OSCCON=0b01110000;  // 8MHz
  ADC_Init();
  ADCON1.ADCS0=1;
  ADCON1.ADCS1=0;
  ADCON1.ADCS2=0;
  adc=ADC_Get_Sample(channel);
  OSCCON=0b11110000;  // 8MHz x 4
  return adc;
}

いまのところハングしていないが、まだ様子見、といったところ。本当にこれでいいのかわからん。
もしもこれでいいなら、16F1938の場合にも有効かもしれない。
PR
このブログが先日使えなくなった。なにも見えない。

音を立てずに消える。。。さすが忍者というべきか。

しかし、2日くらいして復活した。

「『忍者ツールズ』全サービスが表示不可となる障害復旧のお知らせ」

なるアナウンスが出ていて、こんなことが書いてあった。

1.ドメインが初期化された
2.DNSキャッシュの影響で最大72時間使えない

でも、何年か前にも、同じようなこと、してなかったかな???

ドメイン登録が切れる前に、レジストラから請求書を送ってきてくれたらいいんだが、普通はクレジットカード決済しかだめだったりする。で、切れる前にメールくらいは送ってくるのだが、決済を忘れるとドメインが消滅してしまうのだ。さらに都合の悪いことに、たいていのレジストラーは、ドメインが消滅したあと、偽の情報を長~い有効期限(2日くらい?)で登録しちゃうんで、急いでクレジットカード決済してドメイン復旧しても、インターネット全体ではなかなか回復しない。

ということを、今の担当者は知らなかったのだろう。不幸な時代だ。。。

ということはどうでもよくて、PIC16F1827+MikroCでADCを使う方法を今まで誤っていたので、メモを残そうと思ったが、書くの疲れたのでまた後日。
PIC16F1827やPIC16F1938で、チップのリビジョンによって、動いたり、動かなかったりするぞ、ということがあった。古いチップだと動いて、新しいチップだと動かないので、チップのバグに違いない!と思っていたが、最近はMikroCの仕様(バグ)という気がしてきた。非同期シリアル(UART)を使うときに、MikroC標準関数でのボーレートの指定がうまく効かず、直接チップのレジスタを叩かなければ動かないことがあったので、以前の現象も本来やるべき初期化処理をMikroCがやっていないだけかもしれない。ということで、PIC16F1827やPIC16F1938は、チップ自体は悪くない、と今は思うようになった。





概ねス口コソが完成したので、より安定して使えるようにプリント基板をおこすことにした。いままで基板の設計はPCBEを使っていたが、今回はとてもそれで設計できる規模ではないので、もっと気の利いたものを使おうと思う。

で、Eagleにしようかなぁ、と思ったけど、無償版は制約が厳しすぎるのでやめた。もちろん有償版を買う金などあるわけがない。

と、そんなときに、Designspark PCBなるPCB設計ツールを見つけたので、使ってみた。
その感想は、、、、

1.Eagleと似ている
   Eagleの使用経験があれば、マニュアルを読み込まなくてもなんとなく使える。Eagleでできることは大体できる。

2.使い勝手はEagleと同様あまりよくない
  Eagleは使いやすいと思わなかったが、これも同じ感じ。

3.ライブラリが少なめ
 まあ、無料だから仕方ないかな。。。

4.不安定?
 よく落ちる。Windows3.1くらいの安定度と思えばいい。メモリー4MのMacで漢字Talk6を動かしたときぐらいかも。

5.落ちたらファイルが破壊されることがある
 こまめにセーブするのはあたりまえ。
 こまめにファイル名を変えてセーブする必要がある。


使えば、DesignSpark PCBがなぜ無償なのかわかる。有償でサポートできる品質に達していないからである。
でも、無償なら、「これはすごい!」ソフトだと思うので、しばらく使い込んでみることにした。



ファストサーバが大変なことになっている。クラウドの時代、自前でサーバを持つのは古い、バックアップや運用も全部お任せ、と言われて、任せた人が被害者なのだろう。なるほど、AIJと同じかな。「最適な運用をしますので、すべて任せてください」、というものには、任せてはいけないということか。

それはさておき、フルコンであるPOWER FCをせっかく使っていながら純正コンピュータも必要、というのがイケてないなぁ、、、
ということで作ってみた。

DSC_0148.JPG









見てわかるとおり(わからない?)、純正コンピュータなしで、11Оに1ОО用パワーFCを接続するアダプターです。

やっていることは単純で、「11Оコンピュータにあって、1ООコンピュータに無い処理をする」だけである。

そう聞くと、「そんなの簡単じゃん!」と思うかもしれないが、これが結構面倒だったりする。週末の空き時間でコツコツ作り続けて、約2ヶ月かかった(しかも一部未完成)。かなり難易度が高いので、DIYでやってみようという人は、心してかかるように。

「11Оコンピュータにあって、1ООコンピュータに無い処理をする」(スcコン以外)とはどんなものか、というと、これがけっこうあって、
 
  1. ВЕАΝの「リアデフォッガ信号」をもとにリアデフォッガー(RDEF)リレーをオンにする。
  2. ВЕАΝの「リアデフォッガ信号」をもとにアイドルアップ(ELS2をセット)する。
  3. ВЕАΝの「TAIL(スモールライトのことね)信号」をもとにアイドルアップ(ELS1をセット)する。
  4. 冷却ファンの回転が一定以上になったら、アイドルアップ(ELS3をセット)する。
  5. ВЕАΝの「A/C信号」をもとにエアコンのコンプレッサーを回す(A/Cをセット)。
  6. イグニッション信号(IGF)をもとに、タコメータ用の信号(TACH)を生成して純正メータのタコメータを動かす。
  7. 水温センサーの電圧(THW)を読み取り、低温だと低回転、高温だと高回転に冷却ファンが回るようにパルス信号(RFC)を生成する。
  8. 水温センサーの電圧(THW)を読み取り、ВЕАΝの「水温信号」を生成して、純正メータの水温計を動かす。
  9. 外気温センサーの電圧(TAM)を読み取り、ВЕАΝの「外気温信号」を生成して、EMVに表示されるようにする。
  10. オルターネータの発電チェック端子?(RL)を読み取り、発電していない場合は、ВЕАΝの「バッテリー警告信号」を生成して、メータの「バッテリー警告灯」を点ける。
  11. 油圧スイッチ(MOPS)を読み取り、油圧が不足している場合は、ВЕАΝの「油圧警告信号」を生成して、メータの「油圧警告灯」を点ける。
  12. エアコンガスの高低圧スイッチ(PRE)の状態を調べ、異常の場合はコンプレッサーを回さない。
  13. エアコンガスの中圧スイッチ(HP)の状態を調べ、異常の場合は冷却ファンを回す。
  14. 通常時は、ВЕАΝの「コンプレッサーロック信号」を「正常」で生成する。これを送らないと、エアコンコンピュータがコンプレッサーONの信号をВЕАΝ経由で送ってきてくれない。
  15. コンプレッサーのロックセンサー(LCKI)の値を読み取り、イグニッション信号(IGF)と比較して,回転のずれ80%超えが1秒以上続くと、ВЕАΝの「コンプレッサーロック信号」を「ロック」で生成する。
  16. TRC警告灯が消せたらいいなぁ。。。。
  17. トラクションコントロールの仕組みが全く異なる・・・
  18. エアバッグが開いたときに燃料ポンプを止める。

とまあ、これくらいある。

とりあえず、1~14までは実装できたのだが、15と16はこれから。15はオペアンプかコンパレータを使えばどうにかなりそうだが、16はどうしたものか。。。。このTRC警告信号送っているのって、エンジンECUじゃないからなぁ。。。。17、18は対応する気なし、ていうか無理。














 
カレンダー
10 2024/11 12
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]