За допомогою підсилювача підсумовування можна підсумовувати два виходи ЦАП. Можна використовувати R1 = 100k, R2 = R3 = 100 Ом. Таким чином вихід буде Vout = - (V1 + V2 / 1000). Вам знадобиться подвійне джерело живлення, і якщо ви хочете, щоб він не був інвертованим, вам потрібно поставити інший інвертуючий підсилювач з коефіцієнтом посилення = 1. Отже, скажімо, у вас є 12 бітний ЦАП з 2 виходами та посиланням 4.096V. Тоді (якщо у вас другий інвертуючий підсилювач) один приріст від ЦАП 1 збільшить вихід на 1уВ, а один приріст від ЦАП 2 збільшить вихід на 1мВ. Це загалом не 24 біти. Йдеться про 22 біти. Теоретично ви можете вибрати R1 в 4096 разів більший за R2 і R3 і отримати 24 біти, але кращих результатів ви не отримаєте. У вас буде багато проблем із шумом у мікронапругах, навіть якщо ви вибрали хороший оппам із низьким рівнем шуму.
Оновлення
Хоча це питання про ЦАП, тому що я шукав ЦАП. Ось як ви застосовуєте подібний принцип з АЦП. Замість підсумовування потрібно відняти результат ADC1, а потім помножити на 1000 перед вимірюванням ADC2.
Виправлення - ADC3 повинен бути на VGnd (Vref / 2), а не Vref, щоб відповідати формулі результату
Замість AZ431 ви можете використовувати будь-яку іншу 2,5В посилання або іншу регульовану посилання з належними пасивами, щоб отримати рівно 4.096В. Чим менше температурний дрейф має еталон, тим кращі результати. Також він повинен бути низьким рівнем шуму. Зауважте, що так, мабуть, недостатньо точно. Буде приємно покласти тримпот 500 Ом на кілька поворотів між R7 та R8 с двірником на опорний вхід і налаштувати його на Vref = 4.096V точно. Також буде потрібен підрізник (2) між R1 і R2 зі склоочисником до позитивного входу U1. Налаштуйте його на 2.048V на VGnd. U1 - це будь-який підсилювач з низьким рівнем шуму. (BTW AZ431 - жахливо для роботи. Я поставив це, тому що у мене був символ).
Для U2, U3 і U4 дуже важливим є нульове зміщення амперних амперів. U2 важливіший, тому що він розмножується на 100. кожен 1 мікровольт потрапляє на 100 мікровольт. Якщо ви користуєтесь OP07, а ви нулюєте його належним чином, а температура змінюється на 10 градусів, тоді ви отримаєте зміщення 13 уВ, що означає вихід 1,3 мВ на виході U4. Це 13 мВ в АЦП, що робить ADC2 майже марним.
Також U3 повинен бути в змозі досягти 6.048V - це VGnd (2.048V) + 2xVinmax (2x2V = 4V). Ось і вся ідея мати Vcc = + 12 В. Коли використовується MAX44252, Vcc може становити 6,5 В. Оскільки MAX44252 є рейковою до залізничної оппамп, негативна подача може бути пропущена, а Vss підсилювача можна підключити до землі. Це справедливо для будь-якого операційного апарата, який може вийти на низький рівень, ніж 48 мВ на його виході.
MAX44252 має зміщення напруги 2-4uV (типовий) та температурний дрейф від 1 до 5 нВ. Це 2,64 долара на digikey в кількості 1, і це квадропамп, тому лише одна фішка зробить цю роботу.
Як це працює? Давайте, наприклад, 10 біт ЦАП. Роздільна здатність 4.096 / 1024 = 4мВ. Вхідний сигнал повинен бути відносно VGnd, що становить половину Vref. ADC1 вимірює вхідну напругу як нормальну. Потім виводить значення через DAC1. Різниця між Vin та DAC1 - це помилка, яку потрібно підсилити, виміряти та додати до результату ADC1. U2 посилює різницю Vin - DAC1 відносно DAC1 з коефіцієнтом посилення 100. U4 посилює цю різницю на 10, а також віднімає DAC1 щодо VGnd. Це робить ADC2 = (Vin - DAC1) * 1000, відносно VGnd. Іншими словами, якщо у вас на Вині 1,2234567V, відносно VGnd. ADC1 буде вимірювати значення 821тому що роздільна здатність 4mV і (2.048 + 1.234567) /0.004 = 820.64175. Таким чином, значення ЦАП буде встановлено на 309, що становить 309 * 0,004 В = 1,236 В. Тепер ADC2 отримає 1,2234567-1,236 = -0,001433 * 1000 = -1,433В щодо VGnd (в ідеалі). Це загальний режим 2.048-1.433 = 0,615 В. 0,615 В / 0,004 = 153,75. Отже значення ADC2 = 154. Простіше обчислити значення в мікровольтах, щоб уникнути використання поплавця. щоб перетворити ADC2 в мВ, ми повинні перемножити значення на 4: VADC1 = 821 * 4 = 3284mV. Для перетворення на УВ нам потрібно помножити на 1000. Або це значення ADC1, помножене на 4000. 821 * 4000 = 3284000. Отже, напруга ADC1 щодо VGnd становить 3284000-2048000 = 1236000uV. ADC2 вже помножено на 1000, тому нам потрібно помножити лише на 4: VADC2 = 154 * 4 = 616. Для отримання напруги відносно VGnd нам потрібно відняти VGnd: 616-2048 = -1432uV. Ми беремо тут VGnd = 2048uV, оскільки у нас є посилення x1000. Тепер ми додаємо VADC1 і VADC2: 1236000 + (-1432) = 1234568uV або 1,2234568V
Звичайно, це просто мрії, тому що, коли ви маєте справу з мікровольтами, виникнуть усілякі жахливі проблеми - шум від підсилювача, шум резисторів, зміна напруги, температурний дрейф, помилка посилення ... Але якщо ви використовуєте гідні деталі, принаймні 1% резисторів і Ви програмно скасуєте залік і відкоригуєте коефіцієнт підсилення, ви можете отримати досить хороший результат. Звичайно, ви не можете розраховувати побачити стабільний вхід до останньої цифри. можливо, ви можете обмежити роздільну здатність до 10uV (розділити результат на 10). Також множення на 4 можна зробити шляхом підсумовування 4 послідовних результатів, щоб мати деяке усереднення.
Майте на увазі, що нічого з цього не перевіряється. Я імітував лише ступінь підсилювача, не враховуючи шум та компенсацію компенсації. Якщо хтось вирішить це побудувати, напишіть результати в коментарях.