初めてのPIC 0x0e
■ このスレッドは過去ログ倉庫に格納されています
.
_ _ 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
さ、質問どうぞ〜っ
0x0d 2017/10/25〜 ttp://rio2016.5ch.net/test/read.cgi/denki/1508935254/
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 >…書かなかったら書かなかったで文句いうくせに。
「選択可能」という言葉を書かなかったら文句が出るでしょうけど、そうではなくて、
「選択可能」の意味を書かないといけないですよ。
>ボーレート: 150, 300, 600,1200, 2400, 4800, 9600から選択可能
は、少なくとも下の2つの解釈ができるのです。
・このうちのどれでも作りやすいのでいいです(>>351の説明でこれだとわかった)
・なんらかの設定で150, 300, 600,1200, 2400, 4800, 9600を任意に設定できるしくみになっている。 >それ以外の表現方法ないですよね?
オーバーレンジ、アンダーレンジを受け側で判断できるようにしなければいけないようなもので
0-5Vの出力を持つもののとき、
正常測定範囲を0.5V〜4.5Vに振って、アンダー、オーバーその他トラブルのときに、範囲外電圧を出力する、
という要求は見たことがあります。 どれぐらいの意味があるかは用途次第ですけど。 やっぱりシリアルロガー作ってデータ編集はPCでやったほうが楽な気がする そだねー
全体的にラボのシステム見直すべきと思うな
PC置くと液体で汚れるからイヤだ?
データロガーなら汚れてもいいのか?
自分だったらアナログで統一なんて「大バカ」なことはせずに
デジタルで統一して記録するがな >>351
あんまり態度が悪いと放置するぞ
PIC32MM0064GPL028 175円
PCM5102A 500円
ICL3232CPZ 130円
出力は±3Vで良ければDACからそのまま出せる
電源は3.3V単一
±5Vが必要なら追加の部品が必要
DACはオーディオ用なのでDCの質は未知
あとは基板、コネクタ、抵抗、コンデンサ、ケース、電源が必要
とりあえず、±3Vくらいで良いかどうか書いて エラー通知の方法はいくらでも方法がある
アナログ出力からパルスを出すとか
別のポートから出すとか 自分だったらESP8266でも使って隣室のPCにデータ飛ばすな
作れないなら売ってる
例えば、
>「Wi-Fi RS-232C 変換アダプター REX-WF60」
>離れた場所にある電子天秤などの計測系にもiPad・Android端末にも利用できる、
>WiFi to RS-232C 変換アダプター。
電子天秤が広告文面でてきてワロタ
まともなやつが使ってるのはこういうものだ dsPIC33FJ64GP802 480円
でもいいか
0V〜3.3V出力で良ければそのまま出せるし
±5V必要なら出力段の回路が必要 PWMのDACでいいなら8pinのPICでできるけどな
予算\500
コネクタ+基板+PIC+CR少々+ケースは100均のタッパ
ああ、RS232の12Vは適当にDi+抵抗で受ける 誰もお前に頼んでいないし
俺も誰にも頼まれていない
気楽に行こうや
書きなぐりでも誰かの参考に僅かでもなるなら
それでいいじゃないか さすがの企業の化学者さまは一味違った違うな
肝心の出力電圧の誤差とリップル、出力インピーダンスと交流応答特性が完全無視
こんな仕様で出した測定器でどんな代物ができるんだろう
100g中の重量誤差も温度許容差も無視の企業化学者様だぜ 交流応答特性?
ほとんど直流でしょ
リップルもどうせロガーでローパスされるからあまり関係無い
熱電対も入力出来るんだから
ロガーの入力インピーダンスも非常に高い
と思った
精度は気にしないと言っておきながら
16bit欲しいってのがちょっと 化学は畑が違うとはいえ こんなことがあった
発振回路の水晶に薄膜が着くと周波数変わる、というセンサにしたかったらしい
それが発振しないというので見てくれと化学科の人間が持ち込んだ代物は
水晶片から配線が約1mピローンと伸びて駆動回路に繋がっていた
これでまともに動作するわけないよと言っても、なんで?というので
・・・以下略 化学の人が水晶発振器を使ったセンサを考えた
すごいじゃないか QCMと言うんだよね
うちの会社でも物性屋が研究してた。
ナノグラムの変化を周波数変化で見るって。
経年変化が問題だった。 ちょっと教えてほしいのですが、16F1705にてUARTを使用しようと思っています。
そのために、RX、TXの設定をしたののですが、PPSにて設定する場合、下記の書きかたで問題ないでしょうか?
(うまく動作しなくて一つ一つ原因を追究中の状態です。)
//TXピンをRC4とし、RXピンをRC5に割り当てる場合は?
RC4PPS= 0b10100 ; // 出力(TXを割当てる)
RXPPS = 0b10101 ; // 入力(RC5を割当てる)
TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(RA3は入力専用)
TRISC = 0b00100000 ; // RC5(RX)だけ入力その他のピンは出力に割当てる >>365
シリアルの変動に対する出力変化の追従やジッタをどうするかということだよ
16ビットのアナログ値の精度の取得と発生を簡単に言う奴に、ちゃんとしたやつはいないと思ってる >>372
受信間隔がせいぜい秒だって言ってるんだから
追従性やジッタなんてどうでもいいだろ
気にすべきところはそこじゃない >>373
どうでもいいことはないだろ、出力変化点の仕様を決めてなければ回路含めた低レベルの設計ができず
動いたからいい、たまにロガーがおかしなデータを受信して、運用のデータ処理でデータ廃棄するという
汎用のない代物が出来上がる 何を心配してるのかさっぱりわからん
DACの出力が秒遅れても問題ない機器だぞ
シリアルの入力パルスの影響でDACの出力が変動することを心配してる?
そんな事よりもっと心配する事があるだろ >>375
だから、
DACの出力や変動が秒遅れても問題ない機器
ということを仕様に書けよ、ということ。
もっと心配することは大量にあるが、そこのところをきちんと書くのが仕様というもの。
書けないやつは永遠に書けないし、このスレの趣旨でもないのでもういいよ。 遅延がどうでもいいことは今までの書き込みでわかるだろ
非線形性
温度特性
まず気になるのはこの辺だ
これもスペックに書いてないからどうでもいいんだろうけど 変化がわかればいいって可能性もあるので
ビット数が有れば精度はどうでもいいって可能性もある まあでももう何の反応も無いから
やっぱり作り話かな? デジタルで入力されてんならデジタルのまま処理しなよ。
チャンチャン♬ 自分が想定したストーリーに合わないときに「作り話」って言うのが好きな人がいるね。 >>377
シリアル入力をそのまま整流して、ローパス通して、適当にオペアンプでバイアスと増幅すればいいんじゃね? そりゃPIC好きな時点でヘンに決ってるよ、
ジーチャンに限らずニーチャンだってオジチャンだって。 >>388
久しぶりに声出して笑ってしまったじゃねえか ガベージインガベージアウト
ゴミ仕様からはゴミしか生まれないってこった ヘンとヘンを集めて もっとヘンにしましょう
タイヘンだダダ みなさま遅くなりました。3日放置してて申し訳ないです。平に謝ります。マジで。
>>356
3.3V…ええ、それでいいです。大丈夫です。
でも、勉強のために5V出力するためにはどうすればいいか教えていただけると
なおうれしいです。
>> 357
ほへー。そんな手が。失礼しました。 >>378
その通りです。絶対値の精度は問題じゃなくて、変化の具合が重要なのです。
どんな塩梅で遅くなったか、とか。だからこそデータロガーでデータをとる
意味があるのです。
>>372
無意味に16bitを指定してるわけじゃないです。
確かに天秤に乗せた容器に少しずつ、400 gまで(つまりレンジいっぱいまで)
液体入れていくなら、16bitもいらないです。
でも同じ天秤で、最終的に40 gまでしか液体入れないときもあるわけです。
しかもそれを3時間かけてゆっくりゆっくり入れていく、といったときもあるわけです。
そういうときに必要な分解能は、400 gをちゃっちゃと入れる時よりも
(重量単位では)小さくなります。
測定レンジは必要最大値で、分解能は必要最小値で、という仕様にすると、
必然的に16bitが欲しいなあ、となります。 >>377
ご指摘ありがとうございます。
温度特性はだいたい常温付近でしか使いませんから、
あまり気にしなくていいと思っています。
非線形性は気にはなります。
maxisのDAC見たところ、チップのグレードによって
線形性が変わるようでしたので、基本的な回路をご教示いただければ、
あとは私のほうでグレードを選べばいい、と理解しています。
(間違ってますか?) >>395
1年前に別件でPLCのスレにお世話になったときも、LabView勧められましたねえ…
結局melsecシーケンサの勉強しましたけれども。
食わず嫌いです。 シーケンサで組むより再利用性やら考えたらLabVIEWの方が良いだろう
値段も変わらん 別に答えなくて良いや
人が書いた文章をまともに読んでないようだし
態度を改める気が無いようなので
以降相手にしないことにする >>399
だね、自分も同様に思います。
ここの自称初心者はこんなのばっかり。実は一人なのかもしれないけど。 >>324
XC16の標準の奴はunixに近い仕様だから、逆に使い勝手悪い。
俺はXC8の doprnt(printfの中身)を、修正して使ってる。 俺はlight weight printfつかってる dspicをいじるのにxc16を使っていますが割り込みの中で関数呼び出すのは禁止なの?
誰か教えて >>403
その関数を実行中に、割り込み入って、さらに、その関数が呼ばれる とか無ければ、問題はない。 ありがとうございます 了解しました
割込み処理中に割込みが入らないようにして
実験してみます
推奨されないだけで禁止ではないのですね 推奨の有無とかの話じゃない
何が起こっているか/起こるか理解しておいて使えというだけの話 8bitならともかく、DsPICとかなら、割込み内部からの関数呼び出しでスタックやらバンクやらの問題は
かなり大丈夫になってるんだろ? 何をやって良くて何をやってはいけないか
わかってないなら割り込み自体使うべきではないよ まあまあ、お仕事でも無いなら、しくじって覚えてもよいでは無いか。 割り込みからはできる限り速やかに戻った方がいいよ。 いや、真面目に知らない
今までまったく気にしたことがなかったけど
8bitだとなにか制約があるの? 一般の8bitCPUなら特に制約は無い
旧来のPICだとスタックが小さいので割り込みとかネストに制約がある
dsPICと比較しているからそういうことを言いたかったのだと思う >>419
確かにスタックは小さいけど、大規模なプログラム組むわけではないので
インライン展開などコンパイラが自動でやってくれるので
バグになるようなことは少ないと思うし、スタック使い切るようなくらい
ネストさせなければならないプログラムを書く必要性ってあるのかな??
プログラム能力で回避可能だと思うけどね。
PIC程度の速度なら割り込みを多用するよりポーリングの方が応答速度が
速い場合があると思うよ
(過去の納入実績での話なのですべてが当てはまるわけではないけど) 割り込みよりポーリングの方が応答速度が速いってどんな場合? >>422
そういうことをわかっていればいいんだけど、という話でしょ。
mainで関数コール(下手すれば多重)の中から、割り込み呼ばれる可能性もあるわけだからさ。 >>423
よこからだが、こんなん割り込みより早いだべさ
BTFSS GPIO,0
GOTO $-1
BSF GPIO,1
BTFSC GPIO,0
GOTO $-1
BCF GPIO,1
GOTO $-6 >>425
それならマイコンなんか使わずにバッファでいいだろ
どうやっても「割り込みを多用」するようなコードに置き換わらないし
実際の使い方でだよ
ポーリング間隔の最悪値が割り込み応答速度より短いって
ほとんど何も処理出来ないぞ
>>425レベルのコードくらい >>422
スタックオーバーフローしないように
なんてのはPICに限ったことじゃないし割り込みに限ったことでもない >>425
こんなベッタリボーリングでも12〜20クロックもかかるのか
やっぱりPICは遅い
ちなみに割り込みを使うと16〜20クロックで
>>425の動作が出来るので
こんなあり得ない処理でも同等
実際の処理でポーリングの方が速いってどんな処理???? >>427
PICのスタックはすぐにオーバーフローするから問題なんだよ。
そもそもPICは「周辺・入出力・制御器」であって、
スタックが深くなるような複雑な処理、用途には向いていないw すぐにオーバーフローするって
いつの時代のPICの話をしてるの? >>425
確かにサンプルの処理なら割込みと同等程度に早いとは思うけど、
そのかわりポーリングの処理にかかりっきりで、他には何も出来ない。
複雑な処理、用途には向いていない「周辺・入出力・制御器」だから当たり前かw 一番売れているPIC、なんて、ワールドワイドな統計資料なんて公開はされていないだろう。
筆がすべっただけだろうし、>>435も無理なことを要求してはいけない。
ここはひとつ、秋月の人気順を見てみてはどうだろう。
ハードウェアスタックの段数が問題になるようなPICは今は人気も落ちてるに違いない。
8位入賞圏内のPICは…。(2018/3/31 8:01現在)
1. PIC12F629
2. PIC16F873A
3. PIC16F1827
4. PIC12F683
5. PIC16F88
6. PIC16F84A
7. PIC12F1822
8. PIC16F887
むう。意外なぐらいにコンサバティブであるな。 秋月の人気順て売れてる順なの?
実は売りたい順とかだったり
それにしても、
84Aに300円も出す物好きがいるのか >>437
PIC16F84Aは教材需要と、それに引っ張られて「それなら使える」という需要が今でもあるのかな。 作例の数はGoogleの件数って訳にも行かんなぁ・・・ デバッグも出来ないようなマイコンを教材にか
教える気が無いとしか思えないなあ
特殊で癖のあるアーキテクチャーを教材に
ってだけで違和感満載なのに 割り込みの応答速度と割込み処理時間の区別がつかないで、
ポーリングと速い遅い言ってる人がいるスレはここですか? >>440
ガッコの授業なんてそんなものだろ
指導要領に書いてあることが教えられればそれでいいんだから
そもそもアーキテクチャの良し悪しを語れる教師なんてそんなにいない >>441
>>429は処理まで含んだ実測値ですよ
入力ポートが変化してから出力ポートが変化するまでの時間をオシロスコープで測った値
当然入力ポートへ入れるパルスはマイコンとは非同期 あ、
割り込みじゃない方は測ってないけど
大体そんなもんでしょ OSも無く、いきなり割り込み処理を書くなら、
そんなに変わらんでしょう。
普通のCPUとOSだと、本来の処理以外に
環境保存、割込識別、要因除去や再設定、環境復元
が必要で、GHzのCPIでも数μ秒かかってしまう。 8bitでOS?突然何の話?
比較対象は>>425だぞ 普通のCPUやOSなら尚更>>425なんてコードはあり得ない
当然応答性能も割り込みよりはるかに悪いし
CPUも占有する
最悪のコード >>448
そりゃ間違いだよ
高性能計算(スパコン等)で最も高速に通信する際、
割り込みなしのポーリング処理が普通。
そういう使い方もあるってことね。 スパコンでの高速通信でCPU?
相変わらず作り話の多いスレだ 「普通のCPUやOSなら」という条件が
発言全体にかかっているのかいないのか不明瞭な
最悪の日本語 ■ このスレッドは過去ログ倉庫に格納されています