半田付けしてます

よくわからないまま半田付けしてます

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

SDカードでまたハマるw

はい、というわけで、久しぶりに大嵌り。
最後の大どんでん返しまで、2週間でありました・・・
どんでん返しは果たしてw
結果だけ知りたいなら、下の方に飛んでくださいw

スクーターのデータを採取したいので、各データをSDカードに記録するというわけですが。

以前、ブレッドボードで組んでうまくいってたんで
そこから、あれこれ捻っての実装。

ハードを組んで、ソフトを組んで、いざ実行。

データロガー01

が、カードを認識しない模様。まあね、多少はね。と始めは余裕w

うまく行った時と違う点

・システムクロック1MHz→20MHz
・他割り込みも発生
・ドライバーは同じ
・SPIの回路は適当
・オール3.3V→システム5V、カード3.3V


信号波形の問題か?


まあ、20倍も速くなってるんで、多少はねというわけで
SDカードのインターフェースの波形を見てみます。
3Vへの降圧ははじめ分圧で10k+15kでやってました。

で、オシロでCLKを見ましたらなんか、見事に波形が弁当のバランのような形になっておりw

00092196-01.jpg

プローブのインダクタンスもあるでしょけど、これじゃあ・・・。

SDカード接続で、電圧シフトで、抵抗分圧でっていうパターンてどうなんでしょう。
まあ、10k+15kだと、電流が足りてないっぽいので、1/10の1k+1.5kにしてみました。

波形は、いい感じになりしましたが、相変わらずノーリアクション・・・。
プログラム的には、

・マウント
・書き込みor新規ファイル作成でファイルオープン


で、ファイルオープンのとこで

Disk Not Ready

というリターンコード。
クロックが速すぎるのかなあ・・・。



クロックを1MHzに


SDカードの起動シーケンスは

・電源ON 1m待つ
・ダミーの74クロックで初期化スタンバイ
・CSをLow
・なんらかしらのコマンド この時、クロック100kH~400kH

ということらしいので、というか、成功した時のパターンに近づけます。
外付け水晶クロックから、内臓RCクロック8MHz+CKDIV8の1MHzに切り替え。
安定度からいうと、マジメに水晶使うのがいいんですが、とりあえず。

しかし、状況変わらず。



抵抗分圧は止め。ちゃんとレベルシフト


手持ちにトレラント用の反転バッファ、6回路入りのCD74HC4049Eがありましたので
これを使ってみます。本当はただのバッファの方がいいですよ。3.3V電源のところへ、5Vの信号を入れます。

オシロで波形を見ますと、さすが、専用チップの威力。
バッチリ気持ちいい垂直の波形です。

これなら文句ないだろ、どうだコラ。



しかし、ノーリアクション。



なんだこいつぅぅぅぅぅ。



ソフトを疑う


ここら辺から、ドライバーのコードにデバッグ用ルーチンを入れて
どこでコケてるのかを見始める。

人様のコードを読むのが苦手ですw

ていうか、なぜif文の後にカッコがないのか、あと#ifとかなんですかとかw

でも、要は初期化シーケンスで撥ねられてることしかわかりません・・・。

ここら辺で、既に休日3日分くらいですw 期間でいうと、一週間くらいたってます。
いい加減ジれてきてますw



うまくいったハードを組み立ててテスト


ここらまで来ると、心が折れかかりますw

こういう時は実働の自作のセットを一個作っておけば良かったと痛感しますねー。

前は、うまく行ったブレッドボードのセットにアドオンで温度計とかくっつけて
ははーんと納得して、あとはバラバラにしてしまったので、現物がないんですよね。
なんでもいいから、完成品つくらないとダメですね。

というわけで、急きょ、ブレッドボードにmega328と3.3V電源とSDカードソケットとプラグラム6Pinポートを組み立てます。
ものの15分ですか。クロックは水晶8MHzCKDIV8で1MHz。

データロガー02

SDカードソケットは、うまく行った時の残骸です。
47kのプルアップ抵抗付で、いわゆるSDカードボードとかシールドとか?

で、うまく行った時のもっとも原始的なプログラムをロードしてみます。
コードで、適当な文字列を大量に書き込む奴です。
AVRStudioからロード。1MHzの1/4以下のクロックで書き込むので遅いです。
ジコジコー・・・。


なんと、一発で成功w



SDカードをセットから外して、パソコンで見ます。
ファイルができており、中身もちゃんと入ってますw

ナンダトォォォォォ?


ついに問題発見


ソフトは問題ない。
ハード? いやいや、ちゃんとレベルシフトもして、クロックも十分遅い。
なにも問題ないはず。

じゃあ、どこだ・・・SDカードの接点とか?

データロガー03

でも、こいつは、ヒロセの新品190円国産だぞー?
いや、でも見てみるか・・。

テスターに0.2mmウレタン線を付けて、カードをセットした状態で
導通状態を見てみます。

DO、VSS1、VCC、CLK、VSS2、DI、とオッケー。残るはCS・・。

ん?




CSが導通不良?????






カードを抜き差しして、ピンの動きを見ます。
あ・・・、なんかCSが動いて「ない」!!!
気持ち浮いてる?????

ピンの接点がカードの接点から浮いてる模様。

カードを抜いて、上からピンをギューっと押さえて、下に曲げてみます。
そして、カードを装着。電源ON。


NO ERROR

ファイルができて、中身も入ってます。


こいつだったのかーーーーーーーーーーーー!!

発見、午前1時30分。近年まれにみるカタルシスw



原因は半田付けによるピン取り付け変形か


多分、カードソケット自体は問題なかったんだと思います。
では、なぜ、ピンが浮いたかというと
半田付けしすぎで、ピンが嵌ってるプラが変形したと思われます。

あと、思い当たるフシとしては、もともと表面実装をユニバーサル基板にのっけるために
ソケットの足が出るところに穴を掘ったりしましたが、この工作がテキトーだったため
取り付けが歪んでたりしてるかもしれないです。

どうもこのカードソケットって嫌いです。
ちゃんと接触してるんだかなんだかよくわからないので・・。

これ、ソケットがリバースタイプの端子の窓が開いてるタイプなのでアクセスできましたが
端子が基板の方に向いてるタイプだと、カードになんらかの工作しないと、確認できないですよね。

しかし、急がば回れですねぇ・・。
物理的な接続のチェックは初めにしっかりやらないとダメですね。
いい勉強になりました。










スポンサーサイト
  1. 2016/02/17(水) 14:08:04|
  2. AVR
  3. | トラックバック:0
  4. | コメント:0
<<アドレスV100 駆動系 ようやくマトモに | ホーム | 詐欺メールw>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://handa40rou.blog123.fc2.com/tb.php/358-36ed1a79
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。