В этой статье представлен модернизированный измеритель емкости и индуктивности - LC metr. Аналоговую часть измерителя автор нашел на просторах сети интернет и адоптировал ее для работы с микроконтроллером AVR. Имея частоту генератора с помощью математических формул можно найти значение емкости или индуктивности. Вот как это работает.
После включения питания контроллер считывает частоту генератора, к которому не подключаются образцы, эта величина будет - F1. После калибровки генератора нужно подключить прецензионный конденсатор на 1000pF - считается новая величина F2. Теперь надо подключить конденсатор неизвестной величины - получаем значение F3. Далее все вычисляется по математическим формулам:
Для конденсатора
a = ((F1/F3)^2)-1
b = ((F1/F2)^2)-1
результат = (a / b) * 0.001
Для индуктивности
a = ((F1/F3)^2)-1
b = ((F1/F2)^2)-1
c = 1000000000
d = (1/(2*pi*F1))^2
result = a * b * c * d
результат = result * 1000000
Схема устройства
Характеристики:
- Измеряет емкость и индуктивность
- Недорогой
- Высокая точность
- Автомасштабирование
- Автокалибровка
- Можно использовать в качестве частотомера, лишь внести небольшие изменения
Архив для статьи "Измеритель емкости и индуктивности на Atmega32" | |
Описание: | |
Размер файла: 157.8 KB Количество загрузок: 3 920 | Скачать |
Комментарии
Фьюзы в студию!
SUT1-SUT0-00
Остальные по умолчанию
от 10пФ до 1мкФ для неэлектролитиче ских
Еще вопросик, если можно.
В приложении приведены четыре исходника, из них под приведенную схему подходит LCMeter32_Final .c и то некоторая неувязочка с портом D. С какой целью автор привел столько исходников и какой из них реально надо использовать?
В исходнике (строка 67), встречается такая строчка
Код:
#include <shortnametype.h>
.поясните пож. кто знает, что это за подключаемая функция shortnametype.h.
В литературе и справочнике по ICCAVR про нее ничего не нашел.
Заранее благодарен.
shortnametype.h
Код:
#ifndef __SHORTNAMETYPE_H
#define __SHORTNAMETYPE_H 1
#define short signed char
#define ushort unsigned char
#define uint unsigned int
#define ulong unsigned long
#endif
Да, можно