http://www.arduino.cc/
【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね
前スレ
Arduino初心者熱烈大歓迎質問スレ part31
https://rio2016.5ch.net/test/read.cgi/denki/1623898761/
Arduino初心者熱烈大歓迎質問スレ part32
https://rio2016.5ch.net/test/read.cgi/denki/1633840724/
過去スレ
Arduino初心者熱烈大歓迎質問スレ part30
https://rio2016.5ch.net/test/read.cgi/denki/1613577696/
Arduino初心者熱烈大歓迎質問スレ part29
http://rio2016.5ch.net/test/read.cgi/denki/1601349163/
Arduino初心者熱烈大歓迎質問スレ part28
https://rio2016.5ch.net/test/read.cgi/denki/1591734520/
Arduino初心者熱烈大歓迎質問スレ part27
http://rio2016.5ch.net/test/read.cgi/denki/1585316143/
Arduino初心者熱烈大歓迎質問スレ part26
http://rio2016.5ch.net/test/read.cgi/denki/1579146318/
Arduino初心者熱烈大歓迎質問スレ part25
http://rio2016.5ch.net/test/read.cgi/denki/1568358922/
Arduino初心者熱烈大歓迎質問スレ part24
http://rio2016.5ch.net/test/read.cgi/denki/1554776918/
Arduino初心者熱烈大歓迎質問スレ part23
http://rio2016.5ch.net/test/read.cgi/denki/1541233445/
Arduino初心者熱烈大歓迎質問スレ part22
http://rio2016.5ch.net/test/read.cgi/denki/1534549073/
Arduino初心者熱烈大歓迎質問スレ part21
http://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
http://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初心者熱烈大歓迎質問スレ part33
■ このスレッドは過去ログ倉庫に格納されています
2021/12/07(火) 10:52:54.82ID:015O2ewy
646774ワット発電中さん
2022/01/28(金) 19:28:31.98ID:LrHT+Scp 2ビットで/4だと0が25パーセントなのでゼロにはならないよ
647774ワット発電中さん
2022/01/28(金) 19:34:15.84ID:MSkrqMQw >0から3まで数えられる
>33パーセント
>33パーセント
>33パーセント
>ゼロ
>4種類あるが最初はゼロしか数えられない
>数えられるのは3つしかない
>だから理論的には/3
理論の展開がおかしい。/3を前提にしているから、33%がでてきてる。
>4種類あるが最初はゼロしか数えられない
「最初」が変換値0を表すのだとしたら、だけど、理想の10ビットA/D変換器があるとして
そこに現実的な信号をつないだら、マイナス値でも与えない限り、変換結果0は得られないですね。
>33パーセント
>33パーセント
>33パーセント
>ゼロ
>4種類あるが最初はゼロしか数えられない
>数えられるのは3つしかない
>だから理論的には/3
理論の展開がおかしい。/3を前提にしているから、33%がでてきてる。
>4種類あるが最初はゼロしか数えられない
「最初」が変換値0を表すのだとしたら、だけど、理想の10ビットA/D変換器があるとして
そこに現実的な信号をつないだら、マイナス値でも与えない限り、変換結果0は得られないですね。
648774ワット発電中さん
2022/01/28(金) 19:36:10.39ID:LrHT+Scp649774ワット発電中さん
2022/01/28(金) 19:38:45.56ID:MSkrqMQw >2ビットで/4だと0が25パーセントなのでゼロにはならないよ
5Vリファレンスの正電圧入力の2ビットA/Dコンバータに
0V以上の電圧を与えたとき、変換結果として0が得られたら、
入力値は0V〜1.25Vなのだといえるよ。
A/D変換結果が0のときに、入力が0Vだと言うのはそもそもおかしい。
正確には範囲で表現するべきこと。
5Vリファレンスの正電圧入力の2ビットA/Dコンバータに
0V以上の電圧を与えたとき、変換結果として0が得られたら、
入力値は0V〜1.25Vなのだといえるよ。
A/D変換結果が0のときに、入力が0Vだと言うのはそもそもおかしい。
正確には範囲で表現するべきこと。
650774ワット発電中さん
2022/01/28(金) 19:40:52.93ID:MSkrqMQw651774ワット発電中さん
2022/01/28(金) 19:41:51.67ID:MSkrqMQw そもそも、なんで4段階のうちのひとつだけを不平等にして考えるんだろう。
>33パーセント
>33パーセント
>33パーセント
>ゼロ
>33パーセント
>33パーセント
>33パーセント
>ゼロ
652774ワット発電中さん
2022/01/28(金) 19:44:30.11ID:MSkrqMQw ID:LrHT+Scpさんの考え方は、>>645の英語部分に照らして整合性はあるのかな?
653774ワット発電中さん
2022/01/28(金) 20:12:06.67ID:tT/m2E+m 整数(int)にアナログ(5V)的な整合性を追及してもキモイことになるだけ
10ビットでアナログ的な辻褄合わせしたいなら
float/double使って1023でオペレーションするべきかな
どうせ量子化ノイズが-60デシベル程度あるんだし
気にしない気にしない
10ビットでアナログ的な辻褄合わせしたいなら
float/double使って1023でオペレーションするべきかな
どうせ量子化ノイズが-60デシベル程度あるんだし
気にしない気にしない
654774ワット発電中さん
2022/01/28(金) 20:20:56.61ID:LrHT+Scp 1ビットに話を戻します
0はゼロ
0の範囲は0から4.9V
1の範囲は5V
量子化の段階でこうなると思います
1は5Vに達しないと1になりません
確かに0だからといって0Vとは限らないのは分かりました
正確さを帰すなら/1ではないでしょうか?
/2で2.5Vで1とするのは精度的に問題ではないですか?
アナログだからわざと曖昧にするために/2である必要があるのでしょうか
0はゼロ
0の範囲は0から4.9V
1の範囲は5V
量子化の段階でこうなると思います
1は5Vに達しないと1になりません
確かに0だからといって0Vとは限らないのは分かりました
正確さを帰すなら/1ではないでしょうか?
/2で2.5Vで1とするのは精度的に問題ではないですか?
アナログだからわざと曖昧にするために/2である必要があるのでしょうか
655774ワット発電中さん
2022/01/28(金) 20:29:45.46ID:LrHT+Scp656774ワット発電中さん
2022/01/28(金) 20:35:34.21ID:oLxu6t5G >>654
4.95Vは?
4.95Vは?
657774ワット発電中さん
2022/01/28(金) 20:37:52.54ID:LrHT+Scp658774ワット発電中さん
2022/01/28(金) 21:03:52.48ID:1AmMTrBr659774ワット発電中さん
2022/01/28(金) 21:11:59.88ID:FC6zUm4a >>654
4.9Vを超えて5V未満のときはどうなるんだってばよ??
4.9Vを超えて5V未満のときはどうなるんだってばよ??
660774ワット発電中さん
2022/01/28(金) 21:12:47.11ID:LrHT+Scp661774ワット発電中さん
2022/01/28(金) 21:18:48.14ID:1AmMTrBr >>660
量子化なのに0と1で量子単位が違うの?
量子化なのに0と1で量子単位が違うの?
662774ワット発電中さん
2022/01/28(金) 21:57:22.01ID:LrHT+Scp 最小の量子単位が5V
1ビットだから
1ビットだから
663774ワット発電中さん
2022/01/28(金) 22:07:10.43ID:1AmMTrBr >>662
2bitなら2.5Vでおk?
2bitなら2.5Vでおk?
664774ワット発電中さん
2022/01/28(金) 22:17:30.31ID:LrHT+Scp665774ワット発電中さん
2022/01/28(金) 22:38:52.83ID:MSkrqMQw 1ビットは2値。その2値が等しい電圧範囲を持つなら、5Vリファレンスなら
A/D変換値0は0〜2.5V。1は2.5V〜5.0Vですよ。
>/2で2.5Vで1とするのは精度的に問題ではないですか?
上記の電圧範囲であることの、どこに精度の問題があるのでしょうか。
ID:LrHT+Scpさん
「逐次変換A/Dコンバータ」の仕組みはわかりますか?
>1023説の人に聞きたいけど、一般的な、リファレンス5Vの電圧出力D/Aコンバータは、
>デジタル値がNのときに
>Vout = 5V×N/256
>それとも
>Vout = 5V×N/255
↑これについては、どう考えますか?
いくつかの8ビットD/Aコンバータのデータシートを見た上で考えてほしいです。
>>652でも書きましたが、328Pのデータシートに書かれていることと、あなたの説の整合性は
取れていますか?
>どなたかズバっと答えていただけませんか
2ビットなら4段階なのでVref/4ですよ。
A/D変換値0は0〜2.5V。1は2.5V〜5.0Vですよ。
>/2で2.5Vで1とするのは精度的に問題ではないですか?
上記の電圧範囲であることの、どこに精度の問題があるのでしょうか。
ID:LrHT+Scpさん
「逐次変換A/Dコンバータ」の仕組みはわかりますか?
>1023説の人に聞きたいけど、一般的な、リファレンス5Vの電圧出力D/Aコンバータは、
>デジタル値がNのときに
>Vout = 5V×N/256
>それとも
>Vout = 5V×N/255
↑これについては、どう考えますか?
いくつかの8ビットD/Aコンバータのデータシートを見た上で考えてほしいです。
>>652でも書きましたが、328Pのデータシートに書かれていることと、あなたの説の整合性は
取れていますか?
>どなたかズバっと答えていただけませんか
2ビットなら4段階なのでVref/4ですよ。
666774ワット発電中さん
2022/01/28(金) 23:35:42.46ID:kCWxuMB+ >>636
>>ADC結果が0x200...の真値は2.5V±0.5LSB
これは間違いだと思う>632でも書いたがx200(512)を出力する電圧範囲は2.500000〜 2.504882
Vin = ADC * VREF / 1024 で計算してしまうと最大0.004882(1LSB)の誤差が生じる可能性がある
>>ADC結果が0x200...の真値は2.5V±0.5LSB
これは間違いだと思う>632でも書いたがx200(512)を出力する電圧範囲は2.500000〜 2.504882
Vin = ADC * VREF / 1024 で計算してしまうと最大0.004882(1LSB)の誤差が生じる可能性がある
667774ワット発電中さん
2022/01/28(金) 23:47:15.41ID:hIRs2uDu >>665
2bit だと
0〜1.25Vで0
1.25〜2.5Vで1
2.5〜3.75Vで2
3.75V〜5Vで3
なので、
変換値x1.25+0.625 ± 0.625 ですかね。
でも、電圧に変換して表示したときに
最低が0Vでなくて0.625Vってのは気持ち悪い。
2bit だと
0〜1.25Vで0
1.25〜2.5Vで1
2.5〜3.75Vで2
3.75V〜5Vで3
なので、
変換値x1.25+0.625 ± 0.625 ですかね。
でも、電圧に変換して表示したときに
最低が0Vでなくて0.625Vってのは気持ち悪い。
668774ワット発電中さん
2022/01/28(金) 23:51:56.77ID:MSkrqMQw 気持ち悪いかどうかで、A/Dコンバータの性質を決めちゃだめです。
669774ワット発電中さん
2022/01/29(土) 00:03:19.02ID:Q8X5eVOk ググってグラフを見てきたらなんとなく分かってきた
文字だけ見てると分からない
実験して実際に波形を見てみる
みなさんありがとう
文字だけ見てると分からない
実験して実際に波形を見てみる
みなさんありがとう
670774ワット発電中さん
2022/01/29(土) 00:57:46.10ID:s3kwM2eJ こんなの見つけた
https://i.imgur.com/7jaT7ja.png
https://i.imgur.com/7jaT7ja.png
671774ワット発電中さん
2022/01/29(土) 01:03:20.00ID:wX9UZJyh ADCの精度に夢見過ぎな奴多いな
例えば10bitADCならよい製品でも諸々込みで±2LSBくらいの変換誤差は有る前提で考えないと、安物だともっと悪化する
実はVrefの精度も検討してなかったりして
例えば10bitADCならよい製品でも諸々込みで±2LSBくらいの変換誤差は有る前提で考えないと、安物だともっと悪化する
実はVrefの精度も検討してなかったりして
672774ワット発電中さん
2022/01/29(土) 08:24:20.07ID:ab47xJAH >>670
3bit ADCかっ!
3bit ADCかっ!
673774ワット発電中さん
2022/01/29(土) 08:30:52.68ID:OIhnefc1 バッテリーレベルなら2bitでいい
674774ワット発電中さん
2022/01/29(土) 08:45:12.28ID:9mcXJhXe >>670
元のURL
http://ww1.microchip.com/downloads/en/appnotes/atmel-8456-8-and-32-bit-avr-microcontrollers-avr127-understanding-adc-parameters_application-note.pdf
これを見て昨日のID:MSkrqMQwを修正します。
Figure 2-8. Perfect ADC in Single-ended Mode (Adjusted Quantization)
だと、実際の値に合わせるために、0.5LSBずらしています。
これを2ビットのADCにあてはめると (面倒なのでリファレンス4Vにします)
変換値0:0〜0.5V
変換値0:0.5〜1.5V
変換値0:1.5〜2.5V
変換値0:2.5〜4V
こういうふうに作られているADCもある、ですかね。
https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
Figure 24-13を見ると、変換値0の部分はアナログ値の範囲が半分になっています。
アナログデバイセズのAD7813だと、この0.5LSBの補正は意図していないように見えます。
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7813.pdf
Figure 7. Transfer Characteristic
A/Dコンバータによってこのあたりの考え方は違うのでしょう。
実際の回路では、オフセットエラーを含め、電源レールに近いところは、ADCをドライブする回路も含めて直線性も
悪くなるので、ここの0.5LSBがどうなっているのか突き詰めても益は少ないと思います。
いずれにしても、分解能は Vref/1024 ですけど。
元のURL
http://ww1.microchip.com/downloads/en/appnotes/atmel-8456-8-and-32-bit-avr-microcontrollers-avr127-understanding-adc-parameters_application-note.pdf
これを見て昨日のID:MSkrqMQwを修正します。
Figure 2-8. Perfect ADC in Single-ended Mode (Adjusted Quantization)
だと、実際の値に合わせるために、0.5LSBずらしています。
これを2ビットのADCにあてはめると (面倒なのでリファレンス4Vにします)
変換値0:0〜0.5V
変換値0:0.5〜1.5V
変換値0:1.5〜2.5V
変換値0:2.5〜4V
こういうふうに作られているADCもある、ですかね。
https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
Figure 24-13を見ると、変換値0の部分はアナログ値の範囲が半分になっています。
アナログデバイセズのAD7813だと、この0.5LSBの補正は意図していないように見えます。
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7813.pdf
Figure 7. Transfer Characteristic
A/Dコンバータによってこのあたりの考え方は違うのでしょう。
実際の回路では、オフセットエラーを含め、電源レールに近いところは、ADCをドライブする回路も含めて直線性も
悪くなるので、ここの0.5LSBがどうなっているのか突き詰めても益は少ないと思います。
いずれにしても、分解能は Vref/1024 ですけど。
675774ワット発電中さん
2022/01/29(土) 09:23:55.37ID:wX9UZJyh >>674
>これを2ビットのADCにあてはめると >(面倒なのでリファレンス4Vにします)
>変換値0:0〜0.5V
>変換値0:0.5〜1.5V
>変換値0:1.5〜2.5V
>変換値0:2.5〜4V
>こういうふうに作られているADCもある、ですかね。
ねーよ
元の資料をどう解釈したらそんなことになるんだ
>これを2ビットのADCにあてはめると >(面倒なのでリファレンス4Vにします)
>変換値0:0〜0.5V
>変換値0:0.5〜1.5V
>変換値0:1.5〜2.5V
>変換値0:2.5〜4V
>こういうふうに作られているADCもある、ですかね。
ねーよ
元の資料をどう解釈したらそんなことになるんだ
676774ワット発電中さん
2022/01/29(土) 10:09:55.07ID:afD/MXkB >>674
話が本質に近付いて来たね。ADCのオフセットをどう捉えるかがポイントだと思う。
元のURLとしてリンク貼ってくれた資料で説明すると、
https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
の Fig24-10 Offset error がそのオフセットに該当すると思うんだけど、
その値はTable 29-15. の Offset error で規定されていて、
スペックでは 2LSB Typ. となっている。(1LSB Typ.となっている資料もある)
つまり。0.5LSBとか言ってる場合じゃないくらい大きなオフセットが現実にはある。
.たぶんこれは前段のアナログ回路も含んだ値だろうから、ADC自体のオフセットでは無さそうだけど
これくらいのオフセットは覚悟しなさいと言うことなんだろう。
そんなことで、正確な入力電圧を推定するためにはゲインとオフセットの補正は必須と言うことだね。
話を戻すと、ADCの感度は Vref/1024で計算すればOK。
これを1023とか言ってる人は、ゲインとオフセットの区別が付いていない人。まあよくいるんだけどね。
話が本質に近付いて来たね。ADCのオフセットをどう捉えるかがポイントだと思う。
元のURLとしてリンク貼ってくれた資料で説明すると、
https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
の Fig24-10 Offset error がそのオフセットに該当すると思うんだけど、
その値はTable 29-15. の Offset error で規定されていて、
スペックでは 2LSB Typ. となっている。(1LSB Typ.となっている資料もある)
つまり。0.5LSBとか言ってる場合じゃないくらい大きなオフセットが現実にはある。
.たぶんこれは前段のアナログ回路も含んだ値だろうから、ADC自体のオフセットでは無さそうだけど
これくらいのオフセットは覚悟しなさいと言うことなんだろう。
そんなことで、正確な入力電圧を推定するためにはゲインとオフセットの補正は必須と言うことだね。
話を戻すと、ADCの感度は Vref/1024で計算すればOK。
これを1023とか言ってる人は、ゲインとオフセットの区別が付いていない人。まあよくいるんだけどね。
677774ワット発電中さん
2022/01/29(土) 10:52:00.88ID:Ldj8HJNQ >>675
おめえ文句ばっかり垂れてねえで説明しろやクソが
おめえ文句ばっかり垂れてねえで説明しろやクソが
678774ワット発電中さん
2022/01/29(土) 12:11:38.92ID:s3kwM2eJ UNO(ATMEGA328)のADCを実測してみました
VREF 5000mV
1 > 11.25~16.12
2 > 16.12~21.01
3 > 21.01~25.97
2020 > 4980.16~4985.02
2021 > 4985.02~4990.01
2022 > 4990.01~4995.02
VREF 2000mV
1 > 4.14~6.09
2 > 6.09~8.03
3 > 8.03~10.07
2020 > 1991.15~1993.12
2021 > 1993.12~1995.10
2022 > 1995.10~1997.19
VREF 5000mV
1 > 11.25~16.12
2 > 16.12~21.01
3 > 21.01~25.97
2020 > 4980.16~4985.02
2021 > 4985.02~4990.01
2022 > 4990.01~4995.02
VREF 2000mV
1 > 4.14~6.09
2 > 6.09~8.03
3 > 8.03~10.07
2020 > 1991.15~1993.12
2021 > 1993.12~1995.10
2022 > 1995.10~1997.19
679774ワット発電中さん
2022/01/29(土) 12:36:04.70ID:ab47xJAH >>674
全部変換値ゼロじゃねえか。
全部変換値ゼロじゃねえか。
680774ワット発電中さん
2022/01/29(土) 12:48:48.34ID:KMKi2dYY 難しいことは良くわからないのだけど
328Pのデータシートに書いてある10bitADCの説明だとADC=Vin×1024/Vrefなんで、
誤差とか無視した理想電圧でvinMAX=Vref=5Vってすると、5Vを1024で割った値に
VinとVrefの比率を掛けた値がADCに出てきますってことだよね
で、ADC=1024は10bitじゃ表せないので、ADCに実際に上がってくる値の最大は1023
この値は5V-5V/1024から5V以上の間を表すってことなので、ADCの値1に付き何Vかを
計算するのは5/1024で、値が0なら0から4,88mV、値が1なら4.89mvから9.77mV・・・
値が1023ならば4.99512V以上ってコードで作りこむことになるんだよねぇ?
328Pのデータシートに書いてある10bitADCの説明だとADC=Vin×1024/Vrefなんで、
誤差とか無視した理想電圧でvinMAX=Vref=5Vってすると、5Vを1024で割った値に
VinとVrefの比率を掛けた値がADCに出てきますってことだよね
で、ADC=1024は10bitじゃ表せないので、ADCに実際に上がってくる値の最大は1023
この値は5V-5V/1024から5V以上の間を表すってことなので、ADCの値1に付き何Vかを
計算するのは5/1024で、値が0なら0から4,88mV、値が1なら4.89mvから9.77mV・・・
値が1023ならば4.99512V以上ってコードで作りこむことになるんだよねぇ?
681774ワット発電中さん
2022/01/29(土) 12:50:38.97ID:x6ODnAkl682774ワット発電中さん
2022/01/29(土) 12:52:01.05ID:+j1Fzvae 0〜100を0〜1024に変換するにはどうすればいい?
683774ワット発電中さん
2022/01/29(土) 12:52:58.35ID:x6ODnAkl 市販の測定器とかは厳密な数値が出ると思うんだけど
arduinoとかとはなんか違うの?
arduinoとかとはなんか違うの?
684774ワット発電中さん
2022/01/29(土) 12:54:23.60ID:x6ODnAkl >>682
0〜100の単位はなに?
0〜100の単位はなに?
685774ワット発電中さん
2022/01/29(土) 13:04:43.21ID:s3kwM2eJ686774ワット発電中さん
2022/01/29(土) 13:10:13.25ID:ab47xJAH687774ワット発電中さん
2022/01/29(土) 13:11:26.41ID:mHoQTt9U >>686
オフセット誤差じゃないの?
オフセット誤差じゃないの?
688774ワット発電中さん
2022/01/29(土) 13:18:42.66ID:0tDK0vDB689774ワット発電中さん
2022/01/29(土) 13:20:15.42ID:BJpWemW5 そうかだから+0.5なんだね
オフセット誤差補正で
オフセット誤差補正で
690774ワット発電中さん
2022/01/29(土) 14:01:17.32ID:EttbjIYZ >>689
それは表示数値を下限値じゃなくてレンジの中間値で見せてるだけ。オ
それは表示数値を下限値じゃなくてレンジの中間値で見せてるだけ。オ
691774ワット発電中さん
2022/01/29(土) 14:09:17.74ID:s3kwM2eJ UNO(atmega328)のanalogRead値から電圧を求めるとして
atmega328の内部で量子化補正が「有り・無し」場合
【量子化補正有り】
Vin = ADC * VREF / 1024 (誤差 小)
Vin = ADC * VREF / 1023 (誤差 大)
Vin = (ADC+0.5) * VREF / 1024 (誤差 中)
【量子化未補正】
Vin = ADC * VREF / 1024 (誤差 大)
Vin = ADC * VREF / 1023 (誤差 中)
Vin = (ADC+0.5) * VREF / 1024 (誤差 小)
実測値をみてると量子化未補正に思えるけど、データシート見てもその項目が発見できてない(俺の馬鹿!)
PICとかのデータシートはわかりやすいのに・・・( https://i.imgur.com/JOZ6gsx.png )
atmega328の内部で量子化補正が「有り・無し」場合
【量子化補正有り】
Vin = ADC * VREF / 1024 (誤差 小)
Vin = ADC * VREF / 1023 (誤差 大)
Vin = (ADC+0.5) * VREF / 1024 (誤差 中)
【量子化未補正】
Vin = ADC * VREF / 1024 (誤差 大)
Vin = ADC * VREF / 1023 (誤差 中)
Vin = (ADC+0.5) * VREF / 1024 (誤差 小)
実測値をみてると量子化未補正に思えるけど、データシート見てもその項目が発見できてない(俺の馬鹿!)
PICとかのデータシートはわかりやすいのに・・・( https://i.imgur.com/JOZ6gsx.png )
692774ワット発電中さん
2022/01/29(土) 16:40:23.57ID:VH7MOr00 >>691
有無はどこ見たら分かるの?
有無はどこ見たら分かるの?
693774ワット発電中さん
2022/01/29(土) 20:16:53.26ID:8G8jdwA+ ATEGA328なのか・・・
すっちー「お客様ー!! お客様のなかに
英語につおいかたはいらっしゃいませんかー!!!」
https://ww1.microchip.com/downloads/en/Appnotes/atmel-8456-8-and-32-bit-avr-microcontrollers-avr127-understanding-adc-parameters_application-note.pdf
すっちー「お客様ー!! お客様のなかに
英語につおいかたはいらっしゃいませんかー!!!」
https://ww1.microchip.com/downloads/en/Appnotes/atmel-8456-8-and-32-bit-avr-microcontrollers-avr127-understanding-adc-parameters_application-note.pdf
694774ワット発電中さん
2022/01/29(土) 20:25:55.18ID:Zqaj/7TJ 背筋が凍った
695774ワット発電中さん
2022/01/30(日) 16:52:24.17ID:nCwuuv+1 >>693
「呼んだ?」DeepLは応えた。
「呼んだ?」DeepLは応えた。
696774ワット発電中さん
2022/01/30(日) 21:26:30.06ID:RH5zLynw697774ワット発電中さん
2022/01/30(日) 22:19:17.83ID:T/0Ov2wp >>675
>ねーよ
>元の資料をどう解釈したらそんなことになるんだ
>>674で紹介した元の資料(↓再掲)の8ページをどう解釈したら「ねーよ」になるのだっけか。
http://ww1.microchip.com/downloads/en/appnotes/atmel-8456-8-and-32-bit-avr-microcontrollers-avr127-understanding-adc-parameters_application-note.pdf
>ねーよ
>元の資料をどう解釈したらそんなことになるんだ
>>674で紹介した元の資料(↓再掲)の8ページをどう解釈したら「ねーよ」になるのだっけか。
http://ww1.microchip.com/downloads/en/appnotes/atmel-8456-8-and-32-bit-avr-microcontrollers-avr127-understanding-adc-parameters_application-note.pdf
698774ワット発電中さん
2022/01/30(日) 22:30:04.01ID:T/0Ov2wp >>678さんがやっているような実測をもって、この0.5LSBの補正がなされているかどうかの
検証をすることには、ほぼ意味がないと思う。それ以上のオフセットエラーがある。
それに入力電圧が0Vのときに変換値が0にならないようなオフセットエラーはハードでも
ソフトでも補正が効かないので、素子自体は変換値0となる電圧範囲は広く取られることが
多いのでは。
検証をすることには、ほぼ意味がないと思う。それ以上のオフセットエラーがある。
それに入力電圧が0Vのときに変換値が0にならないようなオフセットエラーはハードでも
ソフトでも補正が効かないので、素子自体は変換値0となる電圧範囲は広く取られることが
多いのでは。
699774ワット発電中さん
2022/01/30(日) 22:38:12.87ID:T/0Ov2wp >>696
DeepLをGoogle検索するぐらいはやったうえで、分からん、って言ってるのかな?
DeepLをGoogle検索するぐらいはやったうえで、分からん、って言ってるのかな?
700774ワット発電中さん
2022/01/30(日) 23:06:10.09ID:txn2jw73701774ワット発電中さん
2022/01/30(日) 23:33:00.47ID:T/0Ov2wp >>700
>結論:ADCからVinへのスケーリングは「1/1024」で計算しなけ
> ればならない。
> 「1/1023」は間違いである。
これは、明白なことなので、ここでやっているような議論をする意味がない。
誤差のある現実世界のデバイスを実測してみても、あまり意味はない。
様々なエラーを含んだデバイスを、誤差のある測定を行って、仮に
「得られた結果は1LSBは1/1023に近いものだ」
となったとしても、1LSBが1/1024であることに変わりはない。
>>698の主旨は、実験で判断してはいけない、ということなのは理解してもらってるだろか?
こういうことはデータシートかメーカーの公式資料を引用して議論するか、
個人的に納得したいなら、メーカーか公式フォーラムに尋ねるのがいい。
実測で判断したいなら、誤差のないデバイスを持ってくるべき。(数を増やして平均してもだめだよ)
>結論:ADCからVinへのスケーリングは「1/1024」で計算しなけ
> ればならない。
> 「1/1023」は間違いである。
これは、明白なことなので、ここでやっているような議論をする意味がない。
誤差のある現実世界のデバイスを実測してみても、あまり意味はない。
様々なエラーを含んだデバイスを、誤差のある測定を行って、仮に
「得られた結果は1LSBは1/1023に近いものだ」
となったとしても、1LSBが1/1024であることに変わりはない。
>>698の主旨は、実験で判断してはいけない、ということなのは理解してもらってるだろか?
こういうことはデータシートかメーカーの公式資料を引用して議論するか、
個人的に納得したいなら、メーカーか公式フォーラムに尋ねるのがいい。
実測で判断したいなら、誤差のないデバイスを持ってくるべき。(数を増やして平均してもだめだよ)
702774ワット発電中さん
2022/01/31(月) 00:32:56.62ID:2ik6tb2W703774ワット発電中さん
2022/01/31(月) 03:00:15.95ID:E7gZb1Um UNO(atmega328)の場合
Vin = ( ADC + Offset Error ) * VREF / ( Resolution -1 + Gain Error )
※Gain Error = 2LSB Typ , Offset Error = 2LSB Typ
つまり
Vin = ( ADC + 2 ) * VREF / 1025
これかもしれない・・・(;´・ω・)
詳しい人助けて( ;∀;)
Vin = ( ADC + Offset Error ) * VREF / ( Resolution -1 + Gain Error )
※Gain Error = 2LSB Typ , Offset Error = 2LSB Typ
つまり
Vin = ( ADC + 2 ) * VREF / 1025
これかもしれない・・・(;´・ω・)
詳しい人助けて( ;∀;)
704774ワット発電中さん
2022/01/31(月) 07:23:07.55ID:oDin7+3l >>701
実機は理論通りには動かないってことだな。
実機は理論通りには動かないってことだな。
705774ワット発電中さん
2022/01/31(月) 09:47:52.81ID:l2DVNjYE >>701のまとめに同意だな。
>>678 が測定してくれたVref5000mVの場合で説明すると、
近似直線は、Vin = 4.8776 * ADC + 7.4907 となっている。
傾きの理論値は 5000/1024=4.8828 なので、実際には少し小さな値で計算しないといけない
ことが判る。そこで、コードは、
#define KA 0.998932 // 感度補正係数
#define KB 7.4907 // オフセット補正量
Vin = KA * ADC * 5.0 / 1024.0 + KB; // 電圧の計算式 (mV)
と書くのが判り易くて良いと思う。
なお、式の中で定数になる部分はコンパイラがあらかじめ計算してくれるので、実際には何度も
計算が必要になる訳では無い。
>>678 が測定してくれたVref5000mVの場合で説明すると、
近似直線は、Vin = 4.8776 * ADC + 7.4907 となっている。
傾きの理論値は 5000/1024=4.8828 なので、実際には少し小さな値で計算しないといけない
ことが判る。そこで、コードは、
#define KA 0.998932 // 感度補正係数
#define KB 7.4907 // オフセット補正量
Vin = KA * ADC * 5.0 / 1024.0 + KB; // 電圧の計算式 (mV)
と書くのが判り易くて良いと思う。
なお、式の中で定数になる部分はコンパイラがあらかじめ計算してくれるので、実際には何度も
計算が必要になる訳では無い。
706774ワット発電中さん
2022/01/31(月) 09:53:47.24ID:l2DVNjYE あと、オフセットの話だけど、
片電源のオペアンプは入力電圧ゼロ付近に30mVくらいの不感帯、つまりオフセットがある。
それに比べるとATmaga328Pのアナログ回路は優秀だと思うよ。
片電源のオペアンプは入力電圧ゼロ付近に30mVくらいの不感帯、つまりオフセットがある。
それに比べるとATmaga328Pのアナログ回路は優秀だと思うよ。
707774ワット発電中さん
2022/01/31(月) 10:37:57.34ID:qCwinOa/ >>705
1.1Vも同じかな?
1.1Vも同じかな?
708774ワット発電中さん
2022/01/31(月) 11:06:58.11ID:gQGTB04O 正確な実測データがあるならそれ使って校正するのは測定器なら普通のことだしなぁ。個体のクセは実測データでしか補正できないし。まぁ、正確な実測データを得るのが難しいんだけど。
709774ワット発電中さん
2022/01/31(月) 11:25:26.04ID:PJAGwFnj Vref=5Vのとき
1LSB=5/1024=0.0048828125[V]
(Vrefー1LSB)が1023(0x3ff)になるのだから
5-0.0048828125=4.995117188[v]が0x3ff
最大値が3ffだから1023で割るのかな?と思っちゃった人は
「植木算」を思い出そうず(^p^)
(1〜3ffじゃなくて)0起算だから1024段階、という単純なハナシかとおもいきや、
なんかみんなえらく難しそうなこと話してるなぁ・・・
1LSB=5/1024=0.0048828125[V]
(Vrefー1LSB)が1023(0x3ff)になるのだから
5-0.0048828125=4.995117188[v]が0x3ff
最大値が3ffだから1023で割るのかな?と思っちゃった人は
「植木算」を思い出そうず(^p^)
(1〜3ffじゃなくて)0起算だから1024段階、という単純なハナシかとおもいきや、
なんかみんなえらく難しそうなこと話してるなぁ・・・
710774ワット発電中さん
2022/01/31(月) 12:04:45.71ID:oDin7+3l 1bit DAC は、0Vと2.5Vを出すのだろうか?
0Vと5Vを出すのが自然ではないか。
0Vと5Vを出すのが自然ではないか。
711774ワット発電中さん
2022/01/31(月) 12:24:51.55ID:gQGTB04O 何で急にDACとか言い出したの?
712774ワット発電中さん
2022/01/31(月) 12:25:51.58ID:AKCqNZYY デジタルとアナログの区別がつかないからDACが成立しないのでは?
1chステレオサウンドといってるようなもの
1chステレオサウンドといってるようなもの
713774ワット発電中さん
2022/01/31(月) 12:46:55.04ID:PJAGwFnj >>710
だがしかしラダー抵抗で解説されているページが検索でヒットしたので
ざっと拝読したところ三ビット出力111で4.375Vだそうですよん(5Vではなかった)。
http://mitt.la.coocan.jp/pic/pic7_16.html
だがしかしラダー抵抗で解説されているページが検索でヒットしたので
ざっと拝読したところ三ビット出力111で4.375Vだそうですよん(5Vではなかった)。
http://mitt.la.coocan.jp/pic/pic7_16.html
714774ワット発電中さん
2022/01/31(月) 13:05:13.94ID:gQGTB04O DACでもvrefがどの値に対応してるかによる。秋月で売ってるやつ何個か見てみたけど
vrefと2^n(nはビット分解能)
が対応。出力は2^n―1までってのが多かった。microchipとLTだけだから他のところのまではわからんけど。
vrefと2^n(nはビット分解能)
が対応。出力は2^n―1までってのが多かった。microchipとLTだけだから他のところのまではわからんけど。
715774ワット発電中さん
2022/01/31(月) 14:39:52.29ID:P78s3xoV >>710
どういう回路構成のD/Aを想定してる?
今、話題になっている逐次変換型A/Dの場合は、ラダーD/A+コンパレータの構成をとるものが
多いので、必然的に1LSBの電圧がどうなのかについてはラダーD/Aを前提に考えることになる。
ところが、1ビットD/AだとラダーD/Aにする意味がほぼない。
ラダーを1ビットにすると、単なる分圧になるので2.5V。
でも意味が乏しいからラダーにしないので1ビットなら0-5Vとなると思う。
どういう回路構成のD/Aを想定してる?
今、話題になっている逐次変換型A/Dの場合は、ラダーD/A+コンパレータの構成をとるものが
多いので、必然的に1LSBの電圧がどうなのかについてはラダーD/Aを前提に考えることになる。
ところが、1ビットD/AだとラダーD/Aにする意味がほぼない。
ラダーを1ビットにすると、単なる分圧になるので2.5V。
でも意味が乏しいからラダーにしないので1ビットなら0-5Vとなると思う。
716774ワット発電中さん
2022/01/31(月) 20:09:30.40ID:QeEdevin 10ビットA/DでVref/1023考えると精度が要らないから2ビット無視して
8ビットA/Dとして使うときVref/255になるのかVref*4/1023になのかと
考えると1023というのがおかしいことが分かる。
10ビットでVref/1024
8ビットでVref/256
となるのが自然な考え。
8ビットA/Dとして使うときVref/255になるのかVref*4/1023になのかと
考えると1023というのがおかしいことが分かる。
10ビットでVref/1024
8ビットでVref/256
となるのが自然な考え。
717774ワット発電中さん
2022/02/01(火) 02:24:04.53ID:O6NLGNsN ◆Offset
The deviation of the first transition (0x000 to 0x001) compared to the ideal transition (at 0.5 LSB). Ideal value: 0 LSB.
0>1に変化する理想の場所は0.5LSBの位置と有るのでこの説明だと量子化補正の有る理想ADCとの比較が前提となってる
◆Gain error:
After adjusting for offset, the gain error is found as the deviation of the last transition (0x3FE to0x3FF) compared to the ideal transition (at 1.5 LSB below maximum). Ideal value: 0 LSB
1022>1023に変化する理想の位置は最大値(VREF)から-1.5LSBの位置と有るので量子化補正の有る理想ADCとの比較が前提となってる
データシート読むとゲインエラーはオフセット補償をした後の値と有るので
Arduino(UNO)はこれが正解じゃないだろうか・・・
Vin = ( ADC + Offset ) * Vref / ( 1024 + Offset + ( Offset - Gain error ) )
Vin = ( ADC + 2 ) * Vref / ( 1024 + 2 + 2 - 2 )
Vin = ( ADC + 2 ) * Vref / 1026
(※オフセット・ゲインエラーはデータシートの標準値を適応)
参考資料
ATmega48A/PA/88A/PA/168A/PA/328/P(Data Sheet)
AVR120: Characterization and Calibration of the ADC on an AVR (APPLICATION NOTE)
AVR127: Understanding ADC Parameters (APPLICATION NOTE)
The deviation of the first transition (0x000 to 0x001) compared to the ideal transition (at 0.5 LSB). Ideal value: 0 LSB.
0>1に変化する理想の場所は0.5LSBの位置と有るのでこの説明だと量子化補正の有る理想ADCとの比較が前提となってる
◆Gain error:
After adjusting for offset, the gain error is found as the deviation of the last transition (0x3FE to0x3FF) compared to the ideal transition (at 1.5 LSB below maximum). Ideal value: 0 LSB
1022>1023に変化する理想の位置は最大値(VREF)から-1.5LSBの位置と有るので量子化補正の有る理想ADCとの比較が前提となってる
データシート読むとゲインエラーはオフセット補償をした後の値と有るので
Arduino(UNO)はこれが正解じゃないだろうか・・・
Vin = ( ADC + Offset ) * Vref / ( 1024 + Offset + ( Offset - Gain error ) )
Vin = ( ADC + 2 ) * Vref / ( 1024 + 2 + 2 - 2 )
Vin = ( ADC + 2 ) * Vref / 1026
(※オフセット・ゲインエラーはデータシートの標準値を適応)
参考資料
ATmega48A/PA/88A/PA/168A/PA/328/P(Data Sheet)
AVR120: Characterization and Calibration of the ADC on an AVR (APPLICATION NOTE)
AVR127: Understanding ADC Parameters (APPLICATION NOTE)
718774ワット発電中さん
2022/02/01(火) 08:13:01.81ID:nFKWdBwL >>717
328PのデータシートのADCのエラーは、2LSBって書いてあったら、それは±2LSBだよ。(おそらく常識的に)
あと、実回路ではA/D変換に入るまでの回路の誤差もついてくる。
Vref/1024は理屈での話にすぎない。(理屈の話において、Vref/1023は誤り)
オフセットもゲインも実際のセットではリテラル値ではなく、ファームまたは
ハードウェアで作られる変数にするわけだしね。
(ファームならEEPROM、ハードウェアなら半固定抵抗などですね)
入力電圧がいくらなのか、って話をするときに、理屈の話なのか、実際の電圧を知りたいんだ、なのかは
切り分けないといけない。
Vref/1023かVref/1024かは、結果的にはゲインエラーとして効いてくるけど、1024と1023とを取り違えた
ところで、ここで発生する誤差は0.1%にすぎない。でもそのもとのVrefの誤差のほうがはるかにでかい(ことが多い)。
議論の中でVref=5Vがたびたび出てきたけれど、回路内で完結する何かの電圧が同じ5Vから分圧して得られている
ケースをのぞけば、この5Vの誤差がそのままゲインエラーにつながる。
7805みたいなレギュレータで作った5Vなら、数%の誤差があるよね。
328Pには1.1V内蔵リファレンスもある。こっちは正確かなw
328PのデータシートのADCのエラーは、2LSBって書いてあったら、それは±2LSBだよ。(おそらく常識的に)
あと、実回路ではA/D変換に入るまでの回路の誤差もついてくる。
Vref/1024は理屈での話にすぎない。(理屈の話において、Vref/1023は誤り)
オフセットもゲインも実際のセットではリテラル値ではなく、ファームまたは
ハードウェアで作られる変数にするわけだしね。
(ファームならEEPROM、ハードウェアなら半固定抵抗などですね)
入力電圧がいくらなのか、って話をするときに、理屈の話なのか、実際の電圧を知りたいんだ、なのかは
切り分けないといけない。
Vref/1023かVref/1024かは、結果的にはゲインエラーとして効いてくるけど、1024と1023とを取り違えた
ところで、ここで発生する誤差は0.1%にすぎない。でもそのもとのVrefの誤差のほうがはるかにでかい(ことが多い)。
議論の中でVref=5Vがたびたび出てきたけれど、回路内で完結する何かの電圧が同じ5Vから分圧して得られている
ケースをのぞけば、この5Vの誤差がそのままゲインエラーにつながる。
7805みたいなレギュレータで作った5Vなら、数%の誤差があるよね。
328Pには1.1V内蔵リファレンスもある。こっちは正確かなw
719774ワット発電中さん
2022/02/01(火) 08:45:45.84ID:hKz+xpiv >>713
3bit程度なら電流加算型にすればいいじゃん
3bit程度なら電流加算型にすればいいじゃん
720774ワット発電中さん
2022/02/01(火) 09:32:01.36ID:S311GKf9 出力の時に1024とか4096で計算すると振り切らない?
721774ワット発電中さん
2022/02/01(火) 09:53:46.87ID:q9jxS9IW 出力って何?DACのこと?
722774ワット発電中さん
2022/02/01(火) 22:53:01.40ID:TBK58kUv 使わないボードを選択する一覧から消したいのですが、どこを消せばいいのでしょうか?
promicro,promini5v,promini3.3v
この3つを頻繁に切り替えるので他のやつを非表示にしたいです。
promicro,promini5v,promini3.3v
この3つを頻繁に切り替えるので他のやつを非表示にしたいです。
723774ワット発電中さん
2022/02/02(水) 11:04:00.47ID:rgOmbtSk >>718
最初は自分もデータシートの誤差は±2LSBって意味だと思ってた
でもデータシートでは数値は以下の様に明確に区別されてるので±ではないと思われる(たぶん・・・)
https://i.imgur.com/SyzxuYu.png
もう一つの理由としてオフセット誤差・ゲイン誤差の数値がMaxではなくTypとして表記されてる事もある
±2等の誤差で有ればTypではなくMaxの方に記載されてるもしくは(Min>-2LSB MAX +2LSB)の様な表記になるはず
以上の事から自分は±ではなく2LSBの誤差を標準値として考慮する必要があると判断した
議論の中心はanalogReadから入力電圧を求める正しい式は何か?だと思ってる
機種の話は直接的には出てないけどArduino UNO(atmega328)を前提に考えてる
個体差での誤差は考慮出来ないので標準的な誤差はデータシートのTypを元に補償する場合での正しい式を求めようとしてる
ついでに混乱の原因としてAVRのデータシートでも2種類の計算式が記載されてる
https://i.imgur.com/sWKwOtU.png
https://i.imgur.com/GvoiOZ4.png (ATmega4809)
UNO(ATmega328) -> 1024
Micro,Leonardo,(ATmega32U4) -> 1023
Nano Every(ATmega4809) ->1023
最初は自分もデータシートの誤差は±2LSBって意味だと思ってた
でもデータシートでは数値は以下の様に明確に区別されてるので±ではないと思われる(たぶん・・・)
https://i.imgur.com/SyzxuYu.png
もう一つの理由としてオフセット誤差・ゲイン誤差の数値がMaxではなくTypとして表記されてる事もある
±2等の誤差で有ればTypではなくMaxの方に記載されてるもしくは(Min>-2LSB MAX +2LSB)の様な表記になるはず
以上の事から自分は±ではなく2LSBの誤差を標準値として考慮する必要があると判断した
議論の中心はanalogReadから入力電圧を求める正しい式は何か?だと思ってる
機種の話は直接的には出てないけどArduino UNO(atmega328)を前提に考えてる
個体差での誤差は考慮出来ないので標準的な誤差はデータシートのTypを元に補償する場合での正しい式を求めようとしてる
ついでに混乱の原因としてAVRのデータシートでも2種類の計算式が記載されてる
https://i.imgur.com/sWKwOtU.png
https://i.imgur.com/GvoiOZ4.png (ATmega4809)
UNO(ATmega328) -> 1024
Micro,Leonardo,(ATmega32U4) -> 1023
Nano Every(ATmega4809) ->1023
724774ワット発電中さん
2022/02/02(水) 12:22:20.17ID:BHVVT3Oa >>723
もし標準的に+2LSBになるようにデバイスを製造できるのなら、標準的に0LSBに合わせて製造すればいいのに
なんでそうしなかったんでしょね。
>議論の中心はanalogReadから入力電圧を求める正しい式は何か?だと思ってる
現実の入力電圧を求めるのはハードウェアかソフトウェアの個別チューニングですよ。あくまで理屈の話でしかありません。
「Vref/1024で計算しているから」あるいは「データシートに書かれた標準誤差を含めた計算をしているから」という根拠で
「この装置は正しい入力電圧を得ている」と言えることなんてないです。
それより、>723で興味深いのは、1023と書いているデータシートです。
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf
これの310ページで、たしかにADC=VIN*1023/VREFとなっています。
でも差動チャンネル(10ビットを±9ビットで使う)だと511ではなくて、512なんですね。
一方で、307ページには、
An n-bit single-ended ADC converts a voltage linearly between GND and VREF in 2^n steps (LSBs).
「シングルエンドの10ビットのADコンバータは、GNDからVREFを1024ステップで直線的に変換する」とあります。
また、1023と書かれている310ページにも
0x000 represents analog ground, and 0x3FF represents the selected reference voltage minus one LSB.
変換値0は、アナロググランド、変換値1023は、[選択したリファレンス電圧]-[1LSBの電圧]
となっています。記述に矛盾がありますので、どこかが間違っている可能性が高いと思います。
もし標準的に+2LSBになるようにデバイスを製造できるのなら、標準的に0LSBに合わせて製造すればいいのに
なんでそうしなかったんでしょね。
>議論の中心はanalogReadから入力電圧を求める正しい式は何か?だと思ってる
現実の入力電圧を求めるのはハードウェアかソフトウェアの個別チューニングですよ。あくまで理屈の話でしかありません。
「Vref/1024で計算しているから」あるいは「データシートに書かれた標準誤差を含めた計算をしているから」という根拠で
「この装置は正しい入力電圧を得ている」と言えることなんてないです。
それより、>723で興味深いのは、1023と書いているデータシートです。
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf
これの310ページで、たしかにADC=VIN*1023/VREFとなっています。
でも差動チャンネル(10ビットを±9ビットで使う)だと511ではなくて、512なんですね。
一方で、307ページには、
An n-bit single-ended ADC converts a voltage linearly between GND and VREF in 2^n steps (LSBs).
「シングルエンドの10ビットのADコンバータは、GNDからVREFを1024ステップで直線的に変換する」とあります。
また、1023と書かれている310ページにも
0x000 represents analog ground, and 0x3FF represents the selected reference voltage minus one LSB.
変換値0は、アナロググランド、変換値1023は、[選択したリファレンス電圧]-[1LSBの電圧]
となっています。記述に矛盾がありますので、どこかが間違っている可能性が高いと思います。
725774ワット発電中さん
2022/02/02(水) 13:48:50.67ID:eUN5HOQU 電池駆動のとき電源電圧が変動すると思うんですが、
例えば、4.8V-3.3Vに変動したとき、処理速度とかAD変換とか
何か弊害が出ることはありますか?
例えば、4.8V-3.3Vに変動したとき、処理速度とかAD変換とか
何か弊害が出ることはありますか?
726774ワット発電中さん
2022/02/02(水) 13:56:47.02ID:MhIg8mve >>725
16MHz動作は5V付近でしか保証されなかったような。
16MHz動作は5V付近でしか保証されなかったような。
727774ワット発電中さん
2022/02/02(水) 16:17:45.67ID:ju98Kqhc できるだけ変動しないようにすればいいんじゃないの?
728774ワット発電中さん
2022/02/02(水) 20:18:05.72ID:BHVVT3Oa >>725
A/D変換のリファレンス電圧が電源電圧からとられたものだったら、その分狂うね。
ただし、たとえば電源電圧とGNDをサーミスタと抵抗で分圧して温度を測るような
しくみだったら、実害は小さいだろうね。
A/D変換のリファレンス電圧が電源電圧からとられたものだったら、その分狂うね。
ただし、たとえば電源電圧とGNDをサーミスタと抵抗で分圧して温度を測るような
しくみだったら、実害は小さいだろうね。
729774ワット発電中さん
2022/02/03(木) 20:17:09.20ID:GSy4B97m ンワトリツルリールトリスリールトンエィデンア
730774ワット発電中さん
2022/02/04(金) 10:06:17.57ID:m1hjy2FD >>722
ttps://programresource.net/2020/02/28/3015.html
boards.txt を編集して、非表示にしたいボードに .hide=true を設定すればおk
ttps://programresource.net/2020/02/28/3015.html
boards.txt を編集して、非表示にしたいボードに .hide=true を設定すればおk
731774ワット発電中さん
2022/02/04(金) 21:53:28.96ID:XNpyx5kX >>730
thx
thx
732774ワット発電中さん
2022/02/06(日) 17:50:35.59ID:Qv5lIRJJ int raw = analogRead(A0);
map(raw, 0, 1024, 0,5000);
ってするとえわわわに届かない
map(raw, 0, 1024, 0,5000);
ってするとえわわわに届かない
733774ワット発電中さん
2022/02/06(日) 18:11:13.26ID:x0TYMLvF アドバイス求む
Arduino Pro miniをピンヘッダーを設置と同時に「ヒューズビット」及び
「.hex」ファイルの書換えを行いました。
ユニバーサル基板に「Arduino Pro mini」「USB to TTL converter」「ICSP端子」「その他必要配線」を設置したので
動作確認の為、AVRライターでPro miniと通信しようとしたが、何故かエラーで通信できない?
◆試した事
・デジタルマルチメーターでの導通test -> 問題無し
・ポリウレタン銅線を2度の取替 -> 改善せず
・配線ミスの確認
・本体「Arduino Pri mini」は問題無く動作確認済
●先人の方に何か見落とし等がありましたらアドバイス願います。
Arduino Pro miniをピンヘッダーを設置と同時に「ヒューズビット」及び
「.hex」ファイルの書換えを行いました。
ユニバーサル基板に「Arduino Pro mini」「USB to TTL converter」「ICSP端子」「その他必要配線」を設置したので
動作確認の為、AVRライターでPro miniと通信しようとしたが、何故かエラーで通信できない?
◆試した事
・デジタルマルチメーターでの導通test -> 問題無し
・ポリウレタン銅線を2度の取替 -> 改善せず
・配線ミスの確認
・本体「Arduino Pri mini」は問題無く動作確認済
●先人の方に何か見落とし等がありましたらアドバイス願います。
734774ワット発電中さん
2022/02/06(日) 18:19:33.07ID:YbXU/jcu >>732
そりゃ〜最大ぬわふあまでなんだからそうなるでしょ
そりゃ〜最大ぬわふあまでなんだからそうなるでしょ
735733
2022/02/06(日) 19:59:14.34ID:x0TYMLvF お騒がせ致しました。
PCのUSB端子口を変えたら問題無く通信出来ました。
PCのUSB端子口を変えたら問題無く通信出来ました。
736774ワット発電中さん
2022/02/06(日) 20:18:23.85ID:QhPE8m/e 今日は日本語が変な人ばっかだなw
737774ワット発電中さん
2022/02/07(月) 08:08:40.07ID:3tV6KbeJ ∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
( ) \_____
| | |
(__)_)
( ´∀`)< オマエモナー
( ) \_____
| | |
(__)_)
738774ワット発電中さん
2022/02/07(月) 11:00:22.35ID:Og3C1MOC 日本語によろ取扱説明書在中
739774ワット発電中さん
2022/02/07(月) 12:41:00.22ID:psUQ6jjD わたい江戸っ子だんねん
生まれはかみたと申しますえ
生まれはかみたと申しますえ
740774ワット発電中さん
2022/02/07(月) 20:10:43.00ID:qgM8WVyT 「変ちきなジジイがおりましてさ、百二十畳敷きの紙に大達磨を描いてみたり、かと思えば米一粒に雀を二羽描いてみたり」
741774ワット発電中さん
2022/02/08(火) 08:38:11.40ID:hWyYAG00 nanoにUSBコネクタに繋いで
5Vピンからも5V注入したら壊れる?
5Vピンからも5V注入したら壊れる?
742774ワット発電中さん
2022/02/08(火) 09:07:00.53ID:Zd3JrrUA >>741
Arduino nano は USB 付いてるだろ。
Arduino nano は USB 付いてるだろ。
743774ワット発電中さん
2022/02/08(火) 12:05:54.54ID:Nw9GENoP >>741
壊れない
壊れない
744774ワット発電中さん
2022/02/08(火) 12:11:28.73ID:5LhPVNwx 電池駆動だとどこから電源供給するのが良いの?
VINだと6Vから12V
余分な電圧は熱になるが5Vは安定しそう
5Vから入力だと5Vピッタリじゃないとダメなので電池の電圧が瞬間的にちょっと下がっても無理そうだし
VINだと6Vから12V
余分な電圧は熱になるが5Vは安定しそう
5Vから入力だと5Vピッタリじゃないとダメなので電池の電圧が瞬間的にちょっと下がっても無理そうだし
745774ワット発電中さん
2022/02/08(火) 12:19:50.73ID:YWvVoNd5 電池駆動だとnanoじゃなくpro-miniにするよな
■ このスレッドは過去ログ倉庫に格納されています