123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- Если я правильно понял, для oversampling необходимо налиие шумов, поэтому
- опорное напряжение можно взять от стабилитрона с входных 12В, без всяких
- конденсаторов. Также можно не увлекатся фильтрацией питания и избавлением от
- пульсаций, а также отказаться от всяких мер по экранированию измерительных
- цепей. Также не стоит использовать спящий режим для измерений.
- Уровень шума в измеряемом сигнале, или опорном напряжении должен быть на
- уровне 1-2LSB, при опорном в 5В -- это 5-10 мВ.
- При питании от розетки, можно просто распределить измерения в течении
- одного периода 100Гц. (нельзя)
- Для oversampling нужно произвести 4^n измерений (где n - количество
- дополнительных бит результата), суммировать результат и разделить на 2^n
- Потом произвести действия по калибровке и можно вычеслять результат.
- На асме ещё нужно принять меры для сохранения дробной части.
- Например, 2 доп бита.
- Делаем 16 измерений, суммируем, делим на 4. Дальше как обычно -- умножаем на
- опорное в миливольтах, и делим на 4096 (ведь результат у нас теперь 12 бит).
- Получаем результат в миливольтах, с дискретностью опора/4096.
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- 2014.10.08
- таки запаял и запустил :-)
- если не учитывать косяк на плате -- то всё удачно. почти.
- 1. низкая скорость обновления -- нужно увеличивать раз в несколько.
- 2. яркость бешеная -- нужно увеличить резисторы ом до 200-300. заодно
- уменьшиться нагрев стаба. потребление около 100 мА.
- 3. прыгают показания -- нужно усреднять.
- 4. подправить значение опорного напряжения под реальное (4.985 В)
- 5. можно гасить ведущий "0".
- - в делителе таймера была ошибка. в итоге частота была ~75 Гц. похоже на правду.
- - отпочковал версию 2. попробую сделать усреднение по 6-ти измерениям.
- - измерения будут не каждые 100 мсек, а по-кругу, без лишних ожиданий.
- 2014.10.09
- можно считать этот проект условно успешно законченым.
- условно в том плане, что оверсэмплинг вроде как тут не работает.
- и всё равно скачет временами цифра в младшем разряде, хотя я применил
- усреднение по 16-ти значениям.
- а во всём остальном -- всё работает.
- - есть идея попробовать упорядочить измерения и вывод:
- - измерение начинать после вывода первой цифры;
- - преобразование результата в и запись в буфер индикатора - после
- вывода четвёртой цифры;
- - возможно это также поможет избавиться от мелтешения цифр.
-
|