pic初心者のスレ その2

このエントリーをはてなブックマークに追加
1774ワット発電中さん
pic初心者の質問にやさしく答えるスレです。
ときどき質問者をからかって楽しむ人とか出没しますけど、無視でいきましょう。

上級者は「PIC専用のスレ」がありますのでそちらへどうぞ

前スレ
pic初心者のスレ その1
http://uni.2ch.net/test/read.cgi/denki/1361181675/
2774ワット発電中さん:2013/11/18(月) 00:06:58.19 ID:SOT0kkFf
タイトルが半角になってる。
その方がいい乙。
3774ワット発電中さん:2013/11/18(月) 09:18:41.54 ID:NKRIArst
半角に拘る馬鹿発見器乙
4774ワット発電中さん:2013/11/20(水) 10:15:43.57 ID:6ZbOnHGj
半角が普通。全角で英数字書く人、変
5774ワット発電中さん:2013/11/21(木) 08:46:55.48 ID:C8nLI7iX
たまに全角で書かないといけないフォームあるよな
6774ワット発電中さん:2013/11/21(木) 10:21:24.29 ID:umJreHSq
あるある、住所に半角が使えないとかね。
そのくせ、電話番号は半角のみだとか。
プログラマーの怠慢ね。
7774ワット発電中さん:2013/11/21(木) 10:25:09.00 ID:C8nLI7iX
しかも一部だけ全角で、他は半角じゃないといけなかったり
8774ワット発電中さん:2013/11/21(木) 10:25:40.05 ID:C8nLI7iX
あ、ごめんよく見てなくて同じこと書いてしまったわ
9774ワット発電中さん:2013/11/21(木) 15:32:17.49 ID:btMk3qJO
>>前スレ1000
> 教えてください。
> PICでA/D変換してアンドロイド携帯にUSBで送りたいです。
>
> USBはやったことがないのですが、USB機器にマスターとスレーブがあるのでしょうか?
ある
USBではホストとペリフェラル

> 携帯との場合、PICがマスターでいろいろと手当をしてあげないといけないでしょうか?
android端末がホスト機能を持っていればPICはペリフェラルでいい

> PIC ICはマスターとスレーブどちらにもなれるのでしょうか?
> それともマスター用PICを買うのでしょうか?
ホスト機能を持ったPICならどちらも可能
10774ワット発電中さん:2013/11/21(木) 15:51:40.63 ID:V4DPQmTu
>>4
英数字だけフォントセットを変えるのは変。
基本的にはフォントセットは一式でバランスを考えて設計されてるから
字体に意味を持たせた文書以外で、フォントを混在させるのはそいつの勝手。
自分の勝手を他人に押し付ける基地外が時々出没するが、そんな輩は無視してけおけば良いだけ。
11774ワット発電中さん:2013/11/21(木) 16:07:39.87 ID:eC/UrXpW
>>10
お前は何を言っているんだ
大抵の日本語フォントは半角英数字も含んでるだろ
12774ワット発電中さん:2013/11/21(木) 19:22:10.22 ID:QQTradBp
全角も含んでいるがな
んなのはどっち使おうが好き好き、あーだこーだ言う必要なし
13774ワット発電中さん:2013/11/21(木) 19:58:42.78 ID:uVDTyj+j
PIC
なぁに、むしろ耐性が付く
14774ワット発電中さん:2013/11/21(木) 22:26:11.87 ID:UG2e72Fj
> PICでA/D変換してアンドロイド携帯にUSBで送りたいです。
USBシリアルケーブルがそこらの家電屋でも売ってるから使ってしまえ。
普通にUARTでいける。
15774ワット発電中さん:2013/11/21(木) 23:38:43.29 ID:2D8YKwmr
最近のAndroidはシリアル扱えたのか…
16774ワット発電中さん:2013/11/21(木) 23:42:29.17 ID:wx6qcJWj
意志が伝わってない
17774ワット発電中さん:2013/11/22(金) 00:50:03.05 ID:cRrp1+e+
プロポーショナルフォントなら全角英数は気にならない。だから2ちゃんの
スレは良いと思う。等幅フォントだと間延びしてかっこ悪い。
18774ワット発電中さん:2013/11/22(金) 09:03:20.23 ID:pUvk+ii9
そんなのは環境による。ブラウザの種類やOS、俺みたいに自作のブラウザ使ってる奴もいる。
ま、自分の環境しか頭に思い浮かべないでフォントを切り替えて得意になってる奴は

 ド 素 人
19774ワット発電中さん:2013/11/22(金) 10:01:24.07 ID:en3aiFR8
>>18
半角英数字を使うことをフォントを切り替えるとは言わねーよ馬鹿か
全角英数字は日本語を使用するシステム以外じゃ読めねーだろカス
お前はソースコードも全角英数字で書いてんのか?あ?
20774ワット発電中さん:2013/11/22(金) 11:23:22.17 ID:4pvviy2O
簡単な煽りなのに釣れる
21774ワット発電中さん:2013/11/22(金) 15:00:40.02 ID:CC6FuIwO
釣れた釣れた
22774ワット発電中さん:2013/11/22(金) 19:35:51.22 ID:fhUCqstU
>>19
>>18の何処に、全て全角にすると書いてあるんだ?
日本語読めないのかw
最近は中国人や韓国人の評判が落ちてるから、国へ帰ったほうが良いぞw
23774ワット発電中さん:2013/11/24(日) 18:49:12.33 ID:Y1Kffq4p
324
調べてみればわかるけど、かなり低レベルな情報まで全てネットに詳細に乗ってる。
日本じゃここまでの情報は絶版された書籍でしか入手できなかったりする。
海外でハッカーが生まれまくってて日本のはしょぼい理由の原因はこれ。

326
>>324
そうらしいね。
ハッカーとかじゃなくて一般レベルの話でもプログラマーが言ってたわ。
英語勉強して海外のフォーラム読んだら疑問点全部書いてあったってw



PICも同じなんだろうか。英語勉強すると楽に情報が手に入る、とか。
24774ワット発電中さん:2013/11/28(木) 00:32:29.82 ID:dhNJNHPA
>>23 そう思う
ただ下読みは(楽な)日本語で読みたい
今16F84の日本語データシート見つけて読んでるが頭にすっと入ってくる
25774ワット発電中さん:2013/11/28(木) 14:38:29.94 ID:HQPRJ7ED
私も同じです。
一度、日本語で全体をさっと読んでから、必要な部分の英文をじっくりと読む。
日本語だけだと誤訳があるかもしれないし、英文だけだと時間がかかるので。
26774ワット発電中さん:2013/11/28(木) 20:33:55.78 ID:nU+rMrVE
半角全角は表示の事なのでフォントの話。
JISX0201とJISX0208は表示幅を規定してない。
27774ワット発電中さん:2013/12/01(日) 13:24:08.62 ID:gz5RuwEN
なぜPIC32は32ならでわの広大なメモリ領域が標準装備されていないのかと
28774ワット発電中さん:2013/12/01(日) 19:59:23.97 ID:V6fTQith
>>27
PIC だから。
29774ワット発電中さん:2013/12/02(月) 00:49:29.12 ID:MMzgAvTz
>>27
必要ないから
30774ワット発電中さん:2013/12/02(月) 01:36:04.60 ID:N3Fcmkka
>>27
必要なら足すから
対応してるのとしてないのじゃ大違い
31774ワット発電中さん:2013/12/03(火) 23:35:00.96 ID:qXA+2vBA
PIC16F1840のADCについて教えてください
ADCをオンにする、またはチャンネルを切り替えたら aquisition time 待てとデータシートにあります。
同一チャンネルで連続してADCする場合、2回目およびそれ以降はaquisition time待たずに、すぐADCを開始して良いという理解は正しいですか?
32774ワット発電中さん:2013/12/04(水) 09:55:04.10 ID:g2jP0II2
33774ワット発電中さん:2013/12/07(土) 20:04:54.86 ID:AUUIgK11
12bitのADコンバータ(MCP3204)とPIC(18F2550)間をSPI通信したいです
8bitを3回通信させないといけないようなんですが
次のような流れで合ってますか?

1)CSラインをLowにする → 送受信可能になる

2)SSPBUFに送信データをセット → 送受信開始
3)SSPSTAT,0がHighになるのを待つ → 送受信完了
4)SSPSTAT,0をLowにする
5)SSPBUFから受信データをどこかに移す

6)2〜5をあと二回繰り返す

7)CSラインをHighにする → 送受信不可になって終了
34774ワット発電中さん:2013/12/07(土) 22:11:51.10 ID:PcS74Unu
回路図上げろwww
35774ワット発電中さん:2013/12/08(日) 05:26:41.14 ID:0a7+JJOY
回路図あげても回答がつかないぞ。やめとけ。
36774ワット発電中さん:2013/12/08(日) 06:27:36.05 ID:vUTBzwc1
SSPBUFを読み出すと、SSPSTAT,0は自動で0になるんじゃなかったかな?
(ソフトで0には出来ない)
なので4)は不要かと
37774ワット発電中さん:2013/12/08(日) 09:47:52.92 ID:hTuRAPDC
>>36
なるほど
PIR1,SSPIF(割り込みフラグ)と勘違いしてました
ありがとう!
38774ワット発電中さん:2013/12/08(日) 12:21:11.29 ID:hTuRAPDC
すいませんもう一つだけ質問させてください

SPIで割り込みを使いたいんですが、PIR1,SSPIF(割り込みフラグ)が立つタイミングが分かりません
「SSPBUFに送信データをセットした直後」で合ってますか?
39774ワット発電中さん:2013/12/08(日) 23:38:19.82 ID:1UEIDlcQ
>>38
送信終了した時。(送信レジスタに書き込みできる時)
40774ワット発電中さん:2013/12/09(月) 08:10:37.43 ID:0A4Dut/Q
>>39
了解です
ありがとう!
41774ワット発電中さん:2013/12/11(水) 23:31:24.27 ID:N5ex5XBq
PICマイコンを選定するフローチャートみたいなものはございますか?

今回はDIPでI2Cがあれば足りるのですが、今後のために
42774ワット発電中さん:2013/12/12(木) 00:06:03.37 ID:Bwt4Nt7U
PIC16F/18Fの場合
このページからProduct Familyで選択すると一覧表が表示される。そのまま比較しても良いし、CSVファイルとしてエクスポートできる。

ttp://www.microchipdirect.com/NewProductTree.aspx?mid=1&Catalog=BuyMicrochip&Category=8bittree&TreeID=1

他のファミリーの場合左のタブから16-bit PIC®MCUs & dsPIC®DSCsまたは32-bit PIC Microcontrollersを選択、以下同じ。
43774ワット発電中さん:2013/12/12(木) 08:04:04.67 ID:6lgt7Vv6
最近visual basic はじめたんだが、超勉強しやすいね。
プログラムソフトは無料だし、あっちこっちのサイトに初心者むけの講座が
あって、また分からない言葉検索すると具体的な使い方がすぐわかる。
シリアル通信を使ったグラフィック表示つきのデータロガーが簡単にできた。
てかサンプルがいっぱいあって参考にしたんだが。

それに比べてPICはなんだかな。まずデータが英語のPDFで探すのがたいへん。
ロックがかかってて必要なとこだけ切り取り編集もできない。あってめくって
こっちめくって、種類も多すぎて、なんかメンドクサイ。

もうちょっと使いやすいように整理されないもんかな。
44774ワット発電中さん:2013/12/12(木) 10:55:29.09 ID:dGJ3pS/a
なるほど。
VBを宣伝したいんですね。
45774ワット発電中さん:2013/12/12(木) 11:09:08.95 ID:4AaniQRf
VBしてたけど、C#にしてしまった。
あとはJavaかな

>>43
サンプルのコピペで色々片付けたいならPSoCが楽。
46774ワット発電中さん:2013/12/12(木) 11:56:42.74 ID:1AhFRcpz
PCのソフト作ってもおもろない
4741:2013/12/12(木) 21:24:31.06 ID:Zufv5ip+
>>42 さん、ありがとうございます

でも選択肢が荒くて使いづらいですね。
FlashでClock内蔵、USB&SelfWriteでI2Cで入手しやすいみたいな漠然な条件で
私みたいな初心者が18F14K50に行き着くまで難儀でw
条件がUSBじゃなくてUARTだったら、永遠に決められないww

正月はトランジスタ回路の復習をしようかと
アナログの知識がないとデジタルの故障を修理できなくて
48774ワット発電中さん:2013/12/12(木) 22:18:27.61 ID:6idM/rX6
49774ワット発電中さん:2013/12/13(金) 03:37:34.60 ID:wqrYLVK1
>>47
>正月はトランジスタ回路の復習をしようかと
いいですね。実際に回路を作るのでしょうか。ぜひ頑張ってください。

テスター1つでもできる実験はありますが、
もし可能なら、オシロで波形を見てみてください。
とても勉強になります。世界が変わりますよ。
可能ならデジタルオシロよりアナログオシロだと、
「回路の気持ち」がつぶさに観察できます。スゴイですよ。
5041:2013/12/13(金) 19:45:04.68 ID:VTY/InI9
>>48 さん ありがとうござます。 ブッ熊ークさせて頂きました

>>49 さん 目覚ましのベル音が小さかったので、トランジスタかましたら燃えちゃいましてw
昼間考え直したらC1815でモーター駆動などできる訳もないのに寝ぼけて半田付けまで
で、深夜に間違ったことしないためにアナログを鍛え直そうというのが主旨です

オシロは欲しいんですけど、置き場所がw
今は分圧してPCのマイク端子を99KHzでWave録音>ヘッダーを削除してExcelでグラフ化
20年くらい前のMSP430スターターでPCオシロ組んだんですが、遅すぎて使い物にならず

早いPICでマルチちゃんのアナログPCオシロ自作できたら最高なんすけど
51774ワット発電中さん:2013/12/14(土) 15:20:45.75 ID:qXwMX3iM
dspic30f4012でDRV8830つかってモーターを動かそうとしているんですが、全然動きません。
ネット等の解説を見てプログラムを組んだのですが、間違っている点があれば指摘していただきたい。
#include <p30f4012.h>
#include <i2c.h>
_FOSC(CSW_FSCM_OFF &amp; FRC_PLL4);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_ON &amp; BORV20 &amp; PWRT_OFF &amp; MCLR_EN);
_FGS(CODE_PROT_OFF);
unsigned int I2Cconfig1 = I2C_ON &amp; I2C_IDLE_CON &amp; I2C_CLK_HLD &amp; I2C_IPMI_DIS &amp; I2C_7BIT_ADD &amp; I2C_SLW_DIS
&amp; I2C_SM_DIS &amp;I2C_GCALL_DIS &amp; I2C_STR_EN &amp; I2C_NACK &amp; I2C_ACK_DIS &amp; I2C_RCV_DIS
&amp; I2C_STOP_DIS &amp; I2C_RESTART_DIS;

unsigned int I2Cconfig2 = 267; //100kbpsのつもり
void writeI2C(char address,char data);
int main(void)
{
OpenI2C(I2Cconfig1,I2Cconfig2);
IdleI2C();
I2CADD = 0x09;
writeI2C(0x08,0xE1);
while(1);
CloseI2C();
}
void writeI2C(char address,char data)
{
StartI2C();
IdleI2C();
address = address << 1;
address &amp;= 0b11111110;
MasterWriteI2C(address);
while(I2CSTATbits.TBF);
while(I2CSTATbits.ACKSTAT);
IdleI2C();
MasterWriteI2C(data);
while(I2CSTATbits.TBF);
while(I2CSTATbits.ACKSTAT);
IdleI2C();
StopI2C();
IdleI2C();
}
5251:2013/12/14(土) 15:22:15.94 ID:qXwMX3iM
長文スマソ
53774ワット発電中さん:2013/12/14(土) 21:59:18.03 ID:fF3eedEq
とりあえずロジアナで波形を見ろ。
54774ワット発電中さん:2013/12/14(土) 22:22:51.92 ID:wjzTh+KW
波形ならオシロかと
5551:2013/12/14(土) 22:32:24.66 ID:qXwMX3iM
それがSDAとSCLみても何も波形が出てないんですよ。回路は単純なので間違えるはずがないし。
56774ワット発電中さん:2013/12/14(土) 22:35:55.56 ID:uM4iou1g
Lチカからやってみたらどうなん?
5751:2013/12/14(土) 22:59:00.06 ID:qXwMX3iM
Lチカはいけました。マイコンは正常に機能しているはず・・・。
i2Cに関しては確認するすべがないですが
58774ワット発電中さん:2013/12/14(土) 23:13:00.47 ID:fF3eedEq
プルアップを忘れた、ピン設定を間違えた
そもそも配線があってない
5951:2013/12/14(土) 23:26:06.88 ID:qXwMX3iM
プルアップは2kです。ピン、配線ともにあってます。
プログラムはあっていますでしょうか?
DRV8830で両方オープンなのでアドレスが0x08
5V正転で0xE1にしているのですが。
60774ワット発電中さん:2013/12/14(土) 23:30:05.09 ID:HsQVm6fU
合ってます宣言する奴は大抵間違えている
61774ワット発電中さん:2013/12/15(日) 09:14:31.86 ID:Y/lnIjkG
>>55
ポートの設定は合ってますか?
アナログ入力設定になってたりとか、出力に設定にしてしまってたりとか..
----
OpenI2C(I2Cconfig1,I2Cconfig2); が、どこまで面倒見てくれるのかは分からないが。
62774ワット発電中さん:2013/12/15(日) 16:13:01.11 ID:/Rw5Szun
そもそも、プログラムの途中必ず通る所に

while(1);

とか書いてあるソースは端から見る気がしない
63774ワット発電中さん:2013/12/15(日) 20:34:10.90 ID:nYEnfFUO
へたくそなソースは見たくないな
64774ワット発電中さん:2013/12/15(日) 20:55:06.96 ID:ca/SO9j3
そーっすね
65774ワット発電中さん:2013/12/16(月) 00:04:07.90 ID:uIoftwM4
まっ、せいぜい頑張れ。必死に自分で考えてりゃ、
そのうち分かる日も来るだろう。
66774ワット発電中さん:2013/12/16(月) 00:04:41.03 ID:uIoftwM4
>ネット等の解説を見てプログラムを組んだのですが、間違っている点があれば指摘していただきたい。
うん、まずそのやり方が間違ってる。
67774ワット発電中さん:2013/12/16(月) 02:29:35.20 ID:Ek3SUpOL
while(1); って、無限ループになる書き方じゃないの?
僕は while(1){}; と書くので、よくわからんけど。
68774ワット発電中さん:2013/12/16(月) 03:40:06.60 ID:hQXmq8+8
あんま低いプルアップ抵抗だとスレーブのLOW吸い込み能力が低くて応答返せないってことがあるけどな
波形が見えないのならそれ以前の問題だけどな
69774ワット発電中さん:2013/12/16(月) 04:02:38.17 ID:yK8nOL4Y
デバッグ作業中に一時的にやることはあっても
最終版で途中必ず通る場所に無限ループ置いたら
単なるデッドコードじゃねーか
70774ワット発電中さん:2013/12/16(月) 07:08:06.90 ID:FdcOnVYN
>DRV8830で両方オープンなのでアドレスが0x08
データシートよく見たか?
アドレス上位は 110固定で,アドレス0x68じゃないか
71774ワット発電中さん:2013/12/16(月) 09:42:19.98 ID:9Oe/7Oh0
無限ループで割り込みで処理
スリープとかもあるが
72774ワット発電中さん:2013/12/16(月) 23:20:33.31 ID:x48Q4gfC
microchipのフォーラムで質問し直しとる
7351:2013/12/17(火) 00:54:48.26 ID:4L/Ui9q8
>>70
上位が110で下位はW/RとA1A0で変化するみたいですね。
で、両オープン,Writeなら11001000=0xC8
ただこれでもちゃんと動かないんですよね。

>>61ポート設定はOpenI2cで設定されているはずです。

>>72 はい。
74774ワット発電中さん:2013/12/17(火) 01:04:42.01 ID:i+vL5gvd
アドレスが違ってもSDAとSCLがまったく動かないということはないから、
それ以前の問題だろ。
7551:2013/12/17(火) 01:17:21.46 ID:4L/Ui9q8
>>74
回路はpicにDRV8830一つと抵抗2つという単純なものかつ何度も見直したので。
ライブラリがうまく動いていない、使い方を間違えてるんでしょうかね。
明日ライブラリ使わないで書いてみます。
76774ワット発電中さん:2013/12/17(火) 01:41:56.18 ID:1N1ttD6w
>>71
それなら無限ループがあるべき場所は途中じゃなくて最後だろ
無限ループがある事ではなく、無限ループの後に決して実行される事の無いコードが残されてるから
切った貼ったしただけで中身何も理解してないんだろうなと思われるって話してんの
77774ワット発電中さん:2013/12/17(火) 07:06:30.34 ID:b2q+vYdc
このI2Cライブラリはクローズするまでそこまでの実行はしないのか?
76の言い分だと唯一の1行CloseI2C();が動作の要って事か?
78774ワット発電中さん:2013/12/17(火) 07:26:49.47 ID:FpCQjVCq
SDA/SCLがPGC/PGDと兼用だからライター繋いでて動かない系だとみた
79774ワット発電中さん:2013/12/17(火) 08:23:27.04 ID:epWZzlYY
>>78
さすがにそれはないです
80774ワット発電中さん:2013/12/17(火) 09:51:20.91 ID:9upMati4
>ポート設定はOpenI2cで設定されているはずです。
「はず」だと思わずに、本当に設定されているのか調べなくちゃ。
81774ワット発電中さん:2013/12/18(水) 00:27:38.17 ID:zCwUzDcB
OpenI2Cの中身ってI2CBRGとI2CCONいじってるだけだからな
当然ポート設定なんてされているわけない
何度も確認したとか、動いているはずとか聞き飽きた
82774ワット発電中さん:2013/12/18(水) 10:17:17.00 ID:ChRzlYmN
ハード制御はな、初期化後とランニング停止で関連レジスターの中身をマニュアル見ながらチェックするもんだ。
比較すればトラブルも減る。
DCサーボなんかで止められない場合は止めるルーチンを作ってまでやらなければならない作業じゃよ!
83774ワット発電中さん:2013/12/18(水) 19:21:30.32 ID:+dPFn/gV
DC mortarには誰も突っ込まない優しさ
8451:2013/12/18(水) 19:43:30.85 ID:+HM768+7
>>81
自分の勘違いでしたら恥ずかしいのですが、I2CEN=1ならばSDAとSCLがシリアルポートとして設定され、
一度I2CがスタートするとそのピンはTrisなどにより制御されないとデータシートに書いてあるのですが。
8551:2013/12/18(水) 19:45:08.13 ID:+HM768+7
>>83 これじゃ迫撃砲でしたねw 軍事あさってるとこっちばかり目にするのでw
8651:2013/12/18(水) 20:03:45.02 ID:+HM768+7
現状ののプログラムです。見てご指摘を頂けると助かります。
http://www.microchip.com/forums/tm.aspx?tree=true&high=&m=765607
87774ワット発電中さん:2013/12/18(水) 22:32:01.87 ID:qzreEFEB
>>86
これはどうなったの?
>明日ライブラリ使わないで書いてみます。

ライブラリのソースを読めば原因が分かるんじゃないの?
今まで何日もあったんだからとっととやってれば解決してる。
8851:2013/12/19(木) 01:33:04.14 ID:YCUqoeC2
なんとか解決?しました。
ライブラリの中身を漁って関数使わずにコードを書いていっただけだったのですが。
結局原因不明。xc16のインストールとかですかね?
ともあれ、スレ30以上汚して迷惑かけました。お世話様でした。
89774ワット発電中さん:2013/12/19(木) 07:56:27.55 ID:s0fvKXQH
>>88
> ともあれ、スレ30以上汚して迷惑かけました。お世話様でした。
いえ、ありがとうございました。



「お世話様でした」と言われたら、こう返すしかないか。
90774ワット発電中さん:2013/12/19(木) 10:38:24.86 ID:I4xiQY4X
>>88
原因が分からないのは解決とは言えないけどな
91774ワット発電中さん:2013/12/19(木) 12:46:14.45 ID:BOl1AXoj
ながらくご苦労様でした
30スレ=1000レス×30本=30000レスですしおすし
92774ワット発電中さん:2013/12/23(月) 06:00:01.17 ID:2OpvsD3e
int count; の値、下位3bitだけを、
PORTAの下位3bitだけに代入したいのですが、

temp = PORTA;
temp &amp;= 0xf8;
temp |= count&amp;0x07;
PORTA = temp;

こんな感じでいいですか?
もっとマシな書き方があったら教えてください。
93774ワット発電中さん:2013/12/23(月) 06:13:39.76 ID:2OpvsD3e
ん? 何か「&」だけ文字化けしてる。
全角にしてみました。

temp = PORTA;
temp &= 0xf8;
temp |= count&0x07;
PORTA = temp;
94774ワット発電中さん:2013/12/24(火) 11:58:32.97 ID:cv74yyMk
>>92
ちょっと難しすぎて、ここでは無理。ひやかしばっかりだからねーここは。
95774ワット発電中さん:2013/12/24(火) 12:36:13.54 ID:zvl6g9ZU
TRISレジスタでの設定は、他のビットも出力設定なん?
もしも下位三ビット以外が全部入力ビットなら
そのままcountの値で上書きしちまえばいいんでね?
96774ワット発電中さん:2013/12/24(火) 20:23:00.21 ID:zSFHRIIT
>>93 冗長でも自分で判る&コンパイラが誤解釈しないコードを書くべし
1ヶ所にまとまった4行だろ 汚くてもいい 全体が破綻しないことを優先
97774ワット発電中さん:2013/12/24(火) 21:35:45.09 ID:cZ000DPI
>>93
こんなんで、どう?

temp = PORTA;                      // copy
PORTA = (temp & 0b11111000 ) || (count & 0b00000111); // 下位3bitにcount代入
98774ワット発電中さん:2013/12/24(火) 22:08:31.82 ID:D70a/0np
論理ORではだめな予感。
LATが使えるチップならLATを使う。割り込みとの競合に注意する。
99774ワット発電中さん:2013/12/25(水) 18:35:26.30 ID:3d1zITb2
>>98
LATって何の略でしょうか?

Latch A○○○ Trigger とか?
100774ワット発電中さん:2013/12/26(木) 01:27:55.77 ID:pzHKjKah
>>99
最近の品種を使ったことないのか。
PORTAで読むと端子の状態を読むが、LATAで読むとレジスタを直接読める。
例え端子がGNDに落ちていても、TRISAで入力に指定していても、1を出力
してあれば1として読めるから、ビット操作するときに有用。
101774ワット発電中さん:2013/12/26(木) 03:31:12.66 ID:jC03SJHH
>>100
すみません、機能はわかるのですが、
アルファベットの3文字は、何の省略ですか?という質問です。

a_port &= 0x10 とかの書き方はしないので、LATは無くてもいいんです。
テンポラリの変数で処理して、結果をポートに吐くのです。
102774ワット発電中さん:2013/12/26(木) 06:24:04.18 ID:AWTHfyjd
LATx = PORTx Data Latch Register
103774ワット発電中さん:2013/12/26(木) 08:00:51.86 ID:oD6Ihb7Z
latch
(ドア・門などの)掛け金,ラッチ.

だから、頭三文字の単なる略号でいいんじゃないの。
104774ワット発電中さん:2013/12/26(木) 21:29:56.02 ID:EmFA8qNM
>>100
16F84しか使ったことのない自分としては ( ゚д゚)
ROMってればいいことあるなぁ
105774ワット発電中さん:2013/12/27(金) 13:53:42.69 ID:Gkfy/kAS
今のPICには
バンクは無くなったの? 各割り込みのベクタアドレスはあるの?
106774ワット発電中さん:2013/12/27(金) 14:03:01.97 ID:zznRFWSs
データシート見る努力くらいは必要じゃなかろうか
107774ワット発電中さん:2013/12/27(金) 16:36:43.86 ID:P6OfmURh
バンク、べらぼうに増えてるお…
もはやステータスレグで仕切れなくて
バンク切り替えようのレジスタが創設されてたとおもふ
108774ワット発電中さん:2013/12/28(土) 11:06:43.08 ID:YGe8yxBP
ステータスレグ
レグじゃなくて、レジな
109774ワット発電中さん:2013/12/28(土) 11:25:46.37 ID:WMq4tRKt
折角、此処流の独特の言い方が誕生するところだったのにな。
110774ワット発電中さん:2013/12/28(土) 11:33:55.65 ID:r1ZZbwvr
ステータスレグ、かっこええやん
おれのレグ、もはやステータスレグで仕切れなくて
バンク切り替えようのレグが創設されてたとおもふレグ
111774ワット発電中さん:2013/12/28(土) 14:11:22.35 ID:yQhWnE18
hogehogeってホゲじゃなくてホジェなんけ?
112774ワット発電中さん:2013/12/28(土) 14:31:42.85 ID:+Ay8B8yY
アメリカ人が使うとしたら「ホジホージ」とか言いそう。
Oginoさんが初見で「オジノサン?」と何人かに聞かれてたぜ
113774ワット発電中さん:2013/12/28(土) 15:21:25.41 ID:Az+ny87d
registerの略のregをレグと読むのはそう違和感無いけどな
少なくともOPTION_REGはオプションレグって読んでる
114774ワット発電中さん:2013/12/28(土) 15:38:39.01 ID:GQrQ5UPr
しかしジャスコに行ってレグに並ぶ、といわれると吹くなw
115774ワット発電中さん:2013/12/28(土) 20:33:17.17 ID:boDo0F/K
”レグ”と聞くとスペリングが”LEG"となっていそうだ。
116774ワット発電中さん:2013/12/28(土) 20:37:20.67 ID:W2L2NXjV
PICで通常版とメモリ倍増版(通常版とメモリ半減版?)が存在する品種があり
ますが、メモリが少ない方の品種基準でプログラムを作って、それがメモリが
多いほうの品種でHEXファイルをそのまま書き込んでも動かないようなPICって
ありますか?
117774ワット発電中さん:2013/12/28(土) 22:27:35.98 ID:vBOGqgFq
>>114
ジャスコでもそう? 

俺、こないだピアゴでやっても「ハァ?」って言われた。
118774ワット発電中さん:2013/12/29(日) 12:25:04.19 ID:X5e5dasE
レグオ・ブロック
119774ワット発電中さん:2013/12/29(日) 12:45:05.18 ID:km82lPZC
regza
120774ワット発電中さん:2013/12/29(日) 21:14:35.58 ID:SRDfm8b9
>>116
何かスタートアップコードが型番毎に違うようで、
例えば18F25K20向けにビルドしたHexを26K20で使うことは出来ないみたい。
121名無しさん@13周年:2013/12/30(月) 21:09:42.64 ID:1F1zTrhN
http://www.picfun.com/8pinPIC/8pinbookframe.html
のなかのmount16〜19の表記はいったいどういう意味なんでしょうか。

取り付け孔の周辺のランドをすべてアースするとかの意味なんでしょうか。
同じ筆者のほかの回路図では別のパターンもありますが
122名無しさん@13周年:2013/12/30(月) 21:10:55.59 ID:1F1zTrhN
http://www.picfun.com/8pinPIC/8pinbookframe.html
のなかのmount16〜19の表記はいったいどういう意味なんでしょうか。

取り付け孔の周辺のランドをすべてアースするとかの意味なんでしょうか。
同じ筆者のほかの回路図では別のパターンもありますが
123774ワット発電中さん:2013/12/30(月) 21:14:09.61 ID:jbky1JHf
EAGLEの回路記号でランド付きホール
写真だと基板の4隅のスペーサが取り付けられている穴
124名無しさん@13周年:2013/12/30(月) 21:25:56.81 ID:1F1zTrhN
122です。ありがとうございました。
14,16,17,18となっていますが15がとんでいる理由は何なんでしょうか。
125774ワット発電中さん:2013/12/30(月) 21:38:16.09 ID:jbky1JHf
回路図の別のところにあるか、作者が15を消した後にリナンバーしていないだけでしょ
特に気にするようなことじゃない
126:774ワット発電中さん:2013/12/30(月) 21:45:42.56 ID:1F1zTrhN
122です。
なるほど
了解です。
重ねて感謝です。
127774ワット発電中さん:2013/12/30(月) 22:33:48.56 ID:uK3uNiq4
教えてください

>>122の回路で、R10の役目は、何でしょうか?
128774ワット発電中さん:2013/12/31(火) 01:07:58.86 ID:O21K2uEr
高精度電圧計ならただのジャンパ(ゼロΩ)では?
129774ワット発電中さん:2013/12/31(火) 12:39:29.71 ID:UYmj7QgB
でも、右側にもGND記号があるので、GNDには落ちっぱなしだと思うけど。
130774ワット発電中さん:2013/12/31(火) 14:11:58.93 ID:ZPkYFHSC
電源部のデジタル/アナログを分離するためのものだろう。
DMM_PTN.pdf を見ると ADC の GND (回路図の大きい三角)は別枠になっている。
R5, 10 はインダクタやフェライトビーズになってるものもよく見かける。
131774ワット発電中さん:2013/12/31(火) 18:47:43.89 ID:bPyB7U6E
GNDの三角の大きさで見分けろってか?
なんだその書き方。
白三角
黒三角
分けられるだろうに
132774ワット発電中さん:2013/12/31(火) 22:40:10.23 ID:UYmj7QgB
>>130
なるほど、そういうことか。
だったら、それはA/DコンバータのGNDピンのところに描いてなければ
回路設計意図は伝わらないよね。
133774ワット発電中さん:2014/01/02(木) 21:03:46.26 ID:vVgVWQg8
しかたないよ、回路図にこだわる人は年々減少だし。
回路図は、回路設計者の唯一の作品だと思うんだけどね。
134774ワット発電中さん:2014/01/03(金) 14:50:25.78 ID:XVBHqQj4
picは一つのピンからの出力はかぎられてますけど、二つ三つ束ねて出力を増す、
なんて使い方ありなんでしょうか?あまり聞きませんけど。
135774ワット発電中さん:2014/01/03(金) 15:06:29.69 ID:GQz8ym3j
電流の話だよね?
難しくは無いかと思うけど、各Port出力でも上限があったような気が。
後は全ポートでも制限というかデバイス上限があるから、そういう使い方をしたらさすがのPICでも暖かくなるのでは…。
まあ、全部足しても100mAもいけなかったはず。
出力上限の大きいシリーズもあるかもしれないけど、普通に間にロジックとトランジスタ挟んで電流調節しなさいと思う。
136774ワット発電中さん:2014/01/03(金) 15:26:48.38 ID:vVoEFfNu
データシートいくつか見てみたら結構機種ごとに違うなあ
ポートごとに100mAってのと、全ポート合計で200mAのがあるみたい
18F1xK50が全ポートで90mA制限だったりするけどKはみんなそうなのかな
137774ワット発電中さん:2014/01/03(金) 16:02:08.42 ID:8aXPHNsj
1015か1815を入れてくださいとしか
138774ワット発電中さん:2014/01/03(金) 19:27:40.47 ID:UtBu7NUw
>>134
バイトアクセスだとしても、ポートの遅延で並列に接続された
HLそれぞれが短絡することになるんだけど。
139774ワット発電中さん:2014/01/03(金) 22:04:15.60 ID:jPTWgTcv
>>138
> HLそれぞれが短絡することになるんだけど。


それはなんかマズそうですね、一瞬だけど。
140774ワット発電中さん:2014/01/03(金) 22:25:50.88 ID:6shHbO4Y
>138
いや、それは一旦入力ポートに指定してからビットパターンを換えて整えてから
出力ポートに換えればいいだけぢゃね?

とはいえ、
並列出力時に電流が局所的なピンに集中して一本あたりの電流容量を
超過してしまう虞を踏まえればよくない運用じゃないかという希ガス
141774ワット発電中さん:2014/01/04(土) 19:24:50.34 ID:Hi70HY14
>>134 あるよ
青色高輝度光らせるとか
でも、同一ポートだよなぁ基本的に
142774ワット発電中さん:2014/01/05(日) 08:16:35.28 ID:AsDqr2Gi
>>141
でも、ポート無駄に使うよりは、トランジスタ一個追加したほうが
楽だと思うのだが。
143774ワット発電中さん:2014/01/05(日) 11:21:09.10 ID:+eEiy2/n
LEDならポートごとに抵抗を入れてから一緒にすれば原理的に大丈夫。
A/Dとかを使う場合は共通グランドには電流を流したくないね。
144774ワット発電中さん:2014/01/05(日) 14:22:13.60 ID:MASRrBvy
>143
あ、なるほど。
となると、バランス抵抗を別個に入れるよりも、n個のポートに
分割なら「(想定するLEDの保護抵抗の)n倍の抵抗器」をn個用意すりゃ
140の懸念は解消されますですね…でもそうなると
142さんのおっしゃる部品点数最小の手段と比すと、
魅力は疑問ってことですかね…

実際に行われてる142さんが不具合を報告されない所を見ると、
PICポート間の内部抵抗のばらつきは
無視できるくらいに少ないのかもしれないですね・・・
(運用期間が短いだけという可能性もまだわかりませんが^^;)
145774ワット発電中さん:2014/01/07(火) 14:16:18.68 ID:Acg3uwyw
ご教授ください、困っております。
ttp://akizukidenshi.com/catalog/g/gK-05499/
18F14K50が載ったボードを秋月から取り寄せMicrochipからこれ用のブートローダ
をHexでダウンロードしpickit3をつないでフラッシュメモリが空であるのを
確かめ、HEXファイルをインポートし、プログラムすると無事にコンプリート
が表示されました。
ところがPCにつないでも一回目はドライバをインストールしています、みたいな
表示が右下に現れるのですが、デバイスドライバ上では変化がなく、
Win上のブートローダを実行してもデバイスがないと表示されます。
レジストリのどこかにになんか書き込まれてしまって動かないんでしょうか。
どうしたら解決できるのでしょうか。200円けちったばかりにトホホホホ
OSはXP(確かi945G)、7(確かN68-VS3)、8.1(確かB75-Pro)全部同じでした。
146774ワット発電中さん:2014/01/07(火) 14:19:58.14 ID:Acg3uwyw
あ、もちろんpowerは3.375V(確か)掛けてます。
147774ワット発電中さん:2014/01/07(火) 16:36:48.14 ID:Agld40X4
>>145
ttp://sky.geocities.jp/home_iwamoto/page/P14K50/P14_B08.htm

Bootloaderプログラムは、以下の動作を行います。

1. USBプラグをPCに接続し、PushSWを押したままで電源SWをONにすると、
Bootloaderモードになり、USBを経由して、PCからPICにプログラムを書き込む
ことができます。

2. USBプラグをPCに接続し、SWを離したままで電源SWをONにすると、
Bootloaderで書き込んだ「目的とするプログラム」が起動します。
148774ワット発電中さん:2014/01/07(火) 20:04:27.83 ID:Acg3uwyw
>>147
ありがとうございます。そもそもPCのシステムがデバイスを認識していないので
だめかと思いながらブレッドボードの上で足りない回路を補ってスイッチも
つけてやってみたのですがやはりPCのデバイスドライバとしては見えて来ず、
PCのブートローダプログラム上でも not detected 状態です。
実行したのはVDDから10KΩ、MCLRから1KΩを介してつなぎ、そこからタクトスイッチで
アースに落とすというものです。3本ともICSPコネクタに見えてましたので
それらからピンソケットを割ったものをハンダ付けしてブレッドボード上でつなぎました。
149774ワット発電中さん:2014/01/07(火) 21:27:30.54 ID:X9h65t78
>>148
ttp://ww1.microchip.com/downloads/en/DeviceDoc/41342E.pdf#page=1

HIDのバージョンが古いと、XC8でサイレントなコンパイルエラーが起きるようです
これのバイナリ使ってみて
ttp://www3.airnet.ne.jp/saka/hardware/pic-bootloader/pic-bootloader02.html

ICSPから信号取るのやめて、通常ピン(ホール)からとってみたら?
あとVddを5Vに Vusbが3.375VでD+が5Vだとお菓子
150774ワット発電中さん:2014/01/07(火) 23:57:58.54 ID:Acg3uwyw
>>149
前のを消してご紹介いただいたバイナリを書き込んでみました。
HID準拠デバイスがPCのデバイスドライバのリストに現れましたが、
それ以外のことは変わりません。

PICの回路が壊れているとかではなくPCがドライバをインストールしようとしたときに
なんらかの変更がレジストリに対してなされ、さらに何らかの理由によりPCが認識できないまま
になっていると想像しています。

レジストリをどうにか掃除してやり直してみたいと思います。
ありがとうございました。
と思います。
151774ワット発電中さん:2014/01/08(水) 00:04:11.15 ID:2HeugKeZ
回答しといてなんだけど 便乗質問です

新しい3V系PICのフラッシュに書き込む場合は
RCDライターの
  5.1Vツェナを3.4Vに変え
  13Vツェナを8.5Vに変えた
回路で書き込めばいいのでしょうか

5V以下のツェナって期待通りに動かないって聞いたことがありますがどうでしょう

16F84しか使ったことなくて、18F14K50を勉強中です
HIDBootLoaderが書き込んであるPICが安価で入手可能なら簡単なのに
152774ワット発電中さん:2014/01/08(水) 00:25:12.62 ID:1XcR6JRR
RDCライターで18F14K50に書けるソフトってあったっけ?
前探して見つからなくて諦めたんだけど、あったら教えて下さい
153774ワット発電中さん:2014/01/08(水) 00:34:48.23 ID:2HeugKeZ
>>150
いや、それで上手く行ってるんだと思うけど(´・ω・`)

確認:
  Win上のデバイスリストにHIDデバイスが表示されてる
  だけどHIDBootloader.exeでは、NoDeviceと表示されてる

PCを切る>USBを抜く>PC入魂>HIDBootloader.exeを起動>
4番ピンのボタンを押しながらUSBを刺す>ボタンを離す>DeviceReady\(^o^)/


上位天使さま
>>151への回答、お待ちしてます
154774ワット発電中さん:2014/01/08(水) 00:40:13.36 ID:2HeugKeZ
>>152
PICProg4U
回路そのままだと即身仏
Readme.txt嫁

『そして上手く行ったら教えてください』
おやすみ
155152:2014/01/08(水) 02:20:02.19 ID:1XcR6JRR
PICProg4U2.3.0使ってるけど、RCDライタを選択するとPIC18F(K)系が選択肢に出てこない
156774ワット発電中さん:2014/01/08(水) 09:41:29.78 ID:9C23A+tj
PICkit3買うのが最速で幸せになれる方法だと思うよ
157774ワット発電中さん:2014/01/08(水) 09:42:59.93 ID:cx9q+PFx
>>155
素直にPICKIT買うか自作しては
ちなみにオイラはコレを自作
PICKIT2クローン
http://www.geocities.jp/fu1520/kit2/
158774ワット発電中さん:2014/01/08(水) 09:54:49.79 ID:cx9q+PFx
続き、これが最も簡単。
http://slowgucci.cocolog-nifty.com/blog/2013/10/pickit2_clone_-.html
ちなみにPIC18F2550のファームはRCDで書き込む。
159774ワット発電中さん:2014/01/08(水) 18:36:03.27 ID:mC1V5tSb
PICkit3は故障の事も考えるとPICkit2も一緒に欲しいところ。
自分は2と3とICD3を使ってる
160151:2014/01/09(木) 20:30:17.59 ID:0wttuZOl
みなさんありがとうございます
16F84Aの書き込みが不調でいっその事14K50へ移行したく
PICkitのコピー品で考えて見ます

2550・・・
ニワトリが先か卵が先か(´・ω・`)
161774ワット発電中さん:2014/01/09(木) 22:13:30.76 ID:UPo3pzNX
>>155
そんなこんなでPICerFTを作ったんだよね
今ならPICKIT2 CLONEがいいな
162774ワット発電中さん:2014/01/09(木) 22:57:23.69 ID:V14I55Lq
>>160
>>2550・・・
>>ニワトリが先か卵が先か(´・ω・`)

いや、むしろRCDはPICKITのブートローダーと捕らえるべきと思う
163774ワット発電中さん:2014/01/09(木) 23:56:43.45 ID:QczGpR04
RCDライター使い続けたらシリアルポート壊れたこともあった、懐かしい。
164152:2014/01/10(金) 00:36:03.72 ID:OPrbQuTA
やっぱりRDCライタで18F14K50は無理なのね
PICKIT2クローン作ってみようかな…
165774ワット発電中さん:2014/01/10(金) 01:38:36.10 ID:JUosy5ZC
>>164
>PICKIT2クローン
3.3V以下を使いたいなら、PICkit3を1個持っておく方に一票。
電池駆動を目指すならなお更だと思われます。

その上で、クローンなりRCDなり作った方が、動作不良、原因不明で悩まない。
5vオンリーなら、多少残念な回路でも何とか動くとは思う。

2550は、触った感じわりと素直に動くと思う。(5Vのみ電池では知らん)
USBのケーブル通過後の電圧降下が大きい時に動作不良が良くあるので注意。
166151:2014/01/10(金) 02:05:38.35 ID:/FC8WSHI
>>164
まず通常の20ピンと配置が違う

多分、
Vdd=3.3V MCLR=8−9V PGM=0Vか
Vdd=MCLR=PGM=3.3V
さらに書込線が
PGD/PGCなのか(ICSP)
RX/TXなのか(USART)

PICPROG4UはJDM>14K50>RCD?
上手く動くか分からんけど

USBブートローダーが書き込めれば
後はほとんど全てUSBでできるっぽい

ということで
『上手くブートローダー書き込めたら教えてくれ』


>>165
14K50のUSB電源動作の場合
初期値で100mAしか使えない
どっかに500m開放するビットがある
2550も同じ仕組みかも
167774ワット発電中さん:2014/01/10(金) 03:07:57.90 ID:rTeNxb1I
OPTION でエラー、でもOPTION-REGでok。
GODONEでエラーが出てGO_DONEでok。

なんだかよくわからないんですが、どうなってるんですか?
168774ワット発電中さん:2014/01/10(金) 06:09:08.61 ID:6CZXVd7s
>>167
あんたの質問と一緒で必要な事が書いてないんだろ
169774ワット発電中さん:2014/01/10(金) 08:28:19.42 ID:+ohtfwCI
PICKIT2のデバイスファイルは専用のエディタで編集できるので、
新しいデバイスにも実は対応できたりする。

PICKIT3クローンもある
170774ワット発電中さん:2014/01/10(金) 15:36:05.19 ID:rTeNxb1I
>>168
ま、たしかにぶっきらぼうな質問ではあるが、これで意味がわからない人は
答えもわからないと思うんだな。違うかな?
171774ワット発電中さん:2014/01/10(金) 16:17:34.25 ID:Rr4eYkjc
その二組の文字列が、それぞれ同一だと本気で思うのか??
172774ワット発電中さん:2014/01/10(金) 17:06:18.92 ID:rTeNxb1I
>>171
> その二組の文字列が、それぞれ同一


どうゆう意味?
173774ワット発電中さん:2014/01/10(金) 17:33:11.33 ID:ychYg3zN
まぁ、どうでもいい話だよね。 エラーなら仕方無いだろ、書き換えろ
174774ワット発電中さん:2014/01/10(金) 22:29:54.52 ID:rTeNxb1I
>>173

>ないんだろ
>思うのか
>無いだろ、書き換えろ

こうゆう書き方やめない?印象悪いよ。
175774ワット発電中さん:2014/01/11(土) 00:05:32.98 ID:c8YmsH/x
なんだかよくわからない、どうゆう、こうゆうって書き方もイライラするのでやめて欲しい
俺らはエスパーじゃないんだ
176774ワット発電中さん:2014/01/11(土) 00:21:18.29 ID:1gPidYmN
>>174
で、結局何が言いたいのだか? GO_DONEじゃなくて、GODONEが正式だろ!って?
GO_DONEで書けば問題無いのでしょ? 併用できるようにしておけ、と言いたいのか?

GODONEで通したければ書き換えれば? は返答になってると思うが。
そもそもの書込みの趣旨に問題があるのでは?
177774ワット発電中さん:2014/01/11(土) 00:28:56.06 ID:06fAb6NR
>>167
動くコードが  正義
動かないコードは悪
178774ワット発電中さん:2014/01/11(土) 00:59:01.07 ID:06fAb6NR
3V系コアのPICで
Vddを5Vのまま書き込んだら駄目なの?

14K50のデータシート読み込んだけど、全く書いてなかった
ttp://ww1.microchip.com/downloads/en/DeviceDoc/41350E.pdf?#page=307

一方フラッシュプログラミングにはインライン(図2-1)は5V、単独書込み(図2-3)は3Vって
ttp://ww1.microchip.com/downloads/en/DeviceDoc/41342E.pdf

おかしくねぇ? 誰か正解教えてよください
179774ワット発電中さん:2014/01/11(土) 01:26:19.59 ID:bdd2tr9o
180774ワット発電中さん:2014/01/11(土) 01:56:47.39 ID:nr/bAKQ/
「どうゆう」、「こうゆう」って書き方もイライラするのでやめて欲しい
181774ワット発電中さん:2014/01/11(土) 03:33:45.60 ID:ZwZzHBH+
>>167 の質問を見て何がまずいのか考えてた。
どうなってるかを述べた後にどうなってるかを尋ねてるんだこれ。

分かりやすく書き換えると、こうなる。

 OPTIONでエラー、OPTION_REGでOK
 GODONEでエラー、GO_DONEでOK
 となっています。どうなっていますか?

これでは答えようがない。
182774ワット発電中さん:2014/01/11(土) 03:56:59.60 ID:fmZXx004
どーゆー、こーゆー
183178:2014/01/11(土) 19:27:32.80 ID:06fAb6NR
>>179はイケメン 抱かれたい

ふざけちゃいけないかな。

>179さん ご指導ありがとうございます。
おかげさまで14K50の書込みの疑問点は解消しました。
ttp://www.farnell.com/datasheets/483904.pdf?#=page23
184774ワット発電中さん:2014/01/11(土) 21:09:45.96 ID:UfUin9qu
>>181
OPTION  OPTION_REG エラー
この三つでピンと来ない人が回答できるとおもわないけどね。

なんで、なんでもかんでも答えようとするのかな。
知らなきゃ、スルーすればいいのに。

文句をつけたいだけなの?
185774ワット発電中さん:2014/01/11(土) 22:12:51.56 ID:c8YmsH/x
文句が付くような書き込みをわざとしてるんだからこうなることぐらいわかるだろう
人から情報を引き出すにはそれ相応のやり方があるんだよ
それを守れないならGoogleにでも聞いておけ
186774ワット発電中さん:2014/01/11(土) 22:30:14.06 ID:sVQpWMZX
>172
たとえばCのstrcmp関数に"OPTION"と"OPTION_REG"を渡してコンペアしたら
同一の文字列だとみなしてくれると思いますか?という意味ですけれども。

結局コンパイラやプリプロセッサだってインタプリタの一種なんでしょうから
特定のアドレスや機能に割り当てられている予約語を用いるなら
それにあわせる必要があるでしょう。

なんでしたら、OPTION equ OPTION_REG とか定義しておけばいかがですか?(←ためしてない、ダメだったらごめん)
187774ワット発電中さん:2014/01/11(土) 22:37:52.58 ID:UfUin9qu
>>185
たしかにのそのとうり。正面から言われたらそのとうり。

でも、ここはokwebじゃなくて2chなんだから
「OPTIONでエラーがでてOPTION_REGにするとOKになるんだけどなんで?」
じゃだめかね?

答える人も「Googleにでも聞いておけ」程度なんだからさ。
どっちもどっちじゃない?
188774ワット発電中さん:2014/01/12(日) 01:22:24.14 ID:gEwHH8Qu
左手に持ってるの食ったらウンコで右手に持ってるの食ったらカレーだったんだけどなんで?

と聞かれたら、「左手にウンコ持ってて右手にカレー持ってるからだろ」としか答えようが無いじゃないか
他に期待できるのはせいぜい「食う前に気付けよ」って突っ込まれるぐらいだろ
おまえはどういう答え期待してたワケ?
189181:2014/01/12(日) 02:27:30.34 ID:wuTa389h
>>184
何か勘違いされてるが、
ピンとくるが、お前の態度が気に食わない。
そのうえお前の質問は質問になってない。
だから答えようとはせず、まずは質問の仕方を教えようとしている。
文句はつけたいが、だけではない。

とはいえ文句だけ付けた形になってしまったのは申し訳ない。
「何が起こっているか」
「それが起こることの何が問題か」
は質問をするうえで必須だ。
今回は後者が無い。
190774ワット発電中さん:2014/01/12(日) 06:52:26.85 ID:qSordpcZ
質問を正した奴が最後まで責任持って答えてくれるならいいけどな
大抵は手に負えないと分かると逃げてしまう
191774ワット発電中さん:2014/01/12(日) 07:51:21.17 ID:mgmltb08
PIC=うんこ ってことはわかった。
192774ワット発電中さん:2014/01/12(日) 09:10:09.66 ID:YjZUu395
他の初心者も見てるんですからトラブルは他の初心者にもわかるように書いてくださいよ
193774ワット発電中さん:2014/01/12(日) 09:22:38.71 ID:rhmlrjL2
まぁ、レジスタ名称が昔と変わってて・・・なのは確かですね
194774ワット発電中さん:2014/01/12(日) 11:29:01.55 ID:FEw8iF/H
>>192
いいこと言うね、その通りだと思う
195774ワット発電中さん:2014/01/12(日) 11:55:29.19 ID:6ivsHzjS
「いう」を「ゆう」って表記するのはゆとり教育では許容されていたらしい
196774ワット発電中さん:2014/01/12(日) 12:31:52.68 ID:7RBIBg2b
デバッグ用のシリアル送信で困ってるので教えて下さい。
デバッグ専用に簡易版USBシリアル変換を作ろうと、
Microchip Solutionsサンプルの「Device - CDC - Serial Emulator」を
そのまんまPIC18F14K50で作りました。外部との接続用ピンはTX,RX,GNDだけです。

Windows XPのハイパーターミナルだとループバックテストはOKだし、
実際にデバッグ時みたいなシリアル送信をおこなってXPのハイパータミナル画面に
ちゃんと出力されました。

でもWindows8上で、同様なことがどうしても実現できないでいます。
hypertrm.exeとかTera Term Proの画面に何も出力されません。

本物のUSBシリアル変換を使ってWindows 8上でループバックテストを
おこなってみましたが、TXとRX、CTSとRTSを結べば、hipertrm.exeでもTera Term Proでも
OKでした。

Windows XPのハイパータミナルは何か条件が緩いのだと思います。
Windows 8ではどうしたらいいでしょう?

「Device - CDC - Serial Emulator」のソースを、
もっときちんとプロトコルを実装するように修正するかなにかしないと
いけないのだと思いますが、何か他に解決策はありますか?
197774ワット発電中さん:2014/01/12(日) 12:39:10.77 ID:tJji7dcR
まず対向させて送信が悪いのか受信が悪いのか両方ダメなのか見てみたら?
198774ワット発電中さん:2014/01/12(日) 13:57:14.42 ID:Ue9EZ1QH
Windows8だと「フローなし」が選択できないって事ですか?
199774ワット発電中さん:2014/01/12(日) 14:40:37.68 ID:x1W2QTXq
>>196
Device - CDC - Serial Emulator Windows8 で google 検索すると、

ttp://www.microchip.com/forums/m488342.aspx

デバイスドライバーとか、inf関連が問題じゃないかと。。。

PIC18F14K50を接続した時に、正しくデバイスマネージャーに
COMデバイスとして登録されますか。

Microchip Solutionsサンプルに、ドライバーとかinfファイル無かった?
200774ワット発電中さん:2014/01/12(日) 15:35:29.47 ID:7RBIBg2b
>>197-199
XPのハイパーターミナルは緩いと書きましたが、それは正確じゃなくて、
正しくは「XPの(このデバイス用)ドライバーは緩い」が正解だと思います。

>PIC18F14K50を接続した時に、正しくデバイスマネージャーに
>COMデバイスとして登録されますか。
はいもちろんです。デバイスマネージャーで正常なcomポートとして登録されていないと、Tera Term Proでもhypertrm.exeでも
そのcomポートを選択すること自体ができないですから。

ファームウェアのソースをちょっと見てみると
#define USB_CDC_SUPPORT_DSR_REPORTING //Signal
from UART peripheral device, to CDC/USB host. Indicates UART peripheral is ready to receive data and/or commands.
というのがあるので、これを有効にして、
CDCNotificationHandlerが呼ばれる度に
SerialStateBitmap.bits.DSR = 1;のUSBTransferOnePacketを送るようにしても駄目でした。
だけど誤解ないように。全然詳しくありません。ここまで適当に作業してます。

Microchip製のファームウェアとMicrochip製のドライバなのに、仕様が合ってないんですよね。
201774ワット発電中さん:2014/01/13(月) 13:43:35.13 ID:Ufi3IXQc
202774ワット発電中さん:2014/01/13(月) 19:42:39.85 ID:hVYkamDC
表面実装型のPICを使いたいんですが、普通は基板にハンダ付けした後に
ファームを書き込むと思いますが、先にファームを書き込んで、その後に
ハンダ付けをしても問題ありませんか?(書き込んだ内容が化ける、等の
問題は生じないでしょうか?)
203774ワット発電中さん:2014/01/13(月) 19:53:28.85 ID:Ufi3IXQc
>>202
問題ありません。
204774ワット発電中さん:2014/01/13(月) 22:19:21.90 ID:gQT6AF4k
>普通は基板にハンダ付けした後に
ファームを書き込むと思いますが

そうなのか?普通は逆なんじゃないかと
205774ワット発電中さん:2014/01/13(月) 22:29:24.28 ID:1lS+UFmf
>>204
試作の時は、実装後に書き込みが多いが、
量産時は書き込み済みのを実装する事が多い。
(生産台数によるが)
206196:2014/01/14(火) 00:12:24.02 ID:QJIGq4PG
LEDを追加してどこが問題か探ったところ
次のようなハードウェア直叩きのところまでちゃんと呼ばれてました。
#define mUSBUSARTTxRam(pData,len) \
{ \
pCDCSrc.bRam = pData; \
cdc_tx_len = len; \
cdc_mem_type = USB_EP0_RAM; \
cdc_trf_state = CDC_TX_BUSY; \
}
なおさらドライバが問題ぽいですね
207774ワット発電中さん:2014/01/16(木) 23:26:38.57 ID:e6hpwVBv
空きピンってどうしてる?
データシートには外部出力LOにして10k、GNDにつなげって
書いてるけどオープンにしてるとやっぱまずいのかね、今の所問題なさげだけど
208774ワット発電中さん:2014/01/17(金) 00:18:55.33 ID:stwZSkn5
>>207
とりあえず、出力設定にしとけば良いと思う。
209774ワット発電中さん:2014/01/17(金) 22:13:27.55 ID:KqzwjurL
みなさん こんにちは
開発言語のおすすめください(16F、18F)
210774ワット発電中さん:2014/01/17(金) 22:19:21.83 ID:vuBxNfhb
XC8
211774ワット発電中さん:2014/01/17(金) 22:51:33.13 ID:iHbc7BW/
漢は黙ってMPASM!!!(^д^)
212774ワット発電中さん:2014/01/18(土) 12:08:46.28 ID:/mX4b589
>>210-211
XC8だとMPLABのヘッダファイルやサンプルが(そのまま)使えないとか聞いたけど、どうですか?

SwordfishってC言語を推してるHPがあって、どうなのかなって
無料だとHI−TECH、XC8、Swordfishくらいですか

あと、C言語で数ウェイト待ちたいときにアセンブラでNOP入れたいんですけど
Cでアセンブラ書き込む要領を教えて下さい
213774ワット発電中さん:2014/01/18(土) 12:31:59.53 ID:CKluORox
>>212
NOP() っていうマクロが、標準で定義されてる。
214774ワット発電中さん:2014/01/18(土) 14:38:31.08 ID:pSCYYDQH
pic16f88の
INTOSCのレジスタの設定で
stableとno stableと
あるんですけど
どうやって決めたらいいんですかね?
初心者なもんで
デメリットとメリットが分からないです
215774ワット発電中さん:2014/01/18(土) 18:30:25.72 ID:g0gVyqgF
データシートには何て書いてあったの?
ていうか、データシート読んだんだよね?
216774ワット発電中さん:2014/01/18(土) 19:20:11.60 ID:oC4YFMRp
>>215
お前、アフォなの?
217774ワット発電中さん:2014/01/18(土) 20:11:57.85 ID:97l+U+Df
>>214
4.6.4 MODIFYING THE IRCF BITS

(略) Time sensitive codeshould wait for the
IOFS bit in the OSCCON register to
become set before continuing. (略)

IRCFを弄って動作周波数を変更した後に、周波数が
安定したか否かのチェックに使えるようだけど。
スリープ復帰後の動作とかはどうだったかな?
使った事無いから良くは分からんわ。

>>216
何がアフォなんだろ?
218774ワット発電中さん:2014/01/19(日) 19:48:40.43 ID:yomziED6
自分が気に入らないこと言うヤツはみんなアフォなんだってさ。
最近そんな困ったヤツが増えた。
219774ワット発電中さん:2014/01/19(日) 20:08:38.07 ID:nIpeooyh
データシート読んでないのバレたからだろ
220774ワット発電中さん:2014/01/20(月) 16:29:40.69 ID:7RUyJdlu
>>219
> データシート読んでないのバレたからだろ


厳しいね。ここ初心者のスレだからいいんじゃないの読んでなくたって。
221774ワット発電中さん:2014/01/20(月) 16:34:08.96 ID:UvaYBNOr
初心者と不精は違うのよ
222774ワット発電中さん:2014/01/20(月) 16:54:02.85 ID:+obMSk51
ま、質問するのも答えるのも「初心者」ってのがこのスレだろ。
223774ワット発電中さん:2014/01/20(月) 20:37:28.83 ID:5cPkiZwi
データシートに書いてあることの意味が正確にわからない
のが初心者であって…
一生懸命読むための努力はしているつもりなんだけどさ
小学生に大学数学のテキストを読んで理解しろって方が無理なのかも
224774ワット発電中さん:2014/01/20(月) 23:10:50.65 ID:4AfvU8rb
「読んだ」かを論じているわけで
「読めた」かどうかは、読んでみななきゃわからんでしょ
とんちんかんな書き込みだこと
225774ワット発電中さん:2014/01/21(火) 00:26:57.07 ID:Fmv1/XRV
ここ言い争いばっかりになってるけど

質問する人が初心者
回答する人が上級者

これがすべての争いの原因になってないか?

データぐらい読め!>英語がスラスラ読めたら質問なんかするか!
226774ワット発電中さん:2014/01/21(火) 01:00:39.09 ID:5ESxeSQV
初心者スレ普遍の問題っぽいけど、今回の一連の流れは
>>215をあふぉと言った>>216(質問主?)が単独で悪い

データシートのPDF(英文)で問題のビットIOSFを検索して、前後を知ってる単語だけ適当に読んだら
迷ったらONと分かるし、15.12.3 TWO-SPEED CLOCK START-UP MODE に行き当たる

スマホしか持ってないとは言わないだろうし
227774ワット発電中さん:2014/01/21(火) 01:01:47.21 ID:yqAPPyl+
>>225
だから、条件の後出しをするから嫌われるんだよ。
英語が読めない、データーシートが理解できない、って最初に書けよ。
228774ワット発電中さん:2014/01/21(火) 01:16:17.31 ID:mKBEZQ3h
答えてもないし、答える気もないなら無視しておけばいいのにね。 変なのが増えたね
229774ワット発電中さん:2014/01/21(火) 02:44:58.94 ID:Fmv1/XRV
質問する人が趣味でやってる人
回答する人がプロの職人

これもあるかな。
230774ワット発電中さん:2014/01/21(火) 05:02:59.94 ID:mKBEZQ3h
>>229
素人同士でもいいじゃないですか?
俺は動作中のクロック変更だのスリープだの使わないので、Don't careだけどw >IOFS
231774ワット発電中さん:2014/01/21(火) 08:42:18.71 ID:LuXxjkCJ
>>226
答えもせずに調べれば分かるという >>215 はドアホ
232774ワット発電中さん:2014/01/21(火) 08:51:11.45 ID:H8K2IzZe
ケチを付けるだけで具体的なことを書かないのは自分に自信がないから。
ド玄人がよくやる。
233774ワット発電中さん:2014/01/21(火) 13:09:45.79 ID:uoyqJbFl
>>214です
言葉足らずでした!
すいません!
あと>>216は僕じゃないです!

設定の方法は
前に使用したpic(16f1938)とは
型がちがったので
データシート見て確認してました。
なのでそれについては問題ないです

(続く)
234774ワット発電中さん:2014/01/21(火) 13:10:50.81 ID:uoyqJbFl
聞きたいのは
クロックの種類の選択の方針です。

安定バイブレータと
不安定バイブレータって
回路に応じて選択するんですよね?

どういう用途のときに
不安定を使うのかを
教えてほしいです。
235774ワット発電中さん:2014/01/21(火) 13:48:44.95 ID:OGMk0Dex
>>234
IOFSは内蔵発振器が安定しているかチェックするビットです。
> 安定バイブレータと
> 不安定バイブレータって
を選択するビットではありません。

よって、気にする必要はありません。
236774ワット発電中さん:2014/01/21(火) 13:57:28.45 ID:ayoB960Z
>>217
f88使ったこと無かったから今調べたけど、なんでこのビットR/Wなんだろね?
確認だけならRで良さそうなものだけど

新しい1xxxだとレジスタもOSCSTATになってRのみと。
ライトする時ってどんなシチュエーションなのだろう?
237236:2014/01/21(火) 13:59:56.81 ID:ayoB960Z
>>234
あぁ、さんざみんな書いてるし、>>235さんの止めもあるけど、
このビットは読むだけのビットです。
内部OSCが規定誤差以内で動作できているか?を確認するもの。
でもドキュメントはR/Wになってるから面白いね。
238234:2014/01/21(火) 14:14:47.89 ID:uoyqJbFl
ありがとうございました!
説明をみたかんじ
OSCTUNEの設定のときとかに
使うんですかね?
まあ今回の用途ではあまり関係ないので
気にしないでおきます。
続けて質問して悪いんですが
今回内蔵発振器を使いたいんですけど
Fosc=IRCFbit
ってことでいいんですかね?
1/4がFOSCとか書かれてる
サイトがあるので
よく分からないんです
239774ワット発電中さん:2014/01/21(火) 14:31:15.33 ID:NBvgXDoq
クリチンポがpicpicしちゃう
240774ワット発電中さん:2014/01/21(火) 14:52:29.19 ID:YyDW4U5k
>>まあ今回の用途ではあまり関係ないので
>>気にしないでおきます。
>>続けて質問して悪いんですが
お前何様、Fosc=IRCFbitについてもまた、同じようにコメントする気か?
>>まあ今回の用途ではあまり関係ないので
>>気にしないでおきます。
どうでもいいような質問を自分で調べもせず、おしえてもらったのにその態度はなんだ、失礼にも程がある。
241774ワット発電中さん:2014/01/21(火) 17:15:54.49 ID:mKBEZQ3h
>>238
OSCTUNEの時は影響受けるのかどうか分からんね>IOFS
シフトが起きてるのか、知る手立ては無いみたいな記述もあるような。
>4.5.2 OSCTUNE REGISTER

>the INTOSC clock will stabilize within 1 ms. Code execution
>continues during this shift. There is no indication that
>the shift has occurred.

Fosc はオシレータ周波数の事なのではないかな。
命令サイクル=Fosc/4と話が混ざってんのかな。
242774ワット発電中さん:2014/01/21(火) 22:41:42.78 ID:f0JG30XR
>>236
回答ありがとうございます
すごくわかりやすいです!

>>240
>>235さんが気にする必要は
ありませんといってくれたので、
気にしないでおきますと発言しました。
お気に触ったようなら謝罪します。
すいませんでした。
それと自分で調べてからわからないことだけ
質問しに来ているのでおしえてもらうことには
すごく感謝しています。

>>241さん
データシート見ました。
There〜のくだりですよね?
OSCTUNEのときは関係ないみたいですね
データシート見ずに憶測で
用途について発言したので
申し訳ないです。これからきをつけます。

Foscについては下のURLでよく分からなかったので聞きました。
http://www.maroon.dti.ne.jp/koten-kairo/works/dsPIC/config.html
243774ワット発電中さん:2014/01/22(水) 00:11:16.53 ID:KgwiUDl2
>>242
次回からはokwebあたりで質問したほうがいいよ。
ここはなんかメンドクサイ連中のサロンだから。
何かいちゃもんつけようと待ち構えてるからね。

やっぱりわしらは誰かに管理してもらわないとうまくいかないんだよ。
244774ワット発電中さん:2014/01/22(水) 00:33:35.79 ID:e0CTxLL1
無責任、保証なしの便所の壁の書き込みなのに
礼を求めたりあわよくば対価を得ようとするメンドクサイ連中。
245774ワット発電中さん:2014/01/22(水) 00:45:28.84 ID:IJf9mqZz
いくつかmixiのフォーラム入ってるけど(PICフォーラムってある?)
今、mixiって息してる? お勧めはOKWEB?

やっぱログ読んで勉強して、わかんないとこ質問って形がいい
最初は何を質問していいかわかんないというのは永遠の課題ってことでw(初心者)
246774ワット発電中さん:2014/01/22(水) 00:50:01.71 ID:+Rer5WRf
>>245
mixiにPICコミュはあるが、息してない
247245:2014/01/22(水) 01:23:59.87 ID:IJf9mqZz
>>246 情報乙です
じゃあおいらはここで勉強するか

過去ログにあった18Fをアセンブラでっていうの読んだ
勉強になるけどやっぱりCがいいや
Z80のころはアセンブラしかなかったし、4KBで十分だった
248774ワット発電中さん:2014/01/22(水) 02:40:16.25 ID:KgwiUDl2
むしがよすぎるかもしれんが、microchipの人も少し介入してくれて手に余るような
質問には答えてくれたら、picの発展につながるとおもうんだがね。
あるいは日本語のフォーラムつくってくれるとか。

なんせ、ここは魔境だから。
249774ワット発電中さん:2014/01/22(水) 07:59:05.09 ID:pNKhgJmt
>あるいは日本語のフォーラムつくってくれるとか。
有るよ。おもいっきり過疎っているけどね。
250774ワット発電中さん:2014/01/22(水) 09:27:43.63 ID:Z6+8vMtD
本家のmicrochipに日本語で投稿できる掲示板あるやん。投稿したことあるで(どやぁ
251774ワット発電中さん:2014/01/22(水) 11:37:12.71 ID:FWrwMLoP
tiのマイコンスレってある?
BLE112-AとpicでBLEデバイスを作ろうと思ったんだけど
これBLE112-Aだけで出来るんじゃね?
と思いました・・・
252774ワット発電中さん:2014/01/22(水) 22:43:50.11 ID:KgwiUDl2
>>250
それはしらなかった。
ここのほうがまだましなのか。
253774ワット発電中さん:2014/01/23(木) 13:04:22.09 ID:Tbpl1ns3
真冬寒いとよく落ちるんだけど
コンデンサ容量増やしたら直ったような気がしたんだけど
関係ある?
254774ワット発電中さん:2014/01/23(木) 13:12:08.20 ID:Ww3HxiUc
電解は温度でコンデンサの挙動が変わるから
冷やすと暴走って症状も回路構成次第ではありえるお
低温環境でも稼働させるならコンデンサ選びも慎重にね
255774ワット発電中さん:2014/01/23(木) 16:24:29.30 ID:vxKVWdZr
いやいやいやいや
-40度とかならいざ知らず、日本の冬程度でコンデンサの温度変化で
挙動が(ry とかおかしいから。
本当にそうなら、設計の許容幅が狭すぎですから。
256774ワット発電中さん:2014/01/23(木) 16:28:00.82 ID:ykJpMXLg
>>255
PCが冬の朝に起動しなくなって、しばらくオンオフすると起動、起動してしまえば問題ないのは、
たいてい電解の劣化で、ESRと周波数応答が悪くなってくるからですよ。
マイコン機器でも起動時の負荷が重いと、リセットかかったりします。
257774ワット発電中さん:2014/01/23(木) 17:29:42.92 ID:d7ll45xp
PIC10、12、16系でロータリーエンコーダを読み込む最強のサンプルはどれ?
258774ワット発電中さん:2014/01/23(木) 20:51:01.76 ID:yIurO0uW
>>257
自分で作ることです。最強ですよ。
人の作ったものをそのまま流用するなんて、怖いじゃないですか。
259774ワット発電中さん:2014/01/23(木) 20:54:37.06 ID:d7ll45xp
そうなの?
260774ワット発電中さん:2014/01/23(木) 20:59:54.38 ID:x+8tk+s9
理解もできず組み込むだなんてなかなか難しいことをいいなさる。
というわけでロータリーエンコーダのドライバ(?)ぐらいは自分で作りなさい。

一通り悩んでからサンプルを見に行くとかすると、結構はかどるよ?
261774ワット発電中さん:2014/01/23(木) 21:06:07.35 ID:d7ll45xp
いくつか公開されてるのを試してみたら、カウントミスしたり一瞬逆走したりするものばかりで
秋月の安物クラスじゃ満足に動かないみたい。
プログラムの出来じゃなくアルゴリズムのところで要改善だと思うけど、
オレには思いつかないんで他力本願で行こうかと。
262774ワット発電中さん:2014/01/23(木) 21:14:01.89 ID:uJ5OMHYh
>>261
それは多分コンパイルの最適化ができてないんだと
Cのサンプルのアルゴのループ部分をアセンブラで書き直す
263774ワット発電中さん:2014/01/23(木) 21:47:32.96 ID:qxIWjPof
>>261
ELMさんのところで公開してるステートマシン方式?を参考にするといいかも
264774ワット発電中さん:2014/01/23(木) 22:03:38.36 ID:AzeWnKc0
キャプチャをミスってる ってーのは容易に想像付きそうなのだけど。
アルゴリズムで要改善の前に、使ってるアルゴリズムを理解できてるのかな・・・
265774ワット発電中さん:2014/01/23(木) 22:12:17.04 ID:d7ll45xp
>>263
同じ考え方のを一発目に試して全然駄目だった。
光学エンコーダとか、ものすごく綺麗に矩形波が出ないと無理っぽい脆弱なやつ。
266774ワット発電中さん:2014/01/23(木) 22:25:04.85 ID:qxIWjPof
>>265
あれって素直にステートマシンで組むのと同じなのかと思ってたけどそうでもないのかな?

A相とB相の状態図を作って確実にカウントすべき遷移だけでカウントすればいいはずだけど、
それでだめなら入力のチャタリング対策とかするしかないでしょ
267774ワット発電中さん:2014/01/23(木) 22:26:09.10 ID:d7ll45xp
安いエンコーダは接点式だから少し使えばLo側(接点ON時)に乱れが出るわけで、
それを考慮したアルゴリズムじゃなきゃ光学式以外でマトモに動かないと思うわけで、
実際も思った通りでミスばかり。
知恵のないオレは接点式を諦めるしか無いのか。
接点式でちゃんと動くソース書ける人は、勿体無すぎて公開しないんだろう。
268774ワット発電中さん:2014/01/23(木) 22:48:38.16 ID:B9jk+nqk
コンデンサ付ければ一発
269774ワット発電中さん:2014/01/23(木) 22:57:38.55 ID:/f+N28y4
秋月で昔DDSをコントロールするキットを買ったけどダメダメだったな。
結局高額エンコーダを買って自分で作り直した。
270774ワット発電中さん:2014/01/23(木) 22:57:40.87 ID:uJ5OMHYh
>>267
接点式なんて使うなよ
余分な手間が増えるだけでたいした金の節約にならん
271774ワット発電中さん:2014/01/23(木) 22:59:19.76 ID:d7ll45xp
>>268
LPFつけてもある程度の改善にしかならんし、容量増やすと速く回した時に取りこぼすことになる。
なので強いソフトを探しているんだ。
272774ワット発電中さん:2014/01/23(木) 23:03:05.52 ID:IsL1KAAY
>>257
dsPIC(PIC24?)ならエンコーダー内蔵がある。
273774ワット発電中さん:2014/01/23(木) 23:07:32.46 ID:AzeWnKc0
回路が腐ってるのはどうにもならんだろ。 腐ってる通りにしかプログラムは動かん。
イジけた振りしてもダメ
274774ワット発電中さん:2014/01/23(木) 23:23:51.21 ID:d7ll45xp
あ、回路のほうでふと思ったんだが、何も考えずに単純にLPFで波形鈍らせるだけじゃなく、
しきい値をうんとHi側に持っていけば、軽いLPFでも強くなるんじゃなかろうか。
なんか見落としあるかな?
275774ワット発電中さん:2014/01/24(金) 00:00:05.71 ID:aLmfyFD/
あ、回路はスレチだな
みんなありがとう
公開ソースで駄目なら光学式使うよ。
276774ワット発電中さん:2014/01/24(金) 01:11:28.26 ID:rGp9GrRR
もちろんコンデンサにシュミットインバーターつけるんだよ。
277774ワット発電中さん:2014/01/24(金) 02:03:37.71 ID:w7mi3Wo2
あ、なんか分かってきた。
ちょっと面白そうだから明日暇なとき考えてみる。
278774ワット発電中さん:2014/01/24(金) 17:26:26.66 ID:C8BLSPpq
18F14K50をつかってシリアル通信USBエミュレーター作ってみた。
picからpcへの送信はサクサクうまくいくんだけど、逆の受信は
もたついていまいち。

そこで、USBシリアル変換モジュール、ケーブルでも買おうと思って
秋月のサイト見てるんだけど、これってどうなの。
送信、受信ともサクサク動くの?
279774ワット発電中さん:2014/01/24(金) 19:10:52.85 ID:dWbqEAnE
>>278
そこまでやってるのに完成品買うの?
http://akizukidenshi.com/catalog/g/gI-00469/
280774ワット発電中さん:2014/01/24(金) 20:04:08.29 ID:yCPlo+rk
なんのこっちゃ
281774ワット発電中さん:2014/01/24(金) 21:30:30.57 ID:ZLor3DWy
279 って馬鹿なの?
282774ワット発電中さん:2014/01/24(金) 22:07:35.69 ID:SyjaiLFl
>>278
>逆の受信はもたついていまいち
具体的には?
283774ワット発電中さん:2014/01/24(金) 22:44:54.56 ID:dWbqEAnE
貼り間違えたったwww
284774ワット発電中さん:2014/01/24(金) 23:29:42.21 ID:O/6PN4eK
>>278
PICの処理速度(割り込み処理)が遅いのが原因。
285774ワット発電中さん:2014/01/24(金) 23:39:23.45 ID:w7mi3Wo2
ロータリーエンコーダ読みコード書いてみた。
良かったら使って結果を教えてくれ。

#define ROT_A 0
#define ROT_B (ROT_A+1)

readrotenc:
movf GPIO,W
movwf temp
rlf temp,F
xorwf temp,F
xorwf last,F
btfsc temp,ROT_B
comf last,F
btfsc last,ROT_A
incf count
btfsc last,ROT_B
decf count
movwf last
retlw 0
286774ワット発電中さん:2014/01/24(金) 23:45:57.17 ID:OpnVhUsR
それc言語?
287774ワット発電中さん:2014/01/25(土) 00:12:14.31 ID:5KSS07dU
1クリックで4カウントか。まともに動かないよ。
288774ワット発電中さん:2014/01/25(土) 00:34:53.48 ID:P5S3/5XY
>>284
USBシリアル変換モジュール、ケーブルは性能どうなの?って聞きたかったんだけど
話はズレちゃったなー。


ちなみに、xpパソコンのRS-232Cを使ったシリアル通信では、送信、受信ともサクサク。
で、usb接続の18F14K50のエミュレーターでやるといまいちもたついて、受信が時には
数秒遅れる。一文字しか送ってないのに。

エミュレーターはこちらのサイトから
http://www.pwv.co.jp/~take/TakeWiki/index.php?Arduino%2FPIC18F14K50%E3%82%92USB%E5%A4%89%E6%8F%9B%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BC%E3%81%AB%E3%81%99%E3%82%8B
hexファイルをインストールしただけなので、プログラムはまったくわからない。
289774ワット発電中さん:2014/01/25(土) 00:55:12.97 ID:IV8Tk9kB
>>267
ソフトウェアでチャタリング除去するには
状態が変化したらタイマーを初期化してタイマーフラグとか見て安定するのを待ってから
取り込んだりするんだよ
290774ワット発電中さん:2014/01/25(土) 00:55:48.20 ID:aYG+uzAF
どっちの受信が遅れるのかよくわかんないけど
呼び出し元でバッファをflushしてますか?
291774ワット発電中さん:2014/01/25(土) 01:11:59.79 ID:SMU/x2yS
>>289
その方法でまともに動くのはエンコーダが新品のうちだけで、少し使ったらバウンスノイズが酷くなってエッジ以外でミスカウントを始めるんだな。
製品には使えない。
コンデンサと抵抗で波形を丸めて、やっと使えるレベル。
ソフトだけで対処したい素人は光学式使って幸せになればいい。オレもそうした。
292774ワット発電中さん:2014/01/25(土) 01:20:40.92 ID:IV8Tk9kB
>>291
ハードとソフトの対策を併用すりゃいいんじゃないの?
機械式ってツマミとかの入力用だと思ったけど、Digikeyで光学式は安いのでも千円近いから
複数あるとツライだろうな・・・
293774ワット発電中さん:2014/01/25(土) 01:39:30.00 ID:P5S3/5XY
>>290
> 呼び出し元でバッファをflushしてますか?


残念ながら意味がわかりません。どこのバッファですか?
RS-232Cを使えばtera termからキーボードのAを押すとpicが文字”a”を認識してLEDが一瞬光ります。
Aを連打してもすばやく反応します。
エミュレーター経由の場合はキーボード押しても一瞬間があいて光ります。時には数秒あきます。
連打はできません。
294774ワット発電中さん:2014/01/25(土) 01:53:06.01 ID:7qezNnv7
CDC Serial EmulatorじゃなくてCDC Basic Demoためしてみ
それでもたらないようならお前の書いたコードが悪い
295774ワット発電中さん:2014/01/25(土) 02:07:27.01 ID:fM8AbFSB
そこは秋月さん 非常に分かりにくい形で対処法を説明してる
ttp://akizukidenshi.com/download/ds/topup/EC12PLRGBSDVBF-D-25K-24-24C-61/08-6H(SPEC).pdf?#page=4

チャタリング<5ms
位相差>=2.5ms
600−1000回転/1時間で寿命30000回転

おいらには、機械式エンコーダーを使う自信がない(ここまでひどいか?)
296774ワット発電中さん:2014/01/25(土) 02:25:45.76 ID:+ThdDH3q
光学式ロータリーエンコーダーなんで自作すれば数百円じゃん
297774ワット発電中さん:2014/01/25(土) 02:28:17.90 ID:kST3jI/T
>>278
CDC Basic Demoだと
Tera Termで数十バイトのテキストファイル送っても
即座に返ってくるよ
CDC Serial Emulatorは知らない
298774ワット発電中さん:2014/01/25(土) 02:34:27.81 ID:SMU/x2yS
>>296
うまく自作できる人はうらやましいわ
作らずに言ってるだけなら可哀想な人だが
299774ワット発電中さん:2014/01/25(土) 11:25:07.71 ID:425S2W0M
>>296
分解能180°なら僕にも出来そうだ
300774ワット発電中さん:2014/01/25(土) 14:19:32.93 ID:aYG+uzAF
>293
フラシュは、PC側(ターミナルソフト)の話。
自分で組んだものなら、putsとかで送ったつもりでも
内部で改行まで貯めることでシステム資源の浪費を
回避しようとしてくれる処理系もあるんですし御寿司。
301774ワット発電中さん:2014/01/25(土) 18:13:56.22 ID:hu+8jyx3
ロータリエンコーダは用途で使い分けるのでは?
:有接点エンコーダ…低速用で粗い、手動で回して数値の設定などに使う。
:無接点エンコーダ…高速用で細かい、モータ軸などに付けて位置決めなどに使う。
低速用途に高速用を使うのも、高速用途で低速用を使うのもナンセンスだと思う。

私が秋月のロータリエンコーダ\200を使った時は、
買ってきてすぐに、早く遅く& CW/CCWに何度も回して、
チャッタをオシロで確認してから読み取りソフトを組んだ。
もちろんチャッタ時間以上の高速では取り込めないけど、
そんなに早く手では回せないw

プルアップ抵抗だけでMCUに取り込んでいるけど、問題なく使えている。
(今のところは。将来、接点が劣化するかどうかは分からない。
もしも劣化してチャッタが増えたら、またオシロで観測してさらにチャッタ除去時間を長くするか、
それとも新品と交換するか決めないと)
302774ワット発電中さん:2014/01/25(土) 22:31:53.20 ID:SMU/x2yS
>>301
キミの分類ではこれはどうなるの?
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3AWB-A5LL
303774ワット発電中さん:2014/01/26(日) 01:12:39.21 ID:TFxn+LpK
ロリーターエンコーダーって何をエンコードしてくれるの?
普通の人をロリコンにエンコードしてくれるのかな?
304774ワット発電中さん:2014/01/26(日) 01:30:08.22 ID:K/sXyfo0
>>300
秋月の中華はスペックで1000回転/時間って3.6回転/秒だかんね
仮に24歯だったら11ms/歯なのにチャターが<5msで位相差>2.5msってことは、
指の腹使って気軽に操作したら満足に回転が検出できないと思うんだ

>>301
アルプスだったらもうかなりましだと思うけど(こっち買いたいけど最近戦国でかってないからなぁ)
305774ワット発電中さん:2014/01/26(日) 02:28:59.01 ID:xPf5c6qQ
今の秋月は中華より安いアルプスがあって、中華より波形が汚いよ。
306774ワット発電中さん:2014/01/26(日) 13:10:38.22 ID:z4DpvxPa
>>302
では「ただし高信頼性の無接点タイプもある」を追加させて下さい。
\500程度だったらすぐにでもこのタイプを購入して、
秋月のエンコーダと交換したいな。

>>304
1000回転/時間=1回転/3.6秒では?
24パルス/回転だから、最高速度でのパルス周期は
3600mS/24パルス=150mS/パルスになる。

>>305
私も中華製とアルプス電気製の両方買って中華製の方を採用した。
もう3年も前なので理由は忘れてしまった。
307774ワット発電中さん:2014/01/26(日) 15:30:49.08 ID:xPf5c6qQ
>>306
オレが書いたエンコーダ入力ルーチンは軟弱だから、アルプスは1週間くらいで誤作動し始めた。
で中華200円に替えて半年経つが、実用レベルで動いている。
誰か劣悪信号でも平気な強力読み取りルーチン公開してくれ!
308774ワット発電中さん:2014/01/26(日) 17:40:28.58 ID:z1IvmaFA
やっと分かった。
つまりチャター時間>位相差の時でも逆走・カウント飛びのないプログラムを作ればいいのか。
面白くなってきたので考えてみる。
「人は突然一瞬逆走させたりしない」って仮定を入れれば
チャター時間<パルス幅までは何とかなりそうな気がするんだよな…。
309774ワット発電中さん:2014/01/26(日) 18:13:04.69 ID:xa78aJ4E
チャタリング回避にタイマー使うと、高速回転させた時に取りこぼすことになるよね。
310774ワット発電中さん:2014/01/26(日) 21:20:33.91 ID:xa78aJ4E
A相かB相の変化を検出して、チャタリングが治まったころにもう一つの相を読んで、
それがHiかLoかで方向を割り出すってのがよくある方法だけど、やってみると弱いんだよね。
よくこれで満足できるなぁって感じ。
CRとシュミットトリガ入れてやっと使えるレベルになる。
311774ワット発電中さん:2014/01/26(日) 22:42:04.12 ID:euvYnRWB
>>310
10kHz位でサンプリングして、FIRとかIIRフィルター組めば良いだろ。
312774ワット発電中さん:2014/01/26(日) 22:47:28.70 ID:xa78aJ4E
キミはそうやればいい。接点劣化には対応できないだろうけどね。
313774ワット発電中さん:2014/01/26(日) 23:26:35.08 ID:TFxn+LpK
>311 は多分何も分かってないと思うよ。FIR とか IIR の意味も分かってなさそうw
314774ワット発電中さん:2014/01/26(日) 23:28:32.25 ID:QFBDB/s6
CRローパスフィルタを使わず、12F1822でうまくいってるブログがあったが、程度がわからん。
315774ワット発電中さん:2014/01/27(月) 00:21:21.17 ID:0RoMVgjC
デジタルフィルターだと接点劣化には対応できなくて、CRとシュミットトリガ
入れてやっと使えるレベルになるという理屈が分からん。
316774ワット発電中さん:2014/01/27(月) 00:23:08.72 ID:GIg3kci5
修行しろ
317774ワット発電中さん:2014/01/27(月) 02:37:08.62 ID:4YwPxavb
>>314
なぜそこでリンクを出さない?
318774ワット発電中さん:2014/01/27(月) 12:23:22.70 ID:oFJZJtu4
私が秋月の中華ロータリエンコーダを使った時は
----------
A相のエッジで割り込みを掛けて、割り込みの中で
1.B相を読み、そのH/Lレベルに従ってCW/CCWカウンタを+1する。
2.A相の割り込みを禁止する。
3.タイマ割り込みを許可する。

タイマ割り込みでは
1.A相の割り込みを許可する。

通常の処理ではCW/CCWカウンタを見て、0でなければCW/CCW対応処理を行う。
----------
みたいな作りだった。
問題点は、
エッジ割り込みなので、入ってきたノイズのタイミングによっては100%誤動作する。
次のクリック位置で停止するまでのタイマ(チャッタスキップ)時間が重要になる。
利点は<チョー簡単>につきる。
このエンコーダ以外では動作しないかもしれないし(トライした事は無い)、
多分、ド玄人から「そんなものが実用になるか」と言われると思う。
319774ワット発電中さん:2014/01/27(月) 12:34:10.54 ID:DaLg//4u
私の場合はタイマー割り込みでA相B相を読み取って、前回と比較判断をしていた。
確か秋月の資料に状態変化の比較みたいなのがあって、それをそのまま使ったと思う。
320774ワット発電中さん:2014/01/27(月) 12:42:01.55 ID:cZRJ4jmc
こんな回路でどうでしょうか?
http://img.wazamono.jp/pc/src/1390794062591.png
321774ワット発電中さん:2014/01/27(月) 13:01:16.79 ID:IGa7qi/8
>>319
普通はそれでまったく問題ない。俺も同じ。
あとは出力端子の波形を見ながら、CRを調節するだけ。
ロータリーエンコーダーごときにそんなに苦労しないと思う。
322774ワット発電中さん:2014/01/27(月) 13:03:54.55 ID:DaLg//4u
>>320
違いは極性が逆位か。
センターGNDで、プルダウンがプルアップ、100Kも10Kで、セラコン0.01uFの回路。
ユニークな事に16F628Aだが、入力結果をコンパレータの結果CxOUTを拾ってた。w
323774ワット発電中さん:2014/01/27(月) 13:04:19.43 ID:nfnoxl/Y
使い込むとすぐ誤動作し始めるけどね
324774ワット発電中さん:2014/01/27(月) 13:06:16.76 ID:IGa7qi/8
>>320
時定数は、ロータリーエンコーダの最高回転周波数と、PICの最低読み込み間隔を決めて、
そこから計算して決定する。最終的にはオシロで波形見て決める。
接点に流す電流は多く流せば速度は上がるが、多いと接点が荒れて壊れる原因になるから気をつける。
325774ワット発電中さん:2014/01/27(月) 13:30:29.15 ID:0RoMVgjC
デジタルフィルターでも結果は同じだよね
326774ワット発電中さん:2014/01/27(月) 13:32:57.73 ID:cZRJ4jmc
だいたいはそうなんですけど、
10kと100kの1:10くらいの比を設けないと、↑と↓の充放電の傾きが変わってしまいます。
あと、PICはシュミット入力のピンを使います。でないとCRで積分した意味が薄れます。
こうすれば、「相手んが安定するまで待って判定」なんてやらなくてもいいので、
高速化が可能です。
ノイズが乗って、回転方向と逆にカウントするようなエンコーダーは使えないですから。
327774ワット発電中さん:2014/01/27(月) 13:37:51.73 ID:nfnoxl/Y
積分時間だけ遅くなるでしょ。高速化が可能とは言えないでしょ。
328774ワット発電中さん:2014/01/27(月) 13:54:58.03 ID:IGa7qi/8
>>327
高速化って、普通の機械式のREで、どのくらいの回転速度を想定してるの?
データシートのチャタ以上の速度は出ないぞ。
329774ワット発電中さん:2014/01/27(月) 13:58:33.80 ID:IGa7qi/8
>>326
そのノイズを取るのがCRとソフトウェアのアルゴリズムの仕事だと思うんだけど?
330774ワット発電中さん:2014/01/27(月) 14:11:23.79 ID:nfnoxl/Y
意味の通じない人は置いといてっと

↑と↓の傾きを同じにする必要は無い。チャタ時間も接点OFF側とOFF側で違うしね。
100kΩとかインピーダンス高くすると外来ノイズにも弱くなるよ。
331774ワット発電中さん:2014/01/27(月) 15:06:47.80 ID:MXRDuxnx
PIC18でXC8使ってるんだけどさ、レジスタバンクの設定するところで必ず
MOVLBを2回連続で使ってるんだけど何でだろう?
free版だから嫌がらせなのか?
332774ワット発電中さん:2014/01/27(月) 17:13:42.07 ID:cZRJ4jmc
>>330
>↑と↓の傾きを同じにする必要は無い。
そうですか? 同じでないと、遅い方の動作速度に律則されませんか?

>100kΩとかインピーダンス高くすると外来ノイズにも弱くなるよ。
さすがですね。回路図ではあのように書いてありますが、
100kとCは、PICの直前に設置します。
10kは、エンコーダーの接点電流により決定します。
もちろん、PICの入力ピンはシュミット入力を使用します。
適切なCR+シュミット入力ピンを使えば、
ほとんどのアプリケーションで、ソフトのチャタ取りは、不要になります。

通常の押しボタンSWと異なり、
エンコーダーは、接点容量が少ないので注意が必要です。
333774ワット発電中さん:2014/01/27(月) 17:37:58.82 ID:cZRJ4jmc
>高速化って、普通の機械式のREで、どのくらいの回転速度を想定してるの?
データシートのチャタ時間はわかんないけど、
12パルス/回転 のエンコーダーで、指で回す最高速度として、3回転/secを考えると、
12×3=36パルス/s=36Hz、duty=50%とすれば、H=L=13.9ms。
H/Lになってから、1/2までの時点で正逆判定するとして、7ms以内。
100k × 4700pF = 470us @63.2%。
1msのタイマー割り込みで充分拾えそうな気がする。
334774ワット発電中さん:2014/01/27(月) 17:38:55.59 ID:nfnoxl/Y
抵抗比を大きくするのは、結果として遅い方に合わせてることになるよね?
遅いのは接点ON→OFFの時で、この方向はチャタが少ないから無視でいい。
OFF→ON側だけ観測してチャタがしっかり取れればOK。
だが、使い込むとチャタが増えるから余裕を持って大きく鈍らせなきゃ駄目。
それは高速化を犠牲にする。
335774ワット発電中さん:2014/01/27(月) 17:47:36.40 ID:nfnoxl/Y
http://longyi.web.fc2.com/encoder.html
Cを接点にパラったら劣化が加速するだろ!と突っ込みたくなった
336774ワット発電中さん:2014/01/27(月) 18:11:43.40 ID:Msdqa7DB
±1以外の変化を無視してれば生でもおk
337774ワット発電中さん:2014/01/27(月) 18:35:53.02 ID:QerE7rYF
ルーチン次第
338774ワット発電中さん:2014/01/27(月) 18:50:26.79 ID:QerE7rYF
達人のソフトならこんな状態でも正確に動くんだろうなぁ
http://jr4pdp.blog.enjoy.jp/.shared/image.html?/photos/uncategorized/2013/12/04/kemren2.jpg
339774ワット発電中さん:2014/01/27(月) 18:51:43.76 ID:sGd5igxl
達人はそもそもそんなエンコーダーを使わない
340774ワット発電中さん:2014/01/27(月) 19:23:55.31 ID:cZRJ4jmc
>>335
その通り。理屈の上では無限大アンペア流れることになるよね。

>モヤモヤが発生しており、余り気持ちが良くありません。
それは測定方法が悪いからだよ〜 と突っ込みたい。

なんで3.3kなんだ。10kと、値が反対だよ。
341774ワット発電中さん:2014/01/27(月) 19:24:03.58 ID:4YwPxavb
ふと思いついたら、やはり先人がいたw
ttp://cranberrytree.blogspot.com/2013/05/arduino.html
342774ワット発電中さん:2014/01/27(月) 21:40:18.40 ID:QerE7rYF
343774ワット発電中さん:2014/01/27(月) 22:44:03.33 ID:DaLg//4u
>>326
全部10Kにしたのは部品を揃える都合もあって。
外来ノイズ耐性か、確かに。でも100K位でも近傍なら負けそうもないきがする。
立ち上がり立ち下がりに関しても考慮すべき?は>>330氏の言でよし?
344774ワット発電中さん:2014/01/27(月) 23:47:04.40 ID:pciz4+bb
>>335
電流が少なすぎても、接点が錆びやすくなって、寿命縮む。
スイッチによっては、最低電流が決まってる物もある。
345774ワット発電中さん:2014/01/27(月) 23:49:22.15 ID:QerE7rYF
>>344
具体的にどの接点式ロータリーエンコーダに最低電流が決めてあるのか知りたいな
無いと思うけど
346774ワット発電中さん:2014/01/27(月) 23:49:45.93 ID:pciz4+bb
>>325
デジタルフィルターの方が急峻な特性作りやすいので、有利と思う。
最高の回転数決めておいて、それ以上の周波数成分は落とすとか。
347774ワット発電中さん:2014/01/28(火) 00:20:12.09 ID:Zncg7bsR
最高の回転数決めておいて、それ以上の周波数成分を落としちゃ〜〜駄目だろ
やってみればいいよ。うまくいったら褒めてあげる
348774ワット発電中さん:2014/01/28(火) 01:32:40.89 ID:2T4U0d8s
1msタイマー割り込みで読んでビット列のFIFOバッファに入れて
OFFが3個並んだらOFF、それ以外はONでいいんじゃねぇか
349774ワット発電中さん:2014/01/28(火) 01:56:15.92 ID:Zncg7bsR
350774ワット発電中さん:2014/01/28(火) 02:33:35.47 ID:u7xNYFRK
>>349
A端子の立ち下り わろす
ここまでひどいとは思わんかった
これの出処と使用時間は?
351774ワット発電中さん:2014/01/28(火) 07:34:06.68 ID:Kvc/zr7Z
>>338
私が使ったロータリエンコーダ(クリック位置で停止)と
エッジ検出方式のアルゴルリズムなら読めると思う。
しかしエンコーダも用途によって変わってくるし、
<この読み取りソフトがあれば全てOK>というのは難しいだろうな。
352774ワット発電中さん:2014/01/28(火) 08:59:21.98 ID:/wDUpln8
>>346
デジタルフィルター使うとして遅延と折り返しはどうするつもりなの?
ま、アナログ知らない奴はデジタルデジタルって言うこと多いな。
それともソフトで積分かけるのもデジタルフィルターって言うのかな?
353774ワット発電中さん:2014/01/28(火) 10:15:11.64 ID:z8dY2Sid
まずはCRでフィルタしてシュミットで受けるのが基本でしよ。
354774ワット発電中さん:2014/01/28(火) 12:39:13.66 ID:rh2GmTaN
USB機能付のPIC18を使ってますが、2つの同じ自作ハードに対して

純正HID Bootloader(13-06-15版)は表向き、どちらも正常に動く。
Loadしたファームは片方でしか動かない。
動かない方も、全く動かないわけではなくUSB周りだけが動かない。
(USBに無関係なTimer割り込み処理などは正常に動いている)

という症状が出ていて解決の目途が立っていません。
原因として何が考えられますでしょうか。

また、こういった場合はどうやって原因を絞り込むのが常套手段でしょうか?
355774ワット発電中さん:2014/01/28(火) 12:57:54.13 ID:Kvc/zr7Z
>>353
アマチュア電子工作では、シュミットトリガ入力の74HC14や74HC540は納得分岐ICだと思う。
シュミットトリガ入れたけどノイズで誤動作した、という場合に、
<対策したんだし、いつも誤動作するってわけじゃないし>と諦められる。
プロなら<くそっ面倒な事になったぞ>と胃が痛くなるけど。
356774ワット発電中さん:2014/01/28(火) 13:02:12.33 ID:FHXVD7En
>>354
ソケット使ってるなら、PIC入れ替えて症状が移行するか見てみたら?
357774ワット発電中さん:2014/01/28(火) 13:50:25.22 ID:Zncg7bsR
>>351ってひょっとして、
>これはアルプスのロータリーエンコーダーのものです。こういう物があるので万能な処理ロジックは存在しないのです。
の台詞があるブログ主ですか?
それとも読者かな。

>>356
トラブルシューティングが苦手な人って、切り分けと良否判定が下手なんだよね。
358774ワット発電中さん:2014/01/28(火) 13:57:35.20 ID:xun0S/+s
>>355
シュミット使えばいいってもんじゃないと思うよ。
前段にCRで電圧の変化を抑えることをしないと、シュミットの意味は無いよ。
具体的に言うと、チャタがあっても、それをシュミットの窓内に収めてから
シュミットに入れる。74HC14なら窓は1Vね。
359774ワット発電中さん:2014/01/28(火) 14:14:47.70 ID:IkCWfK4G
接点復活剤塗ってみたらエロい目にあったぜ
絶対にやるなよ
360774ワット発電中さん:2014/01/28(火) 15:22:42.41 ID:BpYkBxSW
>359
いくらチンコがPICPICしないからって接点復活剤をED治療薬だと誤解するのは
古今東西お前ぐらいだろうから安心汁w
(亀頭は乾いていても実は粘膜らしいからナイーブだよ、溶剤はやめておけ・・・)
361774ワット発電中さん:2014/01/28(火) 15:40:22.63 ID:Kvc/zr7Z
>>357
その文章は私が書いたものではないです。今初めて見ました。

>>358 前段にCRで電圧の変化を抑えることをしないと、シュミットの意味は無いよ。
もちろんノイズ対策にシュミットトリガ入力ICを使う理由は
信号を積分する→スレッショルド横断に時間がかかる→出力がばたつく
の防止です。書くまでもないと思ったのですが。

うーん、でもよくよく考えてみたら、これまでにデータバス、アドレスバスなどを
積分回路無し74HC540やHC541で入力した事もあるなぁ。
<全く意味が無いことも無いのかもしれない>ぐらいで妥協していただけないでしょうかw
362774ワット発電中さん:2014/01/28(火) 15:44:28.48 ID:9fZK5hAA
どうでもいいけど(よくないけど)、74HC540ってシュミットじゃないですよね?
メーカーによるのかな?
363774ワット発電中さん:2014/01/28(火) 15:47:42.46 ID:/wDUpln8
>>361
ヒステリシスってもちろん知ってるよね
364354:2014/01/28(火) 16:51:33.63 ID:IuGIIkCW
>>357
すいません、分かる方だけお願いします(馬鹿はご遠慮願います)
365774ワット発電中さん:2014/01/28(火) 16:52:42.04 ID:TdIGa3Ih
>>362
お前は日本語が不自由なのか?
別にID:Kvc/zr7Zを味方しないが、
「積分もせず、シュミットで受けないやり方を今までもした事がある」
って書いてあるんじゃないの?

実際完璧なは無理だと思うが、ある程度使用に耐えるはあると思う。
366774ワット発電中さん:2014/01/28(火) 17:55:26.34 ID:Kvc/zr7Z
>>362
>>365
74LS540/LS541を74HC540/HC541と書いてしまい、意味が曖昧な文章を書いてしまいました。
迷惑をかけてしまって申し訳ありません。反省しています。
367774ワット発電中さん:2014/01/28(火) 18:57:13.65 ID:Fnl0ekPU
VRで境界電圧設定できるようにしたコンパレータとLPFで出来ないものかな
時間あったら組んでみる
368774ワット発電中さん:2014/01/28(火) 19:34:17.85 ID:vgmBdOjj
もう面倒だからTHEN2000を買って幸せになっちゃおうかな。
でも途中で発生するバウンスにはノーコメントだから、どうなんだろう。
369774ワット発電中さん:2014/01/28(火) 21:39:21.14 ID:MKNiFpG6
>>355
納得分岐ICって概念なんかいいな。
370774ワット発電中さん:2014/01/28(火) 22:06:35.16 ID:THWiCAfp
>>317
12F1822CRフィルター無しがあったよ。ソースもHEXも公開してないけど。
ttp://yawatta.seesaa.net/article/314485205.html
動画がある
371774ワット発電中さん:2014/01/28(火) 23:06:22.62 ID:TdIGa3Ih
>>367
コンパレータと書いた者です。
VREFと比較で割り込み使ってやった。
それなりではあるけど、徹底的な要求仕様に耐えるとは思わない。
あんなにノイジーな波形では自信ない。
372774ワット発電中さん:2014/01/29(水) 11:06:51.47 ID:l5BKdhqw
多重サンプリングと最高速リミットと逆回転禁止タイマとあと何か要る?
373774ワット発電中さん:2014/01/29(水) 20:46:15.35 ID:rCfDtQ49
>372 電々宮の御札。
374774ワット発電中さん:2014/01/30(木) 01:21:49.92 ID:PPaeoH2d
ロータリーエンコーダの話って、2013年1月号のトランジスタ技術に
24パルスのロータリーエンコーダをエッジ検出で96パルスとして使う方法ってのが載ってた。
結構良い感じに動作するみたいだね。
375774ワット発電中さん:2014/01/30(木) 17:01:49.32 ID:R45D9wxM
エンコーダが新品のうちは快適だが、すぐおかしくなってくるよ。
376774ワット発電中さん:2014/01/30(木) 17:16:49.69 ID:NCxnKh/i
pickit3でPIC18F14K50に書き込みをしようとしているのですが
MPLAB IPEv2.00でPIC18F14K5を選択しtool(Pickit3)を選択後
コネクトすると

Connecting to MPLAB PICkit 3...
Connection Failed.

と出て、先に進みません
PICが繋がっていないって事だとは思いますが
接続配線は何度も見直しましたが一向に改善できません
何か原因は考えられますか?
377774ワット発電中さん:2014/01/30(木) 17:25:06.12 ID:lViW71N7
PICKIT3はPICKIT2が使えないときに使うものです
378774ワット発電中さん:2014/01/30(木) 17:43:46.73 ID:+ZRBi/dG
>>376
それはPickit3が認識出来てないんじゃないの?
IDEとかでは認識する?
379774ワット発電中さん:2014/01/30(木) 19:59:13.52 ID:i4yc7f4u
>>376
多分電圧設定が違う(というか既に壊れたかも)
みんなに教えてもらったから、このスレ最初から読みかえしぃや
380774ワット発電中さん:2014/01/30(木) 20:06:28.31 ID:R45D9wxM
PICkit3.exeでファームを切替えるFAQかな
381774ワット発電中さん:2014/01/30(木) 21:55:21.37 ID:NCxnKh/i
ide使って見たらファームが古いと言われ
アップデートしたら認識して使えました
ipeの時は何も出なかった・・・
アドバイスしてくれた人ありがとう
382774ワット発電中さん:2014/01/30(木) 22:36:37.53 ID:ZskHt5s0
>>376
俺は14K50は書き込みできたけど、12F675が書き込みできなくてまいってる。
パソコンwin7にしたけどおなじだった。
対策はなさそうだよ。買い換えるしかないかもね。
383774ワット発電中さん:2014/01/31(金) 00:48:58.90 ID:/4SC8V31
>>382
ファームを、バージョンダウンすれば、書けると思う。
いつの頃からか、非対応になった。
384774ワット発電中さん:2014/02/01(土) 00:59:17.33 ID:H8umipa/
秋月でpickit2とpickit3をまとめて買おうとしたら、店員にそれでいいの?と念押しされてしまった。
電源供給能力の高い2、最新デバイス対応の3どちらも必要なんで・・・と言おうとおもったけど
面倒だからスルーした。

秋月のpickit2の在庫も大分減ってきたからそのうち取り扱い終了になるかもね。
385774ワット発電中さん:2014/02/01(土) 01:39:52.95 ID:vXJnacKB
>>384
そんなに高い買い物じゃないし両方買って正解だと思うよ
3が壊れたときに2が使えるし2にはオマケ機能あるし
386774ワット発電中さん:2014/02/01(土) 03:00:15.91 ID:CxaGxPXn
ファームを何度書き換えても使えないからPICkit 3 Programmerで使い続けている
もう一台買ってみるか
387774ワット発電中さん:2014/02/01(土) 20:02:36.91 ID:lhBa7rhh
>>385
pickit2のおまけ機能ってなに?
388774ワット発電中さん:2014/02/01(土) 20:38:15.80 ID:Bpmc6HHk
どうして知らないの?
389774ワット発電中さん:2014/02/01(土) 20:41:16.36 ID:vXJnacKB
>>387
シリアル送受信機能やロジックのI/Oツールや簡易ロジック・アナライザ機能とか
390774ワット発電中さん:2014/02/01(土) 20:48:30.89 ID:lhBa7rhh
ロジアナとかは3にもついてるよ
391774ワット発電中さん:2014/02/01(土) 23:19:18.95 ID:qH4m/GAP
PICKIT3 ロジアナを使うとファームウェア死亡の一歩手前 の巻
http://sabaiwashi.blog112.fc2.com/blog-entry-103.html
392774ワット発電中さん:2014/02/02(日) 00:55:38.34 ID:QtvqjqZ6
>>391
MPLAB X IDE v1.95?から 常にPickit3と通信してる見たいですね。
PICの電源 ON/OFF するたびに、[Target detect]とかメッセージが
出る様になった。
393774ワット発電中さん:2014/02/02(日) 03:36:50.85 ID:+IYC+O1D
ライターぐらい自作しろよ
394774ワット発電中さん:2014/02/02(日) 06:22:28.62 ID:NnWkpffN
>>391
このブログ、何言ってるかわからんね。
この人日本語ネイティブじゃないかも。
395774ワット発電中さん:2014/02/02(日) 08:34:13.79 ID:UsrFz/wY
picのPDFファイルは長すぎて必要な項目探すのがたいへん。
みんなどうしてるのかな。そこで、必要なとこだけ切ってまとめてみたら意外に
すっきり使いやすい。参考までに。


16F688のデータ
http://seclus.web.fc2.com/16f688/16f688.html

16F690のデータ
http://seclus.web.fc2.com/16f690/16f690.html
396774ワット発電中さん:2014/02/02(日) 12:03:42.93 ID:2CaIg7zZ
APLAB IPEやPICKIT3 PROGRAMMER起動しても、
書き込みボタンが押せない状況なんですけど、
何がいけないのでしょうか?
CONNECTボタンで確認すると、
CONNECTION FAILEDと赤字になってます。
397774ワット発電中さん:2014/02/02(日) 12:06:52.24 ID:3wKRe3Pg
故障です
398774ワット発電中さん:2014/02/02(日) 15:55:16.07 ID:ihd5mgJe
>>395
大文字で定義されてるレジスタ名は小文字にしない方がいいな
399774ワット発電中さん:2014/02/02(日) 17:46:55.17 ID:X200OPy6
>>395
データシートというものは、「チップのデータを、読みやすく書く」ものではなく、
「チップのデータを、余さず書く」のが目的だからこうなる。
必要とする人がわずかであっても、そのチップを使用する上で必要なデータは書く。

それに、ソフトウェア開発で必要な情報と、ハード開発で必要な情報には重ならない部分もあるけど
どちらも書いておく必要があるから、ソフト屋から見れば不要な情報でもハード屋には必要って場合もある。

慣れてくれば自分が必要な情報がどのあたりにあるかはわかってくるから、不要な部分はスルーすれば良い。
スルースキルが大事
400774ワット発電中さん:2014/02/02(日) 18:16:08.43 ID:pPMrc0LQ
>>396
電源がOFFか線がつながっていない
401774ワット発電中さん:2014/02/02(日) 21:00:04.77 ID:2CaIg7zZ
>>400
電源というのは、KIT3のことですか?
電源はONです。
配線も間違いなく繋がってます。
402774ワット発電中さん:2014/02/02(日) 21:03:26.50 ID:P7JKRYdZ
動かないって書き込む他人の間違いなく〜ってのは大体間違ってるからなぁ
403774ワット発電中さん:2014/02/02(日) 21:07:11.52 ID:wv98JUoG
PC初心者のあるあるですね
404774ワット発電中さん:2014/02/02(日) 21:31:06.78 ID:b3+aLreu
>>399
完全同意!ごもっとも
405774ワット発電中さん:2014/02/03(月) 02:03:31.77 ID:ei/kyIkR
うまく動かない対処の心得
・不具合原因で考えられる要因を沢山出す
・上記項目数は技術力に比例する
・上記項目の中から、一番可能性の高いものから潰していく
・上記不具合原因発見確率は技術力が高い程、確率も高い

初心者は項目出せない
原因発見確率も低い
な・の・で
安直な壊れている判断を直ぐに下す
まずはやった内容、配線図を曝しましょう
406774ワット発電中さん:2014/02/03(月) 05:42:01.29 ID:0qbmlQrS
>>395
Adobe Readerの簡易検索で必要な部分はすぐ表示できるよ
407774ワット発電中さん:2014/02/03(月) 06:15:00.28 ID:0qbmlQrS
>>396
IDEからもだめなの?
PICKit 3 Programmerでは何と表示されるの?
408774ワット発電中さん:2014/02/03(月) 11:22:04.81 ID:pw0mBpOe
MPLABのPickit3の電源供給設定は非常に判り難いところにあって実に使いにくいしリセット操作もできない
PICKit 3 Programmerと併用しようと思ってもいちいちファームを入れ替える必要がありしかも更新にたまに失敗する
どうにかならんもんか
409774ワット発電中さん:2014/02/03(月) 20:30:19.75 ID:0qbmlQrS
>非常に判り難いところにあって
もう慣れた
>更新にたまに失敗する
一度も経験無い

が、最近はMPLAB X IDEとPICKit 3 Programmerを両方起動させて
コーディングはMPLAB X IDEで、プログラムはPICKit 3 Programmerで
410774ワット発電中さん:2014/02/03(月) 21:10:02.03 ID:ciAjijP+
PICKIT3のファーム更新?
これは何?
どういうときに、更新する必要あるんですか?
更新方法のサイトって、見つからないですがあります?
411774ワット発電中さん:2014/02/03(月) 21:23:24.50 ID:6r+Y01Qz
落ち着いて
412774ワット発電中さん:2014/02/03(月) 21:45:44.27 ID:I4O2fdjZ
>>410
24F→18Fとか、種類が違うものを焼くときにファームウェア変更していることの話では?
413774ワット発電中さん:2014/02/04(火) 02:15:12.82 ID:Ho9SxiWP
MPLABから書き込むときと
PICKit 3 ProgrammerでHEXを書き込むときとで
PICKit 3の設定が違う。
MPLAB ModeからPICKit 3 Programmer仕様に戻すには
PICKit 3にOSを書き込みなおさなきゃならない。

ってことでは?
414774ワット発電中さん:2014/02/04(火) 02:59:21.02 ID:0IVF6Oyp
ttp://www.ne.jp/asahi/air/variable/picmel/integration/write/pickit3/

>工場出荷時のPICkit3ファームウェアは、

ttp://www.microchip.com/forums/tm.aspx?high=&m=468826&mpage=3#481245

>からダウンロードできます。その場合、別のICD系プログラマが必要になります。

>その後、最新のMPLAB IDEでPICkit3をアクセスし、最新のファームにアップデートします。

最後の一行が通常のファームのアップデート?の方法になる。

各デバイス特有のデバッグ情報と書き込みシーケンスは、
デバイス名選択し、実プログラムを書き込む時にPICkit3へ追加プログラムされる。
415774ワット発電中さん:2014/02/04(火) 16:46:20.21 ID:f/hTZ5pI
うちの環境では、
MPLAB X IDE v2.00 から書き込み可能
MPLAB X IPE v2.00 Connection Failed
PICKit 3 Programmer 3.10.00 から書き込み可能

Programmerは更新終了しててこれからはIPEで
ってどっかで読んだんだけど、
個人的には結局IPEって意味あんの?
って感じです。
皆さんどんなですか?
416774ワット発電中さん:2014/02/04(火) 20:19:58.42 ID:sCt8r1LF
>>413
とりあえず、
>PICKit 3 ProgrammerでHEXを書き込むときとで
このやり方でいいので教えてください。
Programmer立ち上げたのはいいですが、書き込みどころか、
デバイス選択もできない状況なんです。
MPLABは分かりません。
417774ワット発電中さん:2014/02/04(火) 21:54:51.11 ID:cWmJ9fAH
418774ワット発電中さん:2014/02/04(火) 22:30:38.28 ID:sCt8r1LF
>>417
起動後、こんなメッセージの表記があります。
「The PICKIT3 is in MPLAB mode.Use the tools menu
to download an OS compatible with this application.
419774ワット発電中さん:2014/02/04(火) 23:30:07.41 ID:PaVoHFfv
420774ワット発電中さん:2014/02/05(水) 00:11:47.88 ID:/Z8FciRa
>>419
おお、書き込めました。
どうもありがとうございました。
ちなみになんですが、
今後、PICKit 3 ProgrammerでHEXファイルの書き込みするだけなんで、
インストしてしまったMPLABはアンインストールしても
Programmerでの書き込みに影響はないでしょうか?
421774ワット発電中さん:2014/02/05(水) 00:29:34.75 ID:gDHIgZI8
>>420
お役に立ててよかったです。

以前はmikroBASICとPICkit 3 Programmerの組み合わせで使ってましたから、
たぶん影響は無いと思います。
422774ワット発電中さん:2014/02/05(水) 15:12:35.78 ID:oFnK6QoF
みんなこんなのあるの知ってた?
WDTCON
ふつうWDTっていうとconfigで設定するけどこれはいらない。
SWDTENでいつでもon,offできるからさらに便利!
423774ワット発電中さん:2014/02/05(水) 15:53:00.76 ID:P+pSh/P3
>>422
16f1xxxとか使い始めた頃から知ってるよ。
新デバイスでメインで使いそうな奴はpdfを細かく精査しないかい?
424774ワット発電中さん:2014/02/05(水) 15:54:31.10 ID:7zzI475e
外国の人ですか?
425774ワット発電中さん:2014/02/05(水) 18:27:46.44 ID:5T8za3F1
簡単に止めちゃったらウォッチドッグの意味がないんだけどな
426774ワット発電中さん:2014/02/05(水) 22:15:49.60 ID:i3TvnkNI
そういや簡単にタイムアウト時間変更出来ちゃってウォッチドッグの意味あるのかな
427774ワット発電中さん:2014/02/06(木) 10:58:30.73 ID:zhhTTUA/
スリープから目覚めるために使う機能だろ
428774ワット発電中さん:2014/02/06(木) 12:57:38.55 ID:ee5JtbMm
>426
FSRに該当タイマのアドレスを入れることが 無いように組めばいいんでね?
429774ワット発電中さん:2014/02/07(金) 21:51:40.10 ID:QvDZjI4I
ロータリーエンコーダが読めないの
430774ワット発電中さん:2014/02/08(土) 10:38:03.91 ID:xOjWndg1
一生読めない
431774ワット発電中さん:2014/02/09(日) 13:11:26.51 ID:NONLM6ZL
一生嫁ないわたくしが質問します。

C18 で 18F4550のPORTDをパタパタさせたいんだけど、
TRISDとかPORTDとか「そんな名前知らん!」って怒られちゃいました。
PORTBとPORTCはちゃんと認識するし、 Delay1KTCYx();なんかもちゃんと動くので
ヘッダーファイルのinclude辺りはうまく言ってると思うんですが、。
なんかデータシートの隅々まで読まなきゃならん罠でもあるんですかね?

エラーメッセージ
〜プロジェクト名〜main.c:57: error: (192) undefined identifier "TRISD"
〜プロジェクト名〜main.c:62: error: (192) undefined identifier "PORTD"
432774ワット発電中さん:2014/02/09(日) 13:21:46.98 ID:vDmAZhuD
>>431
18F4550専用のファイルはincludeしてる?
433774ワット発電中さん:2014/02/09(日) 13:54:54.81 ID:yIDoSihp
行かず後家?
434774ワット発電中さん:2014/02/09(日) 13:59:07.77 ID:jzZFNFHL
>>431
開発環境は?
デバイス設定が18F2550になってるとか?
435774ワット発電中さん:2014/02/09(日) 15:54:38.86 ID:s57sRUzk
>>432
だなー、そこが違うくらいしか思いつかない
PORTDがないCPU用のヘッダ使ってるってところじゃね?
436774ワット発電中さん:2014/02/09(日) 19:38:31.71 ID:NONLM6ZL
>434
MPLAB X 
Project PropertiesのDeviceが2550になってマスタ。。。
くだらないことでお騒がせスマソ。>ALL
437774ワット発電中さん:2014/02/09(日) 23:37:36.31 ID:B4LYVckO
まあ初心者あるあるだから、今度そんな初心者を見かけたらやさしく教えてあげてね^^
438774ワット発電中さん:2014/02/12(水) 09:58:52.01 ID:eGWMMAaV
Xportという、RS232をEthernetに変換するモジュールがあります。
これを2つ使うと、PICのピン(txd)→Xportのピン→Ethernet→Xportのピン→(RXD)PICのピン、という、
Ethernetを使ったRS232延長ができる、
と言う考え方は正しいでしょうか?
439774ワット発電中さん:2014/02/12(水) 10:10:45.60 ID:Hx5lz4U5
まあまああってるけど、厳密にはNG。LANTRONIXのだよね。
通信プロトコルはシリアルだけどRS232Cの電圧じゃなかった希ガス。
440774ワット発電中さん:2014/02/12(水) 10:14:12.38 ID:Hx5lz4U5
念のためググったらやっぱりそうだった−YO 232Cレベルじゃない。

接続は>>438のでおkみたいね。
http://www.cqpub.co.jp/hanbai/books/37/37251/37251_10syo.pdf
441774ワット発電中さん:2014/02/12(水) 10:21:20.48 ID:rVTXkqFt
5VのPICでレベルが問題ないって書いてあるけど、PICの場合ペリフェラルに
設定するとシュミット入力になるという迷惑設計だから問題ありと思う。
442774ワット発電中さん:2014/02/12(水) 10:58:46.81 ID:Hx5lz4U5
手元のデータシートがPRELIMINARYで項目空欄だったからテケトーに最近のデタシトを覗いてみたッス

http://www.robotsfx.com/robot/img/PIColo/PIC16F193X_JP.pdf
INPUT LOW VOLTAGE
 IO PORT D031 with Schmitt Trigger buffer
  Max.:0.2 VDD
INPUT HIGH VOLTAGE
 IO PORT D041 with Schmitt Trigger buffer
  Min.: 0.8 VDD
両者とも、2.0V≦VDD≦5.5V

PICの最悪側をみると、L入力が5V*0.2=1V(を超過でHに誤認しえてるから、それ未満を要す)、
H入力が2V*0.8=1.6V(未満だとLと誤認する可能性があるからそれ以上を要す)と。

XPort03以降のHは2.4V以上、Lは0.4V以下
大丈夫な様な気がするんですが、すみません、どのあたりがNGなんすか?>>441 ><;
443774ワット発電中さん:2014/02/12(水) 11:11:14.55 ID:Hx5lz4U5
あれ?逆か、さーせん><;

Lが2V*0.2=0.4V未満を要し、
Hが5.5V*0.8=4.4V以上いるのに
4.4V > 2.4V なのでNGってことですか・・・ 全然足りないじゃん!
444774ワット発電中さん:2014/02/12(水) 11:20:43.69 ID:Hx5lz4U5
CQ出版がつかえるといっているのなら足りないというのも誤認か?と
思い、改めて>>440をみてみたら、RE3とかPORTAやPORTBはTTLだからおkぽいですお・・・
PORTCがST(シュミットトリガー入力)みたいですしおすし
445774ワット発電中さん:2014/02/12(水) 12:10:35.15 ID:rVTXkqFt
>>444
PIC16F193XはUSARTがPORTCでもともとシュミットトリガーだけど、
少し古いけど16F690なんかは下の22ページ TABLE 1-5を見ると
I/OポートのときはTTL入力でもUSARTに設定するとシュミットに
なってしまう。

RB5 TTL CMOS General purpose I/O.
RX ST &#8212; EUSART asynchronous input.

http://ww1.microchip.com/downloads/en/DeviceDoc/41262E.pdf
446774ワット発電中さん:2014/02/12(水) 12:28:59.97 ID:Hx5lz4U5
>>445
なんと・・・解説アザーッス! ムリポですね・・・orz

ちなみに、LantronixのXPortは、通信ピン以外にもピンをGPIOに割り当てられて、
パケットを送ることでH/Lを切り替えるような制御もできたはずですので
CQ出版の記事(リンク先は見本なので冒頭のみ)は、そのGPIOを使って
TTLポートとやりとりする内容だったのかもしれません・・・ ギギギ
447774ワット発電中さん:2014/02/12(水) 13:20:15.94 ID:rVTXkqFt
ソフトUSARTにすれば逃げられるけど実用性は疑問符が付くね。
仕方ないので74VHCT04を2個入れるとかしてる。
448774ワット発電中さん:2014/02/12(水) 14:19:33.60 ID:Hx5lz4U5
都合がつくなら、PICも3.3V駆動すればええんゃ☆
449774ワット発電中さん:2014/02/12(水) 19:31:18.27 ID:Sore6a68
エロい人教えてください
アナログ入力としてピンを設定した場合
立ち上がり又は立ち下がりエッジの検出による状態変化割り込みは可能ですか?
(※微量の変化でもエッジとして検出が可能かどうかはデータシートを見ても特に書いてありませんでした)
450774ワット発電中さん:2014/02/12(水) 19:35:54.69 ID:cIg2e3WD
IO部分の回路を見ればわからないか?
たぶんできると思う
451774ワット発電中さん:2014/02/12(水) 20:41:52.36 ID:rVTXkqFt
アナログ入力にするとデジタル入力のゲートを閉じるから
できないんじゃないの。
ゲートを閉じないと中途半端な入力電圧のとき消費電力が
増えちゃうからね。
必要な変化はデジタルとしてのH/Lレベルの規格。
452774ワット発電中さん:2014/02/12(水) 20:47:33.41 ID:ilO35/Il
内蔵コンパレータ使うというアイデア
453774ワット発電中さん:2014/02/12(水) 21:32:00.61 ID:Sore6a68
>>450-452
ありがとうございます
この質問は静電容量分圧器方式(CVD)によるタッチセンスに関することです
要はセンサーを指で触れると静電容量が変化してAーDコンバータの入力電圧が下がるというものですが
このセンサー入力のソフトをループ(while(1)など)で監視するのが嫌なので
割込みで処理できないかと考えましたがループでの処理しかないですかね
コンパレータの割込みですか・・・検討してみます
454774ワット発電中さん:2014/02/12(水) 22:19:33.94 ID:MOcnQH9r
>>453
CVDは、ループで時間をみる方式ではなく、値をみる方式だよ。
質問からコンパレーターで正解と思って居たが、質問自体が皆に伝わってなかったかと。

タッチセンサーは刻々と、状況が変わるから、コンパレーターでは不向き。
公式サイトに、方式の細かい説明と確かPIC24のサンプルが有るからそれを見るのをお勧めする。
455774ワット発電中さん:2014/02/12(水) 22:25:30.17 ID:Ru5VgMdb
>>453
ごめんなさい、
ループは全体の処理のループですね。
でも、割り込みは精度が悪いと思います。
456774ワット発電中さん:2014/02/12(水) 22:43:39.90 ID:Sore6a68
>>454-455
ありがとうどざいます
公式サイトでこの方式に該当するAN1334、AN1104は確認できました
PIC24のサンプルも調べてみます
457774ワット発電中さん:2014/02/22(土) 15:47:57.28 ID:MoyVuMh0
USARTを同期式で使用しようとする場合、送信と受信を交互に繰り返すのが1番容易な手段かと考えました
初期の通信のタイミングを合わせたい場合、スタート・ストップビットがないのでマスタ側の動作としては
送信モード:同期クロック、データ 出力 → 受信モード:応答Y/N? → Y:通信確立   N:同期クロック遮断、一定時間後に同期信号、データ再出力
というふうな手順を繰り返し通信の確立を図ろうと思ったのですが、一般的に同期式を使用する場合はどのような方法が取られているのでしょうか?
初心者でこの程度しか思いつかず正しいのかどうかも分かりません
教えていただきたく思います
458774ワット発電中さん:2014/02/22(土) 17:09:19.25 ID:hanb6sKq
同期式はスレーブ側のファームが鬼門だよ
クロックはマスタから来るわけだから自分のタイミングで送信できない
クロックが来たとしても、スレーブ側からはマスタからの送信のためのクロックなのか
マスタが受信しようとしてクロックを出してるのかが分からない
さらに、SPIのようなCS信号がないと何かの拍子で一度ビットずれが起きると以降ズレたままになる
459774ワット発電中さん:2014/02/22(土) 17:52:49.13 ID:MoyVuMh0
難易度が高そうですので非同期式を使用することにします
失礼しました
460774ワット発電中さん:2014/02/22(土) 18:07:56.27 ID:hanb6sKq
>>459
ゴメンよ、そういうつもりではなかったんだけど
俺もいつも >>458 を考えた挙げ句、UARTでいいやってなるから
誰か銀の弾丸持ってないかと思って書いたんだけど、誰かいない?

個人的なアイディアを出すと、9bitモードでMSB=1なら送信したいデータとするという事
スレーブ側は通常0が送信されるように設定しておいて、必要なときは0x1??を送信する。
マスタ側も自分が送信するデータはMSB=1で送信して、受信したいときは0を延々送り続ける

こんなんでうまい事行かないかなと思うんだけど、
俺が使おうとしたRXでは「スレーブモードで送信データ空の時は、最後に受信したデータが
送信されます」というトンデモ仕様だから使えんかった…
461774ワット発電中さん:2014/02/22(土) 18:49:15.56 ID:MoyVuMh0
レス待ちの間にもデータシート読んだり繰り返し考えていました
同期信号があるのでそれを利用して例えば、1の連続した数で8ビットのデータ幅に囚われない信号を生成すれば・・・とも考えました
ですが、自身のプログラミング能力では途中で嫌気が差してきそうなので今回は動作の信頼できる非同期式にしたいと思いました
462774ワット発電中さん:2014/02/22(土) 19:01:02.19 ID:hanb6sKq
やっぱりそうなるよなぁ
こうやって考えるとさ、UART考えたヤツって凄いなって思うよな
463774ワット発電中さん:2014/02/22(土) 19:46:50.85 ID:kfOwd3eJ
MPLABX IDEとXC8の環境下でビルドをすると次のような表示が出力されます(ビルドは成功しています)
これらの原因とそれを解決するにはどうすれば良いのでしょうか?
1. process_begin: CreateProcess(NULL, mplabwildcard build/default/production/ファイル名.p1.d, ...) failed.
2. :: warning: (1273) Omniscient Code Generation not available in Free mode
(※2はPROエディションの試用期間を利用するとか有料版を使用すれば良いですかね)
464774ワット発電中さん:2014/03/10(月) 20:55:44.28 ID:H+/mE6VI
ほしゅ
465774ワット発電中さん:2014/03/10(月) 21:55:41.43 ID:ORJVL+qw
>463
ファイルパスに変な文字があるとそうなるってよ。
フォルダ名に漢字使ってたり、スペースが入ってたりしない?
半角英数だけの文字でフルパスを表現できるようにリネームしてみてはいかがでせう・・・
http://www.microchip.com/forums/m775658.aspx
466774ワット発電中さん:2014/03/10(月) 23:15:12.66 ID:46WJLROM
>>465
ありがとうございます
MPLABX IDEではなくMPLAB IDEの時に
その問題で苦労した経験があってパスには注意しているんですけどね
残念ながらリネームしましたが同じでしたね
467774ワット発電中さん:2014/03/10(月) 23:22:38.33 ID:m0llgFys
その手の問題はスペースがダメだとか階層が深いとファイルパスがとぎれるとかそういうのもあるよなぁ…。
後ユーザーネームが日本語だったりするとダメとか。
468774ワット発電中さん:2014/03/10(月) 23:43:19.72 ID:yC36qgyE
>>467
そこなんですよね
MPLAB IDEはユーザーネームに全角を使うと
ロゴを表示した直後に終了で起動すら拒否しますからね
469774ワット発電中さん:2014/03/11(火) 00:23:39.69 ID:X1DrpG7X
Windows7なら、MPLAB X を起動するときに、
アイコン等を直接ダブルクリックするんじゃなくて
右クリックしてポップアップメニューを表示して
『管理者として実行(A)』ってのを選択してやってみるのも試してみてくだしあ
470774ワット発電中さん:2014/03/26(水) 01:12:05.13 ID:CY3wqF2B
MPLAB IDE V8.91 と C18 Lite ver3.46 と PICKit3 を使ってPIC18F25K22 の
デバッグをしてるのですが、MPLAB上でブレイクポイントを設定すると
かなり高確率でブレークポイントを設定した行ではなく、その一行下で止まるんです。
関数を呼ぶ所に設定した場合、関数の中に入ってから止まるんです。

そういうものなのですか? 皆さんどうなんでしょう?

 TRISB |= 0x01;   ← この行にブレークポイントを設定しても
 TRISC |= 0x40;   ← この行で止まる

 Function( );   ← この行にブレークポイントを設定すると関数の中で止まる
471774ワット発電中さん:2014/04/10(木) 21:53:57.24 ID:L7X8AJiR
8bitPICではそういうもの
どうしてもブレークポイントの次の命令で止まるから、デバッグ中は関数の前にnop()入れる
472774ワット発電中さん:2014/04/15(火) 01:47:29.91 ID:dMTNzlnv
>>471
やはりそういうものなんですね。
PICのデバッグについて触れてるブログとかを見ても、『ブレークポイントの次で止まる』
みたいなのは見当たらなかったので、こうなるのひょっとして自分だけ? と思ってました。

というか気にしてるのが自分だけなのかな・・・だいぶ慣れましたけど。
473774ワット発電中さん:2014/04/15(火) 18:09:55.69 ID:JA8IZg7E
デバッガ使う人がいなかったりして・・・
474774ワット発電中さん:2014/04/15(火) 18:42:13.09 ID:6N1FyC8T
そんなもんだ。実行前に止めるっていうのは面倒くさいから。
475774ワット発電中さん:2014/04/15(火) 19:12:02.94 ID:N9jPS2Ze
確かに8bit PICでデバッガ使いたくなるような状態になったことないな
476774ワット発電中さん:2014/04/15(火) 19:22:34.09 ID:+XCsDHpy
>>473
おれもデバッガ使ってない。UARTでログ吐かせるだけ。
特に制御系のソフトだと、停止させるとかえって動作判らなくるし。
477774ワット発電中さん:2014/04/15(火) 20:21:35.43 ID:Zla8Ft47
デバッガは初めてdsPICを使うときによくお世話になったくらいかな、今は全然。
478774ワット発電中さん:2014/04/15(火) 20:27:48.01 ID:N9jPS2Ze
>>477
dsPICくらいだと、それなりの長さのコード書くからねえ
8bit PICだと小さいからデバッガいらない
479774ワット発電中さん:2014/04/16(水) 18:17:36.93 ID:TE29Qvbz
>>478
>dsPICくらいだと、それなりの長さのコード書くからねえ

全く関係ない。コードの長さは目的次第。
480774ワット発電中さん:2014/04/19(土) 08:59:02.04 ID:boyRKdsi
dsPICをまじめに使うならDSPを生かすって事だから、必然的にコードは短くなる。
481774ワット発電中さん:2014/04/22(火) 08:59:36.56 ID:A/ZlMWzA
>>478
使った事が無いんだろうけど、DSPはリアルタイムに動いてなんぼなので、必然的にプログラムは短くなる。
DSPとして使わない場合、命令が充実してる分、8ビットPICよりもプログラムは短くて済む。
482774ワット発電中さん:2014/04/25(金) 15:56:19.59 ID:NeHF6vcN
http://akizukidenshi.com/catalog/g/gP-06357/
これ使って、正転反転信号と回転パルスを出力するところまでPICでやりたいんだけど、
10F322あたりでもできる?
483774ワット発電中さん:2014/04/25(金) 17:24:54.42 ID:MgCznCbs
問題なく出来る
484774ワット発電中さん:2014/04/25(金) 18:35:30.25 ID:NeHF6vcN
ひょっとして10F200でもできる?
485774ワット発電中さん:2014/04/25(金) 22:52:26.74 ID:n0BEsIqq
>>484
タイマーが一つしかなくしかも割り込みが無い。
flashも256ワードしかない。
無理な気がする。
486774ワット発電中さん:2014/04/25(金) 23:00:23.26 ID:NeHF6vcN
>>485
ありがとう10F322でやってみます。

アルゴリズムをサクッと検索してみると、
片方の相が変化した時に、チャタリング時間分待って、もう片方の相を読めばいいようだけど、
その程度でいいのかな?
接触不良が出始めたらエンコーダを交換しなきゃならん気がするけど・・・
487483:2014/04/25(金) 23:17:56.14 ID:6beypQa+
>>486
そんな℃素人プログラムじゃまともに動かない。
488774ワット発電中さん:2014/04/25(金) 23:51:03.10 ID:NeHF6vcN
>>487
もっといい方法ある?
たしかにあれだとあまり強くない気がする。
でもあまり込み入ったアルゴリズムは理解できないかも。
489774ワット発電中さん:2014/04/25(金) 23:54:10.53 ID:57mAYlFO
>>488
何事も挑戦だからやってみるといいよ
490774ワット発電中さん:2014/04/25(金) 23:57:31.88 ID:NeHF6vcN
チャタ対策で遅延時間作ると、最高速が低くなるよね。CRフィルタ入れても同じことだろうし。
早回しが重要な用途だと、どうすればいいんだろう・・・
491774ワット発電中さん:2014/04/25(金) 23:59:35.17 ID:NeHF6vcN
状態変化割り込みで3個ぶんくらい前まで覚えて比較するのがいいのかな?
492774ワット発電中さん:2014/04/26(土) 00:54:04.64 ID:JKkElqet
>>490
チャタの少ない、または無いスイッチを使う。
493774ワット発電中さん:2014/04/26(土) 02:52:36.78 ID:31GVspE3
A相の信号が変化した時にB相を読むとチャタの無い信号
B相のエッジでA相は
494774ワット発電中さん:2014/04/26(土) 02:58:06.33 ID:31GVspE3
途中で送信してしまったのでつづき
B相のエッジでA相は安定した状態
なので、
A相エッジ割り込みでB相を読みA相の割り込み禁止。
B相のエッジ割り込み開始。
B相のエッジ割り込みでA相を読みB相の割り込み禁止しA相の割り込み開始
:
:
495774ワット発電中さん:2014/04/26(土) 07:15:42.11 ID:kUrelR4y
私が前に秋月のチャイナ製エンコーダを使用した時は

1)A相エッジ割り込み
-B相レベルを取り込んで0/1を保存し検出フラグを立てる
-A相エッジ割り込み禁止、タイマ割り込み許可
2)タイマ割り込み
-A相エッジ割り込み許可、タイマ割り込み禁止

メイン側では
検出フラグをポーリングでチェックし、立っていればレベル0/1に従ってCW/CCW処理を実行。

注意事項
オシロでチャタリングを計測してタイマ時間を決める。
エンコーダによってはクリック位置(位相)が異なる(と思う)
496774ワット発電中さん:2014/04/26(土) 07:22:08.14 ID:kUrelR4y
(続き)
エッジ検出を回数として加算していけば、エンコーダが高速で回転して
メイン側の処理が遅れても取りこぼしは無くなるなる(と思う)
497774ワット発電中さん:2014/04/26(土) 08:51:39.66 ID:DLz84uQy
CRでチャタをとる。
どうせそれ以上速くまわしても拾えない
498774ワット発電中さん:2014/04/26(土) 11:50:46.13 ID:9vjJKx9H
>>497
>>494でチャタ取り不要
499774ワット発電中さん:2014/04/26(土) 12:43:13.98 ID:1hqfBSWZ
そこで摺動ノイズですよ
500774ワット発電中さん:2014/04/26(土) 13:51:12.59 ID:27E08e05
>>499
A相のエッジかと思いきや、摺動ノイズのエッジだったよってオチ?
501774ワット発電中さん:2014/04/26(土) 15:35:12.42 ID:liQZvki+
チャタデース
502774ワット発電中さん:2014/04/26(土) 19:21:08.15 ID:QEJ6dAAo
チャタレイ夫人の恋人といえばガキの頃、
深夜映画を親に隠れてドキドキしながら観たのを思い出した。
503774ワット発電中さん:2014/04/26(土) 19:24:11.85 ID:27E08e05
オレも似たような考えで作ったが、まともに動いたのはエンコーダが新品に近い状態の時だけだったなぁ。
摺動ノイズ対策をどうするかだ。
504774ワット発電中さん:2014/04/26(土) 20:22:04.39 ID:b6bmruX0
>>488
この程度のプログラムで込み入ったアルゴリズムになるのは
物事を考える能力が無いか、本質を理解する能力が無いか、もしくはコンプリートしてるかだな。

ちなみに、入力エッジで割り込みとか、筋が悪すぎてPIC始めて数日でーす。位のレベル。
と、言うか、PICとかマイコン以前に、普段の生活から論理的な思考の欠片も無い生き物だな。
オシロを持っててもこのレベルじゃ行き当たりばったりと大差ない。
CRでチャタ取りは、理屈を勉強しないで手当たり次第に部品をとっかえひっかえして誤魔化すしか脳が無かった
年寄りのパターン。とりあえずは動く事もあるかも知れないが、使ってるうちにすぐ壊れて余計酷い状態になるが
データシートを読む能力が無いから、そんな事は思いもよらない。
505774ワット発電中さん:2014/04/26(土) 20:27:08.30 ID:EBOi2dUU
みんなー朗報だぞー
>>504がすばらしいアルゴリズムを披露してくれるってさー
506774ワット発電中さん:2014/04/26(土) 20:30:25.16 ID:27E08e05
>>504
では、キミのアルゴリズムを聞こうじゃないか。
507774ワット発電中さん:2014/04/26(土) 21:11:57.29 ID:l0OFg9CQ
デキル>>504がいると聞いて来た
508774ワット発電中さん:2014/04/26(土) 21:38:34.05 ID:x5dR14kh
ときどき出てくるケチだけ付けるやつはチキンだから自分の考えは絶対に
書かないよ。

積分をソフトでエミュレートとする方式で実験したことがあるけど、
1ms割り込みでHならカウンタを+1、Lならカウンタを-1して、カウンタが
ある値になったらON、0になったらOFFとするような処理をやった。

秋月で200円のやつで4くらいが良い感じだった。80円のは試してない。
509774ワット発電中さん:2014/04/26(土) 21:44:36.01 ID:27E08e05
>>508
確かに、より優れたアルゴリズムを考えたっぽい部分は文章中に一切無いから、
誰でも書ける煽り的な書き込みだな。
510774ワット発電中さん:2014/04/26(土) 21:49:13.60 ID:tcpveM2b
>504
http://hissi.org/read.php/denki/20140426/YjZibXJ1WDA.html
確かにケチ付けるだけの奴だな
511774ワット発電中さん:2014/04/26(土) 21:55:28.75 ID:27E08e05
まじめに考えてみた。
接点オープン(OFF)を0、短絡(ON)を1。時計回転で先にONするほうをA相とし、A相onB相offを10と表記すると定義して考えてみると

10の時はチャタ等により00となる瞬間もある。
同様に01だと00にもなる。
11なら01、10、00となる可能性がある。
さて、CRフィルタ無しだと、チャタ・摺動ノイズを考慮たアルゴリズムを考えても完璧なカウントは不可能な気がするが・・・
どうなんだろう?
512774ワット発電中さん:2014/04/26(土) 22:48:47.70 ID:kUrelR4y
うーん、「11なら01、10、00となる可能性がある」がよく分からないが、
A相がオン・オフ変化でチャタリングしている時は、B相が安定しているし、
B相がオン・オフ変化でチャタリングしている時は、A相が安定している。
この「安定」を利用すればCR積分回路は必要ないのでは?
A相とB相が同じタイミングでチャタリングしているエンコーダは捨てた方が良いと思うw
なお、1クリック分回転させると、たとえばA相はオフ↑オン↓オフと変化して停まる。
百聞は一見にしかず、オシロで観測するよろし。

℃素人オジサン、こんな解答でどんなもんでしょうか?w
513774ワット発電中さん:2014/04/26(土) 22:57:38.68 ID:27E08e05
>>512
オレも最初はそう考えて作ってみたが、実際は503に書いた通り。それじゃ弱いんだなぁ。
理解できるようになってからじゃないと話が合わないと思う。
オシロは岩通とケンウッドの古いアナログ100MHzと、安いUSBオシロが1台ある。残念でしたねぇ。
514774ワット発電中さん:2014/04/27(日) 00:15:29.48 ID:0sf2eBw4
4つの状態の隣にしか移動しないんだから簡単だよ
515774ワット発電中さん:2014/04/27(日) 00:26:41.64 ID:UDkVUKrC
ピン変化の割り込みでやるのと、メインループでポーリングするのと
どっちが良いんだろう。
516774ワット発電中さん:2014/04/27(日) 01:50:52.60 ID:vtA4VsJw
割り込みで起動されたらポーリングで様子見か
517774ワット発電中さん:2014/04/27(日) 02:20:59.18 ID:xPrDzDe5
>>512
>A相がオン・オフ変化でチャタリングしている時は、B相が安定しているし、
>B相がオン・オフ変化でチャタリングしている時は、A相が安定している。

オシロで見るとそうなってないので>>508でやったんだけど。
CRでやるにしろソフトでやるにしろ積分の必要はあると思うな。

それと、クリック付きのエンコーダは1クリックで状態が一巡するから
それをトレースすれば少なくとも右に回してるのに下がるような誤動作
は避けられると思うけど、クリックなしだと完全にチャタリングを取ら
ないと厳しいと思う。
518774ワット発電中さん:2014/04/27(日) 04:57:28.21 ID:UAdhzA06
光学式ロータリーエンコーダを買えば解決するのに
519774ワット発電中さん:2014/04/27(日) 06:04:20.19 ID:AtYIkzF9
つい安さで買っちゃう
520774ワット発電中さん:2014/04/27(日) 08:00:47.63 ID:B6wXg5qr
なるべく高い周波数でサンプリングして
ローパスフィルター(移動平均も可)かけるのが良いと思うが、
処理が重くなるのが欠点かな
521774ワット発電中さん:2014/04/27(日) 08:04:04.44 ID:V8NCWohM
ソフトで積分できるのにCRはもったいない。
ソフトで積分するなら、ポーリング(タイマー割り込みによるポーリングも含む)が必要。
522774ワット発電中さん:2014/04/27(日) 11:15:55.68 ID:D4RaNi9U
>>512
全然駄目。℃素人の回答としては満点だな。
ロータリ円コーダの中身をよく考えて見ることだな。
523774ワット発電中さん:2014/04/27(日) 11:48:33.07 ID:vWG3NZEx
>513
そうか、古くなるとA相、B相が同じタイミングでチャタリング(接触不良による摺動時のノイズ?)するのか。
これまでに秋月のエンコーダを1回しか使ったことがないし、いまだちゃんと動いているので、
同時にオン/オフが変化するエンコーダの読み取り方は分からないな。
ちなみに私はタイマ割り込みによる遅延時間でチャタを避けた。

「残念でしたねぇ」の意味が分からないけど、 私のも古いよ、骨董品のアジレントの54600シリーズで
CRTの緑色の輝線が美しいけど、貧乏なので新しいのが買えない。
なお普段使いは秋月で買ったOWONのPDS5022、ほとんどはこれで間に合っている。

>522
ではチャンスがあればエンコーダを分解して中身を勉強します。
ところで少しおとなしめですねぇ、もっといつもの罵詈雑言でお願いしますw

では失礼します。
著者注:「チャンスが有れば」→「その気は無い」の丁寧語です。
524774ワット発電中さん:2014/04/27(日) 12:30:15.87 ID:D4RaNi9U
頭の固い爺には勉強なんて無理だろうにw
525774ワット発電中さん:2014/04/27(日) 15:50:02.20 ID:30WwbFuw
開けてみても予想通りで面白くないぞ。位置がずれた二つの接点が回ってるだけ。
526774ワット発電中さん:2014/04/27(日) 16:07:38.80 ID:ZMLAbxIg
そういえば、1クリックは4分割できるから俺が作ったのは高分解能だっていうブログあったが、接点式だと脆弱の極みだな。
527774ワット発電中さん:2014/04/27(日) 16:19:49.20 ID:4Hfa9rB/
そもそもアレってそんな厳密な用途に使うもんじゃないんじゃね?
精度が欲しければきちんと光学式のを使うべきだと思う。
528774ワット発電中さん:2014/04/27(日) 17:30:48.43 ID:hZmneJ88
マウスのホイールも高級品は光学式、安物は接点式だし
529774ワット発電中さん:2014/04/27(日) 17:51:03.65 ID:tIg7q/m1
やればできるさ。やる気がないなら光学式に逃げればいい。
530774ワット発電中さん:2014/04/27(日) 17:58:44.53 ID:gMs+R0yQ
この前話題になったとき買った秋月の安物あるからちょっとプログラム考えてみるかなー。
最近通勤時間の暇つぶしがなくなって困ってたんだ。
531774ワット発電中さん:2014/04/27(日) 18:11:32.60 ID:tIg7q/m1
秋月の安いアルプス製なら、クリック位置にエッジが重なるから、それを考慮しないと違和感丸出しの動作になるよ。
ばんがれ!
532774ワット発電中さん:2014/04/27(日) 19:39:54.71 ID:WGr5nFVc
>>526
まともにソフトを組めば4分割(と言うか、1:1)は問題なく動く。
但し、クリックで止まるのに意味があるかどうかは別だが。
533774ワット発電中さん:2014/04/27(日) 21:01:39.98 ID:tIg7q/m1
>>532
>まともにソフトを組めば
皆が閲覧可能な実例はあるかな?
534774ワット発電中さん:2014/04/27(日) 23:57:01.36 ID:tIg7q/m1
無いようだね。いつもの人だったか。
535774ワット発電中さん:2014/04/28(月) 06:00:23.88 ID:mucRZTyE
いいからお前が書いて公開するんだヨ
536774ワット発電中さん:2014/04/28(月) 07:39:24.88 ID:7qg8tzxa
>>533
動画でもUPしてやろうか?

>>534
いつも自分で考えられない人だったか。
537自分で考えられない人:2014/04/28(月) 13:46:13.01 ID:I+1BDjEh
ド玄人先生!

おカネのなる木の樹海が欲しいんですけど、
どういう電子工作をしていれば、それが手に入りますか?!
小学生にも分かるように、おしえてください!! (^p^)
538774ワット発電中さん:2014/04/28(月) 15:01:08.29 ID:EJkhwbjb
>>537
まず普通の樹海を調べに青木が原に行きます。
登山道から10分ほど適当な方向に歩き、目をつぶって10回ほどぐるぐる体ごと回転すると、
周辺がよくわかるので、やってみてください。
周辺が理解できたら、さらに10分ほど先に進み同じことを繰り返します。
539774ワット発電中さん:2014/04/28(月) 15:46:12.20 ID:TjLpzJuC
>>537
病んでる人に餌を与えるとダメよ
540774ワット発電中さん:2014/04/28(月) 18:44:25.16 ID:wJ6Bhdik
動画はUPされない、いや、ヤツにはできない。
541774ワット発電中さん:2014/04/28(月) 19:13:56.07 ID:ahI2X4W9
>>537
その場で3回まわってワンと言え。
話はそれからだ。
542774ワット発電中さん:2014/04/28(月) 22:16:51.55 ID:QuPBKz+Y
>>538
いったことあります、普通の林道でした・・・
あすこ、実は方位磁針が利くんですよね^^;

>>541
くるくる!
くるくる!
くるくる!
(∪^ω^)ワン!!
543774ワット発電中さん:2014/04/28(月) 23:39:09.28 ID:Ajwn1yUl
今度はこっちを荒らしにきたか。PICばっかりやってるとなんかおかしくなるのかね。
544774ワット発電中さん:2014/04/29(火) 02:10:53.28 ID:dJCgA+ox
うむ、たまにはAVRとかARMとかも使わないとな
545774ワット発電中さん:2014/04/29(火) 02:34:54.73 ID:yh/kQVm3
12F322と秋月安ロータリーエンコーダで組んでみたよ!
CRフィルター無いと全然だめだわ
新品なのにかなり波形乱れてる
546774ワット発電中さん:2014/04/29(火) 02:39:32.60 ID:3Jingh6d
ソフトでチャタ取りゃCRイランよ
547774ワット発電中さん:2014/04/29(火) 02:47:48.26 ID:yh/kQVm3
またいつもの人か
548774ワット発電中さん:2014/04/29(火) 05:40:54.08 ID:rVNgAh12
ま、実力次第だな。
プログラムってのはセンスが必要だから
℃素人と知ったか爺には無理。
549774ワット発電中さん:2014/04/29(火) 07:29:42.04 ID:Pj1f4yKQ
ど玄人はPICで有名なWEB書いている人のとりまきか信者で、自分はもできると勘違いして書いているだけの哀れな爺さんだよ
550774ワット発電中さん:2014/04/29(火) 07:34:03.60 ID:rVNgAh12
悔しそうだな。出来ない癖にwww
551774ワット発電中さん:2014/04/29(火) 09:50:01.48 ID:yh/kQVm3
自称玄人さんって
いつも、できない人でも書ける文章だよね。
552774ワット発電中さん:2014/04/29(火) 11:49:15.56 ID:64Y5vy9t
ロリータ援交だ
553774ワット発電中さん:2014/04/29(火) 11:51:26.07 ID:h3deAR1c
いつも、出来ない人しか書けない文章だね。
554774ワット発電中さん:2014/04/29(火) 12:11:45.26 ID:WajYyFrd
>>552
信号機のないロ−タリーで車のエンジンが故障した。
俺は思わずロータリエンコダと叫んだ。

(さぁ、℃素人オジサンも既出でもいいからダジャレの一つも書いてみよう。
脳みそのワンパターンな使い方だけでは認知症になってしまうぞ)
555774ワット発電中さん:2014/04/29(火) 12:40:00.75 ID:yh/kQVm3
エッジのチャタリングならソフトで回避できそうだが、バウンスノイズっていうのかな?途中でヒゲが出ることがある。
一体どのポイントで位置を確定すりゃいいんだろう・・・
556774ワット発電中さん:2014/04/29(火) 12:50:44.85 ID:h3deAR1c
>>555
闇雲にコンデンサ付けて、ロータリエンコーダを壊してしまったんだろう。
そもそも、コンデンサ付けて収まるのにソフトで出来ないはずが無い。
ま、出来ない奴には幾ら考えても無理だろう。別の趣味を見つけたほうが良い。
557774ワット発電中さん:2014/04/29(火) 13:10:18.10 ID:yh/kQVm3
>>556
接点にパラでCを付けたと思ったのかもしれないけど、ちゃんとLPFとして機能するよう配置してます。
アナログはそれなりに知識・経験あるんで。
エスパーとしてはイマイチですね。
558774ワット発電中さん:2014/04/29(火) 13:12:57.47 ID:h3deAR1c
>>557
秋月の仕様書には負荷10Kと書いてあるが、まさか、10Kの抵抗とバッファ無しのCR繋げてないよなw
559774ワット発電中さん:2014/04/29(火) 13:23:31.78 ID:yh/kQVm3
おかしな人が的はずれに絡んでくるで退散します
560774ワット発電中さん:2014/04/29(火) 13:25:48.78 ID:WajYyFrd
もしかしたら接点保護抵抗を入れていないのに
「チャタがなかなか取れないから、試しに思い切って大きなコンデンサ付けてみよう」
なんて人、エンコーダの寿命を自分で短くしているような人がいるかもしれないな。
561774ワット発電中さん:2014/04/29(火) 13:30:57.34 ID:sHBiFrC3
おかしな人の認知症予防だからね。
仕方がないね。
562774ワット発電中さん:2014/04/29(火) 13:36:28.59 ID:yh/kQVm3
>>561
だね。LPFって書いてるにもかかわらずとんちんかんな憶測で語るし。
オレそういう人を寄せ付けるタイプの人間かな。
んじゃ、あとはみなさんで楽しく仲良くやってください。
563774ワット発電中さん:2014/04/29(火) 13:45:52.66 ID:jfFwr2e5
おかしなレスを人力LPFして読み取る能力も必要ってことだ。
そうしないと頭ん中がチャタってしまう。
564774ワット発電中さん:2014/04/29(火) 13:49:37.44 ID:9XnvCnnV
>>558
>まさか、10Kの抵抗とバッファ無しのCR繋げてないよなw
その「バッファ」って、何のことでしょうか?

LPFとして機能するよう配置してます。と言ってるから、
直列にR、GND間にCを入れてると思うけど?

+5V------推奨のプルアップ抵抗10k-----(a)-----ロリータエンコーダ----GND
とした上で、(a)点からLPFを組むと、行きと帰りでインピーダンスが変わってしまうから
どのような回路にしたのかは興味のあるところ。
10kの影響を小さくするために、直列抵抗は100kとかかな。
565774ワット発電中さん:2014/04/29(火) 13:50:16.23 ID:XmVy3xgA
>>559
図星だったなw
10KとLPF繋げりゃインピーダンスは10K以下に下がる事も予想出来ずに

>アナログはそれなりに知識・経験あるんで。

とか、片腹痛いわwww
566774ワット発電中さん:2014/04/29(火) 13:51:25.06 ID:qINanOJM
>>555
そのまま素直にカウンタをアップダウンさせるだけでいいんだよ
物理的にありえない±1以外の変化や突然の逆回転は適当に捨ててね
567774ワット発電中さん:2014/04/29(火) 13:52:09.86 ID:XmVy3xgA
>>564

>565
568774ワット発電中さん:2014/04/29(火) 17:27:01.17 ID:9XnvCnnV
>>565
>10KとLPF繋げりゃインピーダンスは10K以下に下がる事も予想出来ずに
そのインピーダンスって、どこから見た、どこ間のインピーダンスのこと?
説明がよくわからないです。教えてください。
569774ワット発電中さん:2014/04/29(火) 17:32:22.17 ID:XmVy3xgA
>>568
接点から見たインピーダンス。
接点への最大電流が問題な訳だから、接点から見た外部がどうなってるかを検討するのが当然。
バッファ無しでLPF繋げば、10Kと並列になるから必ず10K以下になる。
570774ワット発電中さん:2014/04/29(火) 17:42:12.97 ID:6LGmeiwD
>>569
俺もお前の言ってる事の方がわからん。
具体的に接点にどう電流が流れるか書いてみれ。
571774ワット発電中さん:2014/04/29(火) 17:48:46.64 ID:XmVy3xgA
>>570
自分で書いて考えろよ。なんで俺が、努力もしないお前にも判るように
丁寧に教えてやらにゃならんのだ、
572774ワット発電中さん:2014/04/29(火) 17:52:05.77 ID:6LGmeiwD
>>571
お前がケチつけはじめたからだよ。
電流の流れ込みで接点が荒れるのか流しだしなのか、それだけでも書いて見れ。
わかってるなら書けるだろ。
573774ワット発電中さん:2014/04/29(火) 18:11:15.50 ID:XmVy3xgA
>>572
けちもなにも、データシートに無い負荷を繋げるなら、それなりに考察すべきだろ。
℃素人バレバレなのに
>アナログはそれなりに知識・経験あるんで。
とか言えばビビると思ってんのかね。

件については、プルアップで使うなら流れ込み。プルダウンで使うなら流れ出す電流が超過する。
574774ワット発電中さん:2014/04/29(火) 18:17:02.66 ID:6LGmeiwD
>>573
1秒で回答できる様なことにえらく時間がかかったな。
あと、俺はその℃素人とかとは違うから。

へぇー、ロータリーエンコーダにプルアップ抵抗とCRローパスつないだときに、
REへのプルアップからの流れ込み電流で接点が傷むのーーへーーwwww
おもしれーー。顔を洗って出直して来い。
575774ワット発電中さん:2014/04/29(火) 18:23:17.35 ID:XmVy3xgA
>>574
お前みたいに、このスレに張り付いてる訳じゃないからなw

ま、やっぱり理解出来ない様だな。他に趣味を見つけた方が良いぜ。
戻ってこなくて良いよ。

トイレ行ってくる。
576774ワット発電中さん:2014/04/29(火) 18:57:47.06 ID:6LGmeiwD
>>575
トイレで顔洗ってくるのか。
577774ワット発電中さん:2014/04/29(火) 19:15:56.93 ID:tmF/bhCR
>>574
逆に考えるんだ。壊れたのを前提に、おくんだ。
48V回路に電気二重層コンデンサ(多段化して耐圧稼ぐ?)を
ぶら下げた様な変態回路なのかもよ?!
578774ワット発電中さん:2014/04/29(火) 19:19:49.14 ID:XmVy3xgA
PICだけじゃなく、色々と初心者な奴ばかりだなw
579774ワット発電中さん:2014/04/29(火) 20:21:54.53 ID:jfFwr2e5
お前初めてか電電板は?もっと力抜けよ・・・
580774ワット発電中さん:2014/04/29(火) 23:15:02.29 ID:DxLgFNl/
私は正解を既に持っているが、この余白はそれを書くには狭すぎる。
581774ワット発電中さん:2014/04/29(火) 23:46:42.54 ID:Ap14nBT7
フェルマーかよ!
582774ワット発電中さん:2014/04/30(水) 00:07:25.92 ID:QXl8sDm4
>>563
2ちゃんを見るための名言だ!
583774ワット発電中さん:2014/04/30(水) 01:26:13.23 ID:gNUTEsec
たぶん、
エンコーダ SW=offの時には、
「pull-up抵抗からLPFのCの充電電流」のみだけど、
エンコーダ SW=onの時に
「pull-up抵抗からの電流 + LPFのCの放電電流」の合計のことではないだろうか。

もしそうだとしたら、
「pull-up抵抗からの電流」= 90%
「LPFのCの放電電流」 = 10%
にすれば、定格電流に収まると思う。つまり、Rpu//Rlpf=>(電圧/定格電流)ということで。
Rpu = 11kΩ以上
Rlpf = 110k以上 で、自邸数は、110kを基本にCを決定すれば良くて、
バッファをしようする必要はないと思う。
584774ワット発電中さん:2014/04/30(水) 01:47:39.92 ID:wUj71Y1P
>>583
でも、そんな対策してなかったから
>>559の捨て台詞を吐いたんだろう。そして、俺はそれを見越して>>558を書いた。

ちなみに、LPFの抵抗を100Kとかにするのはお勧めしない。
理由はデータシートにある。
585774ワット発電中さん:2014/04/30(水) 02:25:47.97 ID:gNUTEsec
>>584
昨日のやりとりの経緯は置いといて、
100kが大きすぎるのは別にして、>>583の考え方は、正しいでしょうか?

あと、通常のスイッチだと、1mAくらい流して接点活性してくれ、というのが多い中、
なんでエンコーダは100uA以下なんでしょうか。摩耗してしまうのでしょうか?
586774ワット発電中さん:2014/04/30(水) 03:16:01.78 ID:7enh1oj9
ポートの漏れ電流は最大±1uAだから100kΩで問題ないだろ。
>>584はアナログ入力の信号源インピーダンスの推奨値が最大10kΩを勘違い
してるんじゃないの?

俺ならソフトでやるけど。
587774ワット発電中さん:2014/04/30(水) 04:57:32.45 ID:QXl8sDm4
接点に火花を飛ばさないと接触不良になるぞw
588562:2014/04/30(水) 05:12:14.43 ID:1pk0MDOS
今までかかったけど、できたよ!
CRフィルタ無し、プルアップ抵抗無しでPIC内の弱プルアップを使用。
つまり、PICにエンコーダ直結するだけで、ほとんどミスカウントせずに動作するようになった。
タイマー不使用。状態変化割込みで◯◯と◯◯して判定してる。伏せ字は想像にお任せする。
ただし>>566の概念だけは参考になったありがとう。
それ以外の自称玄人は脳内だと認識して間違いない。
589774ワット発電中さん:2014/04/30(水) 07:45:42.07 ID:ASgpNXQk
>>585
100Kはでか過ぎるので、それさえ満足できれば、大丈夫と思う。ちゃんと読んでないが。
要は、

 データシートで規定されている内容は、明確な意図が無い限り、最低限守るべし。

って事。これに尽きる。


>あと、通常のスイッチだと、1mAくらい流して接点活性してくれ、というのが多い中、

「通常のスイッチ」ってのは、一般化しすぎ。微小電流用の金メッキ接点は電流を流しすぎると寿命が縮まる。
安物のスイッチや電力用の安物銀接点等はスパークさせるために電流を流す必要がある物がある。
そして、これらの話は、タクトスイッチ等、接点が押されて接触するタイプの接点での話し。
エンコーダは擦れるタイプの接点だから、もともと接点の自浄作用がある。つまり、電圧が掛かって無くても
回せば物理的に削れて接触が保たれる。寿命を延ばす為に表面仕上げを良くして削れないようにしてある物もあるし
めっきしてある物もあるので一概には言えないが、鍍金品等は特に電流を減らさないとあっという間に鍍金が痛む。
結局、メーカーが折角データシートに載せている定数は、一番信用出来る値なので、℃素人が勝手に変えて良い物では無い。
勿論、℃素人が寿命試験等をして、メーカー指定の常数よりも良い値が見つかるかもしれないが、
そんなものは手元にある10個だけかもしれない。

いずれにせよ、今回の件では、ソフトの容量がどうしても確保できないとか、なんらかの理由が無い限り
CRは不要。ソフトで対応可能なレベル。

>>588
お疲れw
大変だった割には「ほとんどミスカウントせずに」っていうレベルにしか出来ないのは
アルゴリズムが悪いって事だな。ま、センスはどうしようもないから、諦めが肝心かもね。
590自分で考えられない人:2014/04/30(水) 08:47:27.89 ID:W0czL13f
>>587 (火花)
kwsk
591774ワット発電中さん:2014/04/30(水) 09:29:15.75 ID:wqpBfe+H
>>589
スカタン
592774ワット発電中さん:2014/04/30(水) 12:38:31.05 ID:QXl8sDm4
リレーの接点は、基本的に自己浄化作用があります。
オン・オフする瞬間に接点同士がわずかに離れた瞬間に火花が飛び、
それが、錆びやすす・カーボンを弾き飛ばします。
もしここれがないと、リレーの接点はすぐに接触不良を起こしてしまいます。
593590:2014/04/30(水) 12:47:34.98 ID:W0czL13f
>>592
そうだったんですか!しりませんでした、ありがとうございます!!
http://www.engineer314.com/senmon/relay.html
594774ワット発電中さん:2014/04/30(水) 13:31:59.06 ID:xgQt28bS
4年前に作った発振器に、秋月の中華製ロータリエンコーダを使っているけど、
1クリックだけ回しても早く回しても、何の問題も無く動き続けている。

今回の一連の書き込みを読んで、そんなにオン/オフ時チャタや
摺動時接触不良ノイズがあったかな、と気になって、
フタを開けて改めてオシロで波形を見たら、
制作時と同じく、チャタもノイズもない綺麗きれいなものだった。

私はプルアップ抵抗10Kのみ、外部エッジ割り込み+タイマ割り込みでやっているけど、
私のはたまたま当たりのエンコーダで、めちゃくちゃラッキーだったのかもしれない。
今度秋月に行ったらもう2個ほど買って来て確認してみようっと。
595774ワット発電中さん:2014/04/30(水) 13:37:19.41 ID:Ki2vGbJH
>>592
低速大電流のリレーと、高速小信号のREとは少し考え方が違うような気がするけど。
596774ワット発電中さん:2014/04/30(水) 13:56:39.47 ID:W0czL13f
>595
いやいやいや、わたしも肯定した様な文面で誤解を助長したかもしれないけど、
593のリンク先を読んでもらえばわかるように、592はネタ投稿でそw
火花のなれの果て(残滓)は百害あって一利ないでせう・・・

車工場なんぞではスポット溶接のカスが産廃になっていたため、
超音波溶接(だったかな?)に切り替えてカスの発生を抑えて
コスト削減に成功したとかどこぞのニュースで見かけましたお
597774ワット発電中さん:2014/04/30(水) 13:59:57.95 ID:gNUTEsec
>>595
接点の設計の想定電流と、実際の電流との、整合の話だと思うけど。
信号用では、自己浄化作用が欲しいし、電力用では溶着に注意だし。
598774ワット発電中さん:2014/04/30(水) 18:00:34.06 ID:Ki2vGbJH
>>597
そのあたりの話になると、銀錫か金クラと金メッキかとか、シングルダブルクロスバツイン使い分けとか、
そのあたりになってくるからなぁ。
機械式REもローパスの小容量C+抵抗でさえ長時間で接点荒れたりすることもあるから微妙だね。
599774ワット発電中さん:2014/04/30(水) 19:03:40.01 ID:wuhE82aX
スクラップの開閉器から銀接点を取り出して
それを鋳溶かして指輪にして恋人にプレゼントする・・・
なんてDQNが喜びそうなイイ話があったな

SnやPbも混ざってそう。
600774ワット発電中さん:2014/05/01(木) 03:41:47.93 ID:Z3D9iXhq
>>596
古い電気製品の AC 100V のプラグが意外と接触不良にならないのは
火花が錆を飛ばすからという説を聞いたことがありますお。
百害あって一利ない、と断定できるものかどうかは疑問がありますお。
601774ワット発電中さん:2014/05/01(木) 08:56:02.03 ID:6H0vnfbp
>>600
ACとDCの接点は故障モードが違うもの。
昔の車のリレーやスイッチの動作寿命の短さは特筆物。
602774ワット発電中さん:2014/05/01(木) 14:26:48.97 ID:rqYksCzN
リレー接点は摺動接点じゃないわけで
603774ワット発電中さん:2014/05/01(木) 15:26:23.44 ID:JfRfRdwr
ミクロンオーダーで言うと、摺動してるけどね。
604774ワット発電中さん:2014/05/01(木) 15:34:17.93 ID:rqYksCzN
それはどうでもいい
605774ワット発電中さん:2014/05/01(木) 17:43:20.99 ID:JfRfRdwr
ご無礼しました。(^^;
606774ワット発電中さん:2014/05/02(金) 07:01:46.53 ID:h4c3xITu
僕もしょっちゅう異性との接点を手で摺動している。
手入れが良いので接点が黒光りしているほどだ。
でも準備は完璧なのにまだ実物で摺動させた事が無い・・・
607774ワット発電中さん:2014/05/02(金) 15:55:18.48 ID:gT+3piPx
すり減って細くなってるね
608774ワット発電中さん:2014/05/02(金) 20:51:57.43 ID:D0iVWouL
絶縁被覆が黒いんじゃね。
609588:2014/05/08(木) 20:02:09.79 ID:wG2etQQw
アルゴリズムを見直して、ロータリーエンコーダー読取りの最強版完成!
右へ左へ1分間めちゃくちゃ回しまくっても1クリックもずれないようになったよ。
中古の接触不良気味のエンコーダでも大丈夫。もちろんLPF無しの直結。
自称玄人さんを超えちゃったかもね。
610774ワット発電中さん:2014/05/08(木) 20:14:47.68 ID:6VOAD85a
動画かなんかうpしてみせて欲しい
611774ワット発電中さん:2014/05/08(木) 20:41:07.04 ID:/IR9HEEh
weak pull-upと浮遊容量で積分回路になってるとか
612774ワット発電中さん:2014/05/08(木) 20:46:15.81 ID:kDvMFpKW
>>609
出来て当たり前。
613774ワット発電中さん:2014/05/08(木) 23:20:12.76 ID:wG2etQQw
>>610
そのうち、気が向いたら
>>611
カットオフ周波数は何MHzくらいになるんでしょうか?
>>612
いつも知識ゼロで書けるコメントありがとうです
614774ワット発電中さん:2014/05/09(金) 00:48:32.60 ID:hr2GkFc2
>>609
>右へ左へ1分間めちゃくちゃ回しまくっても1クリックもずれないようになったよ。
どうやって真の値を出したの? 本当は誤カウントしていてわからないとか?
615774ワット発電中さん:2014/05/09(金) 01:52:42.93 ID:60yAHLVL
>>614
いわゆるジョグダイアルのノブを付けて、ノブの凹みがセンターとなった位置からカウント開始。
一周してセンターに来た瞬間にLEDが点灯するよう別のPICで組んである。
ガンガン回してる最中も1周ごとにLED点灯してるのは確認しつつ、
1分後にセンターに戻した時にLEDが点灯すればドンピシャずれ無しということ。
もう変な言いがかりつけられても説明しないよ面倒だから。くやしいなら成功してみろっつーの。
オレが探した限りでは、ネットで見つけた公開アルゴリズムは全部ゴミ。
616774ワット発電中さん:2014/05/09(金) 02:53:22.34 ID:qeNAKSX1
ロータリーエンコーダーは早く回したときに取りこぼすのは実用上問題ない
けど、ゆっくり回したとき右に回してるのに数字が下がったりするのが問題。
ゆっくり1クリック右とか左に操作したとき問題ないですか?

俺は>>508で既に出来ているのでアルゴリズムの説明は不要だけど。
617774ワット発電中さん:2014/05/09(金) 03:10:01.01 ID:60yAHLVL
>>616
ゆっくりは改良前から問題なくミスカウントはゼロで、ノブがずれていくことは一切無いです。
値がパカつくことも無し。
618774ワット発電中さん:2014/05/09(金) 07:00:18.27 ID:pTfucyX1
ロータリエンコーダが取りこぼしなく読み取れた、
って事を自慢する人がいることに
オジサンさんはビックリしちゃったぞぉ。
619774ワット発電中さん:2014/05/09(金) 09:31:32.81 ID:r1FghVwp
なんでここってロータリーエンコーダスレになってんの?
620774ワット発電中さん:2014/05/09(金) 09:32:51.24 ID:TMMHX+H0
ちうごくがヴェトナム船に171回ぶつけられた!ってさわいでるアレも
もしかしてチャタリングを計っちゃったのかなぁ・・・
621774ワット発電中さん:2014/05/09(金) 11:43:59.94 ID:zuwmL0el
>>609
状態変化割り込みありでのプログラムのままなら

 セ ン ス 悪 す ぎ w
622774ワット発電中さん:2014/05/09(金) 19:54:13.84 ID:zMfIjlRI
めんどくさいからxmega内蔵のデコーダでいいや…
623774ワット発電中さん:2014/05/09(金) 23:03:17.61 ID:60yAHLVL
>>621
作れないキミはもっとがんばってください
624774ワット発電中さん:2014/05/09(金) 23:10:34.19 ID:tpCXW4SB
>>623
悔しそうだなw
ダイヤルなんか付ければ高速回転出来なくなる。だから出来たんだろ。
俺みたいに軸を直接高速に回して誤動作しなくなってから「ようやく出来る様になりました」と家w
625774ワット発電中さん:2014/05/09(金) 23:17:42.94 ID:60yAHLVL
「ようやく出来る様になりました」
これでいいですか?
軸を直接高速に回転しても誤動作してませんからねぇ
626774ワット発電中さん:2014/05/09(金) 23:28:39.15 ID:tpCXW4SB
>>625
それは良かった。おめでとう。
嫌味じゃ無くてマジで。

ところで、状態変化割り込みのまま?
俺のは普通のポートとして読み込んでる。
627774ワット発電中さん:2014/05/09(金) 23:54:51.40 ID:60yAHLVL
状態変化割り込みのままです。
単4電池駆動で、一定時間変化が無かったらスリープさせるためには、これしかないかなと。
628774ワット発電中さん:2014/05/10(土) 09:16:11.42 ID:g6qlbfmI
>>627
スリープが必要なら、スリープ直前で状態変化割り込みにしてスリープに移行するべき。
なぜ>>621で、「センスが無い」と言ったかと言うと理由は沢山あるが、
一つはプログラムが複雑になる。もう一つは、プログラムの再利用が難しくなる。って事。
最低限、この2つはクリア出来ないうちは℃素人レベル。
629774ワット発電中さん:2014/05/10(土) 09:25:20.03 ID:7L8DJkgW
我が強い
630774ワット発電中さん:2014/05/10(土) 11:21:08.57 ID:kq79rIqA
>>609
達成の喜びと興奮が伝わって嬉しい気分にしてくれてありがとう。
それにチャチャを入れる人の嫉妬や心の醜さも実に面白い
631774ワット発電中さん:2014/05/10(土) 11:49:20.20 ID:SUIbuLn1
>>628
大丈夫だとは思うけどチャタリングのある接点をシュミット通さずにクロックに入れるのは気持ち悪い
16Fxxxのデーターシートにある等価回路だと端子からFFのクロックに直結
632774ワット発電中さん:2014/05/10(土) 11:57:07.40 ID:+a0J4Z2d
>>631
なんで俺に返信するんだよw
633774ワット発電中さん:2014/05/10(土) 12:02:03.40 ID:+a0J4Z2d
>>630
お前、状態変化割り込みを薦めた奴だろ
判りやすいな、℃素人www
634774ワット発電中さん:2014/05/10(土) 12:03:16.16 ID:7L8DJkgW
玄人気取り君はID変えて一人で暴れてるわけか
635774ワット発電中さん:2014/05/10(土) 12:17:16.14 ID:+a0J4Z2d
やはりなw
636774ワット発電中さん:2014/05/10(土) 12:20:10.05 ID:hivEF0G0
どれも素人で書ける内容だしな
637774ワット発電中さん:2014/05/10(土) 14:19:13.42 ID:KuIfSHmv
初心者スレで℃玄人さんが暴れてると聞いて
638774ワット発電中さん:2014/05/10(土) 14:49:08.52 ID:Li+jetEM
俺も素直に「読み取れるようになって良かったね」と言いたいんだが、
書き方に謙虚さが足りないというか、何かイラッとする。
一方、いちゃもん付ける方もおかしいし、
…とここまで書いて、あ、℃玄人さんも登場したことだし、
このスレの平常運転、いつも通りだなと安心した。
639774ワット発電中さん:2014/05/10(土) 18:20:47.49 ID:7L8DJkgW
ネットで拾えるお手本が糞すぎるから、自分で苦労するしかないジャンルだな。
640774ワット発電中さん:2014/05/10(土) 20:10:57.63 ID:QL01XSYm
>>609
そりゃよかったね
641774ワット発電中さん:2014/05/10(土) 20:19:18.53 ID:ZInoTc9r
できたできたと騒いでるだけで検証不可能なみたいなもんだな
642774ワット発電中さん:2014/05/10(土) 20:53:40.97 ID:/tY2cI7C
ま、200回位は動いたんじゃねw
643774ワット発電中さん:2014/05/10(土) 20:56:19.24 ID:F89hAfvr
意外と難易度が高いからな。
できたと言うヤツが現れると否定したくなるヤツも現れる。
644774ワット発電中さん:2014/05/11(日) 01:57:44.84 ID:P3WyCk2T
今流行りの3Dプリンタって殆どがarduino制御だけど、pic制御用のフレームワークみたいなものもあるの?
645774ワット発電中さん:2014/05/11(日) 06:54:11.30 ID:X7offVQr
>3Dプリンタって殆どがarduino制御
へえ、そうなんだ
たとえばどれ?
646774ワット発電中さん:2014/05/11(日) 13:12:18.70 ID:gQwP2Yua
reprapとかpololuとかオープンソース系のおもちゃのこと言ってるんだろ
647774ワット発電中さん:2014/05/11(日) 18:35:24.23 ID:ChSWI5WT
PICで作りたいなら作ればいだけかと
648774ワット発電中さん:2014/05/12(月) 11:47:22.72 ID:w0yHMqQn
作って公開して! デッドコピー作って遊ぶから!!
649774ワット発電中さん:2014/05/12(月) 21:06:42.81 ID:k0HoZ89s
公開はするけど、デッドコピーは出来ないようにしておく・・・とかね。
650774ワット発電中さん:2014/05/14(水) 22:32:01.83 ID:2NdSMHMx
中古オシロの数カ所のツマミがロータリーエンコーダーなんだけど、
接触不良なのか、逆転したりしてマトモに動かない。
エンコーダと本体の間にPICを挿入して、ソフト的に信号整形して出力できないだろうか?
ちなみに補修用部品のエンコーダは供給終わってるし、変わった形なので互換品は見つからなかった。
651774ワット発電中さん:2014/05/14(水) 23:10:56.73 ID:ieRks4yN
本体とロータリーエンコーダの型番は?
652774ワット発電中さん:2014/05/14(水) 23:39:34.21 ID:WmuSoPvw
開けてみたら光学式ってのはよくある
653774ワット発電中さん:2014/05/14(水) 23:56:49.03 ID:2NdSMHMx
>>651
KENWOOD SC6010 エンコーダーの型番はわからない。
>>652
サポートを引き継いだ会社に確認したら接点式だと言っていた。
654774ワット発電中さん:2014/05/15(木) 00:06:15.37 ID:jQ46TCIa
>>653
そのオシロで波形を見てみれば整形可能かどうか分かるだろ
655774ワット発電中さん:2014/05/15(木) 12:07:09.28 ID:2gkPj6lc
REを交換する手もある。
サイズが合わなくて中に入らないなら、ケーブルで外に引き出すとか。
シールドが必要だろうけど。
656774ワット発電中さん:2014/05/15(木) 13:03:24.38 ID:PJU2PR1d
エンコダばらして洗おうず。
657774ワット発電中さん:2014/05/16(金) 09:35:34.36 ID:SNGy9MH0
まず普通にエンコーダーを読むプログラム組んで、
1クリック分を読んだらAB1相分を出力するようにすればいいじゃない。
ってな答えを誰もできないなんて
658774ワット発電中さん:2014/05/16(金) 09:58:39.80 ID:/iYwxBEe
簡単に答えられるのは玄人か℃素人。
>>657は℃素人確定w
659774ワット発電中さん:2014/05/18(日) 13:00:07.75 ID:1RNXwKRa
と、初心者が申しております。
660774ワット発電中さん:2014/05/19(月) 05:38:40.84 ID:FsPAb86P
悔しそうだな。そんな書き込みしてる暇があったら考えれば良いのにw
そんな事だから万年℃素人。
661774ワット発電中さん:2014/05/21(水) 03:02:56.56 ID:nPCVukXy
PIC32MXシリーズにはDSP内臓されていますか?
データシートにはDSPモード内臓とは書いてますが、これはDSP内臓していると解釈していいですか?
662774ワット発電中さん:2014/05/21(水) 04:12:23.76 ID:f3MW2zqD
内蔵な
663774ワット発電中さん:2014/05/21(水) 04:49:18.11 ID:eU51EAjU
内臓がDPSで出来てる人を思い出した
664774ワット発電中さん:2014/05/21(水) 22:10:13.35 ID:An0d5Scm
>661
まずは、そのDSPモード内蔵とかかれたデータシートを示してみては?
665774ワット発電中さん:2014/05/21(水) 23:09:14.91 ID:GNajAbhO
>>661
SPIxCON2の下位2ビット(AUDMOD)が11bの時のモードの名称らしいな。今知った。
SPIのインターフェースのモードで、DSPは「(PICの外にある)接続相手」だ。残念だったな。

AUDMODごとのインターフェース仕様は、
Microchipのサイトで、PIC32のアプリケーションノート
"AN1422 - High-Quality Audio Applications Using the PIC32"
に詳しく書いてある。
666774ワット発電中さん:2014/05/24(土) 11:21:14.99 ID:rQXYIUB+
http://ai.2ch.net/test/read.cgi/rikei/1324180992/723
  ↑  ↑  ↑  ↑  ↑ 
667774ワット発電中さん:2014/05/27(火) 11:37:44.54 ID:kQvaD3j4
(もしかしてボケ潰しした俺が悪者...?)
668774ワット発電中さん:2014/05/27(火) 12:28:25.71 ID:HuCZKdYu
ツッコミたいけどボケが理解できない…
669774ワット発電中さん:2014/05/29(木) 01:11:34.61 ID:6Y9HI+CP
PIC12F683とSSRで安い扇風機の追加ゆらぎ機能を作っているのですが、
乱数を使って(オン時間4秒以上、オフ時間3秒以上)時間調整をしようと思っていますが、
以下の様に書いたところ、想定した動作をしていません。
連続動作してしまいます。

乱数の扱いなど間違っているでしょうか?

変数aはオン時間用で3以上の数字を発生させ、同じくbはオフ時間用で2以上の数字を発生させる。
それぞれの数字の数だけ1000msのディレイを繰り返すことで、ゆらいでいるような動きを再現しようと思っています。
それぞれ、3秒と2秒と言う数字は扇風機のスイッチを手で半押ししてそれ以上だと良い感じになることは確認しました。


void yuragi(){
while ((a = rand() & 0x0F) >= 3) {
}
a = a + 1;

while ((b = rand() & 0x0F) >= 2) {
}
b = b + 1;

GPIO.F1 = 1;
for(d = 1;d <= a;d++){
Delay_ms(1000);
}
GPIO.F1 = 0;
for(e = 1;e <= b;e++){
Delay_ms(1000);
}

}
アドバイスなどお願いします。
670774ワット発電中さん:2014/05/29(木) 04:02:06.22 ID:IHBF5kZv
a=1, 2, 3
b=1, 2
の値にしかならないような気がするんだが
671774ワット発電中さん:2014/05/29(木) 07:14:00.89 ID:YmGn0cKa
つーかrand()の結果を取捨選択しちゃダメだろ
系列全体で統計的にランダムになるようになってるんだから
672774ワット発電中さん:2014/05/29(木) 07:55:40.70 ID:LOsUsGG/
ふつうに
a = (rand() % 12) + 3;
b = (rand() % 8) + 2;
GPIO.F1 = 1;
for (i = 0; i < a; i++) Delay_ms(1000);
GPIO.F1 = 0;
for (i = 0; i < b; i++) Delay_ms(1000);
でいいんとちゃうのん

でも連続動作ということは そもそもこの関数自体がちゃんと
呼べてへんのとちゃますか
673774ワット発電中さん:2014/05/29(木) 07:59:51.28 ID:LOsUsGG/
もしくはこのおまじないが入ってないとか
#USE DELAY(CLOCK=speed)
674774ワット発電中さん:2014/05/29(木) 12:49:10.19 ID:4hpqX4MD
>>673
speedのところは、
文字では無くて、クロック周波数をHz単位の数字でないとエラーになります。
例えば20MHzなら「20000000」だから #USE DELAY(CLOCK=20000000)
675774ワット発電中さん:2014/05/29(木) 17:23:02.35 ID:i58B1ceU
最近の初心者さんはシミュレータは使わない主義なの?
676774ワット発電中さん:2014/05/29(木) 19:51:58.09 ID:z1hU/LRg
シミュレータのストップウォッチさんにはお世話になりました・・・
677774ワット発電中さん:2014/05/30(金) 01:48:02.38 ID:7V6He6Io
皆さんアドバイスありがとうございます。

>>670
この書き方だとそうなのですか。
Cの理解が足りませんでした。

>>671
数字の範囲を限定した乱数を得たい場合どうすればよいでしょうか?

>>672
明日実験してみます。

>>673
MikroCなのですが、必要でしょうか?

>>675
シミュレータってどんなのがあるのでしょうか?
MikroCで出来るでしょうか?

>>676
検索しましたがありませんでした。
678774ワット発電中さん:2014/05/30(金) 03:55:52.68 ID:FSchnLxx
>数字の範囲を限定した乱数を得たい場合どうすればよいでしょうか?
乱数って、0から1まででしょう?
だったら「範囲の上限値×乱数値」でいいんじゃないの?
679774ワット発電中さん:2014/05/30(金) 05:58:25.14 ID:onS7EHIp
intで返る乱数が0から1の範囲って、それじゃ0か1しか返って来ねーじゃん
おかしいと思わんのかね?
680774ワット発電中さん:2014/05/30(金) 06:26:30.79 ID:RF/KAzHN
ツッコミどころが頭悪そうw

まーM系列シフトレジスタだろうが量子乱数だろうが元は0と1しか返ってこねーし
681774ワット発電中さん:2014/05/30(金) 06:46:57.02 ID:onS7EHIp
乱数発生器なんて持ってねーだろ
擬似乱数じゃん
ピントハズレ
682774ワット発電中さん:2014/05/30(金) 07:16:03.81 ID:6UKLCL05
乱数位、自分で作って当たり前。
これだからCしか出来ない奴は。
683774ワット発電中さん:2014/05/30(金) 10:25:34.02 ID:3mfkZlXq
0か1しか返ってこない乱数なら
8個生成すれば8bitの乱数が作れるね
684774ワット発電中さん:2014/05/30(金) 11:11:52.99 ID:a1A/lKQ0
>>671 rand()の仕様がもしも0〜255(とか65535)なら、
実質的に一ビット乱数n個じゃないの?

671さんの仰る意味は、例えば0〜4の値が欲しい場合、
1ビット乱数三個で求める場合には、
bit2の立つ確率は1/5じゃなくちゃいけないのに
一ビット乱数3個を使って代用してしまうとbit2が1/2の確率で立ってしまうわけで、そのことでそ?
それは面倒でも一旦0〜7の値を出して、5以上ならふり直し、という処理で均質化して対処できるはず。
この質問者さんはホワイる文でそれを実現してると思うけど・・・

>>672 
 PICのCを使ってないからよく知らないんで、最近のコンパイラは
 すごくなってるのかもしれないからおいらの勘違いかもしれへんけど
 モジュロ演算は割り算ルーチン呼んで時間がかかったりせえへんの?
685774ワット発電中さん:2014/05/30(金) 23:06:00.02 ID:rjoLDDb1
PIC内部の乱数発生ルーチンを知らずに、コンパイラの操作だけで何を語ろうというのだろう。
686774ワット発電中さん:2014/05/31(土) 03:11:30.03 ID:r2SapCWo
>一旦0〜7の値を出して、5以上ならふり直し

いつまでも5以上が出続ける可能性があるし
少なくとも出て来る時間が値によって異なるのが影響する用途には使えない
687774ワット発電中さん:2014/05/31(土) 03:46:29.00 ID:mjJ67jJ/
>>686
>いつまでも5以上が出続ける可能性があるし
それは乱数とは言わない
688774ワット発電中さん:2014/05/31(土) 04:50:33.84 ID:CN34wOkI
可能性なんだからまさしく乱数なのでは?
689774ワット発電中さん:2014/05/31(土) 05:09:37.66 ID:PA0ZJNht
「いつまでも」って書いてあるが?
乱数なら、そんな可能性は無い。少なくともPICに実装されてる乱数ならば。
そんな乱数なら、1がずっと出続ける可能性だって有る訳だし、別に5以上で固まる以外にも可能性はあるだろう。
ま、℃素人のプログラムによるバグだな。
690774ワット発電中さん:2014/05/31(土) 06:16:00.75 ID:mJ5c24nm
「℃素人」ってか
本人は気に入って使ってるんだろうけど
あまりセンスがいいともペーソスがあるとも思えんね
普通に「ど素人」って書けばいいじゃん
691774ワット発電中さん:2014/05/31(土) 06:22:10.48 ID:r2SapCWo
素°人
の方がしっくりくる
692774ワット発電中さん:2014/05/31(土) 07:46:15.48 ID:w+0KPl/L
語尾に「お」を付けるセンスの無さといっしょだな
693774ワット発電中さん:2014/05/31(土) 10:37:01.56 ID:re0mP4DO
°しろうと
694774ワット発電中さん:2014/05/31(土) 15:20:31.78 ID:TkAt4ZNz
初心者用のスレに来て、解決策も出さずに
人を罵るようなクズにはなりたくないなと
思う 土曜日の午後でした。

PIC用のMicroCで探すと
>int rand(void);
>0から32,767までの乱数を発生します。毎回常に同じシーケンスで乱数が作られます。
>毎回違う乱数を作るにはSrand という別の関数が用意されています。
695774ワット発電中さん:2014/05/31(土) 15:58:33.21 ID:zLgAWsHd
>>690
ま、シグネチャみたいなもんだからなw
たまに真似して書いてる奴もいるけど、内容的にはあれだな。

>>694
それは解決策なのかw
お前、日本語の℃素人だなwww
696774ワット発電中さん:2014/05/31(土) 17:58:48.47 ID:EXHNWDGb
℃漏斗
697774ワット発電中さん:2014/06/01(日) 04:09:08.74 ID:n9GnKweq
おまいら「℃」って何て読む?
おいらは「どしー」
698774ワット発電中さん:2014/06/01(日) 05:13:10.45 ID:WU0xk3oY
>>697
セルシウス度
699774ワット発電中さん:2014/06/01(日) 06:11:06.92 ID:jDfDAZj4
>>697
摂氏xx度
700774ワット発電中さん:2014/06/01(日) 07:15:33.37 ID:nP1BNd9b
最初は<℃素人>君も<語尾お>君も気になったが
−− 枯れ木も山の賑わい −−
と思って、レス内容を記憶から消し去ればどうって事は無い。
701774ワット発電中さん:2014/06/01(日) 10:38:44.12 ID:8hHwOHV8
わんわんお わんわんお
702:2014/06/01(日) 13:14:29.16 ID:wZPHw3ab
効いてる効いてるw
703774ワット発電中さん:2014/06/01(日) 22:08:23.41 ID:ojW13xrQ
華氏は何ていうかな。72°Fとかはななじゅうにえふとかかな。
704774ワット発電中さん:2014/06/02(月) 00:17:01.60 ID:9hy2A1ag
せぶんてぃとぅー
ふぁーれんはいとでぃぐりー
705774ワット発電中さん:2014/06/02(月) 02:35:39.69 ID:RYtmLDQI
体温を100にした温度体系だっけ? ゜F
706774ワット発電中さん:2014/06/02(月) 04:02:09.39 ID:VRr9R/Uk
せぶんてぃとぅー
でぃぐりーふぁーれんはいと

じゃね?
707774ワット発電中さん:2014/06/02(月) 04:27:26.58 ID:IncP9FkJ
せぶんてぃとぅーでぃぐりー
ばいふぁーれんはいと

か?
708774ワット発電中さん:2014/06/02(月) 09:06:22.89 ID:H4RcZpaf
>703

読んでみて上げやう・・・ 72°F (どやぁ
709774ワット発電中さん:2014/06/02(月) 22:19:19.20 ID:xizRibrp
picスレは頭がおかしい人のたまり場になってしまったな。原因はなんだろ。

ひょっとして質問があまりにも少ないからかな。ひとつの質問に回答者が群がってしまい
中にはうけを狙ってボケをかます人とか出てきて、ぐしゃぐしゃ。
最近は「笑点」化してきてる。

みんな歌丸なのか。
710774ワット発電中さん:2014/06/02(月) 22:26:00.23 ID:ICTVMLBi
arduinoのほうが便利だからじゃないの?
特化した物ならpicのほうが性能のいいものが作れるけど、簡単さならarduinoの方が楽だし
711774ワット発電中さん:2014/06/02(月) 22:47:13.04 ID:VRr9R/Uk
>>709
おいおい、笑点よりゃあおもしれえぜ

>>710
誰に対するレス?
ハンダ付けするかしないかの違いでしょ。
712774ワット発電中さん:2014/06/02(月) 22:47:33.18 ID:nEruXtP4
スルー力が低いだけでしょ。
713774ワット発電中さん:2014/06/03(火) 12:41:42.93 ID:UxSPQrPq
PIC覚えたいんだけどどうすればいい?
C言語1年位勉強して、「C言語によるPICフ?ロク?ラミンク?入門」 後間哲也
買ったんだけど、意味不明???
714774ワット発電中さん:2014/06/03(火) 16:20:58.38 ID:bm2j6U+O
何年勉強したかではなくて
何を理解したかではないの
715774ワット発電中さん:2014/06/03(火) 16:25:46.44 ID:5TKlpxsg
1年も勉強したのにまだ意味不明なの?
716774ワット発電中さん:2014/06/03(火) 16:32:31.89 ID:55zhx/55
一年勉強して意味不明であれば適性ないからやめとけ。
普通はCなら3日でLチカくらいはできる。
717774ワット発電中さん:2014/06/03(火) 16:46:45.26 ID:5TKlpxsg
わからない=解説書内で、意味不明な作文と遭遇

⇒既存の理解に不備があるから意味不明な解釈が形成されている

⇒教科書内の記述に対して、どういう意味あいで
 支離滅裂に思うのか?という違和感を、きちんと作文して
 文章化(言語化)すれば、どこに誤解の病巣があるか?を
 露見させやすい=ツッコミを得られやすい=認識を正しやすい=正しい理解に到達しやすい。

それ(違和感を表現する努力)を怠り、意味不明〜と書くだけでは、誤解内容も不明なままですよ!
718774ワット発電中さん:2014/06/03(火) 17:11:44.87 ID:Whhs9FHu
後閑哲也の本買ってる時点で間違いwww
入門って書いてあるけど、最初にLEDチカチカとかの話じゃないから
ほとんどC言語の話だろ
719774ワット発電中さん:2014/06/03(火) 17:17:34.36 ID:5TKlpxsg
後閑哲也著のは「PIC活用ガイドブック」しかもってないや。
だいぶ前にフルホンヤで買った(が、まだ読んでいない)。
720774ワット発電中さん:2014/06/03(火) 17:48:22.57 ID:KjKMjvBR
後閑哲也の本買ってる時点で間違いwww
入門って書いてあるけど、最初にLEDチカチカとかの話じゃないから
ほとんどC言語の話だろ
721774ワット発電中さん:2014/06/03(火) 18:23:30.18 ID:oDFGHc8k
LEDをマトリクス点灯させて時計とかの南蛮由来の品を作ってみたいと
思っていますが、たとえば下のサイトにあるような回路にダーリントンの
シンクアレイが使えますでしょうか。100mA流せる60度の照射角を持つ青色LED
はないようなので電流の小さいものを使わざるを得ないです。
ttp://www.asahi-net.or.jp/~rn8t-nkmr/diy/digital-clock/
ttp://akizukidenshi.com/catalog/g/gI-01516/
ちなみに当方頭悪いですでのでそれを踏まえてよろしくご教授くださいませ
ちなみに後閑さんといえば「8ピンPICのわかる本」では勉強になった気がします。
気がするだけのことかもしれませんが。
722774ワット発電中さん:2014/06/03(火) 19:01:51.94 ID:4Mh9Si9P
×ご教授
○ご教示
723774ワット発電中さん:2014/06/03(火) 19:52:27.42 ID:6j/c5pli
後閑哲也の本は不親切なんだよな。
最初はえらく丁寧に説明してくれるけど、途中から説明が手抜きで本当の初心者はついていけなくなる。
で、別な本買って補うことになる。

良心的だなと思ったのはアセンブラで残念だが
遠藤敏夫著 「PICマイコン  アセンブラ入門」
がよかった。最初はとりあえずやってみて後でなんでこうなるのか説明していく感じがよかった。
後閑みたいに突如むずかしくなることもなく、一通り基礎をマスターできるようになった。

この感じでC言語版つくってくれたらよかったと思うけど。
724774ワット発電中さん:2014/06/03(火) 20:49:04.25 ID:dehbZje7
PIC自体は枯れてきているけどCの開発環境は色々変わっててめちゃくちゃだからね。
CCSCもしかり、XC8もしかり。
725774ワット発電中さん:2014/06/03(火) 21:18:03.50 ID:q4eFAvcA
>>713
意味を考えるからだめなんよ
まずは物まねして少し変えて違いを比べてみる
そのうちに気づいたらデータシートを参考にするだけでいろいろ作れるようになってる
あと、具体的に何をやりたいかの目的が無いとダメ
726774ワット発電中さん:2014/06/03(火) 22:36:03.89 ID:H3Na5apg
>>723
遠藤さんの本が良いってのは同意
後閑さんには全否定はしないが得るものの量はそんなに多くない
オレはそうだった
727774ワット発電中さん:2014/06/04(水) 00:01:09.65 ID:uFqtYTfA
中身読んだことないけど、あの方のことだからどうせCCS C推しなんでしょ?
ライブラリ充実度で選んでるんだろうけど、「コンパイラって何?」レベルな
初心者に、何万もするコンパイラ揃えろと言うのがナンセンスだと思うんだけど
728774ワット発電中さん:2014/06/04(水) 00:30:51.59 ID:efQS4q3A
なんとか哲哉って人の本も、総じてわかりやすい。というか、文章がわかりやすくて
脳みそに染み込んでいく感じ。
729774ワット発電中さん:2014/06/04(水) 00:35:12.89 ID:dBiH16PU
後閑哲也はプログラムダウンロードできないのがつらい。ただで使われるの警戒してるのかな。
730774ワット発電中さん:2014/06/04(水) 01:47:56.30 ID:yzAApJwA
初心者なら自分で打たないと勉強にならんだろ
731774ワット発電中さん:2014/06/04(水) 01:51:27.47 ID:47d/JFd5
ま、プロでもコピペが当たり前だけどな。
732774ワット発電中さん:2014/06/04(水) 04:08:25.46 ID:ip01YHN2
コピペして俯瞰で眺める感じの方が全体像がつかめる
それから細部を読む

自分で打ちたきゃ止めろとは言わないが
何の意味も無いと思う
暴力沙汰を起こす石頭の体育会系指導者じゃあるまいし
733774ワット発電中さん:2014/06/04(水) 05:05:30.13 ID:YFPwvdGj
小保方発見w
734774ワット発電中さん:2014/06/04(水) 06:38:03.64 ID:QDoAFlL/
写経しながらおぼえる人もいるんじゃ?
習わぬ経を大声でよんでみてもご利益はないのかも
735774ワット発電中さん:2014/06/04(水) 07:10:51.73 ID:dBiH16PU
>>730
プログラム最初から最後までコペピなしで書いたことある?
俺は一回もない。
736774ワット発電中さん:2014/06/04(水) 13:54:49.16 ID:efQS4q3A
あるわけない。
PIC品番毎の雛形が作ってあって、毎回それをコピーして使う。
頭使うのは、main()の中だけにしたいから。
737774ワット発電中さん:2014/06/04(水) 18:03:28.21 ID:B0ULcs3l
>ま、プロでもコピペが当たり前だけどな。
シナチョンではそうだろうな。
738774ワット発電中さん:2014/06/04(水) 22:06:12.16 ID:ip01YHN2
>シナチョンではそうだろうな。
いい加減卒業しろよ
論理的にかなわないと分かったときに
逃げながら遠吠えする悪い癖から
739774ワット発電中さん:2014/06/04(水) 22:12:42.59 ID:vAL7IiRh
論理的?
740774ワット発電中さん:2014/06/05(木) 00:40:57.89 ID:5gtzUO9q
>>736
同じだな。
以前は、新しい型番使うとき、最初の1回だけは全部書いてた。
#include から main() に至るまで。

でも最近は統合環境がある程度のソース吐いてくれるから楽だよね。
更に前に使った型番ならそこからごっそりもってこれるし。
741774ワット発電中さん:2014/06/05(木) 03:33:54.12 ID:+OVS81Gm
>>740
そうそう、新機種採用で要注意なのは、データシートのレジスタ名が微妙に違ってるときね。

とりあえず、
・8pin PIC
・28,20pin PIC
・DIL 40pinのPIC
・QFPのPIC
18Fか24Fで、このくらいのお気に入りがあれば、何でもそれで作ってしまう。
新規の品書には、さほど魅力を感じないよね
742774ワット発電中さん:2014/06/05(木) 06:27:51.21 ID:m4iWa2Nm
初心者スレでベテラン勢が我が物顔で暴れまわって困っています
743774ワット発電中さん:2014/06/05(木) 10:58:16.73 ID:dOtYPWSd
ここじゃないと勝てそうにないレベルのベテランだから
744774ワット発電中さん:2014/06/05(木) 20:43:18.22 ID:vnsz7A/y
>>741
レジスタ名なんてエラー吐いてくれるし、置換するだけだから問題ない。
レジスタ名が同じなのに各ビットの機能が変わるほうがよほど厄介だ。
745774ワット発電中さん:2014/06/05(木) 21:01:05.89 ID:5JFtfuzU
70MIPSのPICを注文したけど何を作ろうかなぁ
746774ワット発電中さん:2014/06/05(木) 21:04:21.98 ID:HKfLCS6T
手段と目的が逆になってるね
747774ワット発電中さん:2014/06/06(金) 02:44:42.15 ID:dB9AgCsu
うちなんか131DMIPSのPIC32MX470F512Hが
手付かずで3つも転がってるぞ
サンプルだから無料だが
748774ワット発電中さん:2014/06/06(金) 12:13:28.86 ID:y3sRxXPV
前レスの
ttp://ww1.microchip.com/downloads/en/DeviceDoc/51764C.pdf
4ページですが、ここに書かれているケースの場合、目的の回路基板にICSPを
引き回さずPICを外してブレッドボードなど他の方法で手配線して書き込み
プログラムを書き込んだ後取り付けて動作させるのはだめなんですか?
初心者ですいません。
749774ワット発電中さん:2014/06/06(金) 12:51:15.06 ID:ObcMUgCy
>>748
問題ない。
750748:2014/06/06(金) 13:36:24.00 ID:y3sRxXPV
>>749
ありがとうございました。
751748:2014/06/06(金) 13:59:24.34 ID:y3sRxXPV
でもいちいちPICを抜き差ししてプログラムを書き換えるのは非常に
面倒だとやってみて気がつきました… トホホ
752774ワット発電中さん:2014/06/06(金) 14:02:12.07 ID:JzZs8I20
気づいちゃったかww
753774ワット発電中さん:2014/06/06(金) 14:39:07.22 ID:dFgdAqMA
デバッグ機能は初心者ほど必要だから抜き差し方式はやめた方が良い
754774ワット発電中さん:2014/06/06(金) 15:01:41.78 ID:owZ+akVm
初心者ならある程度ピン数が多くて書き込みで抜き差しいらない方がいいね
755774ワット発電中さん:2014/06/06(金) 15:12:50.50 ID:8RswXcnN
抜き差しして良いのは抜き差しならない場面だけです
756774ワット発電中さん:2014/06/06(金) 15:40:38.85 ID:y3sRxXPV
オーディオアンプならやれ1点アースだ、入出力を近づけるなとか
高周波回路なら寄生キャパシタンスや寄生リアクタンスだのに気をつけてとか
CADソフトでパターンを作る際には気をつけろと言われましたが
PICの場合なにかそういう注意点はありますでしょうか。
ちなみに糊とアイロンとOHPシートでやってます。
757774ワット発電中さん:2014/06/06(金) 15:52:02.87 ID:Yk1mhF4y
PICkit3 つかうならそのまま挿せるような
http://akizukidenshi.com/catalog/g/gM-03480/
写真三枚目みたいな端子を用意しとくとええとおもいますお

ケーブル接続だとケーブル痛んだ時にどこが悪いのか悩んだりしますしお寿司
758756:2014/06/06(金) 17:44:23.29 ID:y3sRxXPV
6pinL型ピンプラグをいっぱい仕入れてあるのでそれを使いたいと思います。
ありがとうございました。
759774ワット発電中さん:2014/06/07(土) 06:49:11.86 ID:zDPdbHyA
>>756
ある。全部盛っとけ。
760774ワット発電中さん:2014/06/16(月) 20:00:32.18 ID:/EWi8n0c
1秒毎にPORTBを+1するプログラムをシミュレータで確認したいんだけど、
実行中のSFRの表示値(実際の値ではない)が数秒〜10秒おきに更新されるから確認しずらい。
一応自分で数えて一時停止したときは、想定どおりなんだけど
動作中のシミュレータのSFRの表示を1秒毎に更新するような設定はできませんか?
MPLAB X IDE v2.10 で 16F84Aです
761774ワット発電中さん:2014/06/25(水) 11:15:34.67 ID:itJX6bix
XC8のシミュレータでI2Cの動作って確認できる?
プルアップが反映されないとか
while(SSP1CON2bits.SEN);で帰ってこないとかで困ってるです
1829なんだけど
762774ワット発電中さん:2014/06/25(水) 12:55:41.31 ID:Mfmp30u8
ロジアナなり使って実機を確認しなきゃ意味ないような
プルアップくらいならテスターで確認できそうだが
763774ワット発電中さん:2014/06/25(水) 12:59:31.46 ID:itJX6bix
実機や機材を持ち込めない環境でテストを進めたいから
プルアップも内蔵を使う
764774ワット発電中さん:2014/06/25(水) 13:59:53.72 ID:BpiGraSl
ブレッドボードで実験しろよ
765774ワット発電中さん:2014/06/25(水) 16:58:51.87 ID:hidNvHNM
もう一つPICを用意して1秒を測ればロジアナ等が無くてもOK
766774ワット発電中さん:2014/06/25(水) 17:03:32.25 ID:itJX6bix
新幹線でブレッドボードは変態だからイヤ
MPLABXでI2Cのシミュレートは不可能の線が濃厚?
767774ワット発電中さん:2014/06/26(木) 11:14:03.59 ID:Hd3TFiKe
そもそもプルアップが
768774ワット発電中さん:2014/06/26(木) 13:20:46.89 ID:sjuGTiEC
>>767
できないの?やっぱり方法がないのか
769774ワット発電中さん:2014/06/26(木) 19:55:51.73 ID:uY5b+svu
相手側のシミュレートができないのになにがしたいの?
770774ワット発電中さん:2014/06/27(金) 09:14:19.39 ID:ZNzxbXi9
>>769
正しく設定できているか
実機に入れたらすぐ動作したらいいなって
771774ワット発電中さん:2014/06/27(金) 11:58:51.07 ID:lV7yznlt
プルアップはデジタル入力にピンが設定されてる時だけだよね〜
772774ワット発電中さん:2014/06/27(金) 21:49:58.63 ID:XRT7MTBC
>>766
コンセントのある席を選べば半田ごてもつかえる。
773774ワット発電中さん:2014/06/28(土) 00:00:50.82 ID:y6MWbx8N
新幹線でハンダづけなんかしようものなら、速効通報されて車掌に止められる
774774ワット発電中さん:2014/06/28(土) 00:41:38.00 ID:ChfNa3Pr
だったらブレッドボードで我慢しろ。
そのかわり、アナログブラウン管オシロの使用を許可してやる。
775774ワット発電中さん:2014/06/28(土) 02:16:38.70 ID:TbVm6urN
あるI/Oピンをアナログ入力にするとき、ANSELxでアナログ設定にした上に
TRISxで「デジタル的に」入力にしてHi-Zにするって仕様なんだろうけど二度手間っぽい。
なんでANSELをTRISより優先させなかったのだろう
776774ワット発電中さん:2014/06/28(土) 04:05:14.37 ID:rUJXKQ5b
>>775
TRISはデフォルトで入力だから結果的にはANSEL優先と変わらないからね
777774ワット発電中さん:2014/06/28(土) 11:53:03.91 ID:AO+pUZ9A
リセット直後はTRISは入力でアナログPINにはアナログ機器の出力がつながってるわけだから、
TRISを出力にすることなくアナログの設定を淡々と進めるだけのことだよ。
778774ワット発電中さん:2014/06/29(日) 09:59:47.05 ID:KES+Dgn+
レジスタ設定をリセット時のデフォルトのまま使うのは素人。
ふつう同じ値であっても明示的に上書き初期化するがね。
PICで初心者ならしかたないけど昔の80186/188なんてメモリチップセレクトも
プログラマブルだからデフォルト値は辛うじてシステムを起動させるだけの値にすぎない
779sage:2014/06/29(日) 12:39:21.15 ID:9dMKo6Gi
>ふつう同じ値であっても明示的に上書き初期化するがね。
私も以前はそうしていたけど、メモリの少ないMCUを扱うようになって
注意書きのコメントだけで済ませるようになった。
780774ワット発電中さん:2014/06/29(日) 12:40:12.59 ID:9dMKo6Gi
あれま!
781774ワット発電中さん:2014/06/29(日) 12:53:41.66 ID:s3kxrc1s
特殊レジスタはもちろんループ変数の初期化すら省略したこともある
初回のみ高々256回多く回るだけだから
石は10F200
782774ワット発電中さん:2014/06/30(月) 07:10:38.11 ID:v8Gf+BHg
せっかくPICがやってくれているのに再設定するのは
人の努力を無視しているようで何だか申し訳ない
783774ワット発電中さん:2014/06/30(月) 09:13:34.97 ID:s/Er1qoU
メインループ内で規定値に上書きしまくっていた時期が
私にもありました・・・人の努力を無視しまくる俺様カコイイ!!

いや、何かの本で
メインループ内で規定値に上書きしろ!って書いてあったから
愚直にそれをまもっていただけだけれどもw
784774ワット発電中さん:2014/06/30(月) 12:27:18.32 ID:s/Er1qoU
   ↑
ちなみにこの上書きの作法は、
タイマの制御レグを上書きして再起動するトラブルでやめますた(^д^;
785774ワット発電中さん:2014/06/30(月) 18:52:17.20 ID:5UTMzJj6
禿しく勘違いしてるバカ発見
786禿しく勘違いしてるバカ:2014/06/30(月) 20:49:18.31 ID:0++GiqhZ
視線が熱いぜ・・・俺に惚れるなよ?☆
787774ワット発電中さん:2014/06/30(月) 22:13:45.36 ID:yj+MMS+A
>>785
どの書き込みのことかすら分からない私に
やさしくつぼを教えて!
788774ワット発電中さん:2014/06/30(月) 22:58:46.63 ID:mwAnRH0b
安価のない罵倒レスをわりとよく見かけるけど、この手の人って
言いたいことは書き込みたいんだけど、万が一のブーメランを
回避できるようあえて安価を書いてないのかな
789774ワット発電中さん:2014/06/30(月) 23:08:15.37 ID:nj9ovV1l
そう、へたれ
790774ワット発電中さん:2014/07/01(火) 00:15:07.39 ID:FMR3Sgyg
自分のこといわれてんのかとドキドキハラハラしてるバカ発見
791774ワット発電中さん:2014/07/01(火) 00:45:06.83 ID:/oB/LJt9
>>788
よく見ろ
誰も相手してないから
792774ワット発電中さん:2014/07/01(火) 09:52:01.84 ID:X1XpXztI
レグって何だ?
レジスタだから、言うならレジだろうに。
793774ワット発電中さん:2014/07/01(火) 10:08:00.33 ID:rnxeshcS
regって略してあるのに非表記の母音を再生するってどこのアラビア語だよw
(注:アラビア語文化圏では、子供向け書籍には母音まで記載するらしいが
イスラム圏のアラビア語の新聞は大人向けなので、マジで子音のみで書かれているらしい…)
794774ワット発電中さん:2014/07/01(火) 10:56:55.47 ID:Rs9O7gVF
>>792
略記するときは第2音節の子音までと学校の英語の授業で習った記憶がよみがえった。
で、(コンピューター関係のネイティブはREG.をどう発音しているのだろうか)とフト疑問に思い、
さらに、(イヤイヤ、外人がどう発音しようと日本語では「レジ」だな)と思った。

スタートして間もない独学のアマチュアは専門用語の習慣的な発音は難しいかもしれない。
とりあえず意味は通じたので許してやって。
795774ワット発電中さん:2014/07/01(火) 11:13:47.87 ID:rnxeshcS
>792
つ >>107-115

つっても、実態は単な見栄(俺は日本語マヌアルじゃなくて
ちゃんと原語のマヌアルを読んでるお♪っていう見栄)だけどな☆
796774ワット発電中さん:2014/07/01(火) 11:56:03.91 ID:oYQzqG1d
Oginoさんが、初対面のガイジンさんには「オジノさん」って呼ばれてた
797774ワット発電中さん:2014/07/01(火) 12:48:03.35 ID:hBe6HQSb
ふーん
798774ワット発電中さん:2014/07/02(水) 15:50:58.22 ID:3Ik6ewe7
>>796
生姜gingerをジンジャーと発音するから仕方ない。
(で済ませていいのかどうかの自信も無いけど)
799774ワット発電中さん:2014/07/03(木) 11:47:02.77 ID:jJKTkwYv
電池駆動で温度計作ってみたんですが、電圧が下がると温度がくるってくるんですが
なにか対策法ございますでしょうか?
温度センサーは10KΩサーミスタを使ってます。
800774ワット発電中さん:2014/07/03(木) 12:10:29.07 ID:89/c64zx
レギュレータつけて電圧を安定化させるか
ADCの基準電圧をサーミスタにかける電圧と連動する方に設定する
801774ワット発電中さん:2014/07/03(木) 21:25:12.00 ID:LZDcJ38f
電圧が下がる前に電池を交換する
802774ワット発電中さん:2014/07/04(金) 04:27:39.92 ID:dk8QSKVh
PICのAD変換を使って電圧を読んでるのなら
http://akizukidenshi.com/catalog/g/gI-05195/
こういうのを使って,電源電圧に依存しない基準電圧を作るのが簡単
803774ワット発電中さん:2014/07/04(金) 09:29:23.50 ID:sRJFSKJ3
>>799
A/D入力を複数チャンネル使って、抵抗をちょいと追加すれば演算処理で
電源電圧変動をキャンセルできる。
804774ワット発電中さん:2014/07/04(金) 11:45:40.22 ID:yPPZk4qV
温度センサをデジタル出力のに変えてしまうというのは
http://akizukidenshi.com/catalog/g/gI-05276/
電源電圧:3.0〜5.5V内なら電圧降下を気にする必要もなく
PIC側のAD変換精度を気にする必要もない。

値段が高いのと、1-Wireの通信はちょっと面倒だけど
使い方はこのページの方が詳しく書いている
ttp://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/DS18B20/DS18B20manual.html
805774ワット発電中さん:2014/07/04(金) 12:43:57.61 ID:WUF3rcr5
質問の趣旨からかけ離れた回答ってどうよ
806774ワット発電中さん:2014/07/04(金) 13:10:30.29 ID:v0XZMhH9
電池と言っても

9V電池

1.5V電池の直列

1.2V充電池の直列

いろいろあるだろうだろう
807774ワット発電中さん:2014/07/04(金) 13:30:00.89 ID:Qe2/1nCq
そもそもPIC初心者なのだから
質問の内容自体が不適切かもと考えないのだろうか

他の適切な方法を示すのがベテランの役目
808横から口出す土瓶の子:2014/07/04(金) 13:41:03.04 ID:v0XZMhH9
>802
上流側の抵抗で電流を絞れるとはいえ、
規定電圧に至るまで垂れ流す、という意味あいからは
ちょっと電池が勿体ないような気がしないでもないですね・・・^^; 精度の面からは良い手だと思いますが!
809774ワット発電中さん:2014/07/04(金) 14:41:05.49 ID:yPPZk4qV
>808
シャントレギュレーターへは数mA程度流せば良いのだから
PICのI/Oピンから供給すればいい、不要な時はL出力でカットできる。
基準電圧読み用の他に電源供給用さらにI/Oを1本使うことになるけど
810774ワット発電中さん:2014/07/04(金) 14:57:41.21 ID:v0XZMhH9
なるほど なるほど!

念のためにサーミスタが安定する時間を調べてみたら・・・
http://akizukidenshi.com/download/ds/ns/LM35DZ.pdf
5ページ目、Thermal Response in Still Air
・・・よ、4分だとっ!?
811774ワット発電中さん:2014/07/04(金) 14:58:53.31 ID:6dhbIK5X
コンフィグようわからん
プログラムはまだ何かさせたいわけじゃないからスルーしてくれ

http://i.imgur.com/MesRibj.png

まさか直打ちしなきゃいかんのか
812774ワット発電中さん:2014/07/04(金) 15:04:05.84 ID:v0XZMhH9
>811
サンプルとかテンプレからコピペすりゃええやん
813774ワット発電中さん:2014/07/04(金) 15:13:53.38 ID:eHl3/gDw
>>810
サーミスタ?
814774ワット発電中さん:2014/07/04(金) 15:17:05.26 ID:6dhbIK5X
>>812
記述例にのっとって書いてみたんだけどな
サンプル見つけたと思ったらCで書かれてと時の絶望感
815774ワット発電中さん:2014/07/04(金) 15:32:22.54 ID:v0XZMhH9
>813
あれ?ちがうんか、ごめんね☆

>814
ごめん
C:\Program Files\Microchip\MPLABX\mpasmx\templates\Code\18F2550TEMP.ASM
をみたら、INCファイルの方を見ろってかいてあった。
というわけで、どぞー C:\Program Files\Microchip\MPLABX\mpasmx\p18f25k50.inc
816774ワット発電中さん:2014/07/04(金) 17:08:35.00 ID:6dhbIK5X
>>815
そっかー、わざわざありがとー
817774ワット発電中さん:2014/07/04(金) 17:43:01.26 ID:xW/sKWAG
>>811
Window>PIC Memory Views>Configration Bits で設定して
Generate Souece Code to Outputで表示させてコピペ
ってことではないのかな

はずしてたらすいません。
818774ワット発電中さん:2014/07/04(金) 21:24:19.73 ID:6dhbIK5X
>>817
エラー吐かなくなった
ありがとう
819774ワット発電中さん:2014/07/04(金) 21:56:41.88 ID:7AmexIlC
>>804
デジタル温度センサならこっちのほうがお勧めかな
http://akizukidenshi.com/catalog/g/gI-06236/
安いのと、I2CだからPICに機能が付いてれば通信が楽
ハンダ付けが難しいのが難点だけど
820774ワット発電中さん:2014/07/04(金) 22:31:15.75 ID:K3R7T5zy
質問者が「温度計作ってみたんですが・・・」と言ってるのに、新たなハードを勧める不思議。

といってるそばからPICに何使ってるか知らんけど16F18XXとかに差し替えれば
すでに温度センサが内蔵されてるんじゃないのとか云ってみる
821774ワット発電中さん:2014/07/05(土) 01:38:19.72 ID:mrH3zoVj
USBのパワーメータを作ろうと考えています。
電圧、電流、電力、積算電力など表示させようと思います。
0.1Ωの抵抗をUSBの+ラインに直列で入れてアナログ入力で
値をとって後は計算でと思っているのですが、
電源もUSBから取ろうとすると、
電圧の計測がUSBの端子に実際に掛かっている電圧が基準になるので、
絶対値として正しく計れないので困っています。
3.3Vのレギュレータで安定した電源とした場合、今度は3.3V以上が計れないので
解決方法が見出せなくなってしまっています。
使用しているのは12F683です。
アドバイスなどよろしくお願いします。
822774ワット発電中さん:2014/07/05(土) 01:56:15.18 ID:QNN0WPQy
3.3Vのレギュレータ出力をVREFに入れればおk
カッコ悪いからこの機会に12F1822に乗り換えよう
823774ワット発電中さん:2014/07/05(土) 02:09:10.71 ID:Ijnrgw62
>>821
10kΩくらいの抵抗で 1/2 に分圧すれば?
824774ワット発電中さん:2014/07/05(土) 02:26:52.59 ID:mrH3zoVj
レスありがとうございます。

>>822
3.3VをVrefに入れた場合3.3Vを1024分割して計れるのですよね?
その場合5Vって計れるのでしょうか?

>>823
分圧した場合も絶対値での測定って出来ないですよね?
825774ワット発電中さん:2014/07/05(土) 02:28:39.58 ID:Ijnrgw62
>>824
1/2 に分圧した電圧が 2.6V なら 2倍して
元の電源電圧は 5.2V と分かる
826774ワット発電中さん:2014/07/05(土) 02:35:38.41 ID:mrH3zoVj
>>825
すみません。
意味を理解できていませんでした。
3.3Vを基準(測定上限)にして
おおよそ5V前後であろうUSBの電圧を1/2に分圧すると3.3Vが上限でも計れるという事ですね。

その様な方法があったとは・・・目から鱗です。
ありがとうございました。
827774ワット発電中さん:2014/07/05(土) 20:07:17.85 ID:dM2oO5Yt
>>820
それだとチップの温度を測ってしまうから、自己発熱分で誤差が出る。
828774ワット発電中さん:2014/07/06(日) 04:29:49.66 ID:+JuN8smi
>>827
温度計だったら、処理速度必要ないから、クロック周波数落とせば良い。
500kHzでも充分と思う。
829774ワット発電中さん:2014/07/06(日) 12:16:03.13 ID:UBnYoFBk
内蔵の温度センサって精度どれくらいあるんだろう
830774ワット発電中さん:2014/07/06(日) 12:17:48.27 ID:ZodxfjUA
もれなくPICの温度もはかってくれます
831774ワット発電中さん:2014/07/06(日) 18:53:45.48 ID:okwZ26jD
>>829
頑張っても1℃程度
832774ワット発電中さん:2014/07/06(日) 19:21:32.50 ID:Ahm1EbDe
>>829
頑張れば(正確な温度計で校正してソフトで補正してやれば)かなり行ける。
833774ワット発電中さん:2014/07/06(日) 23:35:40.66 ID:cdA7bvd3
こういうプログラムくんだんだけど何が問題なのかな

org 0

CLRF TRISB
BSF TRISA,4


seg0 EQU B'01111110'
seg1 EQU B'00011000'
seg2 EQU B'01101101'
seg3 EQU B'00111100'
seg4 EQU B'00011011'
seg5 EQU B'00110111'
seg6 EQU B'01110111'
seg7 EQU B'00011110'
seg8 EQU B'01111111'
seg9 EQU B'00111111'



MAIN:


BTFSC PORTA,RA3
GOTO HIGH3
GOTO LOW3

HIGH3:

MOVLW seg1
MOVWF PORTB
GOTO MAIN

LOW3:

MOVLW seg1
MOVWF PORTB
GOTO MAIN

END


スイッチ押してないときは0を表示して押したときは1を表示させたいんだ
でも動かしてみたら押してないときは何も表示されなくて押すと9とかが表示されるんよ

ブツ切りすまん
834774ワット発電中さん:2014/07/07(月) 00:23:35.11 ID:USUGAYOJ
押しても押さなくてもおなじ処理じゃん・・・
835774ワット発電中さん:2014/07/07(月) 00:26:20.29 ID:sDgR7CL+
>>834
(間違えた)
836774ワット発電中さん:2014/07/07(月) 00:27:06.21 ID:sDgR7CL+
>>833
いまけいたいにうつった
837774ワット発電中さん:2014/07/09(水) 00:38:38.28 ID:7rfJfl6q
プルうpは?
838774ワット発電中さん:2014/07/17(木) 15:00:35.49 ID:iCj3BFIN
電子の初心者です。PICで、質問があります。

PICのI/Oポートは最初アナログ入力になっていて、
これをデジタルに切り替えないと、入力も出力もできません。

マイクロチップは、なぜこのようにしたのでしょうか?

デジタル入力に中途半端な電圧が入ると、
貫通電流が流れてPICが壊れると言う人もいますが、果たして本当でしょうか?

もしそうであれば、
・全ピンがアナログ入力でないといけないと思います。
・PICに限らず、H8やAVR、ひいては74HCxxなどのIC全般で、同じ状況だと思います。

これは、どのように理解すればよいのでしょうか?

アナログになっている本当の理由は、何でしょうか?
839774ワット発電中さん:2014/07/17(木) 15:04:29.19 ID:DwFzPb08
なんだ、マルチ野郎か
840774ワット発電中さん:2014/07/17(木) 15:38:36.53 ID:llB10hTp
>838
正しいかどうかはわかりませんが

アナログ入力が一番安全な状態だからでは無いでしょうか。
電源ONしても何らかのトラブルで、初期設定までいかなかった場合
デフォルトが出力では、もし外部から電圧かかる場合バッティングします。
デフォルト入力の場合は、中途半端な電圧がかかる状態や、オープンだと
余計な電流が流れます(本来デジタル入力にしてはいけない事です)

http://ww1.microchip.com/downloads/en/DeviceDoc/01146B.pdf
22p TIP #3 Configuring Port Pins
でも読んでみてはいかがでしょうか
841774ワット発電中さん:2014/07/18(金) 00:47:02.79 ID:B3YWgGX7
>>838
ピン設定と外部回路の組み合わせがどうなるか考えればわかる。
半島人やシナ人なら仕方ないが、日本人なら、少しは自分の頭も使おう。
842774ワット発電中さん:2014/07/18(金) 06:00:29.83 ID:KK1EXCpu
こんなスレにまでネトウヨが…
843774ワット発電中さん:2014/07/18(金) 19:10:38.61 ID:21x9kWch
>>838
3ステートという言葉を覚えなさい。
844774ワット発電中さん:2014/07/18(金) 20:32:46.85 ID:+OmNszMN
こんなスレにまで上から目線のヤツが…

あ、いつもそうだった
845774ワット発電中さん:2014/07/18(金) 21:10:06.15 ID:0wR7KZFX
あ、いつも こ、いつも あ、の席を
846774ワット発電中さん:2014/07/18(金) 22:56:41.14 ID:Yl2iufMI
このクラスで1番の美人の隣を
847774ワット発電中さん:2014/07/22(火) 23:53:31.97 ID:tfEm7vHF
初歩的な事なのですが、質問させていただきたいのですが、
デジタル入力に設定したGPIOに入力(電源電圧と同じ電圧)があると
GPIOレジスタの該当Bitを読みに行くと1となるのでしょうか?

例えば、GPIO2をデジタルの入力にしてその数kΩでプルダウンしている場合、
通常はGPIO.B2は0で入力がHIなら1と言う感じでしょうか?

コンパイラはMikroCでPICは12F683を使っています。
よろしくお願いします。
848774ワット発電中さん:2014/07/23(水) 00:29:38.40 ID:g6m2RVz4
WPU: WEAK PULL-UP REGISTER 、ちゃんと無効に設定してる?
849774ワット発電中さん:2014/07/23(水) 00:30:37.41 ID:ORXftafM
>>847
Weak Pull-upがオフでプルダウンしてるなら通常は読んだら0だね。
GP2はシュミットトリガ入力だから0.2Vdd以下で0、0.8Vdd以上で1になる。
それ以外は以前の状態による。
850774ワット発電中さん:2014/07/23(水) 02:19:23.80 ID:9tcdKXae
>847
それは別スレで話題のCMCONとANSELの設定の問題では無いよね。
851774ワット発電中さん:2014/07/23(水) 07:59:46.03 ID:AwR0ZWh0
>>847
と言う感じです
852774ワット発電中さん:2014/07/23(水) 17:40:38.66 ID:wmCOhGTP
皆さんレスありがとうございます。

>>848
WPUの無効は設定しています。

>>849
デジタル入力の場合やっぱり、GPIOレジスタは入力が有るか無いかで1又は0に変化するんですよね。
入力に設定したGPIOのGPIOレジスタを読んでもプログラム通りの(想定した)動作をしなかったので、質問しました。
と言う事は、コンパイラのエラーは無いので文法は大丈夫として、処理におかしい所が有るという事ですね。

>>850
違います。自分はここだけしか書き込んでいません。
853774ワット発電中さん:2014/07/23(水) 18:04:17.03 ID:QKOh/EZ+
>>852
別に他人でも同一人物でもいいんだが、>>850のいうようにピンをデジタルインプットとして使う設定してる?
アナログインプットになってると入力切り替えてもGPIOは変化しない。

ハード的には問題ないのか?
入力切り替えた時にピンとGND間の電圧が変化しているのをテスタとかで見てる?

そもそもどうやってGPIOの状態見てんの?
854774ワット発電中さん:2014/07/23(水) 19:36:58.21 ID:wmCOhGTP
>>853
CMCONとANSELですが、
CMCON0 = 0b00000111;
ANSEL = 0b0000000;
の様に設定していますので、デジタル入出力になっていると思います。
今、書いていて気がついたのですが、レジスタの記述は順番があるのでしょうか?
現在の設定を全部書くと、
     OSCCON = 0b01010000;//内部8MHz
     TRISIO = 0b00000110;//GP1,2を1:入力に、他を0:出力設定
     CMCON0 = 0b00000111;//コンパレータを使わない
     OPTION_REG.NOT_GPPU = 1; //内部プルアップ利用しないに設定
     GPIO = 0b00000000;//全端子L
     ANSEL = 0b0000000;
     GPIO = 0b0000000;
としています。

ハード的には、GPIO0に、パルスの出力でRC用サーボを接続、
GPIO1と2にラズベリーパイのGPIO出力を接続かつ、47kΩでプルダウンしてラズベリーパイの出力がLoの時はPICの入力をVssに固定。
現在は、ブレッドボードで、ラズベリーパイは接続せずに単純にVDDをGPIO1と2に接続して代用。

GPIOの状態の読み方は、MikroCのIF文で、if (GPIO.B2 == 1) { というように、GPIOの該当レジスタの値を確認して、変数を増減さしています。

まだ何かデータシートの見逃しによる設定不足などあるでしょうか?
855774ワット発電中さん:2014/07/23(水) 20:04:22.29 ID:g6m2RVz4
WPU=0; WPU: WEAK PULL-UP REGISTER(P.34)
IOC=0; IOC: INTERRUPT-ON-CHANGE GPIO REGISTER(P.34)

あとは、各設定の前にBANKSELを呼び忘れているとか・・・
856774ワット発電中さん:2014/07/23(水) 20:18:31.37 ID:SZHg7njn
>>854
その記述だとクロックが2MHzになってるけどコメントとどっちが正しい?

GP3はプルアップしてる?
MCLRをOFFにしてたら、リセットはかからないだろうけど、MCLRのピンは使わないときはプルアップしといたほうが良い。

あと気になるのはサーボを入力の確認に使ってるみたいだけど、ちゃんと動いてる?
電源が弱かったりすると回路やソフトが問題なくても動かない場合もある。
入力読みの前に首振らせてみたりしてサーボ側に問題ないか確かめたほうが良いかも。

後問題なければソース全部貼ったほうが解決が早いかも。
857774ワット発電中さん:2014/07/23(水) 21:59:01.24 ID:wmCOhGTP
>>855
プルアップはOPTION_REG.NOT_GPPU = 1;で使用しない設定です。
IOCはやっぱり書いておかないといけないのでしょうか?
デフォルトで使用しない設定と思っていました。

>>856
クロックは間違えていました。
GP3のMCLRは、MikroCのプロジェクトセッティングでディセーブルに設定しています。
電源は、ACアダプタ8V1Aの物を3端子レギュレータで5Vとしています。
858774ワット発電中さん:2014/07/23(水) 21:59:28.86 ID:wmCOhGTP
以下全文です。
extern void main();
extern void delay();
unsigned short pos;
unsigned short neg;
unsigned short cpos;//カウント用
unsigned short cneg;//カウント用
//gpio1,2が入力 0が出力
void main()
{
OSCCON = 0b01110000;//内部8MHz
TRISIO = 0b00000110;//GP1,2を1:入力に、他を0:出力設定
CMCON0 = 0b00000111;//コンパレータを使わない
OPTION_REG.NOT_GPPU = 1; //内部プルアップ利用しないに設定
GPIO = 0b00000000;//全端子L
ANSEL = 0b0000000;
GPIO = 0b0000000;
pos = 15;
neg = 185;
859774ワット発電中さん:2014/07/23(水) 21:59:59.90 ID:wmCOhGTP
while(1)
{
GPIO.B0 = 1;
while (1)
{
delay();
cpos++;
if (cpos == pos)
break;
}
GPIO.B0 = 0;
while (1)
{
delay();
cneg++;
if (cneg == neg)
break;
}
cpos=0;
cneg=0;
if (GPIO.B1 == 1)
{
pos = pos + 1;
neg = neg - 1;
if (pos >= 20)
{
pos = 190;
}
if (neg < 180)
{
neg = 10;
}
}
if (GPIO.B2 == 1)
{
pos = pos - 1;
neg = neg + 1;
if (pos <= 10)
{
pos = 10;
}
if (neg >= 190)
{
neg = 190;
}
}
}
}
void delay()
{
Delay_us(100);
}

変数posとnegが合わせて200になるようにして0.1msのディレーを掛ける事で20ms周期のパルスで
パルス幅は1msから2msの間に制限しているつもりです。
GPIO1のレジスタが1になればパルス幅を0.1ms単位で増やしGPIO2が1なら減らします。
出力はGPIOOに出しています。
860774ワット発電中さん:2014/07/23(水) 22:11:49.66 ID:uyIi4PZO
ソース貼ってもグダグダ言うだけで適切なアドバイスが無いのが、いつものパターン。
861774ワット発電中さん:2014/07/23(水) 22:19:32.91 ID:g6m2RVz4
Cだと自動でBANKSELしてくれるん?
862774ワット発電中さん:2014/07/23(水) 22:43:49.91 ID:SZHg7njn
周期は20msで固定でいいはずだからもうちょっとシンプルなコードにできるけど動かないことはないように見える。
クロック設定してみてから試してみた?

ポーリングでGPIO読んでるから約20msごとに数値が変動して数値が一瞬で上限か下限にはりつくか同時押しで変化しないことになりそう。

入力を両方Loにした時にサーボちゃんと初期位置まで動く?
863 ◆HIKaRi/Dzs :2014/07/23(水) 22:46:24.06 ID:ZCkI7rsh
どうだめだったのかっていう情報があると、原因を予想するための
手助けになるような気がするけど
864774ワット発電中さん:2014/07/23(水) 22:55:31.49 ID:gqmaOu0q
ソース読めば、どうダメかは分かりそうなもんだが
865774ワット発電中さん:2014/07/23(水) 22:57:17.11 ID:g6m2RVz4
ここが変じゃね?
if (pos >= 20) {
pos = 190;
}
866 ◆HIKaRi/Dzs :2014/07/23(水) 23:07:41.99 ID:ZCkI7rsh
>>864

まずは>>852の プログラム通りの(想定した)動作をしなかった という
内容がどのように想定通りでなかったのか知ってからのほうが見やすいかな
と思った次第でしたが、すんませんちゃんと読みますm(_ _)m
867 ◆HIKaRi/Dzs :2014/07/23(水) 23:16:06.09 ID:ZCkI7rsh
ソース読んでみました

・cpos, cnegが初期化されていないことが個人的には気になりました
 (多分大丈夫な気もしますが、私は0で初期化すると思います)

・暫定でGPIO1, 2は両方ともVDD固定とのことですので、その場合、
 単純に同じデューティーで出力を繰り返す動作になると思いますが、
 そうなってますか?

・ラズベリーパイからGPIO1, 2でデューティーの変更をしていると思いますが、
 ラズベリーパイがHを出している期間によってはステップが1つ以上かわって
 しまいそうな感じですが、それは大丈夫ですか?
 >>862さんのコメントの内容が私も気になりました
868774ワット発電中さん:2014/07/23(水) 23:27:22.51 ID:g6m2RVz4
865補足
posが
15→16→17→18→19→(20以上なのでいきなり)190 って増えちゃってええのん?
negも
185→184→183→182→181→(180以下なのでいきなり)10 って・・・

その後は何押してもソノ値に上書きやん・・・
869 ◆HIKaRi/Dzs :2014/07/23(水) 23:28:32.37 ID:ZCkI7rsh
あと、もう一点気になったのは

・posとnegの初期値がそれぞれ15と185なのに、デューティ変更部分で
 どつき判定値と戻し値がそれぞれ5だけ違えてるのはなぜですか?
870 ◆HIKaRi/Dzs :2014/07/23(水) 23:37:45.01 ID:ZCkI7rsh
>>868
そっすねw

ONデューティ上げ(GPIO.B1==1)の方は、5違い以前に数値が変ですね
たぶん、190と10が逆なんでしょうね


にしても、ONデューティ下げ(GPIO.B2==1)の方含め、判定値はいいとしても
戻し値は初期値の15と185にしたほうがいい気がします…
と書いていたところでわかりましたが、初期値の15と185は調整範囲のセンター値で、
調整幅がpos/negそれぞれ±5なのですね(>>859に書いてあった。。すんません)
871 ◆HIKaRi/Dzs :2014/07/23(水) 23:42:43.08 ID:ZCkI7rsh
わかった。やりたいことってこうじゃない?
(制限範囲にどついたらその値をキープ)

if (GPIO.B1 == 1)
{
pos = pos + 1;
neg = neg - 1;
if (pos > 20)
{
pos = 20;
}
if (neg < 180)
{
neg = 180;
}
}
if (GPIO.B2 == 1)
{
pos = pos - 1;
neg = neg + 1;
if (pos < 10)
{
pos = 10;
}
if (neg > 190)
{
neg = 190;
}
}
872774ワット発電中さん:2014/07/24(木) 19:53:45.23 ID:EUqFgEsJ
皆様、アドバイスありがとうございました。

デューティーを決めているif文のご指摘、自分の勘違いと見直し時にも見逃していました。
また、カウント用の変数の初期化をしていない点など、C言語の基本をおざなりにしてしまっていました。

また、自分の書き方が悪かった点として、
>ラズベリーパイは接続せずに単純にVDDをGPIO1と2に接続して代用。
ですが、常に接続でなく、GPIO1または2にVDDをその都度(例えば一瞬だけGPIO1にVDDを接続)して
ラズベリーパイからの出力が来た場合の変わりにしていました。
誤解する書き方ですみませんでした。

兎にも角にも、20ms周期で、パルス幅が1msから2msで可変すると言うRCサーボモーター制御パルスの
出力に成功しましたので報告します。

本当にありがとうございました。
873774ワット発電中さん:2014/07/24(木) 20:18:19.27 ID:4qX/XxCA
タイマーで4本のピンに正確なパルス出しながらシリアルが受信できる
12F1822は便利だ
874774ワット発電中さん:2014/07/24(木) 23:09:52.60 ID:lZKx/0oG
>872
おめでとさーん
875774ワット発電中さん:2014/07/25(金) 18:02:02.97 ID:Wtx1O8Rf
>>873
それって、どうすれば出来る?
TIMER0,TIMER1,TIMER2の組み合わせで4つものPWMできる?
しかも、クリティカルなパルスを維持してシリアル受信って・・・
876774ワット発電中さん:2014/07/25(金) 18:30:43.56 ID:jdAZp09d
RCサーボ相手なら、ソフトで十分。
877774ワット発電中さん:2014/07/25(金) 21:50:34.71 ID:Wtx1O8Rf
>>876
ソフトでって、TIMER使わずに上の話の人の様にIOのオンオフだけでやるってこと?
878774ワット発電中さん:2014/07/26(土) 00:06:57.79 ID:hKqew40Y
>>875
周期が同じでよければ、タイマーはひとつで良い。
879774ワット発電中さん:2014/07/26(土) 00:29:24.77 ID:YycpsVWs
>>878
確かにそうだけど、それだったら12F1822である必要も無く
12Fの3桁シリーズでも出来るよね。
>873の話はガセ?
880774ワット発電中さん:2014/07/26(土) 00:35:38.00 ID:6MPuyHjo
>>879
3桁PICでやってみるといいよ
881774ワット発電中さん:2014/07/26(土) 02:43:20.47 ID:wB1o8tjC
12Fを使ったことないのでちょっと調べてみたがUART持ってるのって
1572、1822、1840の3品種しかないぞ。
882774ワット発電中さん:2014/07/26(土) 07:22:59.02 ID:zegNqYMr
>>877
>上の話の人
ってのがどれかわからんが、IOのON/OFFで十分。
1822の5ピンにRCサーボを繋げる事だって出来る。
883774ワット発電中さん:2014/07/26(土) 09:55:05.43 ID:tHFQD/u+
UARTついてるのは8PINでも16Fになってるね
884774ワット発電中さん:2014/07/26(土) 18:01:36.27 ID:o8jf8Ish
タイマーで4本のピンに正確なパルス出しながらシリアルが受信できる
PSoCは便利だ。


とかね。
885774ワット発電中さん:2014/07/26(土) 18:13:00.17 ID:t08BYauh
PSoCは割高なのと、ツールがもっさりしてて億劫になる。
886774ワット発電中さん:2014/07/26(土) 21:00:51.32 ID:lHG4sqEa
ソフトウェアでサーボ用パルス作ると最大2ms割り込み禁止になるから
4800bps以上の受信はできない
玄人ならループ内でポーリングするから平気なんだろうがオレには無理
887774ワット発電中さん:2014/07/26(土) 21:18:06.94 ID:+jk0dani
>>886
>玄人ならループ内でポーリングするから平気なんだろうがオレには無理

よく判ってるね。℃素人とそうでない人の違いは、考える能力があるかないか。
その上、Cしか出来ないと致命的に考える能力が育たない。
888888:2014/07/26(土) 21:23:26.35 ID:qwpRe3Gv
888
889774ワット発電中さん:2014/07/26(土) 22:14:46.62 ID:58iGQ9Pd
Cウーザーでも、CTS/RTSでフロー制御すりゃええやん…
890774ワット発電中さん:2014/07/26(土) 22:17:40.73 ID:+jk0dani
PICのバッファは少ないので、フロー制御では間に合わない
891774ワット発電中さん:2014/07/26(土) 23:14:36.61 ID:58iGQ9Pd
そうなん? バッファがいくつであれ(たとえ一バイトだけでも)
2ms以内に受信できない旨を通達できりゃとりこぼさないんとちゃうん?
892774ワット発電中さん:2014/07/27(日) 00:04:28.64 ID:usnCukM1
>>891
実装にもよるけど、相手がPCなら、フロー制御しても数バイトは送ってくるし
そんなめんどくさい事するより、素直に2m秒以下の受信が出来る様にプログラムするべき
893774ワット発電中さん:2014/07/27(日) 00:14:14.79 ID:TLVdtXvi
8251とかは受信取りこぼしたら次のキャラクタで受信バッファが上書きされちゃうけど
PICのUSARTってオーバーランエラーをクリアしないと次の受信してくれないんだ
最初戸惑った
894774ワット発電中さん:2014/07/27(日) 00:57:04.47 ID:50wh5d2B
>フロー制御しても数バイトは送ってくるし

マジかよ、くそ箱売ってくるっ!!
895774ワット発電中さん
>Cしか出来ないと致命的に考える能力が育たない。
またか