Arduino初心者熱烈大歓迎質問スレ part20
■ このスレッドは過去ログ倉庫に格納されています
http://www.arduino.cc/
【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね
【分裂騒ぎ】
おさまった模様。くわしくはぐぐれ。
前スレ
Arduino初心者熱烈大歓迎質問スレ part19 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
過去スレ
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/
関連スレ
【Arduino】フィジカル・コンピューティング4【OSC】
http://wc2014.2ch.net/test/read.cgi/denki/1407830304/
学研マイコン Japanino ジャパニーノで遊ぶスレ 3
http://kamome.2ch.net/test/read.cgi/denki/1286354827/ >>268
不具合があったけど
自己解決しました。
まだ誤差が59μsあるんだけど
コンパイルにo3の最適化しても
だめだったので、あと発振子を変えてみるつもりですがマイコンの限界かなと思ったり。 >>272
ありがとう
12Vだから電圧は抵抗分圧で落とす必要があるわけか
それならシンプルで簡単に制御できそう
ただ、Arduinoで電圧測定をしている説明を見ると、必ず電池でArduinoを起動させて、別の電池の電圧を測ってる
何となくイメージなんだけど、起動している電源からそのままアナログ端子に差し込むと感覚的に壊れそうなイメージがあって不安だった
一般にこんな事は起こらないの? どうやってチャージのon/offをするつもりなん? >>275
チャージの方はソーラーパネルに逆流防止のダイオードを付けるだけ
5Wの補充電用の物だから多分過充電にはならないと思う
不安がでそうだと
消費側同様、とりあずはリレーかな
他はフォトカプラやSSRか
まだあまりしっかりとは考えてない >>267
そんな事も可能なんですか、私の知識では無理そうですが覚えておきます
ありがとうございます >>269
>>274
開発途中までは思わぬトラブル回避で別電源を用意して試験して
ある程度めどがついたら充電対象のバッテリに依存するように設計変更したらよろしいのではないでしょうか >>273
UNOとかNanoはセラミック発振子だろそれでクリスタルRTCを測ってもね、
しかし年末に購入した中華DS3231も4個中2個が周波数が32.780KHzと
RTCとして使い物にならず他1個も不良でまともそうなのは1個だけだった。
UNOのクロック測ったら-25KHzで2009は+1.7KHzでした。 >>279
DS3231使ってるけど、そんな精度低いもんかな。
32kHz出力は使ったこと無いんだけど。
RTCとして使えないってことは、時計も盛大にずれるって事? >>279 >>282
DS3231が内部で温度とともに校正値を変化させているとはいっても 32.780kHz は異常。
366ppmって、並みの水晶でもでかすぎる。
考えられるふたつのこと。
32.780kHz を測った測定器の誤差が大きい。
中華DS3231が実は怪しいもの(偽造、テストに通らなくて廃棄されたもの)。 >>280
>流石にセラロックはねーって
これを見て最初、
「セラロックでRTCを評価するなんて、さすがに無いよなあ」という同意なのか
「UNOにセラロックが使われていることは、さすがに無いだろ」という反論なのか分からなかった。
よく見たらリンク先が回路図だったから、前者だったのだと安心した。
ともかく、
システムクロックを動かしてるオシレータは、水晶であってもRTCの水晶ほどにはシビアに合わさない。
それを使ってRTC精度を測るのはナンセンスですね。 で、>>279さんは、どんな測定器で周波数を測定したんでしょ? >>258
検出器の前に干渉フィルターを置けば?
レーザーの発光線幅よりも、フィルターの通過帯域の半値幅は遥かに広くて10 nm以上ありますが、他の波長はカットできますよ。 >>282
中華DS3231の話でテストしているわけでもないのでたまに不良品に当たるわけです。
発振周波数が12Hzもずれてると1日で30秒も進みますそんなRTC使いますか?
>>283
4個中2個は32.768KHz残りの2個が32.780KHzと12Hzずれたものがあったので
一応HPのユニバーサルカウンタでも確認しています。
購入した中華DS3231は1個245円ですのではなからバッタ物と認識していますが
ググッてもそんな悪評が見つからないのでここまで当りを引くとは思いませんでした。
>>286
確認に使ったのはルビで自家校正したHP53131A、校正したのは2年ぐらい前かな。 >>288
良品(と思われるもの)はちゃんとした周波数に見えてるのですね。
http://www.avrfreaks.net/forum/does-frequent-reading-slows-down-ds3231-rtc
↑DS3231を頻繁に読むとスピードが遅くなるか? というスレなのですけど、
中華品だからじゃないのか、という疑いも書かれています。
Digikeyでの価格と中華モジュール価格の差がとても大きいし注意は必要かもしれないですね。 >>289
>良品(と思われるもの)はちゃんとした周波数に見えてるのですね。
はい、半分の2個は32.768KHzを出力しています。
使用しているモジュールは以下と同じものです。
https://ht-deko.com/arduino/rtc_ds3231.html そういえばAliのRTC
どこで買ったか忘れたけど一次電池のボタン電池が付属してたけどこれに勝手に充電されてた
一歩間違えると過充電爆発するんじゃないかと不安になり、チャージ回路のパターンを切断したわ
もし買う予定ならお気を付けあれ
精度については良く覚えてないけど100円ショップの時計程度だと思う
ただ、どうしても精度が欲しいならGPSや電波時計からモジュールを取り出して使った方が良いんじゃないかな nano、センサー、モーターはバッテリーとDCDCコンバータで動かしながら
nanoにマイクロusb刺してデータを表示させたいんだけどできますか?
usbのハブがあるけどpcが壊れないか不安です。 >>293
GNDを共通にして大丈夫かどうか、とか、電圧次第ですけど、
心配だったら「USBアイソレータ」をひとつ持っておくと良いのではないかと思います。
俺は自作しましたが、基板だけの安い既製品もあります。
https://strawberry-linux.com/catalog/items?code=12284 PWM出力を0の時にPWMが最大出力にさせるにはどうすれば良いですか?
アナログ入力からの/4で、その数値が低い時にPWM出力を大きくしたいのです vs-codeで質問ですが、サンプル含めて既にある ino を開くのはいいんですが
新規に ino を作るときはどうしたらいいのでしょうか。
setup と loop だけの話ですが、スケルトンを作ってくれないのか、と >>295
そんなのLチカサンプル開いて、
setup()とloopの中身削除して名前を付けてセーブでいいんじゃないの? void setup() {} void loop() {}
↑これをIMEの単語登録に「スケルトン」で登録! まるきり新規なら、まず好きな名前で空のフォルダつくって、その中に「フォルダ名.ino」を
置けばプロジェクトの出来上がり。 >>296
アナログ入力値a、pwm出力bとすると
b={(1023-a)/1023}*255
みたいなんでいけない?
アナログ入力の比率は自分で考えて下さい >>302
それっていつも0しか出ないような気が、、、
4で割るだけでいいのに。 >>302
なるほど元発言の一行目は無視すればよいのか
ゼロのときに最大にしたい、ってなんだ?と思ってたけどようやく理解できました >>302
map関数使った方がスマートじゃない?
PWM出力ポート=map(アナログ入力ポート,0,1023,255,0)
こんな感じだったかな
これで10bitも同時に8bitに変換できて、尚且つ下限と上限入れ替えてるから入力0の時,出力255 ちなみに処理速度が速いのと、使用メモリが一番少ないのはビット演算 賢いコンパイラだと、2のべきによる整数割り算はシフトにしてくれる
お試し版とか、無料版とかのモードだとその辺の最適化が無効になっていることもあるが >>305とかこの手の人が読みやすい綺麗なコード書く人なんだろうなとは思う 昔はいろいろバイナリ、シフトとか考えて書いたけど、最近はやらなくなってしまったわぁ。
なるべく数式通りに、見てすぐわかるように冗長でもいいから、float使いまくって
そのまんま書いちゃう。 それだけ演算能力が上がったって事やね
Arduinoは低性能だけど。
nanoサイズでもっと高性能なのを出せばいいのに
STM32やESP32がIDEに対応してから地味にシェア食われていってるやん。
結局は多くの人がIDE目的ってことやな STM32F103C8T6でもnanoよりloop一周の時間が10倍は速かったよ
ESP32は240MHzでデュアルコア
どれだけ速くなることやら >>315
>Arduinoは低性能だけど。
これは、「AVRのArduinoは低性能だ」って意味なのかな? ADCH取得するだけで1/4になってるのにfloatにして割らなくても。 CPUタイムもスタックもスタティックも余りまくってて、ヒープ使いまくりのclassとかの状況で
細かいこと気にしても意味ないからねー >>312
それもあるけど
質問の一行目の意味を即理解してるのが凄いと思った
俺はコード読んで反転させたかったのかと理解した
暗号化されているかのような仕様書を理解してみんなに説明するプロジェクトリーダーっている。
だからこそリーダーなんだろうな >>297
MSの拡張入れてある?
だったら、空フォルダを開いてF1->Initializeでいけるんじゃね? >>311
割り算が単なるシフトにコンパイルされるには条件(unsigned)がある。
その条件を満たさないと単純シフトにできないよ。 esp32て100kHzの正弦波を全波整流して200kHzのゼロ検出とピーク電圧を計測するのに使ったな
俺の腕ではnanoさんだと厳しくて性能でゴリ押しした
圧倒的な性能でゼロ検出してからのifループで入力電圧最大値を変数にひたすら入れていき
再びゼロが来た時に最大値を記録した変数を渡し変数リセットなんていうクソコードでも
取りこぼさずやってくれた >>326
nanoで200kHz短波はanalogReadに掛かる時間的にも
どの道厳しいよ
そもそもどんな用途? >>327
少し前に流行ったZVSの誘導加熱のアナログロジックを
マイコン制御で電流と周波数を任意に設定できるようにしたら面白そうと思っただけの用途
設計段階からもう趣旨変わって
フルブリッジ になってゲートドライバのデッドタイムに頼らず、あくまでマイコンだけでやってみようとなって
それに必要だったのがCTで拾った正弦波の上に書いたやつ
それで目標だった100kHzは難なく実現して
その後に更に趣旨変わって高周波化になぜか突き進んで30MHzちょっとまでいって
銅を熱することに成功して満足して終わった。
esp32はまだ性能を持て余していたけど、
その先はシーリングライトが勝手に消えたりテレビが誤動作起したりポルターガイスト現象起き始めて、
電波法的にヤバそうだからやめた。 思っていたより壮大で思わず笑ってしまった
おそらく一次側にノイズフィルタをきちんと入れれば大丈夫だと思う >>329
大電流がいたので車の鉛蓄電池でやりました
ただの30Aのノイズ発生装置と化した
スチール缶にリッツ線巻いて熱湯出来たのに喜んでいたのが
スチール缶自体が熱で変形・溶ける能力になった時点でなんだかダメな領域に踏み込んでいる気がした
誘導コイルが水冷になった時点でもう目標の面影もなかった
よく考えたらこれ卒論ネタでやった奴だから特定されるやつだった。 書き方が面白いから卒論だけじゃなしに本にしたらいいと思う。読ませる文章は好きだ。
30AのMHzオーダーなスイッチングはかなりの試行錯誤があったはずだから,それも含めて。 パナソニックのIHに使われてる3倍共振回路が何なのか
ジャンク仕入れて解析したりそこから得た何かを利用した色々アウトなものがあるので
fetや手配線による周波数的な限界が来たらもう1セットフルブリッジ を増やすというゴリ押し回路
最後はfet20個になりました 30A・・・ 3Dプリンタのヒートベッド用ヒーターみたいだ 朝から読みふけってしまったじゃないかw
3倍共振インバータは蓋を開けてみれば
あ、ふーんで終わる代物だったでしょう 本来の職務であるWLANを自らの手で作り出した電磁波によって阻害されるESPたん >>324
算術シフトと割り算は結果が異なるから
そのままは使えない。
-1 / 2 = 0 割り算
-1 >> 1 = -1 シフト 次はIGBTをドライブしてテスラコイルのスイッチングだ
変調して音を奏でるんだ
曲は「雷電」 上の書き込みで気になってESP32買ってみたけど
これは確かに凄いな
今後も安定した供給が見込めるのなら設備に組み込みたいぐらいだ esp32は安いルータでかなりのシェアを持っているから
もし次期モデルが来たとしても、ピンアサインやパッケージと言うか小基板はそのままにするはずだよ
PWMがほぼ全ポートにあるのは丁度ドローンブームだっただけで
ルータには不要だから削られる可能性はあるけれど esp32は中国政府のバックドアがありそうで怖い
低価格、高性能かつ無線lanありだから
、俺が中国政府の関係者なら補助金をメーカーに出してでも拡販したい
バックドアがついてるからどうした、あるいは今までもどこかの政府が用意したバックドアつきのものを利用してきただろと言われればそれまでなんだけど ただCPU2つがアドレス空間を共有しているから
簡単に割り振りできるのが何よりも便利ではある
ATmega328がnanoサイズでクロック向上デュアルコア化されたら
多少高くてもら欲しいぐらい。
海外のforumでも昔から性能の向上を要望され続けているけど
2年前ライバルからの買収で多くのエンジニアが退職されて
新規開発が今もなお厳しい状況なんだとか。 Arduinoを始めたばかりの超初心者です。初めて質問します。
ライントレーサーを作ろうとしていて、ダイセン製ギヤードモーター2つをArduinoMEGA(互換機)とArduino純正モーターシールドで動かそうとしています。
USBで電源供給すると安定してプログラム通りにモーターが動きますが、エネループ1.2V×5本=6VをArduinoの「Vin」につないで動かすと、モーターの動作が不安定になります。
普通の乾電池1.5V×5本=7.5Vで動かしても同じく不安定です。
モーターの動作が不安定になる原因が特定できていません。
例えば電源を「Vin」ではなく「5V」につないで試したいのですが、
6Vの電源を「5V」につないで流すとArduinoは壊れますか?
「5V」は5V以下の電源をつなぐものですか? モーターの代わりにLEDでやってみれば
動作が安定するようだったらノイズだろうから
モーターの両端にコンデンサーいれる レギュレーターもコンデンサーも使っていませんでした。
「5V」に繋ぐにはレギュレーターで降圧させる必要があるんですね。 ? Vin はレギュレーター通ってCPUに接続されてるけど・・・ 単にパワー不足じゃ
3端子レギュは7〜12Vの電圧がいるけど
電池直列だと内部抵抗も大きくなるので電圧降下大きいはず
一回動作させてる時の電圧測ってみれば? >モーターの代わりにLEDでやってみれば
>動作が安定するようだったらノイズだろうから
モーターの方がでかい電流が流れます。
ノイズじゃなくてもレギュレータがもたないのかもしれません。
ダイセンのギヤードモーターの起動時のでんりゅうがどれぐらいなのかわからないですが
それが、マイコンボードの5Vから供給されるのであれば、レギュレータにはきついかもしれません。
外部に十分大きい電流駆動能力のある5Vレギュレータを用意して、マイコン基板の5Vから供給してみては?
(マイコン基板の電源と、モータードライブの電源を分けるのも方法だと思います) レギュレーターは内蔵されていて「Vin」に通っているんですね。
すみません。初心者すぎてよく分かっていないのですが、ネットや本で乾電池1.5V*4本=6Vの電圧を
「5V」のところに挿している回路図をよく見ますが、「Vin」に挿すのと「5V」に挿すので動作の安定性に
差はありますか? >>350
>ネットや本で乾電池1.5V*4本=6Vの電圧を
乱暴な気もしますが…
Megaで使っているマイコンの電源電圧の絶対最大定格(それ以上かけると壊れないことを保障できない)は6V。
動かないことはない、ってことでしょうね。
電池の電圧は電流を引くと落ちます。モーターが回るとボルト単位で落ちるかもしれませんが、マイコンはなんとかそれでも動作するかも。
レギュレータは、過大な電流を引くと、極端に電圧が落ちる場合があります。
重複しますが、整理すると
「電池の電圧6V」をVINに繋ぐと、マイコンには安定した5Vが供給されるが、過大な電流では電圧が極端に落ちるかも。
「電池の電圧6V」を5Vに繋ぐと、マイコンにかかる電圧は不安定になるけど、案外電流の変動には強い場合も。
なお、電池の電圧1.5Vは公称値でして、消耗や電流で変動します。
設計するときは用途によりますが、1本あたり 1.6V〜0.9V で変化しても大丈夫なように考えることが多いと思います。 ArduinoMegaの回路図
ttps://www.arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf
Arduino純正モーターシールドの回路図
ttps://www.arduino.cc/en/uploads/Main/arduino_MotorShield_Rev3-schematic.pdf
モーターの電源は、モーターシールド上のネジ端子のVin(LSP5)か
(VIN-CONNECTが切断されてない場合は)Arduino本体のVINから供給されてるから
5Vのレギュレータどうこうは関係ないんじゃないかな
もっとも、それだとUSBからの電源供給でモーターが回るのが不思議なんだけど
誰か説明して Arduinoのレギュレータ入口側は7V位ないと足りないんじゃないかな。
作りたいのはライントレーサで、USBを電源にしたら動くんでしょ?
それならUSBモバイルバッテリを電源にすれば良い。
倒立振子をそうやって作ったよ。
https://i.imgur.com/WjLmdfs.jpg >>352
>もっとも、それだとUSBからの電源供給でモーターが回るのが不思議なんだけど
ほんとうだ。
NCP1117(レギュレータ)の5V出力からVINに逆流しているのかも。
>The NCP1117 family has two internal low impedance
>diode paths that normally do not require protection when
>used in the typical regulator applications.
一応逆流をさせるためにプロテクションダイオードは内蔵されているらしい。
でも大きい電流を賄えないから、そういう場合は外付けダイオードの追加が推奨されている。
もし、このパスでモータードライブシールドに電源が供給されているのだとすると、
現状、USB電源で駆動して、モーターをドライブしているのは、かなり危ういことになるけど
実際のところはどうなってるんだろう。
電池ではなくて、VINにしっかりした7V以上の電源を繋いで動作実験した方がいいかも。 USBから電源取るときはレギュレータを通らないのでは? うっかり「5Vのレギュレータどうこうは関係ない」って書いちゃったけど
上のほうで書かれてるような「レギュレータがモーターの電流流せない」とかじゃなくて
モーターに電流流れたとき、VINの電圧(電池の電圧)が
レギュレータの最低入力電圧以下に下がっちゃうってことなんだろうな
・全温度範囲での最大ドロップアウト電圧1.2 V (800 mA時)
新品電池 5本直列時ならいけてもよさそうな気はするんだけど・・・ 皆さん答えてくださってありがとうございます!明日試してみます。 逆流って言っても本来ブリッジ用のパターンはんだ付けしてなきゃVINからも入らない気がするんだけどな。これ普通にドライバのVSS(5V)だけから供給した結果ドロップダウンに耐えきれず不安定になってるんじゃ
とりあえず使い方的にはLSP05にモーター用の電源別で入れたげるか、arduino側と共通にしたいならはんだブリッジ接続してVINに12V入れるのが安全 というか>>352の時点で洗い出しされてたか、すまん。
多分USB供給量>モーター消費>レギュ供給量の絶妙なバランスなんだろうなぁ >>342
エネループは大電流取り出しに向いていない(せいぜいDCモータ1つまで)
東京マルイ No.153 ニッケル水素ミニSバッテリーを使うのが入手性その他の点一番楽だった。
配線はもちろん太い電線を使ってください。 自分が工作した範囲内で書くと上記のバッテリから自作の電源回路を通じて
DCギヤードモータ2個とRCサーボ4個までは同時制御できた(その他センサ、Arduino Uno等も含む)
ノイズや電圧降下に関する問題はもちろんあるので地道に対応した。 Arduinoをバッテリ駆動するときのお勧めはMT3608
入力電圧の幅が広く、出力は3.3Vにも5Vにも使えるし、
電流も取れる。入力はエネループ2本でok 5pcs MT3608 2A Max DC-DC Step Up Power Module Booster Power Module
http://s.aliexpress.com/b2EbaE77?fromSns=Copy to Clipboard
(from AliExpress Android) ESP32でやっちゃえば5V要らずでIOたくさん無線もできて安くてぱわふりゃーで、、、、 最近あっちこっちでESP32厨がうるさいんだけど元PIC厨? >>359
>ブリッジ用のパターンはんだ付けしてなきゃVINからも入らない
現物持ってないし、質問者がどうしてるのかも分からないけど
VIN-CONNECTのパターンはデフォでは接続されてて、分けたいときは
カットしろってことらしい
ttps://store.arduino.cc/usa/arduino-motor-shield-rev3
>This is possible by cutting the "Vin Connect" jumper placed on the back side of the shield. Ali、色々扱ってるけど国内で若干高くても(数倍とかは流石に高すぎるし)同じレベルの品揃えで扱える所ってないのかな? aitendoに行って何が欲しいか尋ねれば中国人のお姉ちゃんがタブレットで丁寧に説明してくれるで 超が付く初心者で申し訳ないです。
arduinoで複数の時計やGPSのモジュール繋いでLCDに投影したいんだけど、プログラムとかが全然分からないのでお勧めの書籍を教えてください。
簡単な電子機器の修理をしてたのでハードやアクションは分かるのですが、プログラムは素寒貧で学生時代にロボット動かすのに少しだけC言語に触った程度なので初心者向けだとありがたいです。
お願いします。 >>371
そんな目的なら幾らでもネットに作例があるから たとえば
http://iot.keicode.com/arduino/arduino-gps.php
とか、ggればすぐに出てくるが
一般的な話は書店で立ち読みして合いそうなのを選べば? ■ このスレッドは過去ログ倉庫に格納されています