Arduino uart 5v to uart 3v
- Войдите на сайт для отправки комментариев
Привет всем!
Arduino имеет uart 5в. Я подключаю его к устройству, которое слушает ардуину и передает ему в ответ.
Устройство имеет uart 3в. От устройства к ардуино сообщения приходят 100% всегда. А вот от ардуино к устройству то приходят, то нету их... Пытался делителем из сопротивлений согласовать uart. Но как-то не особо сработало...
Заметил странную штуку и не пойму как ее эмулировать.... При подключении ардуины по USB порту и открыв терминал обмен данными между устройством и ардуиной идет 100%, а если подключаю ардуино череб БП, то нормально данные только в одну сторону идут...
Может надо tx или rx подтянуть к чему-нибудь? А то мистика какая-то...
И еще странное явление, подскажи кто вкурсе: я так понял функция setup() выполняется один раз, так почему при подключении ардуины по USB, при открывании терминала я каждый раз получаю сообщение "my testing"? Ардуино вроде как не перезапускается.... Если закрыл и открыл терминал не отключая USB опять будет это же сообщение... В чем фишка? Кто может подсказать что происходит?
И почему при рабочем терминале ардуины данные летят 100% в обе стороны, а с закрытым терминалом только в одну?
void setup() { Serial.begin(9600); Serial.println("my testing"); }
в USBasp используется следующий аппаратный метод совмещения логических +3V <-> +5V попробуй
http://chipenable.ru/index.php/how-connection/item/91-soglasovanie-logicheskih-urovney.html
http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-5v-i-33v-ustroystv.html
А можно не париться и купить уже готовое:
http://ru.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Direction...
http://ru.aliexpress.com/item/Free-shipping-3-3V-5V-TXS0108E-8-Channel-L...
И еще странное явление, подскажи кто вкурсе: я так понял функция setup() выполняется один раз, так почему при подключении ардуины по USB, при открывании терминала я каждый раз получаю сообщение "my testing"? Ардуино вроде как не перезапускается.... Если закрыл и открыл терминал не отключая USB опять будет это же сообщение... В чем фишка?
При открывании терминала ардуина ресетится.
http://chipenable.ru/index.php/how-connection/item/91-soglasovanie-logicheskih-urovney.html
http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-5v-i-33v-ustroystv.html
А можно не париться и купить уже готовое:
http://ru.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Direction...
http://ru.aliexpress.com/item/Free-shipping-3-3V-5V-TXS0108E-8-Channel-L...
Спасибо за помощь!
Статьи смотрел, пробовал делитель напрядения на сопротивлениях... Почему-то не работает...
Ссылки на железки спасибо, заказал на TXS0108E.
Пока будет идти, хочу купить мк и на соплях попробовать работу, в даташите не увидел на сколько надо конденсаторы по питанию использовать... Подскажите кто вкурсе?!
Пока будет идти, хочу купить мк и на соплях попробовать работу, в даташите не увидел на сколько надо конденсаторы по питанию использовать... Подскажите кто вкурсе?!
Смотря какие устройства будут висеть на этой же линии питания. И общая помеховая обстановка рядом с МК. От высокочастотных помех - керамику 0,1 мкФ (например, коллекторные электродвигатели и др.) (если помехи и наводки очень большие, например от промышленноо оборудования, то ставят ферритовые фильтры на провода и МК экранируют). От просадок питания (мощная нагрузка на этой же линии питания) - электролит 10 - 100 мкФ или больше.
А так, в идеальных условиях без помех и хорошем питании без просадок, МК может вообще без всякой обвязки работать.Тупо одна микросхема, даже без кварца :)
Микросхемы в моем магазине нету... Буду ждать из Китая.
Нашел у себя MAX232. Решил попробовать обойти согласование уровней через преобразованный RS232.
Итог хреновый: Когда я питаю arduino uno через внешнее питание, то в порт от arduino летит нечитаемая каша.... Если Питание на arduino подаю через USB -> usb блок питание 5в. то таже хрень... ЗАТО если я подключаю arduino по USB к компу не запуская терминала (или с запущенным, разницы нет) то идет 100% читаемый текст...
Меня эта мистика уже бесит!
в USBasp используется следующий аппаратный метод совмещения логических +3V <-> +5V попробуй
Подскажите в чем суть этого? Это схема внутряя arduino? или это схема обвеса для подключения чего-либо по USB? Если да, то D- и D+ это uart rx/tx? или нет?
в USBasp используется следующий аппаратный метод совмещения логических +3V <-> +5V попробуй
Подскажите в чем суть этого? Это схема внутряя arduino? или это схема обвеса для подключения чего-либо по USB? Если да, то D- и D+ это uart rx/tx? или нет?
суть в подтяжке сигнальной линии к напряжению 3.3V. это кусок схемы программатора USBasp - схема обвеса контроллера AVR с напряжением питания 5V для работы с USB хостом компьютера, у которого логические уровни 3.3V
А я думал по другому: Сигналы D+ и D- имеют трёхвольтовую логику как и весь стандарт ЮСБ.
А резистор R3 нужен только для того чтобы определить что воткнули USB дэвайс требующий общения .
При этом если притянут D+ - это значит FULL Spead USB device,
а если притянут D- - это значит LOW Spead USB device,
В отличии от случая замкнутых D+ и D- что означает что дэвайс воткнули в тупую зарядку
https://www.google.ru/search?q=usb+d-+pullup+resistor&newwindow=1&biw=19...
А я думал по другому: Сигналы D+ и D- имеют трёхвольтовую логику как и весь стандарт ЮСБ.
верно ты думал.
сейчас сомневаешься?
А резистор R3 нужен только для того чтобы определить что воткнули USB дэвайс требующий общения .
При этом если притянут D+ - это значит FULL Spead USB device,
а если притянут D- - это значит LOW Spead USB device,
кому это сейчас интересно?