Странное поведение arduino mega + rs232ttl

Тема в разделе "Arduino & Shields", создана пользователем alexzlo, 11 мар 2015.

  1. alexzlo

    alexzlo Нерд

    Предистория... сидел целый день ковырялся с ардуиной, подключал lcd 16x2. Скетч прекрасно работал, выводил на дисплейчик данные с Serial2. К концу дня я еще раз решил запустить ардуино. Но данные на дисплее уже не обновлялись. Оказалось что Serial2 постоянно забит какой то информацией. Я отключил Rsr232ttl данные, как и ожидалось, прекратили поступать. Начал подключать обратно и был сильно удивлен, когда диод на rs232ttl загорелся при подключении всего двух пинов GRD и RX. 3.3v при этом небыли вообще подключенны. Я начал пробывать на всех Serial1, Serial2, Serial3 везде одно и тоже. Только на Serial все снова заработало.

    Сижу чешу репу, как так получилось. Откуда постоянно напряжение у Ардуино 3v на пинах TX1, TX2, TX3????
     
  2. Unixon

    Unixon Оракул Модератор

    Активный логический уровень - низкий. Включенный исправный UART должен поддерживать "1" на TX при отсутствии активности. А вот почему 3.3V...
     
  3. alexzlo

    alexzlo Нерд

    я было подумал что переходник может коротит где нибудь, но у меня их 3 штуки и все ведут себя так же. Сдается мне что на пинах ардуины что то пробило и теперь по TX идет +
    Попозже проверю вольметром.
     
  4. alexzlo

    alexzlo Нерд

    Выяснил что такая фигня происходит при инициализации порта в скетче. Замерил напряжение 4.5v на TX.
    Может Arduino не исправно?
     
  5. Unixon

    Unixon Оракул Модератор

    Паразитное питание через сигнальную линию. Тогда в принципе понятно откуда у вас там 3V взялось. У вас 5V через TX питают весь переходник и просаживают линию до ~3V. Не забывайте подключать питание.
     
  6. Unixon

    Unixon Оракул Модератор

    Так и должно быть. В состоянии покоя на TX включенного UART должно быть Vcc, у вас это 4.5~5V.
     
  7. alexzlo

    alexzlo Нерд

    Да но при 4.5v на тх, у получается что порт занят, смотрю через RealTerm. В порт постоянно сыпятся данные какие то, хотя к нему ни чего не подключенно.
    При этом RealTerm пишет что RXD line is broken
     
  8. Unixon

    Unixon Оракул Модератор

    "Порт занят" - это уже из области ведения операционки, состояние линий UART-а никак с этим не связано.

    Вы RX/TX перекрестно включили?
     
  9. alexzlo

    alexzlo Нерд

    Да конечно перекрестно.
    Rs232 висит на Serial3, пишу скетч что бы посмотреть что видит ардуино
    Код (Text):
    while (Serial3.available()) {
        byte_buffer = (char)Serial3.read();
        Serial.println(byte_buffer);
    Смотрю в монитор порта , пишет одни нули в Serial. Хотя при этом я оправляю на Serial3 данные заведомо известно что там не нули.
     
  10. Unixon

    Unixon Оракул Модератор

    А скорость порта точно совпадает?
     
  11. alexzlo

    alexzlo Нерд

    Да все совпадает. Самое инттересное что все работало в течении дня, а потом резко перестало. Может нужно массу куда дополнительно, или конденсатор повесить? Я в схемотехнике мало что понимаю
     
  12. Unixon

    Unixon Оракул Модератор

    Ну если где-то земля плавает, тогда да, мусор будет валиться.
     
  13. alexzlo

    alexzlo Нерд

    Как найти плавающую землю?)
     
  14. Unixon

    Unixon Оракул Модератор

    Логически. Смотрите где не подключили. Можно мультиметром проверить: (-) на GND ардуины, (+) на GND или питание модуля. Если вместо стабильных показаний какая-то ерунда пляшет, значит у них нет общей точки, разрыв по земле и/или по питанию.