初めてのPIC 0x0D
■ このスレッドは過去ログ倉庫に格納されています
_ _ PICをさわるのは今日が初めて、という超初心者のためのスレです。
(O>――<O) PIC選び、PICを使った回路は、誰でも最初は不安なものです。
/ (・) (・) ヽ 恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
○ /▼\ ○ 質問のしかたは、初心者質問スレの発言1を見てくださいね。
|(ヽ二フ ) |
/  ̄ ̄ ̄ ヽ
f ヽ / | PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
ヽ \ / ノ ・PIC専用のスレ
| \_ )(_/ ! 本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
| | ここの話がわかるようになれば、あなたはもう一人前のPICerです。
| | ・マイコンソフト 悩み事相談室
| | ̄ ̄| | マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
(_ノ ヽ_)
質問する時のコツ
・性格の悪い回答者はスルーしよう(相手すると逆効果)
・素人玄人などと 上から目線の回答者は、無視してください。相手してはいけません。
・そこそこ良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
・回答者のアドバイスで後日解決したら、結果報告しよう(とても喜ばれる)
・回答者は、僕たち初心者に優しくしてください。あなたも通ってきた道のはずです。
必要なソフトなど(基本無料)
統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers (高機能版は有料)
コード生成プラグイン (MCC) ttp://www.microchip.com/mplab/mplab-code-configurator
マイクロチップ ライブラリ (MLA) ttp://www.microchip.com/mplab/microchip-libraries-for-applications
必要なハードなど
初心者はPIC16F1、PIC18F1以降の型番で始めると無理なく始められます。
プログラムの書き込みには書き込み器が必要です。持っていない場合はPICkit3(中華クローンでもまず大丈夫)を使いましょう。
PIC一覧、スペック検索 ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
さ、質問どうぞ〜っ
0X0C 2017/07/27〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1501157324/
0x0B 2017/05/08〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1494235320/
0x0A 2017/01/04〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1483498857/
0x09 2016/09/07〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1473238791/
0x08 2016/04/30〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1461994030/
0x07 2016/02/05〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1454648249/
0x06 2015/07/18〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1437151298/
0x05 2015/04/07〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1428391368
0x04 2015/01/02〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1420205108
0x03 2014/09/22〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1411314715
0x02 2014/05/20〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1400522979
0x01 2013/11/17〜 ttp://ai.2ch.net/test/read.cgi/denki/1384626558 >>41じゃないけれど、
>>19の
>RAx=0; 先に現在のポート状態を読み込み、そこに変更を加えて書き戻す
>LATAx=0; 強制的にポートへ書き出す。「ラッチを掛ける」と覚えればおk
PICのビット操作命令(BCF,BSF)は、
バイト単位でいったん状態を読み込んで、
ビットを操作した上で
対象レジスタに書き戻す
という動作をします。
その点においては、上も下も同じ。
そして、書き込む出力レジスタも、上も下も同じです。
違いは、読み込み時で、上の方が、ピンから入力バッファを通ったところ。図の(1)。
下は出力レジスタの出力そのもの。図の(2)。
なので、レジスタを変化させた直後の命令で、RAを読むと、遅延の影響でその変化が
反映されてことがあります。でも、LATAならすぐに反映されます。
と、書きましたが、PICを最後に触ってから、かなり経っているので間違ってるかもしれません。
間違っていたらご指摘いただけると嬉しいです。 >>41=>>43さん、詳しい説明ありがとうございました >>43
>while(1){
>RA4=1;
>RA5=1;
>__delay_ms(500);
>RA4=0;
>RA5=0;
>__delay_ms(500);
>}
>こうするとRA4が点滅しなくなるんですけど、
これはどのように考えれば良いでしょうか? >>48
ご親切にありがとうございました。
以下のような理解でよいでしょうか?
while(1){
RA4=1; // a_port全体を読んで、RA4=1にして、書き込む
RA5=1; // まだ1になっていないRA4を含むa_port全体を読んで、
// RA5=1にして、0と読んでしまったRA4を含めて、書き込む
__delay_ms(500); // 待つ。この時間により、RA4は0に、RA5は1になりきった。
RA4=0; // すでに0のRA4と、ちゃんと1になったRA5を含むa_port全体を読んで、
// RA4に0を上書きして、書き戻す
RA5=0; // ちゃんと0になったRA4と、ちゃんと1になったRA5を含めて読み込んで、
// RA5=0にして、書き込む
__delay_ms(500);
}
・クロックが遅い場合は、0と1の遷移途中で読込するほど速くはアクセスできないので、上記現象にはならない。
・高速クロックでも、書き込んでから、遷移完了までの時間以上を、NOPなどで待てば、上記現象は起きない。
という理解も正しいでしょうか? >>49
それでいいと思います。
さらに、LATのある品種ではLATを使えばFFを直接読むので回避できます。 まとめて設定すればできると思います。
RA |= 0b00110000;
RB &= 0b11001111; >>51
RA4=1;
RA5=1;
は
RA |= 0b00110000;
1行に置き換えられますが、都合で論理が変わってしまって、プログラムが
RA4=1;
RA5=0;
に変更になったら、
RA |= 0b00010000;
RA &= 0b11011111;
と2行になりますね。
それと、わりと大したことではないですが、
RA |= 0b00110000;
は、
・ワーキングにリテラル値を入れて
・ポートAを対象にIORWF
みたいな操作になるので、2ビットまでなら、自由度が下がるのにインストラクション数が有利にならないように思います。
ポートのビット操作をするなら、それが存在する品種ならLATxを使わない理由はないのではないでしょうか。(|=でも&=でも) >>20
1を出力しても、端子の電圧は直ぐには1にならず、リードすると0 >>52
16F1823でやると、なんの問題もなく、RC0,RC1が点滅するんですが
これはどうなってるんですか?
while(1){
RC0=1;
RC1=1;
__delay_ms(500);
RC0=0;
RC1=0;
__delay_ms(500);
} 16F18xx世代からMOSFETのドライブ能力かスイッチング速度が上がったのかもね
LEDに1000pFくらいパラ接続すれば再現すると思う >>56
> 16F18xx世代からMOSFETのドライブ能力かスイッチング速度が上がったのかもね
データシートを見ますと、12F1822と16F1823は同じデータシートに
書かれてますんで、同じものとおもってたんですが、微妙に違うんですね
勉強になりました ポートへのビット制御の問題はそれだけじゃなくて、負荷が極端に重い
場合とかポートにノイズが乗るとデータが変わってしまう可能性がある。 ドライブ能力というと、16F84とかの世代は1pin当たり25mA Maxだったのが、
16F18325を使ってみたら1pin当たりの電流が50mAまでドライブできるようになってて
間に2SC1815とか入れんでも汎用のフォトカプラでとりあえず57600bpsまでUSARTの絶縁伝送ができてウマー。 >>52
>ポートのビット操作をするなら、それが存在する品種ならLATxを使わない理由はないのではないでしょうか。(|=でも&=でも)
考え方が間違ってる。LATレジスタがついてるPICは、例えポートに何も繋がない状態でさえ
リードモディファイライトに失敗する可能性がある。だからLATレジスタが新設された。
使わない理由なんて幾らでも見つかるが、LATレジスタの有るPICでポート直接のリードモディファイライトは
マイクロチップが結果を保証してない。それだけの話。
昔のLATレジスタの無いPICはポートに接続された物が適切ならば其の様な事は起きない。
>>58
それはお前の設計が悪いから。ビット制御の問題wとかでは微塵もない。
>>59
それはフォトカプラのLEDに50mA流してるって事?
設計が悪すぎwww >>61
同意。>>58,>>59の使い方に笑った >>61
「適切なポートの負荷」の定義が「リードモディファイライトに失敗しない負荷」であれば、
「ポートに接続された物が適切ならばリードモディファイライトに失敗しない」といえますね。
こんな議論って意味あるのかな?
まあ、俺が書いたのは、「LATxがあるなら、LATxを使わない理由はないのではないでしょうか」なので
LATxがないPICについては対象外ですし、関係のない話ですが。 LATがないPICはポートのリードモデファイライトが保証されてるとでも?
LATがないPICのデータシートに明記されているように問題があるからLATが
追加されたんだろう。
俺が言っているのは使い方じゃなくて可能性の問題だ。
LATがないPICを使うときは誤動作の可能性を排除するためにポートと
同じデータをメモリに持っていて、それを操作してからポートに書く
ようにしてるよ。 C言語でLATポート操作を明示的に指定するには
インラインアセンブラ以外に無いものかな >>64
ポートの動作時間とアクセスに要する時間とCPUの速度が同期してれば、
そこそこいけるんじゃね?
CPUが早くなったから必要になったんだろう >>66
俺は>>58なので誤動作の可能性はCPUスピードとは関係ないものもある
と思ってる >>67
ゲート電圧低くいのに電流たくさん流したときのスイッチング時間ってどうなるか知ってる? PICは、4クロックに分割されたインストラクションサイクルのうち最初のクロックで入力ポートをラッチしているのに対し出力が行われるのは4つ目のクロックの後縁です >>67の
>誤動作の可能性はCPUスピードとは関係ないもの「も」ある
(その内容は>>58の通り、負荷が重いとか外来ノイズとか)
と、>>68の
>ゲート電圧低くいのに電流たくさん流したときのスイッチング時間ってどうなるか知ってる?
という問いかけが噛み合っていないというか、どういう関係なのかがいまいちわからんなあ。 俺が>>58で可能性を書いてるのに設計が悪いとか使い方を笑われた
時点でかみ合ってないというか理解されてないとは思ってた。 Microchip はRA4=1じゃなくてLATA4=1と書け、とはっきり宣言してほしいね
初心者としてはそのほうが助かる >>71
理解出来てないから>>58みたいな事をシラッと書いてしまうんだろw 突如16F84が火を吹いてお亡くなりになられた、もちろん基盤ごと
何があった…何に何を流した…謎が深まる。
仕掛けは機械のステータスを二進法で送り出すだけなんですけどね
上位ビットでセグメント管理して、下位ビットでエラーコード返すとか、そんな簡単なの 基盤だからしようが無い。
ハードの信頼性上げるのって、素人には難しいね。
勉強あるのみ。
センスが無くて何時まで経っても駄目な奴は居るけど
仕事でやっても5〜10年は掛かるんじゃ無いかな。 >>73
>>58に書いてあることは自体には可能性のひとつとしてありうることなのに、
何をもって「理解できないから〜シラッと」と評価するんだろう。 もっと関心があるのは、
>ゲート電圧低くいのに電流たくさん流したときのスイッチング時間ってどうなるか知ってる?
これとの関係なんだがなあ。もうこれを書いた人は消えちゃったか。 >>74
この板で「基盤」と書くとそれだけで素人扱いして、他の作業がちゃんとしていても
徹底的にバカにする偏執狂的行為をする人がいるのでご注意。
で、プログラムの内容を書かれてますけど、そこそこまともに作られた回路であれば
プログラム自体で基板ごと火を噴くに至ることは、俺には経験がありません。
出力ポートが他の出力とぶつかるケースでも、熱くなる程度でした。
回路そのものに原因があったか、ラッチアップで電源ラインに大きい電流が流れたか、
実は最初に火を吹いたのは別の部品でPICでは延焼しただけってことはないでしょうか。
よく言葉としては出てくる「ラッチアップ現象」も滅多に遭遇しません。俺が経験したケース
ではチップのエポキシが割れて煙が出てくるぐらいでした。
それでも電源ラインが細ければ基板の電源ラインを焼く可能性はあるかもしれません。
入力がオープンのまま放置されたところに、強烈なノイズが入ったとか、
外部からの入力端子に過大な電圧が入ったとか、
外部との接続部分でグランドが外れたとか
みたいなことはないですかね。 安定化電源で最大電流を100mAまで絞っておけば
短絡してもIC自体が壊れることは稀 >>65
変数名にLAT***や構造体使えば良い。 >>61
LAT**の無いPICはクロック周波数最大20MHzだから、問題起きにくかったんだろ。
内蔵発信器だと、4Mとか8Mとかしか設定出来なかったし。 >>79
作った基板に初めて通電するときはCVCC電源でそうやって使うようにしているけれど、
けっこう多くの人が、ACアダプタとか、電流制限のない電源を使ってるんじゃないかでしょうか。
あと、いったん稼働を始めた装置なら、おおもとの大きい電源で、複数の回路を駆動
していたり。
基板ごとの安全対策はやっぱり必要なこともありますね。 CCで起動するのはいいけど、
それだとDCDCコンバータが起動しますか?
ACアダプタでいきなり電源を入れるのは、自殺行為に近い。
なぜ最初くらい電流計を入れようとしないのでしょうか?
また、電源装置のデジタル電流計も、サンプリングがトロくて、
過電流が判明するまでに時間がかかる。 >>83
DC-DCコンバータが搭載されている場合において、その基板の定常状態の電流を
想定して、CCを設定してたら、たいていの場合は起動でコケますね。
突入を想定して多めにしておかないと。
電源器のメーターでも、テスターの電流でも、過電流がわからずにずーっとそのままで
いるよりはマシかも。 CCで電流リミットかけて、電圧を徐々に上げてくのはダメ? >>85
それで良い場合もあるかもしれないけれど万能じゃない。
・CPUなどでは電源電圧の立ち上がり時間に規定がある場合があって、
それより遅いと起動がうまくいかないことがある。
・DC-DCはある電圧まで動作せすに、一定電圧になったときに動作を
始めるものがある。その場合、ゆっくり電圧を上げたからといって
突入電流の問題を回避できない。 >>76
>>58は、設計能力が無いからデータシートは読めないし、出力ポートの電圧が
異常になる位の負荷を掛けても平気だし、同様なノイズが乗るような設計でも平気なんだろ。
つまり、まるで理解出来てない。℃素人まるだしの意見が>>58
それを「>>58に書いてあることは自体には可能性のひとつとしてありうることなのに、 」
とか、悔しそうに反論してるって事は、>>61で指摘した>>58の設計能力の無さに
微塵も気が付いていないのだろう。
PICはどこぞの℃素人向けのAなんとかと違って、アナログ回路が設計出来ないと
使いこなせないから、精進あるのみ。 理解力に乏しいみたいだからもう一度書くが
>>58
それはお前の設計が悪いから。ビット制御の問題wとかでは微塵もない。
ビット制御の問題じゃ無く、お前が問題w >>90
℃玄人が今頃悔しそうに出てきたのか
過去に16F84AとかのLATがないPICで、ポートにビット制御命令を使った
製品を出荷していて必死に誤動作の可能性を否定したいのだろうけど、
いくら言葉でやり込めても誤動作の「可能性」はなくならないよ。 ノイズに関してはなんとも言えん。
設計が良ければ大丈夫という一面的な考え方は退屈だと思う。 LATが無い化石PICなんて早く捨ててしまえ
無駄な労力をかけたいマゾと、問題が理解できないアホ専用だ 教えるほうも教えられるほうも
ここはアフォの集まり >>98
「書くアフォに読むアフォ」
アンサンの事でっせw 「同じアフォなら書かなきゃソンソン」は成立するのだろうか? 機能は必要な機能があればそれ以外は不要なものです
使わないものがあっても何の役に立たない。
ここにいる人は、不要な物だと思うが?????
役に立たない者はとっとと出ていけ・・・ やっぱ理系はだめだな、視点が狭い、精神が幼稚
やがて日本を滅ぼす理系 PICスレで理系だの文系だのと煽りをしなくていいんだよ。 文系の人って理系に対して何かコンプレックスみたいなものが有るのかな?
その理由が中学・高校時代の物理や化学、数学が苦手だったから、なら精神的に根深いなぁ。
可哀想に。 文系でも電子工作の趣味を持ってる人くらいいるだろ
今はネットに情報転がってるから割と簡単だしな
情報の無い時代は辛かったけど どこでもそうだけど、確かにおかしな人が住み着いてるみたいだしな
初心者はびびってしまうよね PIC12F683のAD変換について質問です。
AN1〜3端子を未接続状態で、AN0に0〜5V印加して順番にAD変換した場合、
どうも未接続端子の変換結果がAN0に釣られているように見受けられます。
この動作は正しい? 正しいと思います。
というか、未接続で使う事自身がいけないことなので、
何が起きても「正しいと思います」ということになるね。 >>114
未接続って浮いてるの?GND?
だったらなんでその端子も読んでるのか訳が分からないんだけど。
AN0に高周波に近い信号が乗ってきてたらアンテナ代わりになる可能性だってあるし、AN1〜3は繋いでないのに取り込む必要性を感じないんだけど? >>114
正しい動作だと思います。
A/Dコンバータは、いったん内部コンデンサに外部電圧を取り込んでから変換します。
AN0に電圧を与えて変換したあと、AN1に切り替えて変換するとき、本来ならAN1の入力で、内部コンデンサをチャージ
(または放電)するのですが、
AN1がオープンになっていると、この内部コンデンサに前の電圧が残っていまいます。そのうちこの電圧は内部で使われたり、
リーク電流でどこかに落ち着くはずですが。
同様に、AN1に実際に信号を接続する場合でも、繋いだ回路のインピーダンスが高い場合は、AN1の測定に
直前のA/D変換チャンネルの影響が残ることがあります。
>>116
読んでるのか訳がわからない、というのもどうかと。
次のようなケースも考えられます。
(1)未接続ピンがどうなるのか検証してみたいという、興味から。
(2)マイコン自体はAN0〜3で電圧を測れるように準備しておくものの、そのマイコンのユーザーが全てに接続するとは限らない。
2chのオシロで、CH1だけを使っている場合でもCH2をOFFにしない人もいますよね…。 >>117
>(1)未接続ピンがどうなるのか検証してみたいという、興味から。
>(2)マイコン自体はAN0〜3で電圧を測れるように準備しておくものの、そのマイコンのユーザーが全てに接続するとは限らない。
>2chのオシロで、CH1だけを使っている場合でもCH2をOFFにしない人もいますよね…。
前者は分からんでもないが、普通影響を及ぼさない様な計測器を作るでしょう?
横河とかがそういう計測器作ってたら総スカンだよ。
2ばんめもそう、安いマイコンだけの計測器ならあり得るけど、その時に使ってないピンの計測結果はこうでしたので……なんて説明し始めたら質問の荒らしだよ。
使ってない、繋いでないピンの数値に何を求めてるの?俺には全然わからないんだけど?そう言い出す根拠があるならちゃんと説明してくれる?
逆に正しい名目がないなら確保する理由も、無いよね?
最後も最近のカラーオシロでも無いと思うんだけど……だってどう説明するの?説明する必要ないでしょって取り直しを命じられると思うんだけど? 未使用のアナログ入力
Hi-ZならGNDと接続かな。
オシロ
いちいち画面から消すの面倒だから、1chだけ見るときは、
2chはプローブのGNDとクリップをショートするだけで消さない。
画面を記録に残して他人に見せるときでも消さない。 >安いマイコンだけの計測器ならあり得るけど
それでよろしいやん。
ってそういう可能性がわかっておられるなら、「訳がわからない」ってことはないですね。
これ、市販の測定器を作る話じゃないよね? >>118
やってみたら理解できない現象が現れたら、なぜなのか追求する
のは正しい姿勢だと思うけど。
やってみることすらいけないのかな?
この現象は入力がオープンだけでなく、信号源インピーダンスが
高い場合に入力を切り替えてからA/D変換を始める時間が足りてな
い場合に遭遇するので、原因を突き詰めておくのは充分意味があ
ると思う。原因は>>117のが書いているとおり。 Microchipから日本語のメールが届くとなんかドキドキする
これは…もしかして恋? PICのツール(Cコンパイラ、デバッガ)って無料なの?
レジスタが特殊すぎてコード効率悪そうなんだがそこんとこどうなの? 最適化されてない遅くてでかいコード吐くCコンパイラは無料
デバッガは別売りで値段なりの性能
効率は悪いけど動けばいいので無問題 >>124
大きいと言っても四桁番号以降のではそれほどでもないし、コードサイズに制限無いし。
取り合えず使ってみるには十分。 みなさまご教示ありがとうございます。
特に117様の回答はとても具体的で分かりやすかったです。
最初にもっと具体的に書けば良かったのですが、ソフトは
全AD端子を使う前提で書いていました。それをブレッドボード
で試すときに機材の都合で1chだけ繋いで動かしたら、何か
変に釣られているような挙動になってしまい、原因が分からず
質問しました。
コードはネットのほぼコピペだったのですが、マイコンの事も
もっと知らなきゃと、とても良い勉強になりました。 >>126
他のchのAD入力端子への信号は、低いインピーダンスで駆動された信号が来ていますか?
PIC内部にある、AD ch切替用のアナログスイッチが、次のchに切り替わった時、
PIC内部にある、AD値保持用のコンデンサが、選ばれた信号電圧に、サッと変化しないと、
前のchの電圧が残ります。
信号駆動のインピーダンスが高いと、
ch切替後の電圧変化に時間がかかり、まだ電圧変化中なのに、ADがサンプルしてしまいます。
信号駆動のインピーダンスが低いと、
ADサンプル以前に、電圧がコピー完了するので、正しいAD変換ができます。 入力インピーダンスと出力(ドライブ)インピーダンスの問題だね。
どんな回路でも(電源でも)ついて回る。 そうです。
直流っぽい信号なら、AD入力端子に、
0.1uFとかのコンデンサを置いて信号源インピーダンスを下げれば良いんですが。 >>131
サイズのわりに容量大きい奴は、電圧による容量変化大きいから波形が歪む。
あと、物理的な力での容量変化も大きいから、振動を拾い易い。 130じゃないけど、
結構振動とかを拾いやすく、容量が小刻みに変動するのでチャージされた電荷が逃げなければ電圧ノイズとなって観測された。
ノイズ取りのつもりで大容量を使ったら衝撃検出センサーをつけてしまった失敗談。
扱う周波数帯域で最適化すればMLCCで構わない場合もあるでしょう。 MLCCでも温度補償型のものならそれらの問題は避けられます。
といっても、0.01uFを超えるような温度補償型は特殊ですね。たぶん。
ただ、A/Dコンバータの入力静電容量って20pFぐらいですし
分解能が10ビットなら0.01uFでも十分かと。 >>134
>MLCCでも温度補償型のものならそれらの問題は避けられます。
温度補償型だと、機械振動が電圧に反映することもないの? >>134
1uFも10uFも温度保証なのは普通にあるんじゃね?
振動はMLCCの性格上避けられないんじゃね。アルミ電解と同じ。 あれ。書いたつもりが書けてない。どこかに誤爆したかな…
↓同じような内容でどこかに書いたかもしれません。
>>135
温度補償型(用が正しいみたい)で、全く、わずかでも圧電ノイズが出ないかというとどうでしょね。
俺の経験では、同調回路やフィルタに使ったりしていますが、問題を感じたことはありません。
0.01uFのXR7とCHで基板に衝撃を与えて比較したことがありますが、前者ではスパイクノイズを
観測することができました。
それでも、半田の種類で音が変わるようなオーディオ用にはたぶん向かないと思います。
高誘電率と温度補償用の違い
https://www.murata.com/ja-jp/support/faqs/products/capacitor/mlcc/char/0017
高誘電率系には圧電高価
https://www.murata.com/ja-jp/support/faqs/products/capacitor/mlcc/char/0015
>>136
動作温度が「保証」されていることと、セラミックコンデンサの「温度補償用」を混同されてませんか? ×高誘電率系には圧電高価
○高誘電率系には圧電効果 ADCに速度を要求しないなら、測定結果にIIRフィルタかませばいいのでは?
俺はそうしてる。 >>139
振動に起因するノイズがA/Dコンバータに入ってきているケースで、
A/Dコンバータでのサンプリングレートの半分より速い振動だと、デジタルフィルタでは取り切れないことがあります。
今の話は、A/Dコンバータの直前のコンデンサの話だったと思います。
たとえば、
図の黒が本来の電圧。
振動に起因するノイズが重畳された様子が赤。
たまたま青のポイントでサンプリングしていたら、A/Dコンバータ以降では、緑の電圧にしか見えません。
こんなふうにならないように、通常はサンプリングレートの半分以下の周波数だけがA/Dコンバータに来るように
アンチエイリアスフィルタを入れますが、そのあとのコンデンサで、もしノイズが発生していたらダメですね。
>>138
誘電体には圧電効果が有る。
大きいか小さいかだけ。 >大きいか小さいかだけ。
そうなんですよ。
なので>>135のような質問は答え方が難しいですね。 A/Dコンバータの入力に容量の大きなコンデンサを入れるときは
直流的な入力を想定しているのだろうから波形が歪むというのは
違う気がするな。 ■ このスレッドは過去ログ倉庫に格納されています