Arduino初心者熱烈大歓迎質問スレ part19 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
http://www.arduino.cc/
【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね
【分裂騒ぎ】
おさまった模様。くわしくはぐぐれ。
関連スレ
【Arduino】フィジカル・コンピューティング4【OSC】
http://wc2014.2ch.net/test/read.cgi/denki/1407830304/
学研マイコン Japanino ジャパニーノで遊ぶスレ 3
http://kamome.2ch.net/test/read.cgi/denki/1286354827/
前スレ
Arduino初心者熱烈大歓迎質問スレ part18 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/ >>924
ケースバイケースです。
アナログ入力だと、想定状態ではかからないが、そうでもないときにかかっても大丈夫なように配慮することがよくあります。 入力に電源電圧以上の電圧が掛かるような状況は、「現場」では珍しい事ではない。
サージやノイズというような形でだけど。
で、プログラムが暴走したり、CPUやパーツが壊れたりしないように色々と対策をする。
コストの制限もあるし、この辺が技術力、経験の差が出るところかな。 遅レスすみません>>913です
答えて下さった方々ありがとうございました
なんとか実装できましたのでここでお礼させていだきます 加速度センサーから角度だしたけど180度ずれ・・・・ Serial使ってる時UNOのD0とD1が使えないなんて
どうして誰も教えてくれなかったんだよぅ・・・ >>931
ご愁傷さまです。
というか、Arduinoは少ないピンを兼用で使ってますし、
ボードの回路図を読み解ける方が間違いがなくていいですね。 シリアル増やしたいときは、unoで苦労するよりも
Megaにしちゃったほうがいいかも
中華Megaなら千円くらいだし 16F1823を8個並べてシリアル通信&AD変換させて、SPIで束ねてる。
SPIの帯域的にはまだかなり余裕がある。 PICを単機能の「周辺・入出力・制御」に適用するのは、PICの正しい使い方だな
PICはそれ以上でもそれ以下でも無い。 >>936
PICはそれ以上ではないという命題(命題1)は、ド・モルガンの法則により、PICはそれ未満
PICはそれ以下ではないという命題(命題2)は、ド・モルガンの法則により、PICはそれを超える
命題1と命題2より、PICはそれを超え、かつそれに満たない
ド・モルガンの法則により、PICはPICではない
以上、証明終了 http://www.fecegypt.com/uploads/dataSheet/1471359073_d2058.pdf
このトランジスタで1A流したい場合、hfeのグラフを見ると1Aの所が100強なので
10mA程流せばよく、ピン毎に40mA流せるArduinoならIOピンで直接駆動する事が
出来る思って宜しいのでしょうか? >>938
hfeはばらつくから足りない場合もあるかもしれないけど、まあいけるんじゃね?
って回答にしとく >>938
>トランジスタで1A流したい場合
この1Aがどういう性質なのかによりますね。
常に外部回路へ/から1A流したい場合はその考えではダメです。 >>938
「hfeのグラフ」はFig.4のことだと思うけど、これは
VCE=5Vの値(飽和動作でない)ということに注意
飽和動作時のHfeは、大雑把には10くらいに見積もるのが普通(Fig.5)だけど
ちゃんと見積もるにはFig.3参照 >>938
>>941さんが書かれているように、トランジスタにON/OFFの動作をさせたいとき(飽和動作)は、
ベースにかなり多めに電流を流します。
1Aの負荷をマイコンからON/OFFしたいときは、特別な理由がないならMOS-FETをおすすめします。 >>943
お。SSRならグランドがうんたらかんたら、とか配慮しなくていいですね。 >>939-942
有り難う御座います
ただ自分の知能では解説サイトを読みながらグラフを見ても
Fig3・5からどう導けば良いのかさっぱり解りませんでした
眺めた解説サイトの中にテスターで計りながら検証されてる所がありましたので
同じ様にまず実測してみようかと思います >>945
グラフは基本的にティピカル値です。
hfeのグラフはIc=0.5Aのときhfeが150くらいになってるから、Yランクの
真ん中くらいのティピカル値でしょう。
hfeのバラツキは大きいし温度によってもかわるし飽和電圧の問題も
あるので2〜3倍のベース電流を流すのが普通です。
その場合スイッチングスピードは遅くなるけど。
Fig5はIc=10*Ibなのでさらに大きなベース電流を流してのデータです。 トランジスタ2コ使ってダーリントン接続すればもっと流せるお マイコンで外部のON/OFFする方法まとめ(例外あり)
★直結
駆動電圧:マイコン端子の電圧
ON時のL電圧:数mAまでなら、0.xVまで下がる
電流:数mA
特徴:お手軽。異常電圧がかかったら、マイコンごと逝ってしまう。
★ふつうのNPNトランジスタ
駆動電圧:トランジスタのCE電圧
ON時のL電圧:コレクタ電流/10ぐらいのベース電流を流せば(HFE依存) VCEsat。(0.1V以下になることも)
電流:マイコンの出力電流×10ぐらいまでが目安(HFE依存)
特徴:ON時間は速いが、OFF時間はμ秒オーダーになることも
★ダーリントンNPNトランジスタ
駆動電圧:トランジスタのCE電圧
ON時のL電圧:0.6〜0.7Vはある。
電流:わずかな駆動電流で大きな出力電流
★MOS-FET
駆動電圧:FETのDS電圧
ON時のL電圧:ON抵抗×ドレイン電流
電流:ゲートに電流はほぼいらない。電圧をかけるだけでON/OFFできる。
留意点:マイコンの出力電圧で駆動できるゲート電圧のものを選ぶ
特徴:OFF時間はトランジスタよりずっと速くすることができる。
★フォトリレー・ソリッドステート・リレー
駆動電圧:リレー依存
ON時のL電圧:リレーの出力のFETに依存
電流:リレー依存。ドライブするには数mA〜20mAぐらい。
特徴:遅い。GNDが分離できる。 ダーリントン接続だと飽和電圧1Vくらいになるから
1A流すと損失1W
>>938のトランジスタだと、一応は絶対最大定格以下だけど
触れないくらい熱くなる
よく分からないなら尚更MOS-FET使ったほうがいい
http://akizukidenshi.com/catalog/g/gI-07597/ >>950さんが書かれている通りで、
>>949の
>★ダーリントンNPNトランジスタ
>駆動電圧:トランジスタのCE電圧
>ON時のL電圧:0.6〜0.7Vはある。←通常のトランジスタのON時電圧にこれだけ足したものになります。 Tr二つでも初段のコレクタを負荷に繋がず抵抗で電源につなげばOKよ >>952
>Tr二つでも初段のコレクタを負荷に繋がず抵抗で電源につなげばOKよ
本当に、ダーリントントランジスタの初段のコレクタを電源に繋ぎかえただけの
怖い回路を見たことがあります。
怖いのは無知だから。
ベース電流を十分絞ってやれば問題ない。 >>949
うわぁ!こういうのすごくありがたい!
今までモヤモヤしてたのがスッキリしました!
保存しておきます! >>957
2段めのベース電流はどうやって決めてるかな? >>958
二段目のベース電流が一段目のコレクタ電流とほぼ等しいとして。
IB2=(hFE1×(Vo-VBE1-VBE2))/R
Vo:初段ドライブ電圧
R:ベース抵抗
でどうでしょう。
hFEが支配的なのは温度特性上問題と思えます。 IB2=(Vcc/負荷)/hFE2
にはならんの? いまスリープモードについて調べてます。
スリープに入ったかどうか、どうやって分かりますか?
電流値を測るしかないですか? >>960
因果関係はベース電流→コレクタ電流です。
ICがめいっぱいになっても、IBはもっと流すことができます。
というか、通常のトランジスタのON./OFF動作は、IBを十分流して、IB×hFE > IC の領域で使います。
とはいえ、IBにも流せる限界がありまして、それを超えるとトランジスタが壊れてしまいます。
GNDピンと13番ピンにLEDさしてdigitalWriteすると壊れますか >>959
それに、hFEそのものがばらつきやすいものですし。 >>963
試してないですけど、マイコンのポートとLEDのデスマッチですね。
マイコンの方もポートに流せる最大定格の電流が流れてしまいそう。
LEDも小さいものなら最大電流を超えてしまいそう。
実力勝負ならどちらもすぐには壊れないと思いますが。 >>961
そのうち詳しい方からアドバイスが出てくるかと思いますが…
ArdduinoでSLEEPはやったことがない俺ですが、
深いスリープモードならメインのクロックが停止することで判断できる。
とか
loopでどこかのポートのLEDをチカチカさせていたのが止まる。
とか、そういうことで確認できないでしょうか。 >>961
・LEDの点滅など、SLEEPせず動いていれば確認できるプログラムを自分で用意する
・消費電流を測る ハードウェア割り込みの衝突した場合の挙動などの情報を見つけることができなかったので質問なのですが
割り込み番号の違う割り込みが同時に近いタイミングで起こった場合
1優先順位が高い方から処理
2先に入った方から処理
更に処理中に同じ割り込み番号の割り込みは
1割り込み処理中割り込みはイベントごと無視
2キューが入って終わるまで待機してる
追加でもし待機の場合であれば幾つまで保持出来るのでしょうか?
後、割り込み処理にかかる時間を調べたいのですがdegitalWriteかPORTの書き換えを割り込み中に行ってオシロで読む以上に良い手があれば教えていただけないでしょうか? 割込み関連の情報は、たとえば tiny2313の資料(Rev. 8246B–AVR–09/11)の
4.7 Reset and Interrupt Handling
4.7.1 Interrupt Response Time
などを読まれてみては?
割込み応答時間はクロック数で計算できると思う。 >>957
ベースに制限抵抗が入っていないと何でもかんでも怖くなる病だからだよ スマン、資料は Rev. 8246B.AVR.09/11 >>970
積んでるマイコンのデータシートを見ればよかったんですね
ATmega32u4の日本語訳のデータシートは見つけられなかったので時間かかりそうですが実験と並行で読み進めていきたいと思います
ありがとうございました >>974
日本語データシートは有志翻訳版になりますがavr.jpにありますよ 英語版の方が、理解しようとしながら読めるとは思うけど。 >>957
℃素人だから。
学校でお勉強した事しか暗記してなくて、なんでそうなるかとか自分で考える能力が皆無。 先人の皆様に質問です。Arduino UNO互換機を使っています。
ttps://github.com/majekw/optiboot/tree/supermaster/optiboot/examples/flash_program
を試してますが、フラッシュ周りにアクセス(optiboot_page_*)するとリセットが発生しているようです。
--section-start=.text=0x7000でブートセクター領域に収まって貰ったりも
したのですが、リセット現象は収まらないです...助けて!!
Arduino IDE 1.6.12を使っています。
バージョン依存なら変更するのは検討しますが、このサンプルスケッチが
2015年のものなので、あんまり関係無いかな?と考えています。
どなたか試して頂けないでしょうか。 1.8.5(2017/10/13)
Current flash contents:
0123456789ABCDEFGHIJKLMNOPQRSTUVW.....
Type 128 characters to store in flash:
0123456789ABCDEFGHIJKLMNOPQRSTUVW..
All chars received
Erasing buffer
Current flash contents:
0123456789ABCDEFGHIJKLMNOPQRSTUVW....
Type 128 characters to store in flash: 家で不労所得的に稼げる方法など
参考までに、
⇒ 『武藤のムロイエウレ』 というHPで見ることができるらしいです。
グーグル検索⇒『武藤のムロイエウレ』"
AU9N9BLQDL >>978
早速ありがとうございます。
やっぱりリセットしてますか。そうですか。
どうやったらお手軽にFlashに書き込み出来るのでしょうか。 同じ場所にあったoptiboot使ったらちゃんと動いたけどどうよ?
Current flash contents:
0123456789ABCDEFGHIJKLMNOPQRSTUVW
Type 128 characters to store in flash:
000000000011111111112222222222333333333344444444445555555555
66666666667777777777888888888899999999990000000
All chars received
Erasing buffer
Writing to temporary flash buffer
Writing buffer to flash
Write done, thank you!
Now you can reset or power cycle board and check for new contents! >>981
うお、マジですか!そういうオチですか!?
ちょっとMakeしなおして入れてみます。
(動作周波数がプリコンパイル物では合わないため) 動きました!やっぱり第三者の目線で見て頂いて助かりました。
ずっとUSBasp使っていて、同じOptibootなので、まさか
ブートローダーが違うとは思っていませんでした。
具体的にどこが書き換わってるかはこれからdiff取ってみます。
とりあえず報告にて! Arduinoと車用のO2センサーを使用してAirFuel計を作りたいのですが、信号電圧をAirFuel比に変換するにはどのようにキャリブレーションすれば良いでしょうか?
妙案をお持ちの方がいらっしゃいましたら教えてください。 >>985
ttps://github.com/Hell-Fire/WidebandO2
そのものっぽいです。BOSCHのLSU4.9を使ってるみたいです。 モーターの回転をフォトインタラプタやホールIC等で検知してみたいのですが、割り込みで立ち上がり時にカウンタ加算だけしたとして
Arduinoの性能では秒間何回位まで計測出来るのでしょうか
切りよく6000rpmとして1秒100回転、1回転8回としたらカウント間隔1.25ms秒になると思いますが、Arduinoの性能で間に合いますか? >>987
Unoだと仮定して、データシート見る限り
割り込み応答で4クロック、カウントアップで4〜8クロック、割り込み復帰で4クロック
Unoは16Mhzだから理想値は秒間100万回辺り? >>988
有り難う御座います
本当にカウントだけなら余裕ですね
int counter:
void intterrupt(){
counter++;
}
でその理想値に至るのでしょうか intじゃ駄目? >>986
やはりデータシートが公開されていて、信号電圧が直線的に変化するセンサを使用するのが簡単なようですね。
ありがとうございます。 Arduinoはスケッチを一度書き込むと、次のスケッチを書き込むまで前のスケッチが残りますよね?
これが原因で、回路を変えてからスケッチを書き込もうとUSBを挿した時に前のスケッチが動き出して
新しい回路と前のスケッチの相性が悪くて過電流などが起きて壊れてしまうことって無いのでしょうか? >>991
作業の手順間違ってるでしょ。
何で回路組んどいてから関係ないスケッチ動かすような順序にするの? >>991
全部配線抜いてから書き込めよ
おおちゃくしようとするなよ
電気に疎いバカなの? PWMピンを割り込みピンに繋いでカウントしてみたら31kHzも正確にカウント出来ました
これなら大丈夫そうです >>995
なるほど
一回配線を抜くんですね
電源を抜く -> Arduinoに刺さってるピンを抜く -> 電源(USB)を挿す -> スケッチを書き込む -> 電源を抜く -> Arduinoにピンを挿す -> 電源を挿す
これで安全に作業できるでしょうか? このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 159日 15時間 14分 56秒 レス数が1000を超えています。これ以上書き込みはできません。