Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить

Re: Резисторный DAC, но с плавающими входами: как?

Пн мар 08, 2021 09:59:27

KorbenDallas писал(а):Альтернативных решений, однако, хватает.


У Вас уже есть бегущая 1. Вот к этом 595 прицепить ключей и опрашивать общий конец. Нужно только сообразить синхронизацию.

И не заниматься всякими ЦАП-ов

PS:
Если на PIC то синхронизацию вижу примерно так:

- один вход настроен на ССР и подключен к 4078
- ждем фронт => все выходы в 0

- второй пин вход с переключателей
- далее по кругу.

Re: Резисторный DAC, но с плавающими входами: как?

Пн мар 08, 2021 11:48:04

KorbenDallas писал(а):... я хочу получить внешний "механический байт памяти" - набор из восьми (или хотя бы пяти) микропереключателей. И вопрос лишь в том, как прочитать содержимое такого "механического байта памяти", пользуясь при этом лишь одним входом МК.
Например, так. При опорном напряжении АЦП микроконтроллера, равном напряжению V3V3, код на выключателях X=(64*Z/(2^n))-4, где n - разрядность АЦП, а Z - выходной код АЦП. Для пяти разрядов X достаточно 1% резисторов, единственное, что может потребоваться, - это немного сместить выходной код (прибавить или отнять небольшую константу), чтобы учесть влияние напряжения смещения ОУ.

Изображение

DAC5.png
(3.72 KiB) Скачиваний: 213

Re: Резисторный DAC, но с плавающими входами: как?

Пн мар 08, 2021 13:51:33

KorbenDallas писал(а):Альтернативных решений, однако, хватает.


Если на PIC то синхронизацию вижу примерно так:

- один вход настроен на ССР и подключен к 4078
- ждем фронт => все выходы в 0

- второй пин вход с переключателей
- далее по кругу.


У меня, к сожалению, 4078 не выведен на МК, то есть потребуется второй пин.

Я, однако, извернулся так. У меня три пина МК (CLOCK, DATA и LATCH) заняты выводом шести цифр времени в цепочку из шести 595 регистров.

1. Поставил на плату CD4021 рядом с микриками. Параллельные входные пины CD4021 завел на микрики.
2. Пин CLOCK CD4021 подсоединил к вышеупомянутому пину CLOCK с МК.
3. Пин PARALLEL/SERIAL CONTROL CD4021 присоединил к вышеупомянутому пину LATCH с МК.
4. Пин Q8 присоединил к моему входному пину на МК.

Готово.

Теперь при выводе первого из шести байтов на отображение с МК одновременно на входном пине читается содержимое CD4021, то есть мои микрики.

Изображение

Громоздко, но без DAC-ADC.
Вложения
DSC_0017.JPG
(111.65 KiB) Скачиваний: 180

Re: Резисторный DAC, но с плавающими входами: как?

Пн мар 08, 2021 15:24:22

Верное решение. Без всяких ЦАП-АЦП.

Но .. Понимаете, снимок платы не несет никакое инфо о методе реализаций. А, вот схема ……

Вы пытались объяснить но ….. Опять - без схем ….

Поздравляю Вас с решение и этой задачки.

Re: Резисторный DAC, но с плавающими входами: как?

Пн мар 08, 2021 19:28:35

Вы пытались объяснить но ….. Опять - без схем ….


Да в схеме-то ничего необычного нет: совершенно стандартное включение регистра 4021 "parallel in - serial out".

Изображение

Тут все "везение" в том, что 4021 читает параллельные входы по высокому уровню PL, а затем позволяет их выдвигать наружу по низкому уровню PL и тактовому входу CP. А у меня как раз в схеме есть уже два уже занятых под другие цели пина МК - RCLK и SRCLK - постоянно работающих именно по такому протоколу: высокий RCLK, низкий RCLK, 48 пульсов на SRCLK, высокий RCLK и снова по кругу. Уровни эти генерирует программно сам МК, то есть синхронизироваться с ними ему не надо - он по определению с ними синхронизирован.

В данном случае мне нужно просто помнить, что каждую такую сессию первые 8 из вышеупомянутых 48 тактов SRCLK будут подавать на пин READ МК содержимое 4021. То есть тут суть скорее в коде, а не в схеме.

То есть мою исходную постановку вопроса такое решение формально нарушает: я фактически использую три пина МК, а не один. Однако в свое оправдание я могу сказать, что я использую лишь один дополнительный пин. А остальные два уже и так использовались.
Вложения
Screenshot (44).jpg
(64.25 KiB) Скачиваний: 131
Ответить