5 Ch. Data Logger. MSP430G2553 / Linux / LCD screen.
5-ти канальный вольтметр / даталоггер с выводом в RS-232 и LCD (VFD).
Мы уже сделали следующее:
1. Соединили LaunchPad (MSP430G2553) с индикатором и это начало работать сразу (ссылка);
2. Сделали одноканальный вольтметр, который выводит данные на экран компьютера (ссылка);
3. Перенаправили данные, из последовательного порта в файл, используя TinyCore Linux (ссылка).
4. Сделали 5-ти канальный вольтметр с выводом через последовательный интерфейс (ссылка).
Работает уже все. Осталось адаптировать к измерению наряжений > 3,5V.
Допустим, что мы хотим измерять напряжение на аккумуляторе автомобиля. Это 12V. В реальной жизни это от 14 до 15V, если в автомобиле все работает нормально. Если нет, но напряжение может подниматься до 18 - 20V. Значит меряем от 0 до 20V.
Понятное дело, что на входе необходимо поставить делитель напряжения из двух резисторов, сопротивление которых будет зависить от входного сопротивления MSP430 и минимального наряжения которое она измеряет. Входное сопротивление проверяется с помошью высокоомного резистора и источника напряжения. Схема ниже.
В результате, входной ток MSP430 оказался ~0.15uA. Шаг АЦП 3.6V / 1024 = 0.0035V.voltageA0 = sensorValueA0*3.562/1024; //convert to Volts, 3.562V = 1024 counts voltageA4 = sensorValueA4*3.562/1024; voltageA5 = sensorValueA5*3.562/1024; voltageA6 = sensorValueA6*3.562/1024; voltageA7 = sensorValueA7*3.562/1024;Допустим, что: P1.7 измеряет напряжение питания MSP430, P1.6 - уровень напряжения на USB, P1.5 - на аккумуляторной батарее, P1.4, P1.0 - напряжения на солнечных панелях.
Собираем делители из резисторов, которые под рукой. Напряжения, которым соответсвуют 1023 на
выходе АЦП, на схеме.
Остается перенести эти напряжения в программу.
voltageA0 = ((sensorValueA0*51.53)/1024);
voltageA4 = ((sensorValueA4*26.26)/1024);
voltageA5 = ((sensorValueA5*18.64)/1024);
voltageA6 = ((sensorValueA6*7.341)/1024);
voltageA7 = ((sensorValueA7*4.964)/1024);
_
Make a free website with Yola