X



トップページ電気・電子
1002コメント434KB

Arduino初心者熱烈大歓迎質問スレ part25

■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2019/09/13(金) 16:15:22.98ID:MfBQFDi7
http://www.arduino.cc/

【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね

前スレ
Arduino初心者熱烈大歓迎質問スレ part23
https://rio2016.5ch.net/test/read.cgi/denki/1541233445/
Arduino初心者熱烈大歓迎質問スレ part24
https://rio2016.5ch.net/test/read.cgi/denki/1554776918/

過去スレ
Arduino初心者熱烈大歓迎質問スレ part22
https://rio2016.5ch.net/test/read.cgi/denki/1534549073/
Arduino初心者熱烈大歓迎質問スレ part21
https://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
https://rio2016.5ch.net/test/read.cgi/denki/1514503488/
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/
0566774ワット発電中さん
垢版 |
2019/12/05(木) 02:44:06.02ID:YwZFmAi4
>>552
ATmega328 nano で能力が足りない場合、mega2560買わないでESP32買う人が多い
ESP32なら僅かな部品追加でVGA出力もできるしライブラリもある
昔の8ビットパソコンのエミュレータもあるよ
http://www.fabglib.org/index.html
0567774ワット発電中さん
垢版 |
2019/12/05(木) 04:47:43.88ID:jgeHHQtf
Pro Microだとポートこんなにバラバラに割り当てられてるのね

┌ B5 B4 E6 D7 C6 D4 D0 D1 xx xx D2 D3 ┐
│                                 │
│           32u4                   USB
│                                 │
└ B6 B2 B3 B1 F7 F6 F5 F4 xx xx xx xx ┘

ビットの取り出しや並べ替えをした上で複数のポートから一部分ずつ出力するにしても
なるべく余計な計算が少なくなるように配線も含めて工夫する必要があるのか…面倒だ
0568774ワット発電中さん
垢版 |
2019/12/05(木) 07:07:39.98ID:N4ShtPH5
Arduinoでこういう変換アダプタを作ってるところです
https://github.com/tmk/tmk_keyboard/tree/master/converter/adb_usb#wiring
プルアップ抵抗としてDATAとPD0の間からVCCまで1KΩの抵抗を繋げるみたいなんですが、PSWをPD1に繋ぐ場合は同じようにVCCまで1KΩの抵抗を繋ぐ必要あるんでしょうか?
0569774ワット発電中さん
垢版 |
2019/12/05(木) 09:59:06.52ID:XqOR94VJ
>>568
抵抗が無い場合、PSWがOFFの時にPD1の信号レベルが不安定になる
CMOSの入力はこういう状態は良くないのでプルアップ抵抗を入れる
Arduinoの内蔵プルアップ抵抗を有効にした場合は
外付けの抵抗は不要になる
0570774ワット発電中さん
垢版 |
2019/12/05(木) 10:33:56.32ID:zcYbeWSH
P0では長いケーブルとかでAVR内部のプルアップだけだと弱いから、外部プルアップ抵抗入れろと書いてある
PSWは調べてみるとStart upとかresetとかに使うようで、Dataピンよりシビアな要求はなさそうで、なくても行けると思うけど
プルアップしておいたほうが無難かと思う
0571774ワット発電中さん
垢版 |
2019/12/05(木) 11:04:52.24ID:bCe873g2
>>566
案内どうもです。面白そうな内容なのでブックマークしました。
ただ今の所は千円程度ならアドレスピン等でも16本は欲しいと考えてます。

昨年までは下のスレにいまして322が自分です。自分も千円がはした金とは思いませんけど
千円程で基板設計やソフトで楽できるなら安いと考えてるから余裕があるのかも知れません。
因みにリンクで画像を貼った「緑色の基板」も実装して1300円で個人的には、お手頃感です。
ただし秋月のFT245RL(千円、しかも送料500円が痛い)は除きます

【懐古趣味】ワンボードマイコン総合スレ 第三章
ttps://matsuri.5ch.net/test/read.cgi/i4004/1504237364/

322ナイコンさん2018/02/16(金) 21:44:28.65>>326
>>315
当時の技術書には拡張ハードの製作があって手を咥えて見てたけど、その手の拡張ハードの基板を
1000円〜2000円の安価で提供し技術書をCD(DVD)等で同梱したERISシリーズを2万円なら納得する。
ここまでするなら横流しと揶揄されない。ただ未だ形になってないので現時点では妄想レベル。

326ナイコンさん2018/02/17(土) 08:20:54.91>>330
>>322
数が出ないものをそんなはした金で提供しろと?
そこまで言うなら自分で企画して開発委託でもしてみりゃいいんじゃないですかね
いくらかかるか
0572774ワット発電中さん
垢版 |
2019/12/05(木) 11:29:21.28ID:fNGipvRP
>>571
求めている物とちょっと離れるけど
Z-80のPIOや周辺をATMEGA32Aに任せて
SDカードやFLASHメモリなどの最近のデバイス使い放題にしてる
Z80-MBCが参考になるんじゃないかな
https://hackaday.io/project/159973-z80-mbc2-4ics-homemade-z80-computer

ESP32にCPUエミュレーションさせて
ATMEGA328あたりに周辺I/Oまかせて
8bit程度のパラレルバスで高速転送すれば
VRAMのDMA転送までまかせられるかも知れないね
0573774ワット発電中さん
垢版 |
2019/12/05(木) 13:24:36.91ID:wNeQQdsn
>>562
俺も詳しくないけど

AVRの場合、wレジスタIOレジスタの移動は1サイクルで実行できるので予めwレジスタにx00とxffを用意しておけば24本のIOを3サイクルでin/outの切り替え出来るって
>>558 の人が書いてる
0574774ワット発電中さん
垢版 |
2019/12/05(木) 18:45:43.82ID:N4ShtPH5
>>569
>>570
どうもありがとうございます
PD1はプルアップ無しで作ってみたんですがやり直します
0575774ワット発電中さん
垢版 |
2019/12/05(木) 19:20:43.21ID:N4ShtPH5
>>568
この続きです
S端子ケーブルを切断してみたら4本の線の他に被覆無しの寄り線も入っていました
コネクタ周りを分解してみると被覆無しの寄り線はコネクタの外側にはんだ付けされてました
この被覆無しのより線はArduinoのどこに繋いだらいいんでしょうか?
これもGNDですか?
0576774ワット発電中さん
垢版 |
2019/12/05(木) 19:39:53.73ID:XqOR94VJ
>>575
シールド線のことだね
それはノイズから信号に影響を受けない様にする
あるいは信号線からノイズを外に出さない様にする為だけど
非常に難しい問題が含まれているのでいるので説明しないけど
1. GNDに接続する
2.金属筐体に接続する
3.カットしてどこにも接続しない
の内のどれかです
ただ今回の場合はどれでもいい気がするけど
0577774ワット発電中さん
垢版 |
2019/12/05(木) 19:46:02.98ID:N4ShtPH5
>>576
どうもありがとうございます
ケーブルの中には色付きの被覆あり単線が4本、被覆無しより線が1本で、そしてそれらの周りにはすぐに千切れる薄いアルミ箔みたいなので覆われていたんですが、このアルミ箔はどこにも繋がないで捨ててしまって大丈夫ですか?
分解してみたコネクタだとアルミ箔は外してあるみたいでした
0578774ワット発電中さん
垢版 |
2019/12/05(木) 19:51:41.75ID:NQIp5i0/
繋げなくていいですよ、アルミ箔はまさしくノイズ対策
ノイズの影響を遮断するために、わざわざコードにアルミホイルを巻いたりするぐらい
0579774ワット発電中さん
垢版 |
2019/12/05(木) 20:26:41.70ID:N4ShtPH5
>>578
ありがとうございました
0580774ワット発電中さん
垢版 |
2019/12/06(金) 00:38:03.85ID:wUDqCI/2
>>572
案内どうもです。はるか昔、8bitPCで拡張カードを作りたかったことを今実践しています。

それで>>546のリンク画像の「黒い基板」でやりたかったことは8ビットPCで、CPUの切替でした。
リンク先の画像に写ってるFM-7と言う8ビットPCはメインCPU(MPU)が6809だけど動作しながら、
オプションのZ80とCPUが交代できる仕様です。今回はZ80の代わりに「Arduino」を使って切り替える
実験をしてます。

それで、「6809 → Arduino」はサンプルがあったので実現できてますけど、その状態から再度6809に
戻すことで躓いています。動作させながら CPU(MPU)の切替は面白い試みですがハードルも高い感じです。
理由は切替のフラグを74LS74で持ってるようですが、既定値を書いて「Arduino → 6809」に戻す際に
ソフトで処理してるので、Arduino と 6809 でバスが衝突してるのではと推測しています。ですので
ハードを追加しないと確実な動作は無理かなと思いながら衝突する時間が短ければ大きな不都合がなく、
制御が 6809 に戻る可能性もあるとも考えてまして Arduino の出力を一瞬で停止したかった訳です。

>>573
説明して頂いたことを指針として高速処理したい部分をインラインアセンブラにしてみましたした。
結果は質問の前よりは前進しました。因みに前進した内容は「BREAK + RESET」で先に「RESET」を
離し次に「BREAK」を離すと(ホットスタートと言うことがあります)6809に戻ることがあってメモリに
Arduino で書いた内容が残っていました。ただ書いた内容が正確に反映されてない問題や確実に戻ると
言う状態でもないので、その辺りはもう少し実験してみます。

長文失礼しました。
0581774ワット発電中さん
垢版 |
2019/12/06(金) 02:35:04.75ID:VordwJlp
>>580
やっと具体的な機種名出たか
FM77ならESP32に入らないけど、FM7ならVRAM含めて
520kbで収まりそう、メイン6809サブ6809拡張Z80も240MHzデュアルコアでスレッドまわせばいいだけ
あんまやる意味無さそうだなと思いつつ

16MHzのMEGA2560では能力不足だと思う
ttps://blog.goo.ne.jp/purupoo/e/f483d12a80cea5222e3dcd22d02ac22d
この人みたいにCPLDかFPGAでバスI/Fチップ作ったほうが早そう
0583774ワット発電中さん
垢版 |
2019/12/06(金) 03:02:08.40ID:+c4Ifsvr
全く理解出来ない趣だけど、実機でCPUエミュレーション?する事に意義があるんじゃないのか
0584774ワット発電中さん
垢版 |
2019/12/06(金) 04:31:41.05ID:Ckd/sKaK
対策はわからないけど、そういうものを何に使うのか、なぜそうなっちゃうのか興味がある。
0586774ワット発電中さん
垢版 |
2019/12/06(金) 04:47:42.87ID:VordwJlp
>>584
歳取って時間を持て余すようになるとな
当時出来なかった事を死ぬ前にやっておきたいと思うようになるんだよ
悔いが残らぬよう
0587774ワット発電中さん
垢版 |
2019/12/06(金) 04:52:06.96ID:VordwJlp
そういえばFPGAにZ80コアあったからそれ使えばワンチップで出来ちまいそうだな
0589580
垢版 |
2019/12/06(金) 14:50:10.22ID:wUDqCI/2
結果報告をします。アドバイスを提示してくれた方へ、ありがとうございました。
下のようにインラインアセンブラのコードを入れましたけどソフトでは無理のようです。

asm("DDRG = B00000000"); // data D40 EB port inputmode
asm("DDRF = B00000000"); // address(0-7) port inputmode
asm("DDRK = B00000000"); // address(8-15) port inputmode
asm("DDRL = B00000000"); // data D43 RWB=WRITE port inputmode
asm("DDRC = B00000000"); // data(30-37) port inputmode

>>581
>やっと具体的な機種名出たか
画像から判る方はいると思いましたし黒い基板の製作者に迷惑が及ぶのではと考え当初は
積極的な明示は控えました。とは言え回答する方も「結局、何がしたいのか?」と訝しむ的なことは
当然と思います。基板の製作者に迷惑が及ぶことを避けたかったことが真意ですので御了承下さい。

因みにリンク先の方は知ってました。現在彼が趣味で取りくんでる内容は40ピンのインターフェースを
通じてMMUを用いて 6809 で1Mバイトのアドレス空間にアクセスする(ほぼFM-77仕様)ことです。
FM-7の40ピン使う着想は似てるかも知れませんが今回の基板は自分のオリジナルではありません。

>>586
正にその通りです。
0590774ワット発電中さん
垢版 |
2019/12/06(金) 14:50:53.73ID:gR7wkrSC
実機に新たに作った拡張ボードや周辺機器を付けたいってのはいっぱいあるし
逆に周辺側のものや古い部品で新たに作ったものを
実機じゃなく今新たに制御したいってこともよくある
0591774ワット発電中さん
垢版 |
2019/12/06(金) 15:53:39.15ID:VordwJlp
>>589
同期はどうなってんの?
6809は2MHz、MEGA2560は16MHzなんだから
7命令以内で完了すれば間に合いそうだけどな
0592774ワット発電中さん
垢版 |
2019/12/06(金) 17:01:17.52ID:XI1exu/5
Arduinoで日本語を扱いたい場合どうしたら良いんだ
UCS/UTF16なら全対応のSJISテーブルでどうにかなるけどUTF-8とか
どうしたら良いのかさっぱり
0593774ワット発電中さん
垢版 |
2019/12/06(金) 17:12:21.54ID:v04fyUdT
>>589
インラインアセンブラをなんだと思ってンの?
何もかも違うしそのコードコンパイルしたアセンブリコード見た?
何もしてないでしょそれ
0594774ワット発電中さん
垢版 |
2019/12/06(金) 17:30:17.91ID:ycymqQNh
ATmega2560でDDRC,F,G,K,Lを0b00000000するインラインアセンブラならこう

__asm__ __volatile__(
"eor r16, r16" "\t\n"
"out 0x07, r16" "\t\n"
"out 0x10, r16" "\t\n"
"out 0x13, r16" "\t\n"
"sts 0x107, r16" "\t\n"
"sts 0x10B, r16" "\t\n"
);

もちろんこのままじゃr16は破壊されるからそこは自分でなんとかしろ
その関数内でゼロレジスタとして決め打ちしておくとかpush,popで待避するなり
0596774ワット発電中さん
垢版 |
2019/12/06(金) 18:45:27.76ID:2WINBoS0
Pro MicroにLチカのスケッチを書き込んだらその後シリアルポートから消えてしまい書き換えが出来なくなってしまいました。
どうやったら再書き込み出来るんですか?
0597774ワット発電中さん
垢版 |
2019/12/06(金) 18:55:15.63ID:9sDeXhF9
その手のは書き込みが始まった時にリセットボタンを押せばなんとかなったりするんじゃなかったっけ
0599774ワット発電中さん
垢版 |
2019/12/06(金) 19:03:27.36ID:wUDqCI/2
>>591
下のCPUの状態(遷移)は74LS74が保持してることを前提として

1)6809 の停止は「POKE &HFD05、1」と言う命令で FM-7 自体が停止状況を作り出す(LED点灯)
その後 6809 が停止した状態では MEGA2560 が FM-7 のバスを支配下に置きメモリ等に読み書き可能

2)6809 が停止した状態から同じアドレスに MEGA2560 が「0」を書き込んで 6809 の停止状態を解除する(LED消灯)
3)しかし「0」を書き込んで 6809 が動きだした時点で MEGA2560 は未だアドレスバス等でOUTPUTの状態を維持し
信号を出しているので バス が衝突してることは確かなのではと考えてる。つまり MEGA2560 が 6809 の停止解除後の
7命令以内であれば 6809 が停止を続けてると言う訳ではなく、解除したと同時に動作は始めてる。

自分としては、その状況が有っても、運良く大きな支障(影響)もなく 6809 に制御が戻る可能性に期待したけど
確かめてみると、そうは問屋下ろさなかったと言う結論になりました。

なおロジックアナライザがあれば更に詳しくは判ると思うけど、その類の機材はないので。

>>594
MEGA2560 が FM-7の「&HFD05」に「0」を書き込んだ後は物理的に MEGA2560 が壊れれない限り
レジスタ の内容の破壊は許容範囲。とは言え asm("DDRG = B00000000"); ではダメなのかな?
一応、自分なりに調べて「DDRD = B11111110;」を真似して asm(" "); で括ったけど。
http://www.musashinodenpa.com/arduino/ref/index.php?f=0&;pos=850
0600774ワット発電中さん
垢版 |
2019/12/06(金) 19:21:01.57ID:ycymqQNh
>>599
asmで囲むことにどういう意味があるかわかってんの?
なんかやりたいことに対してあまりにも知識が無さすぎると言うか
バカにしてるとしか思えん
俺は抜けます
>>595が正解だな
0603774ワット発電中さん
垢版 |
2019/12/06(金) 19:42:58.24ID:zPo1MQIV
>>601
中華コピーだとオマケのUSBケーブルがくそだったりするから
ケーブル変えるのも1つかな。あとはIDE再起動。
0604774ワット発電中さん
垢版 |
2019/12/06(金) 19:46:00.69ID:2WINBoS0
>>602
>>603
Hiletgoの中華コピーです。ケーブルは付いてきて無いです。
GNDとRSTにタクトボタン取り付けてみました。
ボタンを押すと一瞬だけシリアルポートが見えるみたいでした。
これが通常の動作ですか?
0605774ワット発電中さん
垢版 |
2019/12/06(金) 19:47:40.83ID:2WINBoS0
PC再起動も試しました。

一番最初にPro MicroをMacに繋いだ時、キーボードがなんとかってダイアログが出てきてそれを閉じたんですが関係ありますか?
それ以降そのダイアログは出てきてないです。
0606774ワット発電中さん
垢版 |
2019/12/06(金) 19:54:18.36ID:W5K0z++m
6502といい6809といい、なんでZ80ボード載せたがるんだろうなw
0607774ワット発電中さん
垢版 |
2019/12/06(金) 19:54:22.90ID:XI1exu/5
テーブルや変換に莫大な容量使う位なら、テキストをSJISのHEXでchar型に入れた方が手軽なのかな
0609774ワット発電中さん
垢版 |
2019/12/06(金) 20:02:52.98ID:2WINBoS0
>>608
いくつかケーブルあるけど他のボードだと大丈夫でした
(sparkfunやadafruitなど)
0610774ワット発電中さん
垢版 |
2019/12/06(金) 20:16:26.00ID:zPo1MQIV
>>609
中華&Macか、CH340のドライバかも。
以前MacOSごと落とすひどいドライバに当たったことある。
0612774ワット発電中さん
垢版 |
2019/12/06(金) 20:41:59.26ID:9sDeXhF9
>>609
リセットの手順ちょっと違った
pro miniの場合だけどこんな感じ
参考にしたページのアドレス貼れないからコピペ

Arduino Pro Mini側のリセットボタンを押しながら、
Arduino IDEのアップロードを実行し、
FTDI-USB変換ボードのTXが光った瞬間に、
Arduino Pro Mini側のリセットボタンを離す。
0613山本太郎はおまんこ消費税
垢版 |
2019/12/06(金) 20:46:45.86ID:BZm74fqN
 山本太郎はオマンコ



 山本太郎はオマンコ
0615774ワット発電中さん
垢版 |
2019/12/06(金) 20:58:14.31ID:U2c0cHZQ
>ボタンを押すと一瞬だけシリアルポートが見えるみたいでした。
って書いてるから、んなわけないでしょ
0616774ワット発電中さん
垢版 |
2019/12/06(金) 21:01:01.01ID:hO0EnCGR
書き込めなくなったときのリセット2回押しとかのタイミングって
何回かやってるとコツが分かってくるんだけど
問題起きたときしかやらないから記憶に残ってないし口では説明しにくいな

2回押ししてから素早くポート選び直して転送開始し
LEDが通常の転送成功時と同じパターンで点滅した直後か点滅してる途中ぐらいで再度2回押し
とかだったかな
0617774ワット発電中さん
垢版 |
2019/12/06(金) 21:12:56.69ID:VordwJlp
>>599
マップドIOだと思うので
アドレスバス使わないとレジスタ&HFD05に書き込めない
6809のクロック立ち上がりか立下りを待って
同期取らないと7命令確保できないよ
0618774ワット発電中さん
垢版 |
2019/12/06(金) 21:15:11.25ID:2WINBoS0
>>610
Pro MicroなのでCHxxxなどの話は今回は関係ないです

>>612
リセットボタンを押して一呼吸くらいしてから(そしたら一瞬現れる)からシリアルポートを選択
書き込みボタンを押してからふた呼吸くらいしてからリセットボタンを押したら書き込めました

>>614
ls /dev/tty.*で確認してます

>>616
ぐぐると、2回押すとDFUモードに入るかとかなんとかって書き込みがあったんですが、その状態になるとどうなるか分からないので難しいですねこれ
0619774ワット発電中さん
垢版 |
2019/12/06(金) 21:29:01.22ID:n8rugkKJ
>>618
もう一度、確認してみな。
今、LeonardoでLチカをやってみたが、
com5で書きこみしてcom13に変わったぞ。
0620774ワット発電中さん
垢版 |
2019/12/06(金) 22:04:08.43ID:2WINBoS0
>>619
すみません、Windowsの話は分かりませんが、自分は特定のポートを決め打ちして書き込もうとしてる訳じゃなくて、そもそもポートが見えないって話です。
で、リセットボタンを押すと一瞬だけ表示されるからその時IDEで選択して書き込みボタンを押す、そしてまたリセットボタンを押すと書き込みが出来るという所まで分かったというのが618です。Macではポート番号は変わってないです。(結果的に決め打ちしてますけど)
中華はともかくとして、SparkFunのPro Miniでも毎回この手順を踏まなきゃ行けないんでしょうか?
0623774ワット発電中さん
垢版 |
2019/12/06(金) 22:21:19.77ID:n8rugkKJ
書き込めたのね。よかったよかった。
Leonardoを引っ張り出して思いだしたw
HIDを使ったあとはcomポートがすぐにHIDに切り替わっちゃって、
パソコン側でcomポートがつかめなくなっちゃうんだった。
オレも経験したわw

>>620
むかし、オレもこのケースはすごく悩んだ気がするが、
LeonardoはArduinoIDEが"書き込んでます"の表示になったら
リセットボタンを押すとアップロードできたと思う。
HIDを使わなければこの症状はならない。
0625774ワット発電中さん
垢版 |
2019/12/06(金) 23:15:17.33ID:wUDqCI/2
最終的にピンモードの高速変換を下のようにして(インラインアセンブラなのか?)
1)MEGA2560 使った FM-7 のメモリに書き込みは成功(これは前から成功例あり)
DDRG = DDRG | B00000000; // data D40 EB port inputmode
DDRF = DDRF | B00000000; // address(0-7) port inputmode
DDRK = DDRK | B00000000; // address(8-15) port inputmode
DDRL = DDRL | B00000000; // data D43 RWB=WRITE port inputmode
DDRC = DDRC | B00000000; // data(30-37) port inputmode

2)この後ホットスタートで 6809 に制御が戻り、モニタコマンドでメモリの変更を10回程確認

3)しかし FM-7 のメモリに書いた(テスト)プログラムの起動は BASIC の EXEC コマンドでも
モニタの G コマンド でも失敗。最終的に↑がしたかった。ソフト的な面では、この辺りが限界かなと。

お騒がせしました。

>>600
何せ「Arduino(IDE)」を使い初めて8日目なので判らないことが多いです。
0626774ワット発電中さん
垢版 |
2019/12/06(金) 23:27:20.21ID:n8rugkKJ
>>624
HIDはヒューマンインターフェースデバイスだったかな。
つまり、"Keyboard.h"や"Mouse.h"をインクルードしない。という意味なんだけど...
0627774ワット発電中さん
垢版 |
2019/12/06(金) 23:30:38.67ID:2WINBoS0
>>626
どうもありがとう
サンプルスケッチのLチカを呼び出しただけだからそれらはインクルードしてないはずなのに…なんででしょう?
0628774ワット発電中さん
垢版 |
2019/12/07(土) 00:24:26.37ID:71Es0NC8
>>626ではないが
原因はわからないけど、そういう報告が結構あるから>>612みたいな対処法を書いてくれてる人がいるんだと思う
ちなみにおれもPro MiniでLチカやっただけなのに2度め書き込めなくなった経験がある
0629774ワット発電中さん
垢版 |
2019/12/07(土) 01:13:48.22ID:mchNAhUj
>>627
うちの場合は、Leonardoだけど、下記の三つがある。
Arduino Leonardo bootloader (com4) リセットした時に一瞬でるやつ。
Arduino Leonardo (com5) "Keyboard.h"をインクルードするとcom5になる。
Arduino Leonardo (com13) "Keyboard.h"をインクルードしないとcom13になる。
Windowsだから参考にならないかもだけどw
あ、原因はオラにもわからんです。すまん。
0630774ワット発電中さん
垢版 |
2019/12/07(土) 04:15:49.39ID:dTyN+poR
SSD1306の描画ライブラリ書いてて思ったけどVerticalモードでアクセスした方が良いのかな
P/Hは縦8ドットのフォント描く場合に限って楽だけど、それ以外はVの方がビット配列的に自然?
0631774ワット発電中さん
垢版 |
2019/12/07(土) 23:36:58.54ID:g0tpG0n6
>>628
>>629
どうもありがとうございます
昨日の >>596 です
今日は別の店のPro Microが届きました
昨日のボードとは違ってMacに繋いでもキーボードがなんとかのウィザードは出てこないし、MacのシステムプロファイラやArduino IDEではArduino Microとして認識していました
ボードからArduino Microを選んでサンプルのLチカを書き込んでも昨日のようにシリアルポートから消える事もありませんでした。
これなら普通のArduinoとして使えそうです
0633774ワット発電中さん
垢版 |
2019/12/08(日) 08:58:49.32ID:25hHIVlk
>>632
賛成
Arduino側が扱う回路によっては、USB経由で最悪パソコンを壊す可能性あるし、中古で充分だから、万一壊しても損害の少ないWindowsマシンを1台持っとくといいと思う
0634774ワット発電中さん
垢版 |
2019/12/08(日) 11:16:57.87ID:MfkHkBfZ
>>585
音源に付いて同様な思いがありますけど例えば Arduino を使って脈はありそうですか?
0635774ワット発電中さん
垢版 |
2019/12/08(日) 16:50:55.13ID:/AL3arYA
PSGなら実際にやってみたしFM音源もやればできると思う(やってる人は沢山いる)
今やってるのはAVR16MHzのdigitalWriteだと辛い感じだけど
0636774ワット発電中さん
垢版 |
2019/12/08(日) 17:35:19.76ID:MNB8z7tQ
日高総帥のマシン語サウンドプログラミング読めば
FM音源チップでまともに演奏するには気が遠くなるぞ
0637774ワット発電中さん
垢版 |
2019/12/08(日) 18:15:36.81ID:J7oa2A50
>>635
>>636
レスありがとうございます。

先ずはPSG音源から始めてFM音源については、その後に考えてみます。
0638774ワット発電中さん
垢版 |
2019/12/08(日) 21:12:01.82ID:EG4SHnxM
Arduino Nano 33のMicro USB端子はもげやすいタイプなんだな
高いのになんだかなー
0639774ワット発電中さん
垢版 |
2019/12/10(火) 06:55:39.69ID:Z8myB5QI
先日始めたばかりの者で、プログラミング関連は全く入門以前の知識ではありますが質問失礼いたします。

前置きとして・・・電子タバコの電源機器(電気回路としての分類上は電熱回路)を作りたいと思い、ひとまず現在システム試作としてUNO REV3と
OKL-T6-W12N-C搭載秋月オリジナルモジュールを組み合わせて、以下に提示する接続回路およびプログラムでコンバータモジュールの出力を
任意で調整できるところまではやってみました。
・ブロック図(Trim-GND間の部分をトランジスタ換装でデジポテ的に電流制御しました)
https://dm-vaporizer-produce.webnode.jp/_files/200000058-a6865a6866/KIMG0301.JPG
・プログラム
https://dm-vaporizer-produce.webnode.jp/_files/200000059-ea2a6ea2a8/Arduino_vv_curve_prototype1.JPG
・テスト時の実際の様子
https://www.youtube.com/watch?v=Cv0PycJ8j20

ここで次の段階として、コンバータ出力段に接続した発熱体コイルの抵抗値を常時読み取り、演算を介して電力指定でArduinoボードが出力電圧を
自動的に調整するようなプログラムおよび回路を組むには一体どんな方法がありますでしょうか?
例えば発熱体コイルの抵抗値が1Ωだとして、9Wの出力電力を指定して3Vの出力電圧に自動で調整するといった感じです。
0641774ワット発電中さん
垢版 |
2019/12/10(火) 08:00:49.86ID:nqtLvSn4
>>639
> 発熱体コイルの抵抗値を常時読み取り
考え方として
発熱体に与えた電力は全て熱に変わると仮定して
供給電力制御のみ行ったほうがシンプル

DCDCの発生する電圧は発熱体の許容80%程度にTrim設定しこれをいじらない
上記を100%性能とし、DCDCのON/OFF端子をスイッチングしPWM制御する
データシートを見るとDCDCのON応答は6ms遅延があるので数Hzで
次のステップは温度センサーで制御になるけど
最初の10秒はフルパワー、以降50%、3分後に自動OFFとかでいいんじゃね
0642774ワット発電中さん
垢版 |
2019/12/10(火) 09:02:46.25ID:z3XCtO2e
1Ωは計測できるでしょうけど、サブオームを計測するのは、無謀なのでは?
温度管理するには、Ni、Ti、SS、どのコイルもサブオーム帯での運用ですよね。
普通に FT なりで MOD 買った方が早い。どっちにしろ温度管理も、制御カーブも
使わんようになる。

コイルの抵抗値を計測するために、引っ張りだした配線の抵抗値だけでも。。。
それにコイルに流す電流が 20W〜75W でしょ?
0643774ワット発電中さん
垢版 |
2019/12/10(火) 10:28:40.99ID:q4XsEPNV
温度はどうでもよくて単に指定のWだけ発熱させりゃいいんだろ?
V=√(WΩ)で済むじゃねーか
0644774ワット発電中さん
垢版 |
2019/12/10(火) 12:12:05.25ID:LxSdNSAj
>>639
初心者にわかりやすい手段としてarduinoのADコンバータを使った手法

回路を以下の通りに変更する
・発熱部のGRD側と出力コンデンサの間に0.1Ω程度の抵抗を挟む(入れる)抵抗値は流す電流によって選択する
・arduinoからVoutの電圧を取得出来る様にする
・arduinoから発熱部のGRD側と上記で追加した抵抗の発熱部側の電圧を取得出来る様にする

測定
DCDCが作動してる状態で抵抗側の電圧測定する(例2.5Aで0.25Vの電圧発生)
DCDCの出力電圧を測定

あとは計算すれば発熱部の抵抗値が求められる

例 3v / 2.5a -0.1Ω = 抵抗値
0645774ワット発電中さん
垢版 |
2019/12/10(火) 19:15:12.34ID:z3XCtO2e
発熱回路を作りたいんでしょ?

電子タバコの抵抗値は少数2桁の精度だよ。
0.10Ωから1.80Ωの間で、赤熱するコイルを計測するんだが、
18650バッテリーを極端に言うとショートさせてる状態。
常時 5V 30A とか流れ、吸いはじめのピークは 60A にもなる。
USBの 5V とは、レベルが違う。

だからバッテリーの許容範囲を超えて、低抵抗にして
爆発事故が頻繁に起こる。低抵抗の方が発熱量が多くて
いわゆる若者が好きな爆煙になる。

素直に MOD を買うか、DNA基盤を買ってケース自作程度にしとけ。
0646774ワット発電中さん
垢版 |
2019/12/11(水) 17:52:36.28ID:B262GCrt
直接arduinoの質問では無いんですが、よくあるピンアサイン図の様な物はどう言ったソフトで作るのが楽なんでしょうか
おそらく一番楽なのはエクセルだとは思うんですが、フリーソフトで何か無いですかね
0647774ワット発電中さん
垢版 |
2019/12/11(水) 18:02:30.27ID:/o5u8vXm
KiCAD
0649774ワット発電中さん
垢版 |
2019/12/11(水) 19:32:12.09ID:bWn8dZ41
>>640
ご提案有難う御座います。
要するにリバースエンジニアリングするということでしょうか?

>>641
ご教示・ご提案有難う御座います。
すみませんが“発熱体の許容80%程度”という部分につきまして、具体的に何の許容値のことかお教えいただけると光栄です。
この許容値とは熱容量のことになりますでしょうか?
また、リモート端子の数HzON/OFF制御に関してですが、digitalWriteのHIGH・LOWを使いHIGH側のdelay値を101以上にするということでしょうか?
ちなみにですが次のステップとなる温度センサーは、測温抵抗体式として発熱体自体が検温部になることを考えています。

>>642
ご指摘有難う御座います。
まず抵抗値に関してはミリオーム単位の世界で細心の注意を払わなければならないのは重々承知しています。
つきましては各種接合に関しても従来とは違った設計を考えています。

例えばコネクタ部と基板部の接合は、リード線ではなく例えば以下に紹介するLUXOTIC MF BOXのようなターミナルとネジ止めで考えています。
https://dm-vaporizer-produce.webnode.jp/_files/200000060-d9ea2d9ea4/KIMG0303.JPG
この他にもアトマとMODの接合において、ポジティブピン端面接触ではなくネジ接合を考えています。
また、ネジ切り違いによる問題は例えばアトマベース取り付け後に別途ポジティブ側アセンブリを組み込む構造で解消しようと考えています。

あと余談ではありますが・・・一応既製品は既にいくつも所有しており、電子タバコの愛好暦は現在5年半ぐらいとなりTC使いはKOOPORmini
(KP60)使いを機に4年ぐらいになりますが、個人的にはTC機能はおそらくこのままずっと使い続けていくと思います。

特に今はArcticFoxがあり、更に嗜好性・応用性が高められる物があるのでこれはもう手放せません。
それこそパフカットタイム60秒設定やオートスイッチ機能は、電子タバコとしてだけではなく、例えばCigalliaのCIG2.0のアトマを流用して
加熱式タバコおよびハーバルヴェポライザーとしての運用も難なく可能になります。

また、この電熱技術は例えばNovelLife TS80のようなTCハンダゴテとか製作する上で応用が利くと考えています。
ArcticFox使いを機にウェアシステムおよびプログラミングに魅了され、これからはそういった工作も趣味にしていく所存です。

>>643
ご教示有難う御座います。
最終的には温度制御も目標にしています。
一応段階的にシステム開発を考えていましたので、次点としては電子タバコ用語で言うところのVW機能の構築を考えていました。

先に説明した私のプログラムでは、まだVV機能と言われるものでしかなく演算による制御が含まれておらず、温度制御システム構築以前の
問題なので段階的には演算を組み込んだプログラムの作り方を覚えるためにまずVW機能を選択しました。

つきましてはご教示いただいた演算を組み込むための文法等はどんなものがあるのかをお教えいただけると光栄です。
恐縮ですが現段階では各文法等の意味や使い方すらまだろくに知らない状態にあります。
0650774ワット発電中さん
垢版 |
2019/12/11(水) 19:32:31.93ID:bWn8dZ41
>>644
ご教示・ご提案有難う御座います。
つきましてはプログラミングにおいては一体どういった文法等を選択すれば良いのでしょうか?
恐縮ですが現段階では各文法等の意味や使い方すらまだろくに知らない状態にあります。
また、シャント抵抗に関してですが、ご提案はVoutに対し並列に組むということでしょうか?

>>645
ご指摘有難う御座います。
まず危険性については重々承知しています。
そして試作において電池の消費電流に関しては、ラジコン用ワットメーターを活用し監視する所存です。
※先に提示した動画をご覧いただければそのワットメーターによる監視状態が判るかと思います

ちなみにですが最終的な想定としては、コンバータモジュールをもっと高スペックにして50W運用あたりを最大として考えています。
そして電源構成は採用コンバータモジュールの仕様のこともあり、3セル直列構成あたりで終止電圧をセル当たり3.0Vで想定していますので
安全マージンを考慮して効率70%と低く見積もって入力段消費電流は最大10A未満で考えています。
また、採用セルはラジコン用とかの高出力対応小型リポかリフェを考えています。
0654774ワット発電中さん
垢版 |
2019/12/11(水) 20:33:58.51ID:bWn8dZ41
>>945
あと余談ですが・・・DNAは200以降はチョークコイル二個使いによる昇降圧独立制御コンバータなので魅力的ですが、
肝心のウェアシステムであるEScribeが機能的に狐より劣るのでイマイチ食指が動かずにいます・・・。
特にハーバル使い含めいろんな使い方・ビルドする私にとって、オートスイッチ機能やPI値変更機能が無いDNAはデメリットが大きいです。
0658644
垢版 |
2019/12/12(木) 10:02:21.73ID:yK3l3Pla
>>650
一応簡単な回路図面
https://imgur.com/iMphtIr

適当にスケッチ書いてみたけど、以下言い訳
・Arduinoのスケッチを描いたのはこれを入れて3回目のみ
・検証はしていないのでこのまま動かない可能性の方が高い
https://imgur.com/tmtPDpW

これも、650さんが動かしてるのもそうですが、DCDCが正しく機能してない・・・
正直MOSFETに置き換えても同じ結果が得られるはず

電子タバコは吸わないので詳しくないけど発熱の回路を作るなら 
バッテリー>LCローパスフィルター>発熱体>シャント抵抗>N-FET>
バッテリー>LCローパスフィルター>P-FET>発熱体>シャント抵抗>
で構成してFETをPWM制御した方がシンプルじゃないかな
0659774ワット発電中さん
垢版 |
2019/12/12(木) 10:44:21.00ID:Hxkl2EPV
>>656
その程度なら、cassavaという表計算が超軽くていい
メモ代わりに使えるくらい軽い
0660650
垢版 |
2019/12/13(金) 01:36:35.91ID:JTyAV2cM
>>658
ご教示・ご提案誠に有難う御座います。
まずご教示いただいた内容をきちんと理解して、これから実践して覚えていくと共に精進する所存です。

つきましては恐縮ですがご教示いただいたプログラムにおいて、大まかな概要を人間語および日本語的に箇条説明していただくことは可能でしょうか?
なにぶんまだ機械語(および英語)に慣れておらず、更に自身がアスペルガーなこともあり各文法の意味等の理解に苦しんでる状況にあります・・・。
一応人間語的な話で取っ掛かり的な部分が掴めれば理解可能なんですがそれがまだ出来ていない状態です。

ちなみにですが教本は今のところ“ゼロからよくわかるArduinoで電子工作入門ガイド”と“みんなのArduino入門”の二つは買ってみたのですが、先に
説明しましたアスペルガーなこともあり中々行間が読めず教本内容の理解に苦しんでいる状況にあります・・・。
お手数かと存じますがもし可能であればプログラムにおいて箇条説明を宜しくお願い致します。

また、後学のためにDCDCが正しく機能してないという部分において、どういった部分の問題要素なのかご教示いただけると光栄に存じます。
つきましてはシステム全体の回路において、チョッパを介さない方が良いのはどういった要素があってのことなのかご教示いただけると光栄に存じます。
一応電子タバコ用途としての大まかな概要を説明しますと、発熱体は常に単一の物では無く使用者が随時いろいろ仕様を変えて組み込む感じになります。
0661774ワット発電中さん
垢版 |
2019/12/13(金) 01:54:38.07ID:JTyAV2cM
すみません補足です。
チョッパの意味はチョークコイル等のインダクタによるコンバータの意味で言いました。
0662774ワット発電中さん
垢版 |
2019/12/13(金) 03:44:04.67ID:JTyAV2cM
>>658
補足としてもう少し電子タバコ用途としての概要を説明しますと、発熱体は測温抵抗体となり主にニッケルコイル等を採用します。
そのニッケルコイル等の抵抗値変動を読み取り、その変動値を温度に換算して演算により指定温度=指定抵抗値になるように
出力電圧および電力を制御するシステムです。
また、多種多様な発熱体を換装して、その都度演算のための基準値を任意の値に変更することが可能なシステムです。
0663774ワット発電中さん
垢版 |
2019/12/13(金) 04:06:50.78ID:/PISHJ6d
Niコイルってことは、大まかに言うと、常温時に 0.1Ω、発熱時に 0.8Ω
ぐらいだよね?
その抵抗値を計測する、リード線の抵抗値は?

生セルのメーカーにもよるけど、0.1Ωを少しでも切ると。。。
https://youtu.be/PLBOqRg79bg?t=1m19s
0664774ワット発電中さん
垢版 |
2019/12/13(金) 04:43:50.69ID:JTyAV2cM
>>663
ご指導有難う御座います。
まず基準となる冷間抵抗値が0.1Ω仕様なら、電子タバコとして実用的運用温度帯の理論値は以下のようになります。
https://dm-vaporizer-produce.webnode.jp/_files/200000061-6c7256c727/ni_tcr.JPG
※基本的には200℃前後の運用温度になるので0.2Ωあたりとなります

また、抵抗値測定方法として4端子法のシステムが組めないか考えています。
これであれば問題無いのでは?と考えています。
TCMODの既製品は例えばDNAや狐仕様ですと、リアルタイムレジスタンスで1mΩ単位の分解能で測定していたり、
基板内部抵抗を測定していることからおそらく基板上で4端子法の回路を組んでいるのでは?と解釈しています。

あと破裂事故についてですが、第一にインダクタ式コンバータによる出力制御を想定していますので、出力段の負荷の
抵抗値において直接的影響は低減可能であると存じています。
0665774ワット発電中さん
垢版 |
2019/12/13(金) 05:03:01.46ID:JTyAV2cM
>>663
補足としまして・・・>>649で触れましたが、各種接続にリード線は一切使わず全てブロック的な物体で接合して
更にネジ止め可能な箇所は全てネジ締め付けにより接触抵抗の影響も低減する考えではあります。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況