Страница 1 из 1
Сравнение двух напряжений
Добавлено: Вт янв 12, 2016 14:00:33
davingex
Всем привет
Подскажите пож-та как сравнить два напряжения на МК?
Главное, что без участия компараторов. Напряжения приходят на АЦП.
Можно ли это сделать при помощи команды IF ?
Если у кого нибудь есть пример кода на С то было бы супер
Re: Сравнение двух напряжений
Добавлено: Вт янв 12, 2016 14:59:47
Аlex
davingex писал(а):Главное, что без участия компараторов.
Вы не поверите, но они именно для этого и предназначены. Причём они больше ничего и не умеют, как сравнивать 2 напряжения.
Отсюда резонный вопрос - почему их не использовать ?
Re: Сравнение двух напряжений
Добавлено: Вт янв 12, 2016 15:22:37
davingex
дело в том что сравнений будет около 20, а компараторов точно меньше 20
МК поменять не получиться
Re: Сравнение двух напряжений
Добавлено: Вт янв 12, 2016 15:26:41
Аlex
А какой МК ?
Компилятор, также, назовите.
Re: Сравнение двух напряжений
Добавлено: Вт янв 12, 2016 15:31:02
davingex
tms320f2812
code composer stutio v 3.1 IDE
Re: Сравнение двух напряжений
Добавлено: Вт янв 12, 2016 15:41:23
Аlex
Упс... Ни камня такого, ни тем более компилятора, не знаю. Соответственно, конкретно по АЦП подсказать не смогу.
Но, если удалось оцифровать 2 значения, то вероятнее всего и спасут обычные условия:
Код: Выделить всё
resADC_1 = ADCread(1); //Читаем первый канал
resADC_2 = ADCread(2); //Читаем второй канал
.............
.............
if(resADC_1 < resADC_2){ // Напряжение на первом канале ниже
....
}
if(resADC_1 > resADC_2){ // Напряжение на первом канале выше
....
}
if(resADC_1 == resADC_2){ // Напряжения на каналах одинаковые
....
}
Но, учитывая, что оцифровка множества каналов - дело довольно-таки долгое, то время отклика на сравнение будет соответствующим.
Re: Сравнение двух напряжений
Добавлено: Вт янв 12, 2016 17:18:24
davingex
Спасибо)) теперь ясно)
еще один вопросик есть, продолжение это темы)
Допустим у нас 20 сравнений. 5 сравнений прошло и произошла остановка МК. Нужно чтобы после включения отчет начался с 6 - го сравнения, как это реализовать ?)
Вот думаю подключить энергонезависимую память, но не знаю как это реализовать в коде чтобы он запоминал то самое место( синхронизацию с МК и т.д) С этим никогда не сталкивался.