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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Мудрый кот
Сообщения: 1882
Зарегистрирован: Чт авг 10, 2017 20:57:51

Сообщение diplodok »

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

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

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

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

- второй пин вход с переключателей
- далее по кругу.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3782
Зарегистрирован: Чт янв 26, 2012 14:44:34

Сообщение El-Eng »

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

Изображение
DAC5.png
(3.72 КБ) 260 скачиваний
Like the eyes of a cat in the black and blue...
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 93
Зарегистрирован: Пн окт 31, 2016 06:23:19

Сообщение KorbenDallas »

[uquote="diplodok",url="/forum/viewtopic.php?p=3993679#p3993679"]
KorbenDallas писал(а):Альтернативных решений, однако, хватает.
Если на PIC то синхронизацию вижу примерно так:

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

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

У меня, к сожалению, 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 КБ) 199 скачиваний
Мудрый кот
Сообщения: 1882
Зарегистрирован: Чт авг 10, 2017 20:57:51

Сообщение diplodok »

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

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

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

Поздравляю Вас с решение и этой задачки.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 93
Зарегистрирован: Пн окт 31, 2016 06:23:19

Сообщение KorbenDallas »

[uquote="diplodok",url="/forum/viewtopic.php?p=3993857#p3993857"]Вы пытались объяснить но ….. Опять - без схем ….[/uquote]

Да в схеме-то ничего необычного нет: совершенно стандартное включение регистра 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 КБ) 154 скачивания
Реклама
Ответить

Вернуться в «Теория»