Перейти к содержанию
    

Я бегло прочитал топик, Возвращаясь к первому посту(постановка задачи), так это решается FTDI232RL + ADM485. Направление переключать одним из программируемых выводов FTDI( это можно сконфигурировать программой с ихнего сайта) если интересуют нюансы - отвечу, а вообще на сайте FTDI хорошо расписано.

 

Вот именно что бегло, топикстартеру нужно автоматически переключать направление без участия МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, какие это процики так себя ведут? Полезно знать, чтобы нечаянно не вляпаться в такое.. э-э-э... чудо :(
Серия LPC900 (P89LPC***) от NXP.

У "младших" бутлоадера нет, и по умолчанию бут-вектор на нулевом адресе, т.е. "вечный сброс". :)

 

Касательно FTDI (а именно - FT232R), там для работы с RS-485 вообще никаких настроек менять не надо. Но это уже не по теме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Реализовал схему post-62759-1298643964_thumb.jpg

 

При тестировании выявилась "непонятность"

В случайном порядке, или во всяком случае при непонятном для меня стечении обстоятельств, передача начинает барахлить. А именно при передачи старший бит выставляется в 1.

посылаю 110011, приходит 1011011 через раз... отсылаю 110011, 110011, 110011 приходит 1011011, 0011011, 1011011. Изменяю скорость передачи - глюк пропадает, опять передаю байты - нормально... проходит какое-то время данные опять начинают искажаться... Причем понять закономерность не получается... неужели это все из-за внешних помех возможно? пытался передавать данные с помощью функции "Отправить файл" - файл доходит медленно, но без изменений, даже на скорости 115200, подключаю модуль, уарт которого необходимо преобразовать к 485 интерфейсу и опять происходит искажение посылки... Подтянул А к +5 через 400ом, B к земле через 400ом, между ними поставил 110 ом, все также...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот не плохая микросхема пробовал на 115200 работала без проблем max13413

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

rpalaznik, у вас время разряда RC-цепочки R15-C16 сопоставимо с длительностью одного бита на скорости 38400. А вам нужно выдерживать паузу длительностью в один символ, т.е. 10-11 бит при вашей baudrate. Увеличьте R15 на порядок и включите его на на общий, а параллельно диоду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Реализовал схему
Я бы делал инвертор на pnp-транзисторе. У вас заряд емкости идет через R14 и передатчик включается с задержкой. Да и 10К для R13 многовато - уменьшите хотя бы до 1К.

 

А вам нужно выдерживать паузу длительностью в один символ, т.е. 10-11 бит при вашей baudrate.
Там нужно включать передатчик хотяя бы на полбита максимальной скорости. Для быстрой перезарядки емкости линии. Остальное время единица держится растяжками. 10К 1нФ прекрасно работает на 115200, но у меня инвертор не на транзисторе, на 74HC1G00.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там нужно включать передатчик хотяя бы на полбита максимальной скорости. Для быстрой перезарядки емкости линии. Остальное время единица держится растяжками.
Сергей, ну ты же сам понимаешь, что это настольная поделка радиогубителя какая-то получается, а не симметричный дифференциальный интерфейс - полбита драйвер тянет и еще полбита растяжки :laughing:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сергей, ну ты же сам понимаешь, что это настольная поделка радиогубителя какая-то получается, а не симметричный дифференциальный интерфейс - полбита драйвер тянет и еще полбита растяжки :laughing:

Представленную схему исправлять - только время зря терять. Надо делать на одновибраторе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сергей, ну ты же сам понимаешь, что это настольная поделка радиогубителя какая-то получается
485 - это не всегда линии по полтора километра. Иногда это просто один из самых дешевых способов получить соединение точка-много точек при небольшом расстоянии между узлами. И в таких случаях подобная схема работает прекрасно. На похожем приципе построен CAN, и почему-то никто не сомневается в его дифференциальности и симметричности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

rpalaznik, у вас время разряда RC-цепочки R15-C16 сопоставимо с длительностью одного бита на скорости 38400. А вам нужно выдерживать паузу длительностью в один символ, т.е. 10-11 бит при вашей baudrate. Увеличьте R15 на порядок и включите его на на общий, а параллельно диоду.

Перепаял R15, поставил параллельно диоду и увеличил номинал до 100 кОм. Проблема осталась...

 

Я бы делал инвертор на pnp-транзисторе. У вас заряд емкости идет через R14 и передатчик включается с задержкой. Да и 10К для R13 многовато - уменьшите хотя бы до 1К.

 

Там нужно включать передатчик хотяя бы на полбита максимальной скорости. Для быстрой перезарядки емкости линии. Остальное время единица держится растяжками. 10К 1нФ прекрасно работает на 115200, но у меня инвертор не на транзисторе, на 74HC1G00.

 

Попробовал поменять R13 с 10к до 1к -плата на передачу отказалась вообще работать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока вы будете заряжать С16 через сопротивление, вы будете терять стартовый бит. Вся фишка схемы, приведенной вам Сергеем, в том что она должна моментально переключается на передачу "0" и после еще некоторое время (R15-С16) держит включенной передачу.

Поэтому делайте инвертор на pnp транзисторе.

 

P.S. Сергей ошибся с резистором - меняйте до 1k не R13, а R12. R13 можете вообще выкинуть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока вы будете заряжать С16 через сопротивление, вы будете терять стартовый бит. Вся фишка схемы, приведенной вам Сергеем, в том что она должна моментально переключается на передачу "0" и после еще некоторое время (R15-С16) держит включенной передачу.

Поэтому делайте инвертор на pnp транзисторе.

 

P.S. Сергей ошибся с резистором - меняйте до 1k не R13, а R12. R13 можете вообще выкинуть.

 

Подойдет ли MOSFET NPN, а именно IRLML2402 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подойдет ли MOSFET NPN, а именно IRLML2402 ?
MOSFET (полевые транзисторы) не бывают pnp или npn - они бывают n-канальные и p-канальные. Нет, IRLML2402 не подойдет. Вам нужен или pnp биполярный или p-канальный полевой транзистор. Подойдет BC857. Его эммитер на плюс, с коллектора R14 на землю. Если хотите полевой транзистор - IRLM6401, 6402

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вся фишка схемы, приведенной вам Сергеем, в том что она должна моментально переключается на передачу "0" и после еще некоторое время (R15-С16) держит включенной передачу.

 

 

Очень четко сформулировано, что должно делаться.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

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

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...