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

Max232, Параллельное Подключение


Рекомендуемые сообщения

Всем добра!

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

Вопрос к знающим людям:

Как реализовать подключение 5...10 контроллеров Мега8 к одному порту ПК?

Расстояние между контроллерами примерно 10 метров, расстояние от компьютера до самого дальнего контроллера метров 70. Про дальность передачи данных слышал (15 метров), буду резать скорость до 2400 БОД, а может и меньше, ставить экранированную витую пару и может еще что, по ходу буду решать.

Смысл такой: на каждой Меге будет свой МАХ232, далее соединяем все RX к одной жиле витой пары, аналогично TX, и GND. Адресация будет реализована программно, скорость обмена данными везде одна и та же.

Думаю в крайнем случае поставить еще один МАХ232 на входе в СОМ порт пк, если не будут доходить нужные уровни 1 и 0.

Насколько эта схема будет рабочая ( хотя бы теоретически), или может кто нибудь практиковал такое?

RS485 прошу не предлагать, с ним на данный момент все как то слишком сложно для меня, планирую изучить его позже.

Заранее спасибо.

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

С Rx должно прокатить.

А вот с Тх?

Ну, подключили все Тх к одной жиле, всё дружно держат 1 на ней. Вдруг кому-то потребовалось передать байт на компьютер. Сможет ли этот один перебороть остальных и установить 0 на линии для начала передачи?

Тут надо все выходы Тх держать отключенными, и подключать только тот МАХ, чей адрес совпал и ему разрешено ответить на запрос компьютера.

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

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

С ним будет не сложнее разобраться, чем с тем же 232.

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

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Всем спасибо за ответы.

То есть, на 485 можно будет и принимать и отправлять данные между всеми мк, я правильно понимаю? А если 1й мк начал передачу 2му, и в это время 3й захотел передать данные еще какому- то, то 3й будет ждать пока не освободиться канал связи? Прошу поправить если где не прав. Ну и если есть ссылочку выложить прошу по поводу 485. Кстати, как ее в CVAVR реализовать? в CCodeVizard не нашел. Или не там искал?

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

А реализация RS-485 чисто железная, с точки зрения программирования это обычный RS-232. Только логика работы стандартная - один ведущий выдаёт в сеть адрес (есть два широковещательных адреса - 0 и 255) и команду (например, получить готовность или передать данные). Все ведомые слушают, если адрес не его - команду игнорируют. Отвечают только при совпадении адреса. По своей инициативе никогда передачу не начинают, этим избегаются конфликты. Широковещательный адрес используется в единственном случае - задать личный адрес. При этом устройство подсоединяется одно, а уже после получения и запоминания адреса - в общую сеть.

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

Если все же останОвитесь на использовании МАХ232, дам совет, как не спалить МАХ'ы. Выходы Тх объединяйте через диоды (аноды каждый к своему Тх, катоды "в кучу" и к Rx СОМ-порта). На моей практике не было случая, чтобы подобное "обрезание" полярности сигнала сказывалось на работе интерфейса. По скорости: много лет без сбоев работают самоделки по телефонной "сотке" на расстоянии больше километра, скорость 1200 бод.

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

То есть, перед выполнением строки Printf нужно включить передатчик и выключить приемник, а после строки выключить его, соответственно, включить приёмник?

есть два широковещательных адреса - 0 и 255

Если не затруднительно, объясните об этих адресах по подробнее.

И ещё вопрос: можно ли передать в шину в виде символов ascii например #e01:rpm$, где # и $ будут началом и окончанием передачи, а e1 адресом? Ну а принимающая сторона будет следить - если пришло e01, то выполнит команду rpm, а если e02, то про игнорирует. Подвязываться к стандартному оборудованию ( стандартному протоколу )не хочу, ибо не могу понять сам протокол.

дам совет

Спасибо, учту, тоже как нибудь попробую.

А пока все таки 485 по стараюсь изучить. Ну или хотя бы поковырять.

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

Широковещательным адрес называется потому, что на него обязано отозваться устройство с любым личным адресом (1 - 254). Поэтому ведущий отдаёт команду с широковещательным адресом в единственном случае: если личный адрес устройства неизвестен и устройство - единственное подключенное. Иначе отвечать начнут все сразу, естественно вместо ответа будет "каша". Обычно широковещательных команд только две: "сообщить личный адрес" и "изменить личный адрес". Ну иногда бывает "сообщить тип устройства" и "сообщить версию программного обеспечения". Есть одно исключение: широковещательная команда, на которую ответ от ведомого не требуется, поэтому её подают при всех подключенных устройствах: "установить дату и время".

В шину можете передавать всё, что угодно, протокол не стандартизован. Но удобно использовать формат {адрес}{команда}{данные}{контрольная сумма}. Каждый ведомый принимает первый байт (адрес), если он не совпадает с личным или широковещательным - то никак не реагирует до конца передачи. Между пакетами ведущим должна выдерживаться пауза, если ведомый в течение паузы на линии ничего не слышит, то опять начинает ждать первый принятый байт. Если адрес совпал с личным - то принимает команду и если требуется - параметры команды, может быть как один, так и несколько байт. Последним передаётся контрольная сумма, обычно CRC16 или CRC32. Если длина линии связи небольшая и есть уверенность в отсутствии помех, то контрольную сумму можно не использовать. После выполнения команды ведомый отправляет результат, в конце тоже подсчитанную контрольную сумму. Чтобы ведомые ответ другого ведомого не спутали с командой ведущего, первый байт не должен равняться личному адресу какого-нибудь устройства в сети. Обычно используют 254 или 127.

Полезно рассмотреть открытый протокол промышленного оборудования и взять за образец. Пример в этом документе со страницы 20.

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...