初めてのPIC 0x0f
■ このスレッドは過去ログ倉庫に格納されています
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
さ、質問どうぞ〜っ
0x0e 2018/02/13〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1518524799/
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 本家はPICKITで儲ける必要は無いんだから
利益ゼロでもいいくらい
他だと無料で配ってたりするのに それな
オープンハードにしてくれればいいんだよ
arm(mbed)のHDKみたいに 中華製だと使ってる部品がさらに海賊版とかの可能性もありそう
Windowsのドライバアップデートで海賊版はじくようにしたら阿鼻叫喚みたいなのが前にあった気が >>174
答えは身内にあるよ。Atmel ICEみたくロックするコネクタがベスト。 >>179
変えたら変えないことを望むユーザーが文句を言うだろね。
というか、1列ヘッダーが嫌なら変換基板を作るのも手なんじゃない? >>179
>ロックするコネクタがベスト
へえ、なぜ? ピキ4(ピクキ4)とピキ3で数百円しか差がないし、今から買うなら
問答不要でピキ4だろうなぁ
うちのピキ3で玉に出る「VDDの電圧が足りない」エラーも改善されてたり
するんかなぁ >>182
君頭悪いね 勝手に抜けるのが問題でロックするコネクタ使えって書いてるのに
「変換基盤作れ」とかさ。 旧アトメルARMコアのpickit4でpic開発する時代になったのか >>190
確かに変換基板なしでも、
PICKIT(1列ヘッダー接続)---ワイヤーハーネス---ロック付きコネクタ
でいいね。
変換基板を作っておけば、Atmel ICEの標準ケーブルをそのまま使えるのでは、
とは思ったけど、要らないな。
で、コレなら別に何の苦労もなく、今のPICKITで実践できるのでは?
PICKITのところは、いったん接続すれば、ターゲットボード側と違って
抜き差ししなくちゃいけないものでもなく、粘着テープでも使えば勝手には抜けないわけだし。 8 bit DIP PIC で遊ぶとき 5 pin ヘッダのうちの 3本 (GND,ICSPDAT,ICSPCLK) を
PIC の足に直接はんだ付け。Vdd と Vpp の 2本は電線でつなぐ。
これだけでプログラミングができるわけだが、 さて、そうすると、PICKIT が裏返しに
なってしまう。これが気持ち悪いので、PICKITの1列ヘッダーの順番を入れ替える
だけの短いケーブルを作って使ってますが、誰の役にも立たない情報ですかね。 PIC使い始めてすぐにこういうの作ってブレッドボードで使ってる。
https://i.imgur.com/QOYu9uQ.jpg
ロックするコネクタの必要性が良く分からない。 なるほど 今よりは良さげだからパクらせてもらう。ありがとう。 うん、もちろんメスのバージョンもあるよ
あとICクリップのバージョンも PICkitのコネクタはユルユルなんだよね
俺も延長ケーブルを粘着テープで留めてるけどロックがあった方がいいね >PICkitのコネクタはユルユルなんだよね
うちのはそんなことない。
まさか、細いピンヘッダ使ってるとかいうオチじゃないよね? >>197
短くて使いにくそう
おれのはもっと長い
バラオス
バラメス
5pinオス
5pinメス
4種類作ってある >>201
ゆるい女っているよな
中が空洞みたいな感じになってて
遊びすぎってわけではなさそうだけど >>207
そして中がエクレアみたいなのに賛成です 電子工作初心者です。質問させて下さい。
DMMで図の場所における直流電圧を測りました。
スイッチONにしたらLEDが点灯するのは
トランジスタPNP型の使い方として、理屈の上ではわかるのですが、
では、何故LED無しでスイッチOFFの場合でも4.5Vも流れてるのでしょうか?
意味がわかりません。DMMの使い方が間違ってるのかもしれません。
間違ってるとしたら、スイッチON/OFFの場合にLEDのあった場所に掛かる適切な電圧の測り方を教えて下さい。
どうか宜しくお願いします。(このあとPICを使った回路に組み込む予定です)
[LEDあり]
スイッチOFF:1.6V
スイッチON:1.8V - LED点灯
http://neo.vc/uploader/src/neo33050.gif
[LEDなし]
スイッチOFF:4.5V - スイッチOFFでも何故こんなに電圧が掛かってるのですか?
スイッチON:4.8V
http://neo.vc/uploader/src/neo33051.gif >>203
それだったか分からないけど、秋月で買ったので頭の径が2.54mmより太いのがあるよね。
並べて挿すとピンソケット痛めそうな欠陥商品。 >>211
PIC関係無いけど二枚目の図だとDMM短絡してるだけなのに
本当に電圧出てるならそんな不良DMMは棄てるべき 213さん、ご回答ありがとうございます。
おかげさまで、短絡(ショート)の意味がわかりました。
抵抗無しで電圧を測ると、理屈上では電圧が無限大になってしまうのですね。
下記URLの図のようにして計測し直したところ、
スイッチOFF:1.4V
スイッチON:4.8V
と、求めていた通り正しく計測できました! これでPICへ組み込めます!
http://neo.vc/uploader/src/neo33052.gif 間違えました。ショートすると、電流が無限大です。
オームの法則。I = V / R >>215
電流流れてない場合は両端電圧0Vだから1.4Vもでるのはおかしい 1.4/0.47=2.978723404255319
3mAも流れるのはおかしいね、回路図でなく写真が見たいな 実は回路図の外に、
トランジスタのベースに、スイッチ以外にも赤外線センサーが並列で繋がってまして
そのセンサーが微妙に反応してるからLEDの部分に1.4Vも流れてたみたいです
センサーを取っ払ったら、きっちり0Vになりました
すみません。お騒がせしました >>213
DMM棄てる前に、DMM両端の電線を「発電する電線」として売りだせば儲かるのに、と思ったが、
>きっちり0Vになりました
残念だった >>219
一応注意しとくけど
> LEDの部分に1.4Vも流れてたみたいです
電圧が掛かる
電流が流れる
だよ。 下記のサイトを参考にしてPIC32MX340FのI2Cの実験をしている
http://www7b.biglobe.ne.jp/~nobosan_flute/lab_theme60.files/PIC32MX_RTC8564_Test_1.c
のですが、I2Cの出力がされません(たまーにI2C出力されたり、とても不安定)
回路図
https://i.imgur.com/1E7vwXf.jpg
レベル変換の回路と先の回路は、PIC32MX220F032Bで実績があります。
Main関数はポート設定のini_io() を呼び出した後、300msec後に
I2Cの初期設定I2C_ini()を呼び出すようにしてます。
void ini_io() {
//IO Port Initial--------------------
//-----------------------------------
TRISG = 0x000C; // PortG
AD1PCFG = 0xFFFF; //ALL DigalMode * 0:Analog 1:Digital
//Timer1 Initial---------------------
//-----------------------------------
T1CON = 0x0000; // Stops the Timer1 and resets the control register
//80MHz ->12.5nsec Timer1 :12.5nsec x 80 = 1000nsec = 1usec
TMR1 = 0x0000; // Clear timer register
T1CON = 0x8000; // TMR1 on, prescale 1:1 PB
}
void I2C_ini(void){
//I2C ini
OpenI2C1(I2C_ON | I2C_IDLE_CON | I2C_7BIT_ADD, 0x18E); // Address Mode :7Bit BaudRate:100kbps
} >>226
(オシロスコープがあれば)
PIC側、デバイス側両方のSCL,SDAの波形を見る
SDAとSCLを普通のポートの設定にして、
入力にした時とロー出力にした時の各電圧をテスターで測る
速度を落として動かしてみる (1kHzとかに)
ポート制御のI2Cにして試してみる
(Microchipのコードもある bit-bang i2c で検索)
信頼できるコードを探す >>226
波形が出ていたり、出なかったりするのが変だね
コードや回路がおかしかったら、まったく出ないはずだが:::;。
デバイスだけ変えたら、正常に動作するんだよね?
340fのバグなんじゃ・・・ エラッタにそれらしい記述は無かったが
お得意のサブマリンの可能性もあるかも
それにしてもひどいねエラッタ(というかバグ)
リビジョンが4回変わってもほとんどなおってない >>231
「I2Cの出力がされません」
と書いてあるだけで
波形が出てないのか鴨東が無いのか
どうやって調べたか
などは何も書いてないし
デバイスだけ変えて動くとも書いてない
解析において思い込みは良くないぞ 公開されてるだけで76個のバグを抱えたマイコン
MXは使うなって
メモリ2度書き問題とか
リセット不完全問題とか
ヤバいのが盛りだくさん >>235
エラッタ厨は専用スレに書けよ
コッチでケチつけるくらいしかできないんだろ
具体的にI2Cがエラッタかどうかの解析方法すら書けないくせに お前らプロファイル情報の更新した?
モレスキン社の手帳が届いたわ。 >>235
エラッタ専用スレがありますので、そちらで語ってください。 PIC18を動作させることに成功し、次にPIC32にチャレンジしましたが、
ビルドすらできず困っております。
アドバイス等ありましたら教えて頂きたいです。
【環境】
PIC32MX210F016B
MPLAB X IDE v4.15
XC32 v2.05
Harmony v2.05
【ビルド時のエラー】
--前略--
make[2]: Entering directory '--プロジェクトのフォルダ名--'
make[2]: *** [build/default/production/_ext/1360937237/main.o] Error -1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [build/default/production/_ext/1688732426/system_init.o] Error -1
"C:\Program Files\Microchip\xc32\v2.05\bin\xc32-gcc.exe" -g -x c -c -mprocessor=
32MX210F016B -ffunction-sections -O1 -I../src -I../src/system_config/default
-I../src/default -I../src/system_config/default/framework -MMD -MF build/default/production/_ext/1360937237/main.o.d -o build/default/production/_ext/1360937237/main.o ../src/main.c -DXPRJ_default=default -no-legacy-libc
nbproject/Makefile-default.mk:183: recipe for target 'build/default/production/_ext/1360937237/main.o' failed
--後略--
最後の行(nbprojectで始まる行)がリンクになっており、クリックするとMakefile-default.mkの
@${MKDIR} "${OBJECTDIR}/_ext/1360937237"
と書かれた行に飛び、その行には波線と行頭に△!が表示されますが、警告内容は表示されません。
特に手がかりとなるメッセージも読み取れず、途方に暮れております。
IDE・コンパイラ・Harmonyを再インストールしましたが、改善しませんでした。
PIC18は現在もビルドできます。
長文申し訳ありません。
このスレに書き込んだつもりが違うスレに書き込んでしまったので、再度書き込みさせて頂きます。 PIC18とPIC32は同じPICを名乗っていても中身は全然違います
タイヤがついてるから荷車(一輪車)もF1カーもどっちも同じクルマだよね
って言うくらい違います 別に大して変わらんよ
MCCやHarmonyを使うことがPICのプログラミングだと思ってる人から見たら大違いなのかも知れないけど >>241
Harmonyのアプリフォルダにプロジェクトを作らないとエラーになる MXを選んじゃった被害者がまた出たか
コアも古いし色々と設計者が32bit規模に慣れてない感じのマイコン
とにかくバグが多い
https://www.clarestudio.org/elec/pic32/intro.html エラッタ多いのは100歩譲るとしても何で修正しないんだよ?
修正する気が無いなら製造中止にしろ 誰が作っても同じような事はHarmonyに任せてApplication Logicの構築に注力する。
何でも自分でつくろうとして(データシート読んでないだけだろうが)結果ハマってエラッタエラッタと吠える。
どっちが賢いか、分かるだろ? >>247
もしかしてHarmonyのコードはエラッタ対策されてると思ってる? > 修正する気が無いなら製造中止にしろ
すげー暴論
自分が使わなければいいだけ
そう言うとこの手の輩は、これ以上被害者を増やさないためとか言い出すが
小さな親切大きなお世話だ ユニークで個性的な確実稼げるガイダンス
暇な人は見てみるといいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
SEPLO >>250
小さな親切?親切なんてまったくなくてウザイだけだろ >>246
無茶言うな。
廃番にしないのが売りだろうに。 >246みたいなのは半導体をパソコンみたいにブロックをカシャカシャくっ付けたらハイ出来上がりとでも思ってるんだろうね。 電子工作初心者です。センサーを使ってPICのデジタル入力へON/OFFの電圧を掛けるために
コンパレータを使いたいのですが、上手く使えず画像右下のLEDがどちらも点灯しません
何がいけないのでしょうか…? どなたかどうかご教授ください。。
(可変抵抗は0~100kΩです。※記載漏れ)
LM393
http://neo.vc/uploader/src/neo33105.jpg
NJM311D
http://neo.vc/uploader/src/neo33106.jpg コンパレータの入力2点の電圧と
出力の電圧値はいくらよ? >>255
ちょっと疑問なんだけど、回路図を描かずにいきなりそうやって組むのですか? >>256さん
LM393
IN1+:4V、IN1-: 1.5V、 OUTPUT1:0.03V = LED点灯せず
NJM311D
+INPUT:4.2V、-INPUT:2.3V、OUTPUT:0.3V = LED点灯せず
という感じになっております
どちらも全然OUTPUT電圧に反映されないです…
>>257さん
ちょっと今疲れ果てていて、すぐできるかわからないです…
勝手なこと言ってすみません >>258
今回のような最小部品構成で組んでみるだけの場合は、
回路図書かないですね… >>260
すごいな。俺、絶対そんなことできないよ。
回路図でないと考えられない。
311Dの回路ってこんな感じだろか。図のようにLEDの一端がGNDに落ちてるように見える。
470Ωにつながってるのがアノード?
電源電圧がちょっと足りないことを差し引いても、もしこの図の通りだと、点かない。
311Dの出力は電流を吸い込むしかできないし。
失礼いたしました。とあるサイト様よりこちらの回路図を参考に作成してみました。
http://neo.vc/uploader/src/neo33107.gif オープンコレクタなのに電源側にLED繋いでないとか 393の方も出力がこんなふうになってるのでは?
>>262さん
ご丁寧に図解まで示していただきありがとうございます
NJM311D の作例を回路図で表すとしたら、その通りです
LEDのアノード、カソードは正しく接続されております
>もしこの図の通りだと、点かない。 311Dの出力は電流を吸い込むしかできないし。
??? ちょっと理解できる範囲を超えてます
もし宜しければ少し詳しくお教え願えないでしょうか? コンパレータは出力がオープンコレクタになっているものが多い。
出力オープン コレクターみたいだね
上記のようにすればいい
>>264さん
教えてくださってありがとうございます。
オープンコレクタ。調べてみます!
>>265 >>267さん
初心者にもわかりやすくご丁寧にありがとうございます!
オープンコレクタを調べて、理解に努めてみます
>>268さん
ありがとうございます!
結果はしばらく後でご報告させていただきますね あ。もちろん、>>267のようなLEDの接続にすると、出力がLのときに点灯することになる。
当初設計が期待するところは出力がH(IN+ > IN-)のときに点灯だよな。
いろいろ方法はあるけど手軽なのは、IN+とIN-の配線を逆にすることかな。
それと動作の結果にはあまり関係がないですが、>>262のIN-に中点電圧を入れるのに330Ωを使ってます。
これは電流を流しすぎ。IN+と同じような抵抗値が望ましいのです。 お世話になっております
皆様からご親切にご教示いただいたオープンコレクタについて
勉強してまいりました
PICのLATと今回使用したコンパレータのOutputを完全に混同していました
コンパレータを使う時はデータシートの回路図を参照して、
Outputがオープンコレクタになってるかどうかを確かめる必要があるのですね
確かにこのような誤解に基づく場合は、質問する際に回路図を書いて示さないと
エスパー回答するしかないですね 反省しました
そして、>>264さんのご指摘や、>>267さんの図解にある通り、電源→LED→Outputへと繋ぎ、
NPN型トランジスタと同様に考えることで、ついにLEDを点灯させることができました
解決方法はまさに>>270さんがご教授してくださった通りで完璧でした
おかげさまでコンパレータを用いてセンサーを通したH/L信号をPICのデジタル入力へ渡せそうです
皆様、本当にありがとうございました! PICにコンパレーター内蔵してるのあるけど・・ (この機能つかったことがないけどね)
外付けでやるんだったら ヒステリシスいれてたほうが出力バタバタしないで
いいとおもうが・・ 8 pin PIC だとピン数が少ないので AD して比較する方法になびいちゃうね。
オーディオ帯域を超えるスピードが必要でなければ、AD 後ヒステリシスでも
ディレイでもフィルタでも自由自在だしね ■ このスレッドは過去ログ倉庫に格納されています