初めての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 >>448
そりゃ間違いだよ
高性能計算(スパコン等)で最も高速に通信する際、
割り込みなしのポーリング処理が普通。
そういう使い方もあるってことね。 スパコンでの高速通信でCPU?
相変わらず作り話の多いスレだ 「普通のCPUやOSなら」という条件が
発言全体にかかっているのかいないのか不明瞭な
最悪の日本語 >>450
今時のスパコンはインテルのxeonでOSはlinuxがほとんどだよ
自分の無知を晒さない方がいいよ >>454
ほんとpicのスレは耄碌した無知な井の蛙
呆れるばかり >>443
つまりメインでたいしたことやってませんということを言いたかったということでOK? >>454
xeon, linux の環境でCPUがポーリングで高速通信
相変わらず作り話が多いスレだ >>457
あなたは救いようのないバカですね。
自分の知らないことを間違っていると言い張るのは
学びを放棄する愚か者です
こんな年寄りにならないように心がけなきゃ。 >>454
スパコンで計算や演算用の演算装置が通信までやってると思ってるのか?
しかも割り込みやらポーリングで?
スパコンの構造とPC同じだと思ってる人がいるんだね >>459
低レイテンシ通信のためDMA完了をpollingでチェックする。
終了割り込みは、かったるいから使わないんだよ。
本気で勉強したいんならlow latency communication Infiniband MPI
あたりのキーワードで探してごらん そりゃ単位の大きな待ちならCPUを使うことも当然あるだろうね
ていうか、元の話題は理解してる?
>>422だぞ
話題は8bit PIC
>>425は1bit単位の処理
割り込みを多用するよりポーリングの方が速い処理って何?
って話
意図的に作った実用性の皆無な>>425でも同等
>>429が実測 >>422から読むと>>445がいかにトンチンカンかがわかるでしょ
自演までしてwww >>410
デフォルト設定では、関数の再帰呼び出し不可。 >>415
デフォルト設定だと、ローカル変数も、リンク時にアドレス確定するから速いが、再帰呼び出し可の設定にすると、ソフト的にスタック処理されるから、かなり速度落ちる。 >>460
あんたTop500って言うスパコンのランキングサイト見たことあるか?
どんなシステムかCPUかも書いてあるから上位100システムぐらい見てみな。
DellだのHPEだの聞き覚えのあるインテルサーバーの名前がいっぱい出てくる。
これが今のスパコンの姿だよ
ちなみに京だってTofuって変な名前のネットワークだけど
通信完了はポーリングだよ。
あんた単に攻撃するだけで学びもせず相手にならん
これで終わり。 PCだろうがスパコンだろうが
CPUで高速通信なんかしない どんなCPUだろうと、それが持っている最高の速度で動かしたい、
という要望を私は持っているし、努力している。
(なぁんちゃって。 どう? 決った?)w ここはPICのスレなのにスパコンでは・・・
という「出羽之守」が出てくるから話がおかしくなる
もとよりお呼びじゃないんだよ
割り込み使うと応答時間の最低量が必然的にCPUのメカニズムで
取られるから(PCの退避etc)それ以上の応答時間が必要な場合、
あえてポーリングで使用してキリキリチューニングすることもあるし
スタック使えないときもポーリングで処理することもある
(昔RAM無しのZ80でそうやったな)
なにも特にスパコンだけに関係した話じゃないし
説明するのにスパコン引っ張り出す必要もない もちろんポーリング処理にすることはある
PIC32MM-GPLでSPIを50MHzで動作させたければ
ポーリングしかない
ただしブロッキング処理になって(割り込み以外は)処理が止まってしまう
もっとも、SPIマスターの場合は遅延はまったく問題ないのだが 50MHzはSPIモジュールへ投入するクロックの周波数で
SPIのクロックは最大25MHzですね
平均8クロック以内でデータのセット、データの取得、各種判断を行わなきゃならないので
ポーリングでも多少の工夫が必要なのだが 最近は8ビットPICの話しで始まっても、必ず最後には32ビットPICになるね。 大は小を兼ねるからな
だが人類はいまだに膀胱と肛門が分離している 価格、消費電力、処理能力、入手性、開発のための情報、自分の持ってる情報やスキル、パッケージその他いろいろの
総合の「合目的さ」に大小の評価がつけられるのなら、大は小を兼ねる、で良いのですけど、
PIC32がPIC16をカバーする「大」って単純すぎますね。
ただ単にPIC16ユーザーを煽りたいだけとちゃうんか、みたいな気がすることもあります。
煽っても好きで使っている人は、のってくれませんよね。 ドアセンサー張り巡らし中・・・
スイッチ1つをSPIやI2Cへ乗せるのに、マイコンは大袈裟だなぁ できないことはないけど、いくら家の中といっても SPI、I2Cを張り巡らせるものなのか…。 センサー+BLE+PICマイコンを1チップで実現できんもんかの?
Atmel買収したんだから SPIやI2Cを長距離伸ばすのは不便過ぎる。元々そういう規格じゃ無いしな。
俺は電源、信号込みの2線式で独自プロトコルにしてる。マスタがスレーブを呼び出すまでスレーブは送信しないから100個でも200個でもスレーブを繋げられる。 >>479
PIC 関係ないけど、我が家では X1800 の LED 信号 (ダイナミック点灯してやがる)
をフォトカプラ経由で PC で受け、異常を検出するようにしたな。例えばトイレから
長時間出てこないとか。複数センサーあると移動方向も把握できる。 >>483
我が家のオートロック付きインターフォンは0-24Vの2線式。
たまにエラーになるので(玄関ドアの開表示LEDが点灯しない)、
電源と信号を分離し、ノイズ対策目的でRS485で通信したいと考えて、
とりあえず玄関外で操作する解錠キースイッチの4線式制御部を作った。
将来はマスター・スレーブ方式で解錠スイッチを増やす予定だけど、何時になるやら。 なるほど、通信方法も考えないとダメですな・・・
没ttp://www.odnir.com/cgi/src/nup79151.jpg
昔、偉い人の「工場にパソコンを置くな」で
RS-232Cが文字化けしまくったのを思い出した。
>484
最終防衛線(玄関)はX830です(;ω;) 家の中でも、いや通線しにくい家の中だから、10m以上かつ3台以上の場合はLANですね >>489
電源が必要だからPLC。と言いたいけど
世の中そうはならないね。 >>491
lanは配線が必要だから美的に面倒。
もしPLC付きACアダプタなんてのが1000円ちょっとで
買えれば良いのに。 >>492
松下利権で固まってるガラパゴス機器がそんな値段で買えるようになる訳ないだろ
POEのLANの簡易型を自分で作るか、無線LANにしたほうがうんと簡単。 太陽電池+zigbeeがいいよ
日陰ならコイン電池で10年 有線の長距離インターフェースってLANくらいしか無いんだなぁ
CANとか見ないし・・・ >>495
上の方でも出てるけどRS485
差動伝送で速度との見合いになるけど遅ければ電話線で1kmぐらいでも行ける
家屋内程度なら数百kbpsぐらいは大丈夫
UARTに485のドライバIC付けるだけで使える
汎用的なものだからドライバICも安く簡単に手に入る
ttp://akizukidenshi.com/catalog/c/crs422/
電気的な伝送規格だけなので、マルチマスター(送信元が複数)の場合のアービトレーションとかは自前で何とかしなきゃいけないけど 内蔵されてて便利だけど
USBって5mしか引けないジャン タイマー割り込みを使わなくて、80マイクロ秒プラスマイナス5マイクロ秒の精度でピンにワンショットパルス出す方法ありますか? >>498
昔はよく使われていたが、ethernetに取って代わられて使われてないのはいろいろ使いにくい理由があることに気づけ。
ひょっとしてアセンブラマンセーで使い続けてる人かな?それならいまだに485推しとかわからんでもない。 >>500
普通にタイマー使えば?割り込みとかソフト介在する意味なにかある? >>501
ありがとうございます。
PIC18F46K22(秋月ボード)でTMR5とCCPR1でコンペアして、RC2に出力させました。
TMR5はFOSC/4の16MHzで1/8で2MHzカウントにしました。
CCP1はCCP1M=0x09のCompare ModeとTMR5を使うC1TSEL=0x02としました。
CCPR1に160をセットして、TMR5を0にセットして、
LATCbits.LC2 = 1 でRC2をHにして、T5CONbits.TMR5ON = 1としましたが、
出力は340μSくらいのHighパルスがでました。
80μSにならなかったけど結局コンペアマッチした時点でRSTかSETしかできないので、
最初にセットした時刻からTMR5起動までがソフトなのでタイマー割込みと同じですね。
TMR5でのタイマー割込みで約80μSパルスは作れていたのでCCP1は諦めます。
このパルスをFETゲートに入れて通信線を80μ秒短絡して、相手の過電流検知を働かせるものです。
出来るだけ正確にと思ったのです。 >>505
できるだけ正確に、というのであれば、まず水晶は交換しよう。
TCXOとかはいわないが周波数の分周くらいは割り切れるのにあわせるべきだ >>503
8ピンの小さなRS485トランシーバーICを付加するだけで
マルチドロップで長距離通信出来るし、
制御プログラムも簡単で、PICやAVRの小さなCPUでも負担にならないし、
コストやスペースの点でもメリットがあると思う。
CPUのI/OにUARTが存在し続ける限り、
RS232規格と共にRS485規格も使われ続けるのでは? >>507
それは設計屋の都合な。いまどき長距離なんて光だしな
現場に行って、LANと485のどっちが施工と保守しやすいか聞いてごらん
485を使うようなシチュで、製造単価とメンテ費用のどっちにウェイトが置かれるかってことだな
ま、俺も485はきらいじゃないがな。232同様、今後増えていく存在ではない >>505
K22ならタイマーIC558見たいな機能のモジュールも入ってたはず。 FAでは485未だによく使うけどあとは422
アナログだけどカレントループはノイズに強くLANより優秀
連続なのが何より楽だ そもそも485とLANをいっしょくたにしてるのが間違い
初期のLANで媒体として485使ってるものもあったが、485はLANのための規格じゃない
高速・大容量という志向に合わなかったからLANの媒体としては485が使われなくなっただけ
現在でも工場とか高ノイズ環境では使われてるし、舞台照明コントロールのDMX512Aとかでも使われてる ものの価値を価格でしか評価しない種類の人なんでしょうね。 >>503
キミは無能です。
適材適所があるのです。 いくらかのプロトコルをハードウェアがやってくれるものと、そうでないものを比較するのもどうかと思うけど、
傾向としては、前者に移行していくものですかね。 本来は
複雑なプロトコル処理→ハード・ソフトが複雑→高価
のはずなんだけど、
量産効果が効いて価格が下がり、情報豊富でソフト作成も容易。
シリコンもソフトも複雑度ではなく普及度で価格が決まり、
思いのほか差が出にくくなるという事。 >>516
複雑なロジックもシミュレーションが楽にできる様になったからな。
昔はちょっとした物でも一週間とか掛かってたから。 複雑なものってトラブったら交換しか手がないからなぁ
自己診断とか異常検知なんて健全な状態でしか使えない意味不明なバカ仕様がほとんどだし 一連の話の大元は>>479だぜ?
いくら昔に比べて安くなったとは言え、ドアセンサーのためにLAN引けとかファイバー引けとか頭沸いてんの?
そりゃ既にLAN張り巡らしてるならそれに乗っかるのはアリだけど、それだけのために引くのはアホだろ >>519
普通にLAN引くな
ドアセンサーが必要ない鈴ですむようなところならともかく、普通は10m以上引っ張って、
さらにドア一つでなくて複数のセンシングするよな。
しかも一ヶ所センサーラインが短絡やノイズ、地絡で異常になっても他に影響することなく
切り分けとか確認できないと普通は困る。
でもって、最終的にランプつけるだけとかならともかく、Webで見たり、ログ取ったりするので、
24時間可動してるサーバ系PCなどに入力する
だったら最初からLAN引いてしまったほうがすべてが楽。 ごめん、中学生がママがきたセンサー作るのなら、485/422.232で充分以上。 傾斜SW+315MHz送受モジュール
モジュールはebayで\200位で売っている
電波法は知らん 315MHz送受モジュール
電波法気にするなら秋月で\3000弱出して買うが良い 私もRS485だな。
そもそも >>486 で書いてある「LEDの点灯エラー」の解消と、
「複数のセンシングする」とか「Webで見たり、ログ取ったりする」は関係無い。 >>527
たしかにそうだけど、それならまずエラーになる原因を調べるのが先じゃないかしらね?
それやらずに他のアプローチって時点で問題解決能力レベルがわかっちゃう そういえば、昔、
AC100Vを50Hzクロック源とする時計が進むので、
調べたら、同じコンセントから取っている冷凍庫のコンプレッサーがオン・オフするときに
カウントが進むことを発見した。
コンセントを分けるのは難しいので、
冷凍庫と時計にクランプ式のフェライトのノイズフィルターを入れたらかなり改善された。
家庭用のAC電源なんてノイズだらけなんだろうな。 >>529
無線の屋外運用で、AC100V発電機で動かしたら、時間がめちゃくちゃになったことはある >>530 >>531
オン/オフ時に火花が飛んで(もちろん設計が悪い)バーストノイズが発生すると、数十回分のパルスになってしまう。クランプ式フェライトコアで改善されるほどの高い周波数成分が影響してたんなら時計の方も設計不良だな。 昔、会社の先輩に八丈でどうも時計が狂うから調べたら島内に発電所が1箇所でそこの周波数が狂ってたって聞いた オシロで見ていると、コンプレッサーがオンすると時計のAC電源ラインにノイズが乗る。
誤差は半月で数秒程度で、時計の電源を別のコンセントから取るとOK。
ノイズは時計の電源回路経由で回り込んでいるのか?
それとも、私が設計した時計用クロック・パルス検出回路がマズイのかな?
https://i.imgur.com/S9ywsye.jpg
飽きたし、きちんとは原因を究明せずに「結果オーライ」で放ったらかしだけど、
趣味の電子工作なので笑って許してw
7、8年前に作ったが、今は半年に1回ほど気が付いたときに、
誤差(1、2秒程度)を修正している。 冷蔵庫のコンプレッサのオンオフ周期の例
シャープの家庭用
たぶんインバータじゃないやつ
https://i.imgur.com/ormTFn7.png 家庭用冷凍庫のオンオフ周期の参考資料
シャープのインバータじゃないやつにロガー突っ込んだ
https://i.imgur.com/qoxehfl.jpg 連発しちまった。
ノイズが10回/日だとして、
0.2秒/日余計に進む。
冷凍庫のオンオフが原因ならもっと激しく進む気がする。 毎回綺麗に同じノイズが出るわけでもない
今なら高調波とか規制されているから少しは(まともな機器なら)
綺麗なのかな
いや、電灯線モデムPLC使っている友人は、ご飯炊く時間に決まって
回線速度が落ちるとかなんとか・・・ >>536
なんで入力側にツェナー使ってるの?
普通のdiでいいじゃない。
それとcrの後のインピーダンスが低くて入力のCrフィルタが
あまり効いてないね。
rを一本cとカプラの間に移した上でcを数倍大きくすると、ずいぶん違うと思うよ。 スパイクノイズのフィルタリングは、フォトカプラの出力側1本で良いと思う。
そのためのシュミットトリガでもあるし。
ツェナーはなんでなんだろな。このツェナーのカソード→アノードに電流が流れだす
ときには、すでにLEDは断線しているような気がする。 >>546
よね、と言われても…
ここでLEDを使うメリットって何なんでしょ。
あえて言えば、そこに通電していることのインジケータにもなる、ということですかね。
たいていは小信号シリコンダイオードよりも高価だし、
透明プライスチックパッケージは、実装時にちょっと注意が必要だし。 趣味で手持ちLEDを手ハンダ実装するし、見えるのは重要かな。 ■ このスレッドは過去ログ倉庫に格納されています