Содержание

Изготовление и ремонт стенда для тестирования датчика CO2 в версии "GrowBox"

Понадобится

- [] Контроллер Iskra Neo - 1шт

Обратите внимание чтобы на контроллере были распаяны и подключены резисторы подтяжки i2c.

- [TSLS-C3-PCB] Нераспаянная плата Troyka Slot Shield - 1шт

- [] Модуль Touch Sensor - 1шт

Проверьте работоспособность модуля до того как распаивать его на плату. Используйте стандартный пример Button из примеров Arduino. Не забудьте исправить номер пина.

- [] Модуль RGB-Matrix - 1шт

На модуле не должны быть распаяны никакие перемычки. Если распаяны - удалить!

Проверьте работоспособность модуля до того как распаивать его на плату. Используйте стандартный пример simple из примеров к библиотеке Adafruit NeoPixel. Не забудьте исправить номер пина.

- [] Нераспаянная плата Troyka RTC (если нет, то готовый модуль, можно бракованный) - 1шт

- [] Микросхема 24C02 в корпусе SO8 (можно и 24с01, просто эту мне было проще добыть) - 1шт

- [3kmfm_f2u1] Нераспаянная плата под простые датчики

- [] Разъем датчика

- [] Разъемы PLS/PLD

Ну и разумеется паяльный фен, паяльник, припой, флюс, кусачки, пинцет и так далее.

Изготовление

- Припаяем разъемы PLS к нераспаянной плате Troyka Slot Shield. Не перепутать сторону!

После чего отмоем флюс (потом под модулями это будет неудобно).

- Установим и припаяем модуль Touch Sensor в ячейку F. Вывод S должен быть установлен в отверстие 10.

- Установим и припаяем модуль RGB Matrix в ячейку E. Вывод S должен быть установлен в отверстие 9.

- Если есть нераспаянная плата Troyka RTC то устанавливаем на нее в соответствии с ключом микросхему 24С02 и разъемы PLS. Больше ничего на плате быть не должно. Если такой платы нет, берем готовый модуль Troyka RTC, отпаиваем батарейный блок и кварц, потом сдуваем феном все SMD компоненты. Нам нужна пустая плата с PLS разъмами. На нее распаиваем микросхему 24С02. Готово.

- Установим и припаяем полученный модуль в ячейку С. Выводы VG и DC должны соответствовать маркировке на плате.

- Поколдуем с разъемом. С ним 2 проблемы. Необычная для нас сетка контактов: 2 мм вместо привычных 2.54 мм и разъем слишком хорошо фиксируется - когда будут вынимать датчик из разъема - обязательно порвут провода :) Для начала, обрежем (кусачками) верхнюю часть пластика на разъеме, примерно на половину высоты (НО НЕ ВСЮ! Направляющие должны остаться чтобы разъем нельзя было поставить неправильно). Как-то так.

С контактами проще: мы их просто раздвинем, так чтобы центральные два наполовину влезали в плату, а боковые просто легли на нужные контактные площадки. Заранее облудим контакты.

- Вторая магия у нас с платой, на которую мы установим разъем. Сначала надо будет уничтожить существующие перемычки (указаны стрелками):

Потом установим разъем (все заранее облить флюсом) ключем в сторону контактов SVG, так, чтобы два центральных контакта вошли в отверстия, а боковые… ну как получится, главное чтобы они контактировали с контактной площадкой. Медлу платой и разъемом остается щель чуть больше миллиметра. Паяем (со стороны платы) не жалея припоя, хорошенько прогреваем. Припой должен протечь сквозь отверстия в плате и хорошенько закрепиться с другой стороны на ножках разъема.

Теперь надо откуда-то подать на разъемы нужные сигналы. Я сделал это так: взял тонкий изолированный многожильный провод (например МГТФ) отрезал 4 куска, саниметров по 5, зачистил с одной стороны. Взял два проводя и (не лудя!) вставил их в D и C (снизу со стороны PLS). Потом вставил саму PLS, и все это вместе запаял. Аналогично с V и G. Затем обрезал полученные хвосты более менее "в размер" и подпаялся к соответствующим контактам.

Все это надо как-то закрепить, разъем это то, к чему постоянно будут прилагать усилие. Эпоксидка - у меня прозрачный двух-компонентный Poxipol. После того как клей смешан и готов, от души намазываем разъем (тонкой зубочисткой проталкивая клей под разъем - нам надо в первую очередь залить смолой "раздвинутые" контакты и даем возможность смоле затечь в отверстия платы, к собственно пластику разъема адгезия будет плохой, надо чтобы смола зацепилась за металл). Затем на вякий случай изолируем эпоксидкой со стороны проводов. Ждем пока застынет эпоксидка.

Ну вот теперь можно запаивать полученный модуль на плату. Выводы SVG должны встать в 7VG.

- И последняя "магия" - в слоте "B" две перемычки: между С и А2 и между D и A3.

- Откусим бокорезами избыточные выводы модулей с обратной стороны платы.

- Установим и припаяем разъемы PLD-3 на площадки GV7 и 2СВ платы.

- Отмоем флюс, высушим.

- Установим полученную "шляпу" на разъемы Iskra Neo.

Программирование

- Скачиваем скетч и разархивируем его

- Подключим USB кабелем компьютер к Iskra Neo

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

Если с индикацией что то не так, отключите стенд от компьютера и проверьте не закоротили-ли чего.

- Загружаем скетч в Arduino IDE

- Убеждаемся что библиотеки Adafruit_CCS811 и Adafruit NeoPixel загружены в ArduinoIDE

- Компилируем и загружаем скетч в плату Iskra Neo

- Отключим USB кабель от Iskra Neo

Проверка стенда

- Подаем питание на стенд от источника питания 5 вольт 2 ампера через разъем "бочка".

- На плате Iskra Neo должен загореться синий светодиод, и начать мигать оранжевый.

- После того как оранжевый светодиод на плате перестал мигать, по RGB Matrix (будем звать ее экраном) должен пробежать "бегущий огонек" условно белого цвета.

- Сначала проверим работу без датчика CO2. Нажимаем на Touch Sensor, отпускаем его. Экран должен загореться красным цветом. Две красные точки должны быть ярче других.

- Теперь берем заведомо исправный датчик CO2 и втыкаем в разъем на стенде. Нажимаем на Touch Sensor, отпускаем его. По экрану должен пробежать белый "бегущий огонек" (обычно 5 раз, датчик инициализируется довольно долго), после чего он должен загореться зеленым цветом.

Коды неисправностей

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