Например TDA7294

Форум РадиоКот • Просмотр темы - Вопрос по АЦП
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 11:14:08

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 22 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Вопрос по АЦП
СообщениеДобавлено: Вт мар 21, 2017 21:18:42 
Встал на лапы

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Ср ноя 23, 2016 09:50:36
Сообщений: 87
Рейтинг сообщения: 0
вопрос по работе с АЦП. У меня возникла проблема с кодом преобразования данных с АЦП в реальные вольты. описывать проблему не буду там целая карусель.
мой вопрос в чем. вот у меня устройство на пик16ф1827 с приделанным к его каналу АЦП делителем напряжения 1 к 4 (то есть при максимальном подводимом к нему напряжении в 16 вольт он на ножку пика дает ровненько 4 вольта.). растолкуйте мне как мне правильно настроить АЦП модуль посредством того же самого МСС и какая граммотная формула перевода значения снимаемого с АЦП в милливольты и вольты. каковы ваши подходы?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт мар 21, 2017 22:27:42 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Нужно просчитывать значения относительно опорного напряжения (Vref).
Т.е., если входное напряжение равно опорному, получаете максимальное значение с АЦП.
А дальше - приводите значения к реально измеряемому напряжению...
В вашем случае, лучше пересчитать номиналы в делителе и принять за максимум 16,384V. Т.е., при входном на делителе 16,384V на входе АЦП напряжение соответствует опорному.
Так будет удобнее считать и проще выбрать источник опорного напряжения.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Ср мар 22, 2017 13:42:05 
Встал на лапы

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Ср ноя 23, 2016 09:50:36
Сообщений: 87
Рейтинг сообщения: 0
Изображение
Изображение
вот здесь под 4х в МСС понимается внутреннее опорное 4,096 вольт?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Чт мар 23, 2017 08:34:31 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Да.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Чт мар 23, 2017 17:27:32 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Как то, ради интереса, попробовал этот МСС. Столько лишнего кода я не видел даже у самых глупых быдлокодеров :facepalm:


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Чт мар 23, 2017 17:36:37 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Я тоже как-то заинтересовался.
МСС создал кучу файлов с вызовами подпрограмм из одного файла в другой. Причем по одной функции в каждом файле. Пока я из мейна дошел до последнего файла, забыл по поводу чего был первый вызов.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Пт мар 24, 2017 03:55:12 
Друг Кота
Аватар пользователя

Карма: 130
Рейтинг сообщений: 2707
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21621
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
В такой избыточности нет ничего удивительного. Потому что подобные конфигураторы создают максимально независимый от МК код. Как это ни покажется странным. Собственно, подход программистов МСС (самого МСС, а не его пользователей) основан на максимально АБСТРАГИРОВАННЫХ сущностях.
Попробуйте разобрать какой нибудь стек протоколов (например USB или TCP/IP) из MLA/MAL (Microchip Library Aplication) и Вы обнаружите там совершенно аналогичный генерируемый код. Зато один и тот же набор исходников элементарно подгоняется под любую платформу (хоть 8-, хоть 16-, хоть 32-разрядную).
Ясен пень, что можно написать ЧАСТНУЮ реализацию гораздо короче и понятней. Понятней ДЛЯ СЕБЯ. Патамушта для тех, кто привык всегда писать платформонезависимый код, такого рода конструкции не вызывают трудностей в понимании.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Пт мар 24, 2017 07:43:17 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
КРАМ писал(а):
подход программистов МСС (самого МСС, а не его пользователей) основан на максимально АБСТРАГИРОВАННЫХ сущностях.
Ага, то-то в МСС нет поддержки даже половины существующих чипов :)))

О какой платформонезависимости может идти речь, если я выбираю в конфигураторе конкретный МК и генерю под него код ? Я же не универсальный код создаю, в какой-то отдельной программе :facepalm:
Скорее, программеры МСС оооочень далеки от программирования под МК и могут быдлокодить только под всякие винды и т.б., юзая всяческие библиотеки. Отсюда и код у них - как у лузеров-начинаек.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Пт мар 24, 2017 07:46:35 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
КРАМ, в том-то и дело, что "частнику", который любитель, эта платформонезависимость не нужна, а пользуются МСС те, кто не желает заглянуть в ДШ. Сомневаюсь, что разработчик на производстве будет этим пользоваться.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Пт мар 24, 2017 15:10:02 
Друг Кота
Аватар пользователя

Карма: 130
Рейтинг сообщений: 2707
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21621
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Аlex писал(а):
О какой платформонезависимости может идти речь.

Выбор платформы в КОНКРЕТНОЙ реализации никак не влияет на платформонезависимость ГЕНЕРАТОРА КОДА. И ограничения поддерживаемых МК тут никак не влияют, потому что требуют неких таблиц для привязки универсального кода в частной реализации.
Я так же точно беру стек USB, который поддерживает кучу классов устройств и делаю ОДИН КЛАСС СВОЕГО устройства. Но код остается универсальным и избыточным.

Добавлено after 3 minutes 11 seconds:
Zhuk72 писал(а):
который любитель, эта платформонезависимость не нужна, а пользуются МСС те, кто не желает заглянуть в ДШ.

Не совсем так. Есть множество разработчиков, которые готовы пользоваться генераторами кода с целью сокращения времени на разработку. И такой метод очень неплохо работает для устройств с простыми драйверами периферии, то есть когда ничего замысловатого из периферии делать не надо и существенная часть кода занимается исключительно счетными задачами. То есть МК по сути работает как калькулятор, а не как управляющий автомат.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Пн апр 03, 2017 18:49:31 
Мудрый кот
Аватар пользователя

Карма: 26
Рейтинг сообщений: 650
Зарегистрирован: Ср апр 04, 2012 09:55:53
Сообщений: 1752
Откуда: Северодонецк
Рейтинг сообщения: 0
Пожалуй, задам свой ламерский вопрос тут :oops: .

PIC16F886

Хочу определить значение Vdd.
Настройка
Код:
   
           FVREN=1;
          // настройка ADСON1
        ADFM=0;// правое выравнивание
        VCFG1=0;//VREF+ на +5
        VCFG0=0; //VREF- на земле
        // настройка ADСON0
        ADCS1=1;// частота на 32
        ADCS0=0;
      CHS2=1;        CHS2=1;        CHS1=1;        CHS0=1; // FixedRef
        GO_nDONE=0;
        ADON=1; // включаем модуль АЦП



Читаем ADC

Код:
      
                CHS2=1;        CHS2=1;        CHS1=1;        CHS0=1;
      ADFM=1;
      delay_20us();
       GO_nDONE=1;//запускаем преобразование

       while(GO_nDONE)    NOP();//ждем завершения приобразования

      printf("\n\r adc L : %d ",ADRESL);
      printf("\n\r adc H : %d ",ADRESH);


Получаю:

adc L : 255
adc H : 3
adc L : 255
adc H : 3

В чем может быть ошибка :cry: ?

_________________
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Пн апр 03, 2017 21:07:13 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
RoboC писал(а):
Получаю:
adc L : 255
adc H : 3
Встречный вопрос. А что Вы хотели получить ?
Если значение Vdd, в пересчёте на АЦП-попугаи, то Вы его и получили.
Если что-то другое, то расскажите нам, что конкретно. А заодно покажите схему подключения входа АЦП.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт апр 04, 2017 07:11:39 
Мудрый кот
Аватар пользователя

Карма: 26
Рейтинг сообщений: 650
Зарегистрирован: Ср апр 04, 2012 09:55:53
Сообщений: 1752
Откуда: Северодонецк
Рейтинг сообщения: 0
Насколько я понимаю при
Код:
CHS2=1;        CHS2=1;        CHS1=1;        CHS0=1; // FixedRef

Вход АЦП подключен к VDD.
VRef выступает внутренний опорник на 0.6В

Соответственно я хочу получить значение Vdd как в этом документе AN1072

_________________
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт апр 04, 2017 09:42:56 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 17
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Сообщений: 123
Откуда: не с Уфы
Рейтинг сообщения: 0
RoboC писал(а):
Насколько я понимаю при
Код:
CHS2=1;        CHS2=1;        CHS1=1;        CHS0=1; // FixedRef

Вход АЦП подключен к VDD....


что именно подразумевается под этой фразой?

Сейчас специально в текущем проекте на 886-ом включил работу по 15-му каналу и проверил в реальном железе. Всё работает чётко, как в том документе. Результат преобразования в моём случае - .119, и Vdd как раз где-то 5,12.

Судя по всему, ты делаешь свои эксперименты на основе удобных предположений, используя по большей части метод тыка, а надо бы для начала понять как именно это всё работает, прочитать 10 раз и вникнуть в тот документ, на который ссылаешься.
Тем более пишешь на си.

Я вот, например за рамки ассемблера никогда не выходил, и фишку из этого документа использовал впервые (кстати, благодарю за наводку), но прочитав и поняв о чём там речь, я тут же добавил пару строк кода и был уверен заранее что сейчас мне покажет чип.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт апр 04, 2017 09:55:42 
Мудрый кот
Аватар пользователя

Карма: 26
Рейтинг сообщений: 650
Зарегистрирован: Ср апр 04, 2012 09:55:53
Сообщений: 1752
Откуда: Северодонецк
Рейтинг сообщения: 0
Я был бы вам премного благодарен, если бы вы поделились рабочим кодом :oops: . Мне все равно что это ассемблер.
Я сам понимаю, что я что то не правильно понял или не дочитал, поэтому я и спрашивал что я неправильно сделал :facepalm: .

Даже осознание моего заблуждения о том, что вход АЦП подключен к Vdd, хотя на самом деле он подключен к 0.6V internal reference никак не помогает мне получить результат схожий с вашим :(

_________________
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт апр 04, 2017 11:19:00 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Алекс же объяснил уже.
Опорное напряжение - это самый максимум, что можно измерить, значит его результат равен 11 1111 1111, что и делает при правом выравнивании 3 и 255, если вы это же самое опорное, т.е. Vdd, подали на вход АЦП.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт апр 04, 2017 11:38:23 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 17
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Сообщений: 123
Откуда: не с Уфы
Рейтинг сообщения: 0
RoboC писал(а):
Я был бы вам премного благодарен, если бы вы поделились рабочим кодом :oops: . Мне все равно что это ассемблер. ... :(

Дело в том, что у меня нет конкретного единого куска кода, где происходит вся работа с ацп. Настройки входов, например, находятся в старте программы, сами преобразования, их запуск, настройка конфига и выбор канала в основном цикле, задержек как таковых нет, весь код сквозной, сама программа и есть как бы задержка, всё происходит всегда и одновременно. Канал для следующего преобразования назначается (через подпрограмму) сразу после считывания предыдущего результата. "Прыжок" на текущий результат по текущему каналу [0...15], если он уже готов, происходит через таблицу. Заложены все 16 меток, но в работе только те, что необходимы, и соответственно настроены как входы ацп. К примеру, правое выравнивание я делаю через отдельную подпрограмму, а по-умолчанию всегда левое. Казалось бы - зачем, если достаточно adfm изменить. Но не всё так просто, и чтобы только этот момент разъяснить надо будет затронуть кучу всяких аспектов.
Иными словами, я даже не представляю какой именно код выкладывать, да и честно говоря это ещё больше отвлечёт от сути вопроса.

Zhuk72 писал(а):
....т.е. Vdd, подали на вход АЦП.

Не подавал он его на вход, хотя да, так могло показаться по его словам. Судя по-всему здесь он всё делает правильно, но такое ощущение, что перед преобразованием выбирается не 15-й канал, а нечто иное, дающее в итоге FF. Либо источник не включен, либо vcfg не так настроены. Я по си не шарю, и могу лишь только предполагать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт апр 04, 2017 12:24:54 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 2
А какая разница Си или асм, если имена битов и регистров одинаковые.
Не все ли равно, как писать: bsf ADCON0,0 или ADON=1, смысл-то понятен.
В его настройке АЦП ничего сугубо Сишного нет, обычная арифметика.

И тут я заметил нечто:
Код:
CHS2=1;        CHS2=1;        CHS1=1;        CHS0=1;

Очевидно предполагалось, что измеряться будет 0.6V fixed reference, для которого канал CHS<3:0> равен 1111, но по невнимательности автора получается канал AN7 :)

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт апр 04, 2017 13:37:48 
Мудрый кот
Аватар пользователя

Карма: 26
Рейтинг сообщений: 650
Зарегистрирован: Ср апр 04, 2012 09:55:53
Сообщений: 1752
Откуда: Северодонецк
Рейтинг сообщения: 0
Родэрик писал(а):
Либо источник не включен, либо vcfg не так настроены.

источник включен
FVREN=1;
vcfg настроены
VCFG1=0;//VREF+ на +5
VCFG0=0; //VREF- на земле
Zhuk72 писал(а):
И тут я заметил нечто:

Огромное Вам спасибо! Все работает!

adc H : 0
adc L : 235


Для мня нет разницы асеемблер или Си. Хватает флеша пишу на си, не хватает на асемблере.

_________________
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по АЦП
СообщениеДобавлено: Вт апр 04, 2017 14:24:41 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
5000/1024*235=1147 мВ
Почему не 600?

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y