Data Logger. LaunchPad MSP430G / Tiny Core Linux.

5-ти канальный даталоггер с которым можно начинать работать.

MSP430G2553 as DataLogger under Linux
  Noritake Itron VFD Vacuum Fluorescent Display, LCD Compatible Design (HD44780), parallel interface, 20x2.

        Мы уже сделали следующее:

      1. Соединили LaunchPad (MSP430G2553) с индикатором и это начало работать сразу (ссылка);

      2. Сделали одноканальный вольтметр, который выводит данные на экран компьютера (ссылка);

      3. Перенаправили данные, из последовательного порта в файл, используя TinyCore Linux (ссылка).


 По частям это работает, но законченного изделия не получилось.

 Первое, что меня раздражает, это инициализация последовательного порта. С Arduino такой проблемы нет, а тут ее нужно как то решить. Это возьмет еще 10 минут.

   Логика инициализации очень прозрачная.

 1. После подключения LaunchPad к USB необходимо подождать секунд 10, пока Tiny Core Linux определится с портом и назначит ему ttyACM0, ttyACM1  или что то еще.

 2. Когда порт определен (видно по результату команды dmesg) на стороне Linux необходимо запустить cat  /dev/ttyACM0  или cat  /dev/ttyACM0  >>  data.txt

 3. Только после этого можно инициализировать последовательный интерфейс на плате
LaunchPad. Если проще, то запустить Serial.begin(9600);  и дальше по тексту программы для
MSP430G2553.

 Опять же, ничего сложного.

 Открываем оболочку программирования Energia и делаем задержку комбинируя  программу из двух заготовок HelloWorld и Scroll. Сохраняем в файле delay_and_LCD.txt  Программа делает задержку и ждет в цикле, выдавая несколько сообщений на экран.

 Проблема с инициализацией решена. Теперь чем мерять напряжение. MSP430G2553 имеет только 8 внешних входов для измерения напряжения. Все они подключены к порту P1.x. P1.1, P1.2 заняты последовательным интерфейсом, P1.0, P1.6 - светодиодами, P1.3 - кнопкой. К трем свободным P1.4, P1.5, P1.7 можно добавить P1.0, P1.6 если снять перемычки J5. Всего 5.

 Дальше проще. Соединяем программу delay_and_LCD.txt с примером AnalogInOutSerial и получаем 5-ти канальный вольтметр, с выводом через последовательный порт. Две версии:

   1. Измеряет 5-ть напряжений и каждую секунду отсылает значения в компьютер и на LCD (VFD) display. File: MSP_LINX_1sec.txt

   2. Делает то же самое, только с интервалом в 1 минуту. File: MSP_LINX_1min.txt

 Как это работает. Клик на MSP_LINX_1sec.txt (или MSP_LINX_1min.txt) и скопируйте текст программы в Energia. Предполагается, что индикатор уже подключен к порту P2.x и перемычки J5 сняты. Upload программу в LaunchPad с MSP430G2553.

 Подключите запрограммированную LaunchPad к Linux компьютеру через USB. Программа сразу пойдет на исполнение. Появятся три экрана, которые Вы видите ниже. После этого она остановится и будет ждать нажатия кнопки S2 (в левом нижнем углу LaunchPad).







 Прежде чем нажимать кнопку S2 необходимо на Linux компьютере:

 1. С помощью команды dmesg  посмотреть куда подкючился MSP430G2553 (к примеру, как на картинке ниже, MSP430 "сел" на  /dev/ttyACM0)

 2. Перенаправить данные из последовательного порта в файл data.txt

     cat /dev/ttyACM0 >> data.txt

 3. В другом окне (Terminal)  командой tail наблюдать за содержимым файла data.txt

     tail -f data.txt

 Только теперь можно нажать S2. MSP430 инициализирует порт (Serial.begin(9600)) и вначале выводит все наряжения и текущее время на внутренний экран,


 и после этого, начнет отправлять данные каждую секунду (минуту) через последовательный интерфейс в компьютер, где cat /dev/ttyACM0 >> data.txt пишет его в файл data.txt


 Кнопка Reset на плате LaunchPad останавливает передачу данных, а Ctrl-C останавливает "складирование" данных в файл.

 Остается скопировать полученный файл на USB Flash Drive и перенести на другой компьютер, где данные будут обрабатываться.


 Теперь, можно открыть файл data.txt и скопировать его содержание в Excel.


  И все работает как хотелось. Напряжения меряет достаточно точно. Входное сопротивление > 1 МОм.

 Но это скорее "заготовка" которая уже работает. Дальше - в зависимости от фантазии и необходимости. Кто-то мониторит домашнюю солнечную батарею или аккумуляторы, кто-то сложное химическое оборудоавание. Напряжение не батарее Вашего автомобиля, то же, можно мониторить. Иногда, очень даже интересно.

 И это, как бы, работает. Но на законченное изделие "не катит". Это, скорее, заготовка, которую можно использовать "по необходимости". Или Вы мониторите солнечные батареи, или аккумуляторыне батареи, или сложный химический анализатор - не имеет значения. Все это можно сделать.

 

Дальше:  адаптируем Data Logger к реальной жизни


 ***TinyCore Linux выбран потому, что он маленький (12 Mb) и имеет графический интерфейс.



12.28.2015  SKootS

_

Make a Free Website with Yola.