カテゴリー「電子工作」の38件の記事

2020年2月28日 (金)

PIC 16F876Aで温湿度センサAM2320を読むのに苦戦

湿度制御機能がない安物加湿器で湿度制御するためのプリント基板をFusionPCBに発注し、届いたプリント基板にさっそく部品をはんだ付けした。

湿度制御する理由は、加湿しすぎて結露したこと、加湿を必要最小限にして水の補給頻度を少なくして楽をしたい、という2点。

最初はRasPi用に設計

PICに変更

Dsc05280

でもなぜか動作しない。ネットでググったりPICの仕様書を読んだりしてようやく原因が判明。16F876Aって、内部クロックもってなかったorz 普段16F88を使っているので、外部に振動子が必要なんて考えもしなかった。しょうがないので、セラミック発振子を半田付けした。

他にも結線ミスが2か所も見つかって、ジャンパーで修正。ベタグランドはすべてつながっているもんだという先入観からDRCエラー(GNDの未配線)を無視してた。KiCADの方がはるかに賢いのでエラーはちゃんとつぶそう。ケチらずにVIAをポチポチ打っておけばよかっただけの話。

Dsc05277

液晶に文字が表示されたけど、センサーにアクセスしたとたん i2c_start();でフリーズする。センサーにつながるポートSDAとSCL(C3とC4)をTRISで出力モードにすればフリーズしないけど返ってくる値が正しくない。PORT C3とC4は、手持ちの本では出力に、ウェブでは入力にしろと異なることが書いてある。スリープから起こして、仕様書に記載の時間ウェイトかけて読みだしても、返ってくるビットがすべて1(0xFFFF)なので、温度6553℃と湿度6553%となる。 太陽かよ。

Dsc05282

プログラムをあちこち修正しても一向に改善しないので、ハードウェアに問題があるとしか考えられない。Raspberry PiではうまくいっていたのにPICでうまくいかないので、16F876Aにプルアップ抵抗が内蔵されているかどうかはデータシートを見てもよくわからなかったけど、ポートC3、C4にプルアップ抵抗を追加してみることにした(AM2320のデータシートの通り)。 

Dsc05283

これで、TRISでポートC3とC4を入力モードにしてもフリーズしないし、センサーが返す値も正しくなった。ようやく動作した。Raspbrry Piではすぐに動いたのにPICでは苦戦した。

Dsc05284

やっと完成かと思ったら点灯しないLEDがある。「RA4 オープンドレイン」で検索したらビンゴ。

RA4は初心者がよくやるミスの典型例らしい。2年前にも16F88ではRA5が入力専用を知らずに間違えてるし、ちゃんとPICごとにデータシートを確認しないといけない。LEDはあきらめようかとも思ったけど、1kΩでプルアップして順方向電圧が3VあるGaN系のLEDを使ってみたらうまくいった。ここで順方向電圧が1.7Vの従来のLEDを使うとまた予想外の動作(出力がHighでも電圧降下が2ボルト弱でポートはLow状態と誤認識)をするらしい。

最後に、Timer0のルーチン、経過時間を測定すると10%も遅い。なんで?セラミック発振子の誤差はそんなに大きくないはずなので、割り込み処理ルーチンでLEDをつけたり消したりするのに時間がかかっているのかな。ここはソフト的にカウント数を10%減らして無理やり合わせた。

追記:

ブレッドボードで動作確認もせずにいきなりプリント基板を発注してしまって、修正だらけだけどようやく完成した。完成したころには乾燥する季節は終わったかと思ったけど、今日は乾燥している。湿度制御機能がない加湿器でも加湿しすぎることなく適度な湿度をキープしてくれ快適な朝を迎えられる。

Dsc05285

2020年2月12日 (水)

LMC662が秋月電子で売ってない

電子工作で使うオペアンプといえば、単電源で使え、レールToレールで、低消費電力のCMOSのLMC662。

Dsc05195

在庫がそろそろなくなったので、秋月電子で注文しようとしたら探しても見つからない。てっきり生産中止かと思ったらそうではないらしい。ウェブ情報によれば、つい最近になってTIの半導体は秋月電子のように店頭では買えなくなったらしい。LMC662はナショセミだけどTIに買収されており、DigiKeyでは仕入れ先がTIになってる。でも秋月電子でナショセミ(TI)のLM358Nがいまだに買えるのはなぜ?358なんてタダでもいらないから在庫が減らないのかな?

DigiKeyではLMC662を今でも買えるけど、1個200円もしたっけ?安いイメージがあったけど意外と高級品だったのかな。でもDigiKeyは海外発送で送料がバカ高いのでよほどのことがない限り利用できない。

秋月電子で代替品を探すのがよいかな。性能が良すぎても発振するし、どれを使ったらよいかよくわからない。非反転でゲイン1のバッファか、ゲインは大きくても3くらいをよく使うんだけど、ゲインが小さいと発振するオペアンプもあるらしい。代替候補としてNJU7062くらいを試してみようかな?

http://akizukidenshi.com/catalog/g/gI-03755/

P.S.

4回路入りのLMC660がまだ秋月電子で売ってるけど、4回路もあると逆に使いづらい。

2020年2月 7日 (金)

KiCAD Ver.4 からVer.5への移行

ノートPCとデスクトップPCの両方に同じバージョンのKiCAD5を入れているのに、なぜかライブラリが一致しない。ノートPCには新規にインストールしたが、デスクトップはVer4にVer5を上書きして、Ver.4の設定が残っているらしい。例えば、ライブラリパスが、Ver.4ではcapacitorsだけど、Ver.5ではcapacitorと単数になるので、片方で編集したものが、もう一方でフットプリントが見つからないと言われる。

ところが、Ver.5を再インストールをしても変化がない。ようやくわかったのは、設定ファイルは非表示フォルダに入っているので、手動で削除しなければならない。

C:\Users\hogehoge\AppData\Roaming\kicad を削除して、再インストールすると、ようやくノートPCとデスクトップPCで環境を統一できた。

上級者は、Ver.4とVer.5の環境をうまく使い分けることができるのかもしれないけど、よくわからないからこれからはVer.5の環境で再スタートする。

プリント基板は数年に1回くらいしか作らないから、そのたびにゼロから学習し直しになる。

2020年1月19日 (日)

湿度コントローラーその2

前回は、ラズパイ用の基板をデザインしたけど、今度はPICの基板をデザインしてみた。PICの方が低コストで良いかな?

Schematic_20200302091401

Humidcontroller04

3Dプリンターで基板を出力して、部品の干渉チェックとフットプリントの確認をした。

スイッチを3つつけて、連続運転とタイマーも切り替えられるようにしようと思っていたけど、それよりも60%、50%、40%を選べるようにした方が良いかな?(追記:湿度切り替えスイッチ、連続運転・タイマー運転切り替えスイッチ、電源スイッチと3つにした。)

Dsc05102

追記:

春節で2月まで中国の基板工場がお休みのため、しょうがないのでケースをデザインしてみた。意味もなくレンダリングしてみる。

Humidcontroller02b_2020jan20_053517am000

3Dプリントしてみたところ、液晶が干渉するのでちょっと修正が必要だけど、LEDやスイッチの穴はバッチリ。あとは、基板の発注とソフトウェアを作らないといけない。

Dsc05103

プリント基板を発注した話

PIC16F876Aで苦労した話

 

2020年1月16日 (木)

久しぶりにKiCAD:RasPiで湿度制御

中華の安物の加湿器を買った。出力最大にして寝た。朝起きたら床が水浸しだった。(説明書には出力を最大にすると床が濡れることがあると書いてある。オイ)

Dsc05099

そこで、湿度が60%になったら電源を切る回路を作ってみる。

1年半ぶりにプリント基板を作ろうとKiCADを起動したら、使い方を完全に忘れている。使い方を思い出すのに1日かかった。バージョンが4から5にメジャーバージョンアップしている。どこが変わってどこが便利になったのかわからないけど、自動配線がなくなっている(外部のアプリを使う必要がある)のが非常に残念。自動配線は使えないという人もいるけど、自分の用途では全く問題なかったのに。

AM2320で湿度を測定して、設定した湿度に達したらリレーで電源を切る。タイマーと連続運転の機能も付けたい。

Schematic01

Humidcontroller01

やっとフットプリントの修正方法とか思い出して、プリント基板のデザインができた。さあ、発注しようと思ったら、今日から春節のため工場がお休みに入るって。タイミング悪い。

うーん、春節明けが待ち遠しい。それまでミスがないか、たっぷり時間をかけてチェックできる。

KiCADは3Dモデルを出力できるので、意味ないけど3Dプリンタで出力して、フットプリントに間違いがないか部品を載せて確認してみた。春節の間は、先にケースでも作るか。

Dsc05100

2018年8月 3日 (金)

キッチンのLED照明故障

キッチンのLED照明が暗くなったり、点滅したりするようになった。LEDは寿命が長いはずなのに電源がすぐ壊れるし、蛍光灯のように自分で簡単に交換できない。築5年で最初に壊れたのがLED照明ということになる。キッチンの照明は使用頻度が高いから単純には比較できないけど。

LED照明の電源がどこにあるか探してみた。火災防止のためか、電動戸棚の制御回路と一緒に、金属の箱に入っていた。これって熱がこもらないかな?

Dsc03975

ニチコンのアルミ電解コンデンサがさわれないくらい発熱していた。このまま使っていたら火事になりそう。

Dsc03982

コンデンサを外してみた。容量を測定したら47マイクロファラッドで異常はないみたい。テスタでは導通も問題なし。でもかなり液漏れしている。下の写真は漏れた液体を拭いてしまった後に撮影した。

Dsc03983

基板も電解コンデンサから漏れた液体で濡れている。これが故障(動作不良)の原因か?

Dsc03984

このニチコンのコンデンサをネットで調べたところ、最大動作温度が150℃という高級なアルミ電解コンデンサ(UBX2A47MPL)らしく、1個200円もする。いくら熱に強いと言っても液漏れしてたけど。

秋月には売っておらず、Digi-keyになら在庫がある。久しぶりに発注しようとしたらユーザーIDがわからないので登録し直した。送料が2000円もするのはしょうがない。アメリカから4日で届いた。

ちょっとサイズが違うけど、約3000円で修理完了。リクシルに出張修理を依頼したらいくらかかったんだろうか。

交換前ほどではないけど、やっぱり電解コンデンサ熱くなっている。これじゃあ、また5年後に交換が必要になりそう。空冷ファンでも追加してみるか?

Dsc03987

2017年7月 4日 (火)

FusionPCBに発注してみた。

Elecrowが人気みたいだけど、FusionPCBに発注してみた。23日にデータをアップロードして、4日に届いたので11日かかったことになる。スイッチサイエンスが大体21日なので、約半分の納期で、値段はほぼ同じ。

金曜には製造が終了して発送作業まで完了していたけど、集荷されたのは月曜日。ステータスが2日間更新されずにプチ放置プレーされたけど、$20もするだけのことはあって、いったん集荷されるとDHLは早い。深圳から香港、成田経由で、次の日には届いていた。ウェブのステータスはなぜかPCよりスマホの方が情報量が多い。香港を出て、成田に着いて、税関をクリアしてという情報をワクテカしながらリロードして配達を待っていた。

Dsc03193s

配線ミスはパターンカットとジャンパーで修正(基板裏面)。USBの向きの間違いは、ゲタをはかせて干渉を回避。必ずミスをしてしまう。これが仕事でなくてよかったかもしれない。

Dsc03195

USBがのっている基板の向きを間違えて逆にさしてしまったせいか、RS232Cの受信が全く反応しない。送信はできている。予備のパーツがないので秋月電子でまた購入しないといけいない。動作確認はしばらくお預け。

追記:
RS232Cの受信ができない問題は、配線ミスだった。修正して動作確認できた。
P_20170714_100653_vhdr_on

2017年6月14日 (水)

ほこりセンサー PCB発注

PCBの設計で、仕事で使い方を最初におぼえたCADはDesignsparkPCBだったけど、結局プライベートではKiCADに落ち着いた。KiCADの方が、回路図の見た目が美しいのと、PNGの画像をシルク印刷にインポートできるという、どうでもよい機能が決め手となった。でもDRCがザルであることが分かり、Designspark PCBの方がDRCをしっかりやってくれるので、仕事用の回路はDesignspark PCBを使うことになりそう。

仕事でプリント基板を設計した時は、ちょっとした試作程度でも朝から晩までマウスをクリックしつづけて修正の繰り返しで、締め切りまでの膨大な作業量にゴールが見えにくい状況が結構しんどかった。でも趣味としてのプリント基板の作製はとても楽しい。面倒なことが嫌いなので、ユニバーサル基板の手配線から解放されるのはとてもありがたい。

今回は、秋月で扱っているシャープのほこりセンサーGP2Y1010AUの読出し回路のプリント基板をCADで設計して、某S社にネットで発注した。5月24日に発注して、6月14日に届いた。3週間は待てるぎりぎりの期間だろうか。趣味のものだから急がないとはいっても、もう少し早く届いてほしい。次は日本の代理店を通さないで、直接中国に発注(ElecrowとかPCBGOGOとか)してみたい。

基板が届くまで時間は十分すぎるほどあるので、ケースを印刷して、プログラムも書き上げた。ほこりセンサーの読出し自体は、日経Linux 2015年9月号の記事を参考にRaspberry Piで動作確認済みなので、そのままPICに移植した。ログをとっても後で見ることはまずないので、データを外部に出力するインターフェースは設けず、AD変換した電圧(0.5V ~ 3.5V) をそのまま7セグLEDで表示することにした。7セグLEDってユニバーサル基板に手配線だと面倒でほとんど使ったことがなかったけど、LCDより見やすいのでプリント基板ではどんどん使いたい。Raspberry Piと違って、PICは出力電流をとれないようなので、トランジスタで電流確保。MCLRの抵抗のフットプリントを一応確保しておいたけど抵抗は実装しない予定。LM35DZのフットプリントもおまけでつけておいたけどたぶん使用しない。

Schematic

完成イメージ

Dustsensor02_3d

趣味でPICだと、そんなに頻繁に使うものでもないので、PICを使うたびにほとんど忘れていて、1から学習しなおしになる。ウェブにドキュメントを残すのは自分用メモである。さらに、前回PICを使った時のPCはWindows7だったので、Windows10に環境を構築しなおすことから始めた。USBシリアル変換のドライバをネットで探したり、ちょっとてこずったけど、基板が届くまで3週間以上と時間は十分ある。

今回必要な知識は、time0 による割り込み。クロック周波数8MHzから1カウントの周期を計算すると、1/8MHz ×4=0.5μsとなる。8ビットフルにカウントすると256なので、プリスケーラー (例えば64) をつかって、割り込みの間隔は、0.5μs × プリスケーラ64 × 256 = 8ms となる。8msごとに割り込みが発生するので、そこで7セグLEDの表示の桁を変えてやる。簡単な計算なんだけど、すぐに忘れてしまう。

センサーの読出しは、Raspberry Piで確認したコードそのまま。ほこり検出用のLEDをオンにして一定時間待ってからAD変換する。ccscのライブラリ関数を使えば簡単に実装できる。簡単なプログラムなのでそれほどメモリが厳しいわけではないけど、AD変換の結果はfloatを使わずlongのまま扱うようにしている。どうせ7セグLED2桁の表示なので浮動小数を使う必要はない。

void measure_dust() {     long data;     output_high(PIN_A2);    // LED turn on     delay_us(280);          /* 0.28 ms */     set_adc_channel(0);     delay_us(20);     data = read_adc();     output_low(PIN_A2);     // LED turn off     delay_ms(100);          /* 100 ms */

    number = (data * 50) / 1024; }

Dustsensorcase

Dsc03153

ウェブ上でひらったデータシートには、ビニールコードのどれが何番なのか回路図との対応の記載がない。日経Linuxの作例写真と回路図を見比べて茶色が1番、青が6番であると推定。

埃がない状態で0.7V、煙を吹きかけると3.5V出るのはほぼデータシート通りで、ちゃんと動作してそう。煙やエアブラシのミストには反応するけど、布団や衣類のほこり程度ではピクリともしない。ましてや花粉とかPMなんたらの検出は全く期待できそうにない(試してないけど)。

Dsc03156

追記:

エアブラシ塗装したときに、塗料のミストは目に見えないけど、ちょっと離れた位置のセンサーがちゃんと反応する。塗装ブースがあるからと油断してたけど、ちゃんとマスクをした方がよさそう。

KiCADのDRCはザル?

KiCADで設計して、すでに発注したガーバーを眺めていたら、おかしな点を発見。パッド径とドリル径が同じ!これでは導通がとれない。どうしてDRCではチェックしてくれないのか?

デザインルールではVppのパッド径は0.8mmのはずなのに、0.6mmになっていて、リング幅がゼロになっている。配線幅もデザインルールでVppは0.5mmなのにdefaultの0.25mmになっている。一方で、ドリル径はデザインルール通り。操作方法が間違っているのか?

Largedrillhole_2

PCBnewで確認しても、配線幅0.5mm、ビア径0.8mm、ドリル径0.6mmになっているのに、実際は配線幅0.25mm、ビア径0.6mmになっている。

Largedrillhole2

間違えたところはジャンパーでつなげばいいやと思っていたら、届いたプリント基板はランド径を大きめに修正してくれてた。日本だと、顧客に確認しないでデータを勝手に修正なんて絶対しないと思うけど。中華だから安いだけがメリットかと思ってたけど、予想外に親切なのと、ちゃんとチェックして製造しているようで見直した。

Dsc03150s

DRCがザルなのは、そもそも、PcbnewのDRCの設定には、最小配線幅、最小ビア径、最小ドリル径くらいしか設定がないので、チェックされなくて当然(仕様)といえなくもない。その点、DesignsparkPCBの方がきっちりチェックしてくれる。最初にDesignspark PCBで使い方を覚えたからKiCADのDRCに不満を感じるだけなのか、ネットでググってもKiCADのDRCの不満は見つからない。

2017年5月27日 (土)

導通チェッカ

スイッチサイエンスに連休明けに発注したプリント基板がようやく届いた。発注から到着まで19日。双安定マルチバイブレータを用いた導通チェッカ。シルク印刷が少しライイメントずれしているけど読めればよいので問題なし。

Dsc03138

フットプリントライブラリの時点で、トランジスタのEとCを間違えたので、足をクロスしてスルーホールに差し込んで何とか実装。フットプリント修正版は数日前に発注済み。

Dsc03137

その他のカテゴリー

1/100 リックドム MS-09RS 1/12 Fairlady240ZG 1/12 Ferrari 312T4 1/12 Honda NSR250 2001 1/12 Honda RC211V No.26 2006 1/12 Honda RC213V 2014 1/12 ITALERI RENAULT RE20 1/12 Porsche 935 1/12 Williams FW14B 1/12 YAMAHA YZR-M1 '04 No.17 1/12 YAMAHA YZR-M1 '05 No.46 1/12 YAMAHA YZR500 OW48 1/12 タイレルP34 1/20 Beneton Ford B192 1/20 Brabham BT46 1/20 Brabham BT46B 1/20 Brabham BT52 1/20 Ferrari 312T2 1/20 Ferrari F10 1/20 Ferrari F2001 Full View 1/20 Ferrari F2003 GA 1/20 Ferrari F2012 1/20 Honda RA272 1/20 Lotus 25 1/20 Lotus78 1/20 McLaren Honda MP4-30 1/20 McLaren Honda MP4-31 1/20 McLaren M23 1/20 McLaren MP4-13 1/20 McLaren MP4-27 1/20 McLaren MP4/4 1/20 McLaren MP4/5 1/20 McLaren MP4/5B 1/20 McLaren MP4/6 1/20 Porsche 928s 1/20 Red Bull RB6 1/20 Renault RE30B 1/20 Sauber C30 1/20 Sauber C31 1/20 Tyrell Honda 020 1/20 Tyrrell 003 1971 1/20 Williams FW11 Honda 1/20 Williams FW14B 1/20 Williams FW14B 2nd 1/20 Williams FW16 1/20 Williams FW24 1/20 タイレルP34 1976 1/20 タイレルP34 1977 1/20 タイレルP34 1977 US GP 1/24 BMW Z4 GT3 2011 1/24 Castrol Tom's Supra GT 1/24 Celica GT-Four 1/24 Countach LP400 1/24 Dome-0(Zero) 1/24 Fairlady S30Z 1/24 Fairlady Z31 300ZX 1/24 Ferrari 288GTO 1/24 Ferrari 328GTB 1/24 Ferrari 512BB 1/24 Ferrari Enzo 1/24 Ferrari F10 1/24 Ferrari Testarossa 1/24 Ford GT Le Mans 2017 1/24 Honda DAD Step WGN RF3 1/24 Honda New NSX 1/24 Honda NSX Type R 1/24 Honda Prelude 1/24 Honda Prelude XX 1/24 Honda S800 Racing 1/24 Jordan Mugen HONDA EJ10 1/24 Lancia Stratos 1/24 Lancia Stratos Turbo 1/24 Lexus LFA 1/24 Lexus LFA Full View 1/24 Mazda 787B No.55 1/24 Mazda Savanna RX-7 1/24 McLaren MP4-25 1/24 Nissan R390 GT1 1/24 Porsche 911 turbo'85 1/24 Porsche 935-78 1/24 Porsche 936-78 1/24 Porsche935 1/24 Subaru 360 1/24 Subaru BRZ 1/24 Subaru Impreza WRC2001 1/24 Suzuki Jimny JA71-JCU 1/24 TOYOTA Celica LB Turbo 1/24 TOYOTA GT-ONE TS020 1/24 Toyota TE71 カローラ 1/24 Wolf Countach 1/24 ギャラン ラムダ 1/24 マッハ号 1/35 King Tyger Ardennes front 1/35 M106A1 モーターランチャー 1/35 Tyger I Late Version 1/35 戦車 1/350 H-II B ロケット 1/48 ドールズハウス 1/48 飛行機 1/6 Suzuki GSX1100S KATANA 3Dプリンター RaspberryPi TDF-MRI マグマライザー その他 カブトムシ カーモデルのモデリング クワガタカブトムシのモデリング ゲーム ジャンクパーツ パソコン・インターネット ラジコン 世界の昆虫 DATA BOOK 和風ドールズハウス 家を買う 携帯・デジカメ 日記・コラム・つぶやき 育児 資格 赤毛のアンの家 週刊マイ3Dプリンター 週刊マクラーレンMP4-23 電子工作 音楽

カテゴリー

フォト
無料ブログはココログ