Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 05.12.2014, 10:56  
Albert_V
Гражданин KAZUS.RU
 
Регистрация: 13.04.2012
Адрес: Королёв МО
Сообщений: 786
Сказал спасибо: 621
Сказали Спасибо 364 раз(а) в 200 сообщении(ях)
Albert_V на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

aliste, omercury всё правильно сказал.
Попробую объяснить "на двух пальцах" для 10-bit ADC:
При Vin≥Vref число с ADC всегда будет равно .1023 (0x03FF).
Рассмотрим случай, когда Vin=Vref:
Цитата:
Digital Output Code = 1023 * VIN/VREF
Обратите внимание, что при любом значении Vin=Vref число с ADC всегда будет равно .1023 (0x03FF).
Далее:
Как интерпретировать значение с ADC (назовём его NADC).
"Единица" NADC (цена деления ADC) считается так: Vref/1023.
При Vref=4,092V получается 4mV (на входе ADC).
Для простоты счета я специально указал значения Vref "не совсем правильное".

Для Vref=4,096V остаётся только просчитать делители по входу ADC.

P.S.
Как пример: можно "привязать" NADC=1000 к 30.00V по выходу блока питания и к току 10.00A. Тогда один отсчёт NADC для отображения напряжения будет равен 30mV, а для тока - 10mA.
Реклама:

Последний раз редактировалось Albert_V; 05.12.2014 в 13:21.
Albert_V вне форума  
Непрочитано 05.12.2014, 13:39  
aliste
Прописка
 
Регистрация: 13.10.2009
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
aliste на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

Ага ну теперь стало немного понятно перестраиваем опорное напряжение и соответственно перестраиваем делитель, теперь другой вопрос почему значение ADC равняется 1023 ведь отсчет идет от 0 до 1023 то есть значение должно равняться 1024
aliste вне форума  
Непрочитано 05.12.2014, 13:43  
Albert_V
Гражданин KAZUS.RU
 
Регистрация: 13.04.2012
Адрес: Королёв МО
Сообщений: 786
Сказал спасибо: 621
Сказали Спасибо 364 раз(а) в 200 сообщении(ях)
Albert_V на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

Сообщение от aliste Посмотреть сообщение
.....почему значение ADC равняется 1023 ведь отсчет идет от 0 до 1023 то есть значение должно равняться 1024
Давайте приведу простейший пример:
ADC - 2 бита (4 отсчёта (N))
Vref = 12V

Считаем по-Вашему (N=число осчётов):
12/4=3V

0-0V
1-3V
2-6V
3-9V
4-12V - Error
----------------------------------------------
Теперь N-1
12/3=4V

0-0V
1-4V
2-8V
3-12V

Последний раз редактировалось Albert_V; 05.12.2014 в 14:05.
Albert_V вне форума  
Непрочитано 05.12.2014, 14:30  
aliste
Прописка
 
Регистрация: 13.10.2009
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
aliste на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

Сообщение от Albert_V Посмотреть сообщение
Давайте приведу простейший пример:
ADC - 2 бита (4 отсчёта (N))
Vref = 12V

Считаем по-Вашему (N=число осчётов):
12/4=3V

0-0V
1-3V
2-6V
3-9V
4-12V - Error
----------------------------------------------
Теперь N-1
12/3=4V


0-0V
1-4V
2-8V
3-12V
Ясно значит ноль в отсчет не входит но тогда вот формула из datasheets на АЦП MCP3201 12 бит
Digital Output Code = 4096 * VIN/VREF, по вашему здесь должно стоять число 4095 да и у вас в примере получается четыре значения посчитайте возьмем оперное 0 это первый а 3 это 4 значение разве не так да и шаг вычисляется по похожей формуле LSB Size = VREF/4096 так что как раз шаг в вашем примере будет равен 4 а не 3
aliste вне форума  
Непрочитано 05.12.2014, 14:59  
Albert_V
Гражданин KAZUS.RU
 
Регистрация: 13.04.2012
Адрес: Королёв МО
Сообщений: 786
Сказал спасибо: 621
Сказали Спасибо 364 раз(а) в 200 сообщении(ях)
Albert_V на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

aliste, это стандартная ошибка программистов "откуда считать".
В цифровой технике счёт идёт от "0"!!!
Переведите число .4096 в двоичное и посчитайте число бит.
Вы будете удивлены, что получили 13-ти битное число (.4096 = 1'0000"0000'0000 b)

P.S.
Не забывайте, что (1-0)=(2-1). Отсчёт от "0".

Последний раз редактировалось Albert_V; 05.12.2014 в 16:59.
Albert_V вне форума  
Непрочитано 05.12.2014, 21:22  
aliste
Прописка
 
Регистрация: 13.10.2009
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
aliste на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

Сообщение от Albert_V Посмотреть сообщение
aliste, это стандартная ошибка программистов "откуда считать".
В цифровой технике счёт идёт от "0"!!!
Переведите число .4096 в двоичное и посчитайте число бит.
Вы будете удивлены, что получили 13-ти битное число (.4096 = 1'0000"0000'0000 b)

P.S.
Не забывайте, что (1-0)=(2-1). Отсчёт от "0".
ну так все правильно число 1023 максимум должно получится а количество вариаций 1024 разве не так

Последний раз редактировалось aliste; 05.12.2014 в 21:56.
aliste вне форума  
Непрочитано 05.12.2014, 22:03  
Albert_V
Гражданин KAZUS.RU
 
Регистрация: 13.04.2012
Адрес: Королёв МО
Сообщений: 786
Сказал спасибо: 621
Сказали Спасибо 364 раз(а) в 200 сообщении(ях)
Albert_V на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

Именно так.
Albert_V вне форума  
Непрочитано 05.12.2014, 22:19  
aliste
Прописка
 
Регистрация: 13.10.2009
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
aliste на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

Сообщение от Albert_V Посмотреть сообщение
Именно так.
ну отсюда и это значение в формуле разве не так
aliste вне форума  
Непрочитано 06.12.2014, 12:45  
aliste
Прописка
 
Регистрация: 13.10.2009
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
aliste на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

Сообщение от aliste Посмотреть сообщение
ну отсюда и это значение в формуле разве не так
И еще вы никогда не задумывались почему источники опорного напряжения имеют не ровное значение 5.12 а не 5, 4.096 а не 4, 2.5 а не 2. Так вот давайте подставим эти значения в представленные мной формулы . И так Digital Output Code = 1024 * VIN/VREF получим 1024*5=5120/5.12=1000 заметьте не 1024 и даже не 1023 да и 1000 вполне укладывается в 10 бит, теперь поставим 4.096 получим 1024*4=4096/4.096=1000 опять же получилась 1000 . Ну и напоследок 2.5 получим 1024*2=2048/2.5=819.2 еще меньше 1000. Так что все упирается в делитель спасибо уважаемому omercury. Теперь что касается вашего примера ну вы понимаете что это не корректная задача, ну и даже так давайте посчитаем возьмем опору 16 вольт и так 4*12=48/16= 3 теперь проверим все через шаг АЦП LSB Size = VREF/4, 16/4=4 так что все верно проверим на маем примере 5.12/1024=0.005*1000=5 опять все совпало ну и 4.096/1024=0.004*1000=4. Все дело в делителе теперь хоть в этом стало понятно.
aliste вне форума  
Непрочитано 06.12.2014, 15:58  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Проблемы с pic16f873a

Сообщение от aliste Посмотреть сообщение
И еще вы никогда не задумывались почему источники опорного напряжения имеют не ровное значение 5.12 а не 5, 4.096 а не 4, 2.5 а не 2.
Это сделано для Вас (пользователей), а не для АЦП. Ему абсолютно всё равно, "круглое" получится значение или нет. Разрядность от этого не меняется.
Пример?
Разрядность Вашего АЦП - 10 бит, то есть 1024 отсчёта.
При опорном 5,12в одна дискрета (величина шага преобразования) получается "круглой", т.е. 5,12/1024=0,005в или 5 милливольт.
При опорном 4,096 дискрета тоже получится круглой - 4,096/1024=0,004в.
При опорном 5в дискрета будет 5/1024=0,0048828125в или 4,883 милливольта, неудобно при расчётах, конечно, но разрядность АЦП от этого не изменится.

В Вашей формуле 1000 - это только Ваша тысяча и больше ничья. Просто Вам так удобнее. Микроконтроллеру всё равно.
Скомпенсировать "кривой" шаг АЦП можно "кривым" КУ усилителя тока (или делителя для напряжометра), если Вам удобнее работать с "круглыми" цифрами.
Вы не с той стороны считаете.
omercury вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с организацией видеонаблюдения P5iXopAT Видеотехника 31 22.04.2014 18:16
uVision и библиотеки stm32 peripheral library - проблемы с дебагом и АЦП ) rukez Микроконтроллеры, АЦП, память и т.д 11 13.02.2011 15:35
Кто как решает 2-ю сторону проблемы ЭМС в своих девайсах? Don_Ambrosio Делимся опытом 0 01.05.2008 12:30
Проблемы с чтением диска в DVD плеерах gsn Делимся опытом 0 12.02.2008 12:40


Часовой пояс GMT +4, время: 22:38.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot