- PVSM.RU - https://www.pvsm.ru -
У вас когда-нибудь было такое, что есть элемент с двумя выводами по типу таких
но вы не понимаете:
У меня бывало, а вчера случилось много…
Идея строить ВАХ при помощи МК появилась давно, а реализовать руки дошли только что.
В качестве контроллера выбрал Arduino Nano потому что:
Схема измерительной части:
На In1 и In2 подаём напряжение и в результате должны построить график зависимости
тока через UD (Unknown Device) = (UOutС — UOut2) / R1
от напряжения на нём = UOut1 — UOutС
Т.к. схема у нас на 5 В, то для упрощения ограничимся ВАХ в диапазоне от -5 до 5 В, чтобы не усложнять конструкции.
ЦАП в комплекте нет, поэтому входные сигналы можно формировать либо при помощи ШИМ + ФНЧ либо при помощи цифрового потенциометра/внешнего ЦАП. Я для начала сделал 1-й вариант.
Итоговая схема получилась такая:
Программа для Arduino настолько маленькая, что приведу её прямо тут:
void setup() {
Serial.begin(115200);
analogReference(EXTERNAL); // не забудьте подключить Aref к 5 В
DDRD |= (1 << 2) | (1 << 3);
TCCR2B |= (0 << CS22)|(0 << CS21)|(1 << CS20); // prescaler = 1. Переполнение каждые 13 мкс
TIMSK2 |= (1 << TOIE2)|(1 << OCIE2A); // включаем прерывания
TCCR2A &= ~(3); // WGM20 = 0, WGM21 = 0
TCCR2B &= ~(1 << 3); // WGM22 = 0
OCR2A = 128;
sei();
}
ISR(TIMER2_OVF_vect)
{
PORTD |= 1 << 2;
PORTD &= ~(1 << 3);
}
ISR(TIMER2_COMPA_vect)
{
PORTD |= 1 << 3;
PORTD &= ~(1 << 2);
}
int analogAVG(int channel){
uint32_t summ;
uint16_t count = 50;
for(uint8_t i = 0; i < count; i++)
summ += analogRead(channel);
return summ / count;
}
void loop() {
OCR2A += 1;
if(!OCR2A) // ждём пока перезарядятся конденсаторы
delay(100);
Serial.print(OCR2A);
Serial.print(":");
Serial.print(analogAVG(0));
Serial.print(":");
Serial.print(analogAVG(1));
Serial.print(":");
Serial.println(analogAVG(2));
}
Рисовалку ВАХ [1] сделал на C# частично скопировав код из предыдущего проекта.
Диод 1N4148:
Диод 1N5817:
Видите как при нулевом напряжении ток положительный? Как думаете почему?
Неизвестный светодиод:
Резистор 680 Ом:
Не претендуя на точность устройство из Arduino Nano, 2-х конденсаторов и 3-х резисторов позволяет сравнивать ВАХ различных двухполюсников. Из недостатков можно отметить:
Автор: xedas
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/arduino/157015
Ссылки в тексте:
[1] Рисовалку ВАХ: https://github.com/adefikux/VAH
[2] Image: https://habrastorage.org/files/2da/a65/b79/2daa65b79a8b4f2eb357c56b2b32d9f8.JPG
[3] Источник: https://geektimes.ru/post/278478/
Нажмите здесь для печати.