MSP430G2553 and Energia.

Измеряем напряжение и выводим через последовательный порт.

CU20025ECPB-W1J
  Noritake Itron VFD Vacuum Fluorescent Display, LCD Compatible Design (HD44780), parallel interface, 20x2.

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



 Напомню, что мы соединили LaunchPad (MSP430G2553) c люминисцентным индикатором (CU20025ECPB) и легко запрограммировали за 10 минут.

 Сможем ли мы, с такой же простотой, сделать даталоггер, который измеряет напряжение и выводит информацию через последовательный порт (RS-232).

 Energia уже установлена. Открываем: File->Examples->Analog->AnaloginOutSerial и запускаем.

     По замыслу "создателя" эта программа должна непрерывно делать следующее:

   1.Измерять напряжение на P1.0;

   2.Выдавать PWM сигнал на P2.1;

   3.Отсылать стороку "sensor = xxx    output = xx" в последовательный порт.

 И... ничего не работает.



 Но не совсем так. Тыкание осциллографом показало, что контроллер, таки измеряет напряжение на P1.0 и выдает соответствующий PWM сигнал на P2.1. Так же он исправно выдает последовательную дату на выводе P1.2. Только компьютер ее не видит.

 Проблема лечится если изменить положение перемычек RXD, TXD на горизонтальное.




 С этого момента микроконтроллер исправно посылает данные.

 Мелкая неприятность заключается в самой оболочке программирования Energia. Если попробовать запрограммировать микроконтроллер при открытом "Serial Monitor", то
Energia, иногда, зависает. Никакого способа борьбы с этим, кроме как заменить местный монитор на PuTTY, я не нашел.




 Итак, мы посылаем данные и что то измеряем. Необходимо выяснить что и как точно.

 MSP430G2553 сравнивает входное напряжение с внутренним опорным наряжением. Последнее может быть 1.5V, 2.5V или напряжение питания (~3.6V).  Для того, что бы это проверить подключим источник напряжения (литиевую батарейку) к измерительному входу P1.0.




 Напряжение на литиевой батарейке 3.091V, напряжение питания 3.562V.

 Выяснилась простая вещь, что в качестве опорного напряжения используется напряжение питания. Учитывая, что на плате MSP430G... это напряжение стабилизировано, то это не так плохо.

 АЦП измеряет входное напряжение в долях от опорного. То есть входному напряжению 3.562V будет соответсвовать 1024 (1023).  Половине этого напряжения (1.781V) - 512(511).

 Остается немного "прилизать" программу, и наслаждаться показаниями цифрового вольтметра на эткране монитора.
PWM сигнал на P2.1 это приятный бонус.



 И все как бы хорошо и все работает. Но до практического применения необходимо записывать данные и иметь возможность их посмотреть в будущем. Можно сделать это с листиком бумажки и ручкой, но это не спортивно.

 Действительно, если Вы собрались мониторить напряжение на солнечных панелях / аккумуляторах, которые питают Ваш дом, то необходимо подумать где хранить результаты и как их потом смотреть.

 Единственное решение, которое можно реализовать за те же 10 минут, это отдельный компьютер под управлением Linux, который будет принимать данные из COM порта и записывать в текстовый файл. Дальше - по вкусу. В большинстве случаев этот файл переносится в Excel, где легко преобразуется в графическую форму.

 Итак, что бы "убить" следующие 10 минут, нам понадобится любой компьютер (с 2-мя USB портами), и USB Flash Drive (16 Mb или больше) с TinyCore Linux.


 Дальше: записываем информацию из COM порта в компьютер.



12.26.2015  SKootS

_

Make a Free Website with Yola.