ai: исправлена схема ЦАП R-2R — каждый 2R к своему биту (не на землю), на GND один 2R у LSB-конца, выход со стороны GP15 (MSB)

This commit is contained in:
mss
2026-10-27 21:06:54 +04:00
parent ebf3ac44f0
commit 3263000a47
3 changed files with 45 additions and 27 deletions
+35 -19
View File
@@ -110,18 +110,22 @@ K(f) = 1 / √(1 + (f/f_c)²), f_c = 1/(2π·R·C)
**параллельно по нескольким пинам**, и это уже настоящий цифро-аналоговый
преобразователь — только его надо собрать снаружи.
Простейший вариант — **лестница R-2R**:
Простейший вариант — **лестница R-2R**. Каждый узел цепочки соединён
через `2R` со своим битом; на землю идёт только **один** `2R` — у младшего
конца:
```
R R R R
GP15(MSB) ──┴──┬──2R──┴──┬──2R──┴── ... ──┬──► выход
│ │ │
2R 2R 2R
│ │ │
GND GND GND
(GP15 — старший бит, дальше по убыванию до GP8)
ВЫХОД ◄──┬────R────┬────R────┬── ... ──┬────R────┐
│ │ │ │ │
2R 2R 2R 2R 2R
│ │ │ │ │
GP15 GP14 GP13 GP8 GND
(MSB) (LSB) (терминация)
```
Ориентация важна: **выход берётся со стороны GP15**. Если взять выход
с другого конца, старшинство битов перевернётся.
Почему работает: каждый узел лестницы делит напряжение **ровно вдвое**,
поэтому вклад пина в выход падает вдвое от старшего к младшему:
@@ -303,22 +307,34 @@ python 02-izmerenie-achh.py --port /dev/ttyACM0 \
Это самая «железная» часть: вы собираете настоящий цифро-аналоговый
преобразователь и убеждаетесь, что многобитный вывод — это он и есть.
**Схема** (8 бит, MSB на GP15; при `B=4` работают GP15…GP12):
**Схема** (8 бит, MSB на GP15; при `B=4` работают GP15…GP12).
Каждый узел лестницы соединяется через `2R` **со своим битом**;
на землю идёт **только один** `2R` — на дальнем конце (у LSB):
```
GP15 ──[R]──┬──[R]──┬──[R]──┬─ ... ─┬──[R]──┬──► выход (в АЦП)
│ │ │ │ │
[2R] [2R] [2R] [2R] [2R]
│ │ │ │ │
GND GND GND GND GND
R = 10 кОм, 2R = 20 кОм (оба из ряда E24)
ВЫХОД ◄──┬────R────┬────R────┬────R────┬────R────┬────R────┬────R────┬────R────┐
│ │ │ │ │ │ │ │
2R 2R 2R 2R 2R 2R 2R 2R
│ │ │ │ │ │ │ │
GP15 GP14 GP13 GP12 GP11 GP10 GP9 GP8
(MSB) (LSB)
│
2R ← терминация
│
GND
```
**Порядок:**
`R = 10 кОм`, `2R = 20 кОм` (оба из ряда E24). Всего на 8 бит:
**7 резисторов R** (цепочка) и **9 резисторов 2R** (8 к битам + 1 на землю).
1. Собрать лестницу на макетной плате. При 8 битах нужно
**7 резисторов R и 9 резисторов 2R**.
> Замечание по ориентации: выход берётся со стороны **GP15**. Если взять
> выход с другого конца, биты поменяются старшинством (получится зеркало).
**Порядок сборки:**
1. Собрать лестницу на макетной плате: **7 резисторов R** в цепочку,
**8 резисторов 2R** — от каждого узла к соответствующему пину
GP15…GP8, и **1 резистор 2R** — от крайнего узла (GP8) на землю.
2. Поставить **буфер-повторитель на ОУ** между выходом лестницы и АЦП
(иначе выходное сопротивление ≈ R исказит измерения).
3. Проверить таблицу кодов. Подать на генератор прямоугольник с малой