реклама на сайте
подробности

 
 
> Атмега 88 АЦП и мутиплексор, как вывести тактовый сигнал
ikm
сообщение Oct 26 2016, 15:59
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Задача с двух выходов нужно снимать значения. Раньше с этим успешно справлялись 2 канала АЦП на Атмеге 88.
Сейчас на эти выходы нужно поставить более дорогие усилители. И чтобы сэкономить я хочу поставить один на два канала и перед ним простенький мультиплексор на 2 канала.

Код был вот такой:
Код
$this_var = while (adc_accum_cnt < ADC_ACCUM_TIME)
    {
    ADC_ch1_temp = Get_ADC(ADC_CH1);
    if (ADC_ch1_temp > ADC_ch1_max) ADC_ch1_max = ADC_ch1_temp;
    if (ADC_ch1_temp < ADC_ch1_min) ADC_ch1_min = ADC_ch1_temp;
            
    ADC_ch2_temp = Get_ADC(ADC_CH2);
    if (ADC_ch2_temp > ADC_ch2_max) ADC_ch2_max = ADC_ch2_temp;
    if (ADC_ch2_temp < ADC_ch2_min) ADC_ch2_min = ADC_ch2_temp;
    };


Теперь мне для того чтобы перещёлкивать мультиплексором, как я понимаю, нужно поставить в код между каналами АЦП команду, которая будет дергать ножкой "0" и"1". А входы АЦП обоих каналов просто соединить. Для этого не придется переписывать остальной код. Соответственно, когда я получу значения для ch1 я перешелкну и буду считывать значения для канала ch2.
Или второй вариант (более логичный с точки зрения кода): я использую один канал АЦП, и просто в коде определю переменную ADC_ch2_temp = Get_ADC(ADC_CH1).
Но главный вопрос как вывести наружу этот внешний такт, с учётом, что необходимо скорее всего после перехода на этой ноге с "0" на "1" делать задержки, чтобы АЦП не считывал данные пока мультиплексор окончательно не переключится?


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Den64
сообщение Oct 27 2016, 07:11
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 584
Регистрация: 22-11-07
Из: Курская область
Пользователь №: 32 571



Поставьте delay после изменения состояния вывода мк управляющего мультиплексором.
я так и не понял зачем Вам мультиплексор. Не хватает выводов АЦП у микроконтроллера?
Go to the top of the page
 
+Quote Post
ikm
сообщение Oct 27 2016, 07:16
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Цитата(Den64 @ Oct 27 2016, 10:11) *
Поставьте delay после изменения состояния вывода мк управляющего мультиплексором.
я так и не понял зачем Вам мультиплексор. Не хватает выводов АЦП у микроконтроллера?


Не АЦП даже с излишком.
Просто я не вижу другой схемы если у меня два независимых датчика с которых надо считывать данные и всего один усилитель для них. Т.к. поставить второй усилитель дорого.
Так понятнее?


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
Александр1
сообщение Oct 28 2016, 06:40
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 465
Регистрация: 13-05-15
Из: Запорожье
Пользователь №: 86 663



Цитата(ikm @ Oct 27 2016, 10:16) *
Не АЦП даже с излишком.
...у меня два независимых датчика с которых надо считывать данные и всего один усилитель для них. Т.к. поставить второй усилитель дорого.

Если с датчика сигнал поступает на усилитель, то не будет ли слабый сигнал искажать/зашумлять мультиплексор, подключенный к датчику?
Может сделать по старой схеме: два дешевых усилителя, без коммутации, а всю обработку возложить на ПО? Раз уж стоимость важнее.
Go to the top of the page
 
+Quote Post
ikm
сообщение Oct 28 2016, 07:43
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Цитата(Александр1 @ Oct 28 2016, 09:40) *
Если с датчика сигнал поступает на усилитель, то не будет ли слабый сигнал искажать/зашумлять мультиплексор, подключенный к датчику?
Может сделать по старой схеме: два дешевых усилителя, без коммутации, а всю обработку возложить на ПО? Раз уж стоимость важнее.


Да я думал об этом, но к сожалению в ДШ не указаны шумы (буду использовать DG419L http://www.vishay.com/docs/71763/dg417l.pdf). Поэтому я пока хочу устранить шумы от переключения программной задержкой. Но может и от них не надо будет ничего придумывать. Т.к. мне нужны среднее значение изменения напряжения, просто на очень большом диапазоне от десятых мВ до десятых В.
И раньше в коде приходилось писать таблицу для каждого под диапазона значений, как раз для обработки. Поэтому проще поставить логарифмический (при чем у меня два вида на макет куплено обычный и trueRMS) и уже смотреть что с ними будет получаться. Так что пички при переключениях могут исчезнуть при переходе в RMS.


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 08:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016