передача логических уровней в I2C. Micro зависает.

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Sarin, 20 авг 2013.

  1. Sarin

    Sarin Нуб

    Здравствуйте!

    есть задача подключить i2c-датчик, работающий от 3.3 вольт к ардуине micro. сама ардуино использует 5 вольт. для связи логических уровней в i2c можно применить MOSFET. вот описание методики: http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf

    я использую транзисторы IRF530, из набора, а в качестве программы которая с этим всем работает I2C Scanner. однако плата ведёт себя почти как покойник. синий диод светится, значит КЗ нет. но программа не печатает вообще ничего так, будто зависла на Wire.begin();

    если разорвать соединение SDA и SCL с DRAIN транзисторов и снова включить стенд, то сканнер будет исправно печатать информацию о единственном подключённом устройстве.

    немного информации:
    в той части цепи которая работает от 3.3 вольт нет вообще ни одного устройства и SDA и SCL фактически просто висят в воздухе. подтягивающие резисторы в обоих частях цепи на 10 килоом. в качестве I2C устройства использую 24LC64.

    кто знает, или догадывается, или просто предполагает в чём проблема пожалуйста поделитесь советом.
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    На уровне догадки. IRF530 не может полностью открыться от 3,3 В, что необходимо по схеме из документа. Я собрал девайс из светодиода и IRF530, и попробовал подать на его затвор сигнал 3V3 с Arduino. Светодиод загорелся, что, противоречит этой теории с одной стороны, но с другой в случае с TWI всё устроено несколько иначе.

    Стоит попробовать использовать MOSFET серии IRL. Они не такие «силовые», но имеют меньший порог открытия.
     
  3. Sarin

    Sarin Нуб

    спасибо! пожалуй попробую специально приобретённые BSS138. придётся немного попаять.
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    О! BSS138. С ними нужно очень чутко соблюдать температурный режим: чуть перегреть и он открывается навсегда.
     
  5. Sarin

    Sarin Нуб

    с чего бы ему перегреться на шине данных?

    это всё нужно на этапе разработки. вообще планирую и мк, и датчик запитать от 3.3 вольт. вроде у attiny на 1 MHz с этим проблем быть не должно.
     
  6. nailxx

    nailxx Официальный Нерд Администратор

    Ах, да, не уточнил: я говорил про паяльник.
     
  7. Sarin

    Sarin Нуб

    о, это несколько меняет дело... буду работать аккуратно. SOT23 паять довольно просто и удобно.