Зарегистрироваться

Расширитель на 16 цифровых пинов (ввод-вывод) с интерфейсом i2c - MCP23017. С практическим применением для системы полива.

  • Цена: $9.50 за 10 штук

Я уже делал немало обзоров посвященных дачной автоматике. Этот обзор из той же серии, зимой самое время вспомнить дачные доработки и реализовать задуманное. Микросхема из обзора позволяет получить 16 двунаправленных выводов с доступом по шине i2c. Причем полученные пины программно можно подтягивать, а значит не нужны внешние резисторы. Под катом кратко про микросхему и готовое устройство построенное с ее применением. Все кто любит мастерить огородные (и не только) штуки приглашаются. Колхозинг, пайка и программирование ожидают Вас.

Перед тем как начать писать, вспомнил специфического местного автора и хотел написать: «ШОК!!! управление поливом по разным интерфейсам, в том числе с телефона… ». Я каждый раз пытался понять почему шок, да еще большими буквами и с восклицательными знаками, по моему, шок вызывают несколько иные вещи. Ну да ладно, начнем про наше устройство.

10 микросхем доехали довольно быстро, порядка 2-х недель. Упакованы были в жесткую тару для микросхем, поэтому повреждены не были.Сама микросхема:

Содержит управляющие входы шины I2C: SDA и SCL. VDD — вход питания, VSS — вход земли. A0-A2 — позволяют задать адрес микросхемы на шине I2C (если у вас планируется использовать несколько таких микросхем, либо иных устройств с пересекающимися адресами). Собственно, вновь получаемые пины представлены двумя портами по 8-выводов: GPA0-7 и GPB0-7, каждый пин может быть самостоятельно настроен на чтение или запись. Микросхема способна генерировать прерывание при изменении сигнала на одном из выводов порта, выходы прерываний: INTA и INTB. Вывод RESET позволяет сбросить микросхему в исходное состояние подачей низкого уровня, поэтому нужно его подтянуть к питанию. Со стороны контроллера выводы SDA и SCL следует подтянуть к питанию резисторами 4.7 кОм один раз, не нужно подтяжек каждому устройству подключаемому к шине I2C. Типовой вариант подключения выглядит следующим образом:

Подробная документация по микросхеме.

Для тестов я сделал некую отладочную плату, которую можно использовать в реальных устройствах:


Собственно, плата содержит все выводы данной микросхемы. На каждый пин имеется два винтовых клеммника, собственно сам пин и второй, который можно подключить для каждого порта (А и В) либо к земле, либо к питанию перемычкой. Также, имеются адресные входы микросхемы, с помощью перемычек можно перебрать все возможные комбинации. На отдельных пинах выведены выходы прерываний (А и В). Имеется встроенный DC-DC преобразователь на 5 В. Несколько пинов питания и земли. Также индикация светодиодом подачи питания. Ну и, конечно, I2C шина для подключения к контроллеру.

Герберы для заказа можно скачать тут. Платка для открытия в Sprint Layout тут. Выглядит в программе она так:


Подключим Arduino Nano к тестовой плате:

Вторые выводы шины В я подключил к земле, к выводу GPB1 подключил кнопку изготовленную в этом обзоре. Вторые выводы шины А я подключил к питанию, так как для тестов использовал 3-х цветный светодиод с общим анодом, анод светодиода подключил к питанию, красный к выводу GPA7, зеленый к GPA6, синий к GPA5. Выход прерывания шины В подключил ко входу 3 Arduino Nano. Питаться наша конструкция будет от платы Arduino. Для работы с микросхемой есть замечательная библиотека от Adafruit.
Код для проверки работы светодиода вместе с кнопкой:

#include <Wire.h>
#include "Adafruit_MCP23017.h"

Adafruit_MCP23017 mcp;
  
void setup() {  
  mcp.begin();      // use default address 0
  mcp.pinMode(9, INPUT);
  mcp.pullUp(9, HIGH);  // turn on a 100K pullup internally
  mcp.pinMode(7, OUTPUT);
  mcp.digitalWrite(7, HIGH);
}

void loop() {
  mcp.digitalWrite(7, mcp.digitalRead(9));
}



Если кнопка замыкает вывод GPB1 на землю, то красный светодиод светит. Видео теста:

Проведем немного более сложный тест для работы с прерываниями.
Код

#include <Wire.h>
#include <Adafruit_MCP23017.h>

Adafruit_MCP23017 mcp;

byte ledPin=7;
byte arduinoIntPin=3;
byte arduinoInterrupt=1;
volatile boolean awakenByInterrupt = false;
byte mcpPinB=9;

void setup(){
  pinMode(arduinoIntPin,INPUT);
  mcp.begin();      // use default address 0
  mcp.setupInterrupts(false,false,LOW);
  // similar, but on port B.
  mcp.pinMode(mcpPinB, INPUT);
  mcp.pullUp(mcpPinB, HIGH);  // turn on a 100K pullup internall
  mcp.setupInterruptPin(mcpPinB,FALLING);
  // We will setup a pin for flashing from the int routine
  mcp.pinMode(ledPin, OUTPUT);  // use the p13 LED as debugging
  mcp.digitalWrite(ledPin,HIGH);
}

void intCallBack(){
  awakenByInterrupt=true;
}

void handleInterrupt(){
  uint8_t pin=mcp.getLastInterruptPin();
  uint8_t val=mcp.getLastInterruptPinValue();

  uint8_t flashes=4; 
  if(val!=LOW) flashes=3;

  for(int i=0;i<flashes;i++){  
    delay(100);
    mcp.digitalWrite(ledPin,LOW);
    delay(100);
    mcp.digitalWrite(ledPin,HIGH);
  }
  cleanInterrupts();
}

void cleanInterrupts(){
  EIFR=0x01;
  awakenByInterrupt=false;
}  

void loop(){
  attachInterrupt(arduinoInterrupt,intCallBack,FALLING);
  while(!awakenByInterrupt);
  detachInterrupt(arduinoInterrupt); 
  if(awakenByInterrupt) handleInterrupt();
}


При нажатии кнопки генерируется прерывание, в обработчике переключается переменная, после установки которой выполняется функция с миганием нашим тестовым светодиодом. Иллюстрация работы:


В целом, микросхема сделана очень удачно и ее удобно использовать в своих проектах. В отличие от pcf8574 она дает полноценные выводы, с током до 20 мА. Следует сказать, что на одну шину I2C можно прицепить несколько таких микросхем, задавая каждой свой адрес, таким образом, получим просто огромное количество цифровых входов и выходов (конечно если устраивает не высокая скорость шины I2C).

Применил я эту микросхему в своем новом устройстве дачного полива. Прошлое устройство описано здесь. Там я использовал сдвиговые регистры 74HC595. С данной микросхемой устройство реализовать будет проще. Кстати, следует заметить, что один из первых моих обзоров был про китайские управляемые шаровые краны, которые успешно поливают огород уже 3 сезона. На даче подобных кранов используется 11 штук, проблема этим летом была выявлена только с одним — внутрь попала вода, поэтому следует промазать шов стыка пластиковых крышек герметиком, что я и проделал.

В этот раз плату я заказал в Китае, воспользовался акцией 2$ с бесплатной доставкой от jlcpcb.com за 3 недели платки доехали. В целом сервис меня устроил. Преимущества: цена, высокое качество. Недостатки: нельзя делать панелизацию (одну из моих плат с линиями разлома развернули (предложив доплатить 64$), невозможность выбора цвета, и средство автоматического определения размеров у них почему-то прибавляет относительно моих измерений и измерений других сервисов пару мм (а выход за пределы 10 на 10 см — влечет существенное увеличение цены). Вообще любое изменение параметров устремляет цену вверх, поэтому там стоит заказывать большие цельные платы, используя только стандартные настройки.
Плата выглядит хорошо:


Шелкография, контактные площадки — все очень точно совпадает с макетом. Для сравнения плата изготовленная dirtypcbs.com:


Качество очень сильно отличается не в лучшую сторону, зато есть возможность выбора цвета и допускается панелизация.

Начнем сборку, припаиваем контроллер ATmega1284P (можно использовать и ATmega 644 — по выводам они совпадают), я решил протестировать первое устройство, поэтому взял подходящий контроллер с максимальным функционалом. Также припаиваем смд детали и разъем для программирования (ICSP), получилась минимальная конструкция, пригодная для теста:

Прошиваем простую программку, которая все выводы микросхемы MCP23017 сделает выходами и поочередно выставит на них единичный уровень:

Припаиваем остальные детали. под микросхемы L293D я установил разъемы:


После смывки флюса, припаивания DC-DC преобразователя и вставки микросхем L293D:


Подключим питание и видим работу нашей прошлой прошивки:

Тест остальных пинов (ввиду их большого количества) удобно проводить маленькой платкой со светодиодами и ограничительными резисторами:

Тут на муське немало примеров своих аудио систем, наша плата полива сможет с некоторыми из них поконкурировать по качеству звука :), тест пищалки:

Конечно, это была шутка про качество, но пищалка работает и сможет извещать о переключении режимов.

Систематизируем наши пины управления двигателями.
Код

#include <Wire.h>
#include "Adafruit_MCP23017.h"

Adafruit_MCP23017 mcp;
#define addr 0  

// time for complite change state motor
#define TIME_POWER_MOTOR 500

// for count motors
template<typename T, size_t n> inline size_t arraySize(const T (&arr)[n]){return n;}

// in setup set count of motors
byte NumberOfMotors = 0;

// drive mode
enum { STOP, OPEN, CLOSE};

// type motor
typedef struct {
  uint8_t PinOn; // pin for open motor
  uint8_t PinOff; // pin for close motor
  unsigned long StartTime; // start time current operation
  byte DefaultState; // default state motor
  byte CurrentState; // current state motor
} MotorType; 

// all motors, format:
// pin for open, pin for close, 0 - last start power, default state, current state (STOP - 
// unknown state, if need default set STOP)
MotorType MC[] = {
  {15, 14, 0, CLOSE, STOP},
  {13, 12, 0, CLOSE, STOP},
  {11, 10, 0, CLOSE, STOP},
  { 9,  8, 0, CLOSE, STOP},
  { 0,  1, 0, CLOSE, STOP},
  { 2,  3, 0, CLOSE, STOP},
  { 4,  5, 0, CLOSE, STOP},
  { 6,  7, 0, CLOSE, STOP},
};

void setup() {
  mcp.begin(); // use default address 0

  NumberOfMotors = arraySize(MC);
  for (uint8_t i = 0; i < NumberOfMotors; i++) {
    mcp.pinMode(MC[i].PinOn, OUTPUT);
    mcp.digitalWrite(MC[i].PinOn, LOW);
    mcp.pinMode(MC[i].PinOff, OUTPUT);
    mcp.digitalWrite(MC[i].PinOff, LOW);
  }
}

void loop() {
  for (uint8_t i = 0; i < NumberOfMotors; i++) {
    mcp.digitalWrite(MC[i].PinOn, HIGH);
    delay(TIME_POWER_MOTOR);
    mcp.digitalWrite(MC[i].PinOn, LOW);
    mcp.digitalWrite(MC[i].PinOff, HIGH);
    delay(TIME_POWER_MOTOR);
    mcp.digitalWrite(MC[i].PinOff, LOW);
    //break;
  }
}


Тест:

Проверим на шаровом кране, задав подходящее время таймаута и ограничив цикл только первым драйвером:

Коммуникационные возможности нашей платы весьма высоки, из коробки поддерживаются следующие модули:

1 — Адаптер Ethernet na чипе enc28j60
2 — Адаптер Ethernet на чипе w5100
3 — Радиомодуль nrf24l01 (как с антенной на плате, таки с внешней)
4 — Радиомодули приемника и передатчика 433 MHz, обзор разных модулей со сравнением я делал здесь, любые из того обзора можно применить.
5 — GSM-модем на SIM800L
Помимо этого, выведен UART Serial, который позволяет прицепить целый ряд устройств (esp8266, bluetooth, специализированные радиомодули и тп). Для использования любых возможностей коммуникаций, достаточно реализовать поддержку требуемых модулей в прошивке.
Примеры подключения






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

Для подключения внешних датчиков и иных устройств, также немало возможностей 11 пинов на штырьках, с возможностью подтяжки 5 из них к питанию резистором. Два вывода на клеммниках. Кроме этого, имеется вход подключенный через операционный усилитель lm358.
Таким образом, легко подключить датчики: влажности почвы (хороший я описывал тут), дождя, освещенности, скорости ветра и тп. Платка позволит организовать контроль наличия воды и работы насоса. Для измерения температуры (воды, воздуха и тп) на синем тройном клеммнике предусмотрено подключение шины 1-wire с датчиками ds18b20.

Спасибо тем кто дочитал до конца! Надеюсь, что обзор будет полезен, напомню основной целью было рассказать о микросхеме MCP23017, показать как ее подключать к Arduino и как писать код по управлению полученным множеством пинов, кроме того, я показал, что в реальных устройствах, она тоже прекрасно может работать. Всех поздравляю с Рождеством!

Хищник после драки проходит реабилитацию, поэтому к устройству равнодушен


Планирую купить +35 Добавить в избранное +83 +147
+
avatar
+4
Феерично!
+
avatar
  • nemoi13
  • 07 января 2018, 20:28
+21
Ничего не понял, но на всякий случай поставил плюс.
+
avatar
+1
тест пищалки ностальгичен))

… оказывается на ютубе куча трекерной и восьмибитной музыки есть)

а, кстати, почему не PCF8574T?
они стоят меньше двух долларов в готовом модуле и доллара 3-4 за десяток россыпью

увидел почему)
+
avatar
  • denM
  • 07 января 2018, 20:39
0
Ежик — фирменный логотип?
А почему не делали сами типа ЛУТ-ом?
+
avatar
  • yurok
  • 07 января 2018, 20:42
0
типа того
ЛУТОМ нексколько плат делать утомительно при такой цене и учитывая сроки установки в систему полива — лучше заказать, А ЛУТОМ-я сделал много плат — часть из них есть в моих прошлых обзорах — можете посмотреть
+
avatar
  • ksiman
  • 07 января 2018, 20:42
+5
Кто совсем не понял о чём речь — устройство позволяет принимать и передавать дискретные управляющие сигналы по шине I2C
+
avatar
  • yurok
  • 07 января 2018, 20:53
0
Расширитель на 16 цифровых портов с интерфейсом i2c — помоему более понятно — в названии написано — а про принимать и передавать в обзоре написано )
+
avatar
  • ksiman
  • 07 января 2018, 21:00
+5
Расширитель на 16 цифровых портов с интерфейсом i2c — помоему более понятно
Неоднозначное определение, например я пока не прочитал обзор — не понял.
про принимать и передавать в обзоре написано )
Так это для тех, кто обзор не читает, но комментирует :)
+
avatar
  • krysa
  • 07 января 2018, 22:03
0
два 8-битных порта, если уж совсем точно
+
avatar
  • Dimon_
  • 07 января 2018, 20:59
+3
С точки зрения качества обзора — всё безупречно. Информативно и интересно. Так что, оценивая обзор, ставлю плюс с удовольствием.

С точки зрения терминологии, «16 портов» — не очень честная формулировка, было бы честнее «16 пинов» или «16 линий ввода-вывода».
Поскольку в заголовке обзора написано, что это «расширитель на 16 портов с интерфейсом i2c», можно подумать, что мы получим 16 портов i2c, (т.е. эдакий шестнадцатипортовый i2c-хаб) что не так. Очень бы хотелось попросить Юрия переформулировать.

С точки зрения практического применения, как-то для себя интереса из предмета обзора не вынес. Но это моя личная точка зрения. Другим, возможно, это и пригодится. Лично мне в ардуине-мега за 6$ пока вполне хватает её родных и легкоадресуемых 70 двунаправленных линий, из которых 14 ещё и с PWM (это если не трогать ресет). Бóльшее количество неадресуемой («глупой») периферии я как-то не адресовал пока…
+
avatar
  • yurok
  • 07 января 2018, 21:05
0
Спасибо, поправлю
подобную платку расширения, которая приведена в обзоре можно прицепить к уже готовому устройству, например, на ардуино про мини и получить много портов. В большинстве случаев, не хватает именно портов — а ставить мегу не всегда хочется (иногда и не возможно — если про мини стоит в плате), да и недешево это.
+
avatar
0
Хороший обзор. Утащил пару идей себе. Спасибо.
+
avatar
  • mike888
  • 07 января 2018, 21:16
0
О чем речь то понятно, непонятен смысл. Городить на ардуине что-то более менее серьёзное, глупо. Прилепить гсм модем конечно можно, но без контроля активности и сброса его в случае зависания, он бесполезен, уже прошёл эти грабли. Да и заставить его работать не так просто как кажется, что за косяки у опсосов не знаю, но далеко не со всякой симкой работает.
Опрос датчиков по моему проще на мультиплексоре сделать, датчики под ардуину типа DHT точностью не отличаются, влажность более менее правдоподобно показывают в середине диапазона, если только BME280 брать может получше будет.
Делать что-то более менее серьёзное хотя бы на малине или даже проще взять старенький нетбук за копейки. Ардуина годится как обработка сигнала датчиков, да и то если пару десятков вешать, то тупит страшно, она же однозадачная.
+
avatar
  • Xizel
  • 07 января 2018, 21:21
+1
Если что-то и городить, Лучше взять готовый проект и его повторить. Пусть даже платный. Просто время — дороже денег. Кто не работает и есть время- можно и самому на коленке.
У кого -то работа огород городить, разработка. А кто-то и на эксплуатации тянет лямку.
+
avatar
  • mike888
  • 08 января 2018, 02:20
0
Смысл конструкции не очень понятен, можно весь огород проводами опутать, но расти лучше от этого не будет. Я не говорю про то что экономически и так огород золотым выходит.
Могу понять как хобби лепить что-то, поскольку интересно. Сам когда-то развлекался подобным образом. Потом пришёл к тому, что чем проще, тем надёжнее, тем более что надо реально совсем немного, иначе становишься рабом того что нагородил и не вещь для тебя, а ты для вещи
+
avatar
  • yurok
  • 08 января 2018, 02:31
+1
3 года назад собрал — и поливает согласно алгоритму — вмешательств не требовалось — в обзоре описал единственную проблему (попадание воды в механизм крана) — сколько сэкономлено времени на полив — трудно и посчитать + отсутствие необходимости участия в этом процессе — тут решает каждый сам. Сейчас решил добавить функционала и иметь некий резерв + обращаются знакомые.
+
avatar
  • mike888
  • 08 января 2018, 02:58
-2
Дык в этом году в ленобласти полив не нужен был. И как-то не напрягает открыть кран. А варианты удалёнки не актуальны, только контроль параметров, никакого управления. Во первых отрубание электричества рубит связь, что толку что у меня всё работает когда сотовая вышка вырубилась. Ну и второй момент, что всё крутится на сервере, который всегда взломать могут. Фиг с ним что данных с датчиков не увижу, но если управление будет, то включение отопления и насосов это уже проблема серьёзнее.
Ну рабам гаджетов меня не понять, но у меня то нет зависимости от гаджетов, и отключение электричества для меня не означает конец света))
+
avatar
  • hostage
  • 08 января 2018, 12:16
+1
В Ленобласти полив тоже нужен был. В теплице, например. Стабильность arduino — watchdog из ne555 и пятка деталей, платка лут в моём варианте примерно 2x3 см. GSM модем с ардуинкой уже год стоит, удалённо управляет даже парой компьютерных железок в продакшене — нет проблем. Отфильтруйте питание и будет вам счастье. И да, проблем с мтс и модемами sim800 не встречал. За других операторов отвечать не могу.
Электричество отключается ну наверно пару раз в год и ненадолго. В том уже году один раз, емнип. При том что GSM (sms) это резервный источник связи, а основной — протянутая в садоводство оптика, то полного отсутствия связи не было вообще ни разу.

Ну и главное — ехать включить кран для полива (скажем 2 раза в неделю) это 70 км в один конец (мне). Топливо кто посчитает? 42 рубля дизель, напомню :-)
+
avatar
  • mike888
  • 08 января 2018, 12:51
0
Метеостанция на даче работает, как резерв стоит автоаккум 95ач, но у опсоса нет резервного питания, кому оно в этой глуши нужно. Так что как только свет рубануло, так всё пропало. Оптику в деревни никто не тащит, как вариант инета только спутник, но это если там жить. Опсос один мегавонь, и то через пень колоду. так что без вариантов. Зато в деревне не платишь неизвестно за что, не содержишь кучу паразитов.
В парнике всё прекрасно работает на локальных устройствах, примитивные датчики влажности рулят клапаном, никаких процов просто триггер. Ну и цилиндры на форточках. Дальше свет и подогрев всё на примитивных локальных устройствах. Никаких зависаний и проблем со связью, наигрался ещё в прошлом веке в компы и объёдинение всего.
Проблема зависания модема в софте опсоса, но бодаться с ними бесполезно, найти адекватного человека который понимает о чем я, в саппорте опсоса мне не удалось, там только курицы с загруженой программой отфутболивания, они вобще не понимают ничего в АТ командах.
Ну а насчёт выращивания на даче это всего лишь для собственого удовольствия, экономически никак не оправдано.
+
avatar
  • hostage
  • 08 января 2018, 19:51
0
Ну есть мнение что в таёжных деревушках, где электричество видели только на плакатах пропаганды ГОЭЛРО совсем нет дела до ардуинок, автоматизаций и прочего :-)

Дело в не в оправдании, а в отсутствии потерь и времени и денег. Точнее даже сформулирую — без автоматических управлений старики уже не сажают, ибо нет сил ездить поливать, а мне нафиг оно не сдалось два раза в неделю мотаться туда, куда ну совсем нет ни времени ни желания. А с ним удобно и комфортно приехать тогда, когда захочется, всегда есть возможность увидеть что происходит (датчики температуры, количества воды в накопительных баках итд итп), видемониторинг и прочая прочая. Ну и старикам в радость приехать когда силы и здоровье есть и скушать огурчик-помидорчик время от времени. Вообще оптика, затянутая в садоводство напрочь преображает подходы ко всему. Даже при наличии 4х стабильно работающих сотовых операторов (даже lte в принципе есть)
+
avatar
  • yurok
  • 07 января 2018, 21:23
0
Естественно, все что в обзоре относится к исполнительному устройству (считывание датчиков, включение и выключение нагрузки и тп) — управление целесообразно на чем-то ином делать, а как исполнительное устройство справляется отлично. Либо как автономное устройство для решения конкретной задачи.

В данном случае — естественно — сброс предусмотрен. Работает стабильно — нужно просто ряд штук предусмотреть.

ds18b20 как датчик температуры работает отлично в пределах 0.5 градусов, а больше и не нужно в таких задачах.

Зато она реального времени — и если правильно развести во времени обработку — то все отлично.
+
avatar
  • Dimon_
  • 07 января 2018, 21:47
0
датчики под ардуину типа DHT точностью не отличаются, влажность более менее правдоподобно показывают в середине диапазона, если только BME280 брать может получше будет.
Для температуры DS18B20 довольно точны, если их правильно эксплуатировать и опрашивать. (Правильно — это по даташиту).
Для влажности всё китайское одинаково «плюс-минус погода на Марсе», если оно на химических резистивах. К тому же, только на несколько лет. А нормальные аспирационные датчики — это сотни долларов. Так что психрометрить на двух DS18B20 — единственный доступный метод, судя по всему.
+
avatar
  • mike888
  • 08 января 2018, 00:04
0
Насчёт DS18B20, точность там тоже аховая, воткнуть в макетку десяток впараллель и читать показания, всё будет понятно. Для психрометрии надо пару отобрать с одинаковыми показаниями. Но весь огород с со смачиванием датчика, по уму дистиллятом, удручает. Проще сделать волосяной гигрометр и читать показания преобразуя механику движения в сигнал любым удобным способом, дешевле фирменого датчика получиться, а точность мало чем будет отличаться. Надо только волосы нужной длины найти и обезжирить.
+
avatar
  • Dimon_
  • 08 января 2018, 00:29
0
DS18B20, точность там тоже аховая,
Я пробовал года три или четыре назад. Четыре штуки. Совпадение до второго бита после запятой. Так что всё там более чем прилично. Брал не вспомню где. Возможно, сейчас что-то изменилось в их качестве.

PS: Под волос тензодатчик очень трудно подобрать будет. Волос нельзя преднатягивать, насколько я знаю. И, да, лучше брать женские волосы, они чувствительнее.
+
avatar
  • mike888
  • 08 января 2018, 02:09
0
Волос висит свободно в гигрографе в горизонтальной плоскости, длина сантиметров 20 и вбок его натягивает механизм передающий на стрелку его положение усилие там совсем не символическое и натяг есть. Волос не один, там пучок. Фоток нет, он у меня на даче живёт, но думаю в инете найти что-то можно. померить усилие тоже не могу пока. Ход стрелки с пером сантиметров 10. можно приделать что угодно хоть резистор или катушку с вдвиганием сердечника, любой датчик линейного перемещения
Насчёт DS18B20 скорее всего как повезёт, оригинал может и точный, я брал дешёвое на али, клоны как уж получились, скорее всего китайцы отбраковку кристаллов скупают и хоть как-то работающие заливают в корпуса и продают, как это со многими кристаллами делают.
+
avatar
  • ploop
  • 08 января 2018, 02:08
0
Насчёт DS18B20, точность там тоже аховая, воткнуть в макетку десяток впараллель и читать показания, всё будет понятно
У них гарантированная точность полградуса, калибруются на заводе. Если настоящие конечно, что сейчас китайцы делают — не в курсе.
+
avatar
0
меня больше цена плашки с 6 диодами смущает
куда еще 2 пропали? и почему все синие
+
avatar
  • yurok
  • 08 января 2018, 01:07
0
я покупал давно — нашел похожую на али
диодов там столько же
aliexpress.com/item/DC-3V-5V-12V-Rapid-Prototyping-RED-LED-Breadboard-starter-kit-for-Arduino-UNO-Atmega-MEGA2560/32273206116.html
вот красная
ее легко изготовить самостоятельно, либо ЛУТ, либо (если изготовитель плат допускает панелирование — обычно остается кусочек, на который подобную штуку разместить
+
avatar
0
я видел с 5мм светодиодами, не стал брать по той цене
рисунок платы у меня лежит, надо как-то заморочиться и сделать фоторезистом
уже наклеил его, засвечивать лень и потом на циркулярке пилить, там где-то 10 плат вылодит

вот если бы китайцы дешево предлогали 1 плату с панелизацией, то я бы туда отдал как раз такой кусок здоровый
но за 5-15 баксов не видел
+
avatar
  • yurok
  • 08 января 2018, 12:56
0
dirtypcbs.com за 20$ изготовят 10 плат 5x5 см с панелизацией, за 26$ — 10 плат 10x10 см
так что если вместе с чем то другим — то норм
+
avatar
  • alvaar
  • 07 января 2018, 23:06
0
Всё хорошо в mcp23017, можно определять входы и выходы на любые контакты, только лучше остерегаться использовать GPA7 и GPB7 как вход (источник).
+
avatar
0
согласно спецификации SDA/SCL должны быть подтянуты к VDD
на плате автора резисторы подтяжки есть, а вот на схеме типового включения их нет
для отважных разработчиков, которые не любят читать английским по белому документацию и черпающих знания с mysku это будет некоторым открытием :)
+
avatar
  • yurok
  • 08 января 2018, 01:00
0
да — про резисторы не написал, добавлю — спасибо
но на схеме типового подключения их неправильно показывать — там разъем и таких устройств может быть много — подтягивать следует только один раз

дописал про это
+
avatar
  • kepler
  • 08 января 2018, 02:47
0
Английский у вас, конечно, адовый ))
+
avatar
0
Обзор и представленная конструкция понравились.
Маленькое замечание к конструкции, выводы 1 и 9 драйверов L293D (EN1,2 и EN3,4) подтянуть через резистор к +5В.
Если это на плате реализовано, но я не разглядел, то заранее извиняюсь.
+
avatar
  • yurok
  • 08 января 2018, 16:54
+1
приветствую, спасибо
эта версия микросхемы уже идет с подтяжкой этих выводов к питанию

помимо этого она имеет тепловую защиту и отключает выходы при температуре 70 градусов — я помучал ее основательно перед использованием
+
avatar
0
С одной стороны я согласен с Вами, но, дело не в присутствии встроенной подтяжки к питанию сигналов EN, а в организации входов драйвера.

С другой, везде в даташитах на типовой схеме включения L293 эту подтяжку рекомендуют делать.
Ну, и через пины GND предполагается дополнительный теплоотвод от драйверов, вряд-ли наличие панелек этому способствует.
В любом случае, дело вкуса.
Спасибо.
+
avatar
  • yurok
  • 08 января 2018, 18:32
0
Что не так с рисунком и для какой конкретно микросхемы смотрите?

по поводу тепла и панелей, во первых ток кранов лежит в пределах 30-50 мА, (в обзоре есть ссылка на другой обзор, где я все измерения проводил, во вторых потери в передаче тепла панельки будут незначительны, в большинстве пром устройств для данной микросхемы используются панельки, в силу простоты замены микросхемки (иногда это требуется)
+
avatar
0
Мною был приведен рисунок из даташита на L293, L293D от TI, в даташите ST таких подробностей нет.
Основной мыслью было — нет никаких особых версий L293 с подтяжкой этих выводов к питанию.
Про панельки я сразу написал, что дело вкуса.
Если мой тон Вам показался агрессивным, это не так.
+
avatar
  • yurok
  • 09 января 2018, 00:03
0
Все дело в том, что китайские версии этих платок соответствуют L293DNE, на которой есть подтяжка к 1 всех входных сигналов, если измерите напряжение на EN — убедитесь в этом, в этом случае подавать что либо на EN не требуется, если не нужно делать ШИМ, а мне он не нужен, опыт эксплуатации при таком подключении в огороде составил 3 сезона
+
avatar
  • cyrax85
  • 08 января 2018, 21:17
0
о, великолепно! Тоже пилил не спеша похожую плату для автоматизации и тоже на 23017, но Ваша гораздо продвинутее… А не планируете выложить герберы для самой платы полива? Она мне бы идеально подошла )