DAC出力電圧計算機
8ビットで基準電圧5 Vの変換器では、コード128がちょうど2.5 Vになります。コード、基準電圧、分解能を入れると、出力電圧、1ステップの大きさ、フルスケール、段階の数が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- コード
- 128
- 基準電圧 (V ref)
- 5
- ビット数
- 8
- レベル
- 256 V
- 最大コード
- 255
- Lsb
- 0.01953125
- 最下位ビット LSB (V)
- 0.01953125
デジタル・アナログ変換器は、整数の入力語を基準電圧と分解能で決まる階段状のアナログ電圧へ写像します。学生、組み込み技術者、実験室の技術者は、理想的な伝達特性を日常的に必要とします。コードを2のビット深さ乗で割り、基準電圧を掛けると、コード0はグラウンド(ユニポーラでは0V)となり、最大コードは基準の1LSB下のフルスケールに近づきます。このDAC出力電圧計算機は、デジタルコード、ボルト単位の基準電圧、1から32の整数ビット分解能を受け取り、ユニポーラ二進の式 Vout が Vref にコードを掛けて2のビット乗で割った値を適用し、出力電圧に加えLSBサイズ、フルスケール電圧、レベル数、印刷可能な式を返します。
理想二進DACの出力電圧の求め方
理想的なnビット二進デジタル・アナログ変換器は、基準電圧を2のn乗個の等しい段に分け、デジタルコードで索引された段を選びます。コードDを0から2のn乗マイナス1までの整数とすると、標準のユニポーラ二進式は Vout が Vref にDを掛けて2のn乗で割った値です。
したがってLSBサイズは Vref を2のn乗で割った値であり、フルスケールコードは Vref に(2のn乗マイナス1)を掛けて2のn乗で割った値、つまり基準そのものではなく基準の1LSB下になります。この1LSBのすき間は、二進重み付けやR-2Rラダーのモデルで意図的です。伝達を2のn乗段で書くと、全1コードは Vref に達しきりません。
ビット分解能は1以上32以下の整数でなければならず、2のn乗が実用的な2のべき整数のままで、最大コードが正確な安全整数であるようにします。コード0は Vref に関係なく常に出力0、2のn乗の半分は偶数nで基準の半分、負の基準は各段の符号だけを反転し相対比は保ちます。
DAC出力計算機が現場で使われる場面
入門の電子・マイコン実験では、DAC伝達の課題を出し、学生がレジスタ値を期待ミリボルトに換算してからマルチメータやオシロでピンを測るようにします。ファームウェア立ち上げチームは、バイアス電圧、LED電流DAC、オーディオのソフトスタート・ランプを、各プログラムコードの理想 Vout を計算し測定レールと許容内で比較して寸法決めします。
アナログ/ミクストシグナル設計者は、ユニポーラR-2Rラダーの概略や、固定基準下で必要LSB(ボルト)を満たすビット深さの確認に同じ積を使います。バイポーラ・オフセット、微分非線形テーブル、代替フルスケール分母の2のn乗マイナス1は別ランディングにし、検索意図ごとに1ページを保ち、学生と検索エンジンを混乱させる多公式ツールにしないでください。
活用例
実験課題とマルチメータ確認
nビットコードと基準を理想 Vout に変換し、学生がベンチでDACピンを測る前に電圧を予測できるようにします。
ファームウェアのバイアスとソフトスタート
バイアスレール、LED電流DAC、オーディオのソフトスタート列の立ち上げで、プログラムしたレジスタ値を期待ミリボルトに対応付けます。
よくある質問
なぜフルスケールはちょうど Vref にならないのですか?
二進(2のべき)分母では最大コードが 2^n − 1 のため、フルスケールは Vref × (2^n − 1) / 2^n で、基準の1LSB下です。
対応するビット深さは?
1から32までの整数ビット。一般的な8・10・12・16・24ビット変換器を覆い、最大コード計算で 2^n を正確に保てます。
出力電圧の計算式は何ですか?
基準電圧にコードを掛け、2のビット数乗で割ります。8ビット、5 V、コード128なら、5に128を掛けて256で割り、2.5 Vになります。
基準電圧が負やゼロのときはどうなりますか?
負の基準電圧では各ステップの符号が反転するだけで、比率は変わりません。ゼロも受け付け、その場合はどのコードでも出力は0ボルトです。
教科書によって2のn乗から1を引いた数で割るのはなぜですか?
フルスケールを基準電圧にぴったり合わせる流儀があるためです。このツールは2のn乗で割る方式を使い、コードに基準電圧を掛けてnビット右にずらすファームウェアの計算と一致させています。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/elec/dac-output \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"code":128,"v_ref":5,"bits":8}'const res = await fetch("https://api.kit.forhosting.com/elec/dac-output", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"code": 128,
"v_ref": 5,
"bits": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/dac-output",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"code": 128,
"v_ref": 5,
"bits": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/dac-output", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"code":128,"v_ref":5,"bits":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"code":128,"v_ref":5,"bits":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/dac-output", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"code": 128,
"v_ref": 5,
"bits": 8
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.dac_output",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
範囲外のコードや非整数のビット深さは、黙ってラップせず明確な invalid_input で失敗します。無料のブラウザ経路と前払いAPIは同じ純粋で決定的なモジュールを共有するため、課題の解答、ファームウェアのベンチ用スクリプト、生産フィクスチャが同じコードと基準で食い違うことはありません。成功した呼び出しは公開の基本料金 $0.002 で、検証失敗は課金されません。
理想二進DACの出力電圧の求め方
教科書によっては2のn乗マイナス1で正規化しフルスケールをちょうど Vref にする流儀もありますが、本機能は二進べき乗の分母を意図的に使い、コードに Vref を掛けてnビット右シフトするファームウェアが JSON 結果と一致するようにしています。
送信する内容と返る内容
量ごとにキーは1つだけにし、値が曖昧にならないようにします。定番の確認は、8ビットで5V基準・コード128がちょうど2.5V、12ビットで3.3V・コード0が0、10ビットでコード1023が基準に1LSBだけ届かない例です。宿題やベンチ確認には無料ブラウザフォームを、解答キーやファームウェア試験ベクトルの一括生成には同じ契約をスクリプトから使います。必須3フィールドの JSON オブジェクトを送信します。code は整数のデジタル語、v_ref はボルト単位の有限基準電圧、bits は1から32の整数分解能です。同じコードは digital_code、d、input_code、value の別名でも受け付け、基準は vref、Vref、V_ref、reference、reference_voltage、分解能は n、bit_resolution、resolution、bit_depth です。フォームや表計算の貼り付けのため JSON 数値と数値文字列の両方を受け付けますが、「5 V」のような単位付き文字列は解析しません。欠落フィールド、空文字、NaN、Infinity、非整数の code や bits、1〜32外の bits、0〜2のbits乗マイナス1外のコードは invalid_input で問題を示し課金されません。成功時は整えた code、bits、v_ref、levels(2のbits乗)、max_code(levelsマイナス1)、段幅の lsb と lsb_volts、同じアナログ結果の v_out と voltage_out、全1コード用の full_scale と full_scale_voltage、code を levels で割った fraction、unit は V、式 Vout が Vref に code を掛けて2のbits乗で割ったもの、数を代入した短い expression、method dac_binary_unipolar を含みます。成功したAPI呼び出しの料金は公開基本の $0.002 毎件です。
DAC出力計算機が現場で使われる場面
既知のコード列でDACを走査する生産試験フィクスチャは、APIを呼んで期待電圧が計装と数LSB以内で一致することを、歩留まり画面の前に断言できます。本機能は純粋な parse ティアAのため、成功呼び出しはモデルトークンも外向きネットワークもなく公開基本料金 $0.002 で、検証失敗は残高を消費しません。
連携の活用例
CIフィクスチャと解答キー
ブラウザと同じ Vout = Vref × code / 2^n の積をスクリプト化し、自動採点と生産DAC走査試験が一つの正解を共有します。
技術的な質問
このDAC出力電圧計算機はどの式を使いますか?
理想ユニポーラ二進DAC:Vout = Vref × code / 2^bits。LSB = Vref / 2^bits。フルスケール(全1)は Vref の1LSB下です。
デジタルコードの有効範囲は?
0から 2^bits − 1 までの整数(両端含む)。範囲外はラップせず invalid_input で失敗します。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。APIは前払いKIT残高から成功1件あたり $0.002 で、無効入力は課金されません。