Работа контроллеров от внешнего питания

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем priezz, 2 янв 2017.

  1. priezz

    priezz Нерд

    Форумчане, у меня, видимо, совсем нубский вопрос, уверен, что ответ из разряда очевидных...

    У меня имеется два Iskra JS, соединенных друг с другом через USART2 (Serial2, пин CK не задействован). При подключении к ПК все функционирует, как надо, однако при отключении USB (питание 12В от внешнего источника все это время подключено) от внешнего источника устройства перестают "видеть" друг друга (для мониторинга мигают разные лампочки когда коммуникация в порядке и когда не идет).

    При рестарте с отключенным USB вообще не похоже, что serial-интерфейс инициализируется.

    Симптомы очень напоминают вот этот кейс из траблшутинга espruino, однако в коде нет ни одного вызова console.log или print. Также пробовал принудительно завязывать консоль на USB, чтобы исключить использование в этих целях Serial2, однако это также не помогает:
    Код (Javascript):

    E.on('init', function() {
      USB.setConsole()
    })
     
    На обоих контроллерах порт инициализируется вот так:
    Код (Javascript):

    Serial2.setup(115200, {
      bytesize: 8,
      stopbits: 1,
      parity: 'odd',
      flow: 'none',
    })
     
    rx/tx не прописываю, т.к., насколько я понимаю, используются пины по умолчанию (A2/A3).

    Собственно вопрос - как вылечить зависимость от USB?
     
  2. ИгорьК

    ИгорьК Оракул Модератор

    Общая земля, обязательное определение пинов плюс скорость 9600.
     
  3. priezz

    priezz Нерд

    Раз от usb работает, значит с землей, пинами и скоростью порядок? Или нет?

    1. Почему только 9600, я где-то в документации пропустил? Тут сказано, что 9600 - это значение по-умолчанию, но где-то еще я видел, что макс - это 115кбод.
    2. Земля. У меня каждый контроллер питается от своего блока питания. Сейчас контуры +3, +5 и земля у контроллеров не пересекаются. Нужно все таки объединить минусы от двух БП?
    3. Определение пинов - т.е. контроллер ведет себя по-разному при подключении к usb (знает пины) и без него (не знает). С чем это связано?

    Это я не прикапываюсь, хочу понимать теоретическую часть :) Все предложенное обязательно попробую (после 8-го) и о результате отпишусь, спасибо.
     
  4. ИгорьК

    ИгорьК Оракул Модератор

    Земля обязана быть общей.
     
  5. rkit

    rkit Гуру

    Изучите что такое электричество, и особенно напряжение, чтобы было понятно про землю.
     
  6. Jeremy Blum

    Jeremy Blum Нерд

    Вот ссылка:
    «Конспект Хакера» в электронном виде:
    ''Конспект Хакера" - это буклет от "Матрешек"
     
    RGB-светодиод нравится это.
  7. ИгорьК

    ИгорьК Оракул Модератор

    1. 9600 потому что не известно качество и длина вашей проводки. Чем ниже скорость тем надежнее работа.
    2. Земля обязана быть общей х 100500. Запомните. Исключение - опторазвязка.
    3. Читать документацию. Если не читать - определять обязательно. Больше со смартфона объяснить сложно.
     
    priezz нравится это.
  8. priezz

    priezz Нерд

    1. Расстояние - около 5 см, соединение перемычками на макетной плате. В моем случае 9600 маловато, пакеты (составные) идут 5-10 раз в секунду и они не всегда маленькие - я соорудил своего рода сеть, гоняю JSON с командами и параметрами к этим командам для соседнего контроллера;

    2. Запомнил :) А где почитать теорию, зачем объединять землю между различными устройствами? С ходу не нагуглилось, только утверждения, что либо развязка, либо общая земля;
    Правильно ли я понимаю, что USB как раз и обеспечивает общую землю в моем случае?

    3. Перед тем как задавать вопрос всегда пытаюсь найти ответ сам... В документации как раз сказано, что указание пинов (как и прочих опций) не обязательно, и в качестве rx/tx по-умолчанию берутся младшие допустимые для данного интерфейса пины. Полагаю, так и есть, а все мои беды только от отсутствия общей земли.
     
  9. priezz

    priezz Нерд

    Спасибо за ссылки, но в моем случае, наверное, лучше взять в руки школьный учебник физики и почитать про общую для разных источников питания землю/ноль.
     
  10. rkit

    rkit Гуру

    Нету там такой главы. Надо просто понимать, что такое электричество и как оно работает.
     
  11. ИгорьК

    ИгорьК Оракул Модератор

    Сначала уверенное соединение, потом скорость догонять.
    Эм... не знаю. Есть умные книги по электронике, наверное там.
    Ток идет по двум проводам. RX, TX в данном случае это не пара проводов, а самостоятельные линии. А второй провод к каждой?
    Ну... в документации иногда пишут то, что было раньше. Наверняка сталкивались.
    Мы же ищем решение проблемы и обязаны максимально все проверить.
     
    priezz нравится это.
  12. priezz

    priezz Нерд

    RTFM - это всегда отличный совет. Однако, ткнуть пальцем в конкретное место этого самого мануала часто более эффективно, т.к. у меня есть таки чувство, что знаю и понимаю.

    Я просто балбес! Теперь все на своих местах ))) Совсем выпало из головы, что во всех serial дата-кабелях тоже есть земля. Надо, видимо, спать больше, тогда такие очевидные вещи не придется выпытывать на форуме )
     
  13. rkit

    rkit Гуру

    Пальцем - понятия заряд, ток, напряжение. Самые-самые основы.
     
  14. priezz

    priezz Нерд

    Вы почему-то решили, что мне эти понятия не известны...
     
  15. rkit

    rkit Гуру

    Может и известны, но явно не понятны, если вы не понимаете, почему нужна общая земля.
     
  16. priezz

    priezz Нерд

    Вместо отсылки к теории, Вы бы взяли и объяснили (уже не надо, благодаря Игорю все прояснилось). А иначе, Вы лишь засоряете форум бесполезными сообщениями. На stackoverflow и прочих ресурсах, поддерживающих негативную оценку, это, определенно, был бы минус.

    А вот Игорю огромная благодарность. Я форум читаю уже пару месяцев и почти не видел тем без Вашего участия. Сам не могу себя заставить настолько регулярно отвечать на вопросы в сфере моих компетенций...
     
  17. rkit

    rkit Гуру

    Мне надо сейчас сесть и выписать вам от себя в форум три главы из книги, без которых толком не вникнуть? Запросы умерьте чуть-чуть.
     
  18. Jeremy Blum

    Jeremy Blum Нерд

    Почитайте лучше это, не пожалеете.
     
    RGB-светодиод нравится это.
  19. ИгорьК

    ИгорьК Оракул Модератор

    Джереми, дорогой! Освоить этот конспект могут лишь реальные хакеры, коим никто из данной темы не принадлежит. Этого нам не постичь уже в силу старческого возраста...
     
  20. Jeremy Blum

    Jeremy Blum Нерд

    Этот конспект не для хакеров. Там описаны основные законы электриччества
     
    RGB-светодиод нравится это.