Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.09.2015, 10:50  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от NewWriter Посмотреть сообщение
Ну не должен выход RC5 переключаться на вход, вместо того, чтобы выдать высокий уровень на выход. Программа из-за ошибки в выборе банков работает с регистром направления TRIS, а не с регистром выхода PORT. У этих регистров одинаковые адреса в разных банках. Для работы с выходом, должен быть выбран банк 0. STATUS.3=0 (или как там в бейсике указывается команда то).
Странно, может я что то не так понял. Но я считал, что если в начале программы я записал TRISC.5=0, т.е установил этот вывод в состояние выхода и более нигде в программе я это состояние не меняю. Правда я меняю значение на выходе записями в коде PORTC.5=0 или PORTC.5=1. И получается, что компилятор может самостоятельно менять назначение вывода?

Сообщение от NewWriter Посмотреть сообщение
Резистор R1 нужно перевести в digital режим.
Огромное спасибо. Казалось бы я уже многократно менял(туда/сюда) эту настройку у всех резисторов.
Реклама:

Последний раз редактировалось vladh; 16.09.2015 в 10:52.
vladh вне форума  
Непрочитано 16.09.2015, 13:42  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Соединил 40 м кабелем. Связи нет. Идут наводки с шин А и В трансиверов. Повесил на шины резисторы по 470 Ом(как учил Гуру). Наводки пропали но связи нет. Подтянул резистором 4,3 к выводы переключения трансиверов. Связь появилась. Но правда работает со сбоями. Убрал резисторы 470 Ом но установил подтягивающие резисторы к входам приемников (RX) МК. Обмен стал стабильней.

Последний раз редактировалось vladh; 16.09.2015 в 14:40.
vladh вне форума  
Непрочитано 16.09.2015, 15:00  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Уважаемый, NewWriter. Хочу Выразить Вам свою огромную благодарность за то, что Вы терпеливо выслушивая мои, подчас неграмотные, заявления постоянно давали грамотные советы, которые позволили мне за достаточно короткий(для меня) срок решить стоявшие передо мной проблемы. СПАСИБО. Да и остальным посетителям страницы принявшим участие в обсуждении моих проблем, огромное спасибо. В результате этих обсуждений я поменял некоторые свои заблуждения, да и узнал новое для себя.

Последний раз редактировалось vladh; 16.09.2015 в 15:05.
vladh вне форума  
Непрочитано 16.09.2015, 15:02  
anatol378
Почётный гражданин KAZUS.RU
 
Аватар для anatol378
 
Регистрация: 19.10.2004
Адрес: Нижний Новгород
Сообщений: 1,746
Сказал спасибо: 416
Сказали Спасибо 1,240 раз(а) в 551 сообщении(ях)
anatol378 на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Владимир, какой кабель. Если компъютерный то на выходе передатчика и на входе приемника резисторы по 120 ом = волновому сопротивлению кабеля.


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

Последний раз редактировалось anatol378; 16.09.2015 в 15:05.
anatol378 вне форума  
Непрочитано 16.09.2015, 15:47  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от anatol378 Посмотреть сообщение
В качестве юмора по поводу благодарности - прижать стаканом надо, а так в карман не положишь и в рот не нальешь.
Я бы с радостью и без юмора. Но вот только как практически это сделать. Про виртуальный секс слышал, а про виртуальный стакан нет. Потому как за такие(виртульные) предложения ещё и послать могут.
А по поводу кабеля не знаю как его назвать(компьютерный он или нет) но на нем написано: REXANT FTP data cable 2PR 24AWG STRANDED CAT5E ISO/IEC 11801 ANSI/TIA/EIA 568B.... Похоже у него 2 витых пары, которые расположены в экране. Да на входах приемников у меня висят 120 омные резисторы.
vladh вне форума  
Непрочитано 16.09.2015, 17:22  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от vladh Посмотреть сообщение
если в начале программы я записал TRISC.5=0, т.е установил этот вывод в состояние выхода и более нигде в программе я это состояние не меняю.
Действительно, программа работает правильно. Оказалось, это гадит виртуальный инструмент осциллограф, подключенный к цепи RC5. Он аналоговый и получилось, что в цифровой цепи именно тут и нагадил. Уберите с RC5 осциллограф - и будет работать даже без резисторов на RC5. По крайней мере, у меня запустилось.
А принимаемые байты лучше контролировать инструментом Virtual Terminal - он там в проекте вставлен, в окошках показывает значения байтов.

Сообщение от vladh Посмотреть сообщение
Но правда работает со сбоями ... на входах приемников у меня висят 120 омные резисторы.
Нужно организовать защитное смещение:



При разомкнутой линии, когда на ней нет резисторов, ресивер согласно датащиту передает на выход RO лог.1. А если стоит резистор между парой, то ресивер уже не воспринимает линию как разомкнутую и на RO может быть как лог.1, так и лог.0, ибо линия находится в нестабильном состоянии и дифф. напряжение в ней меньше 0,2 В.
Это нестабильное состояние будет приводить к ложным срабатываниям приема UART, к ошибкам фреймов и невозможности получить старт-бит на приемнике в нужный момент. Отсюда - и отсутствие связи.
Диагностировать на практике такую проблему можно, введя в программу небольшой тест: необходимо отслеживать состояние бита Framing Error (FERR) в регистре RCSTA. Этот бит сигнализирует об отсутствии стоп-бита, который находится в строго определенном месте посылки.
Перед чтением регистра приема, вначале читаем состояние бита FERR, и если он =1, то например, включаем контрольный светодиод.

Сообщение от vladh Посмотреть сообщение
установил подтягивающие резисторы к входам приемников (RX) МК. Обмен стал стабильней.
Когда я только начинал работать в "железе" с контроллерами, я хорошо запомнил, что такое висящий в воздухе функциональны вход.
Буквально на третьем моем "железном" учебном проектом с динамической индикацией и клавиатурой я попал в засаду - цифры работали не так, как надо, засвечивались соседние разряды LED-индикатора, причем, реагировало даже на руку в 10 см над платой, цифры начинали волной мигать. Я весь вечер потратил в поисках ошибки в программе и пытаясь экранировать монтажную плату. А утром свежим взглядом увидел, что у драйвера ULN2003 я просто забыл подключить вход разрешения, он висел в воздухе. И высокоомного входа вполне хватило на то, чтобы собрать на себя наводку и получить напряжение, необходимое для циклического переключения с частотой 50 Гц, которая и наложилась на частоту динамической индикации.

Поэтому, со входом RX МК может быть точно такая же ситуация - вход RX, на время передачи оказавшийся в воздухе (RO трансивера находится в Hi-Z), приведет к ошибочному срабатыванию приема UART.

------
Ну и все-таки желательно принять некоторые меры против возможных ошибок приема. Хотябы простой бит четности, передаваемый с каждым байтом.

Сообщение от vladh Посмотреть сообщение
СПАСИБО
Усегда пожалссста!
NewWriter вне форума  
Непрочитано 16.09.2015, 23:09  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от vladh Посмотреть сообщение
поменял некоторые свои заблуждения
на некоторые ваши
неплохо б иметь ICD2 для отладки в железе, без протезов
jump вне форума  
Сказали "Спасибо" jump
makakus (19.09.2015)
Непрочитано 17.09.2015, 07:01  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от NewWriter Посмотреть сообщение
Нужно организовать защитное смещение:
В моем случае кабель должен быть подключен до начала работы. Поскольку все управление должно будет идти только с выносного пульта. Хотя в будущем скорее всего так и сделаю.

Сообщение от NewWriter Посмотреть сообщение
Ну и все-таки желательно принять некоторые меры против возможных ошибок приема. Хотябы простой бит четности, передаваемый с каждым байтом.
Да, в этом вопросе также есть своя проблема. Мне не очень страшно, когда некоторые посылки к пульту могут приходить сбойные, но очень важно чтобы команды пульта распознавались правильно. Поэтому видимо надо сделать так, чтобы ведомый получив команду от пульта, тут же ответил повторив в ответе важные параметры. И если ответ неверный, пульт вновь посылает посылку с отменой команды.
Сообщение от jump
на некоторые ваши
неплохо б иметь ICD2 для отладки в железе, без протезов
Вообще то у меня такая штука есть, но я ей уже давно не пользуюсь. Я когда то давно покупал от MikroElectronika плату EasyPIC версии 4. И там эта штука есть. Но я уже про неё забыл. Да и для данной задачи их необходимо иметь 2 шт.
vladh вне форума  
Непрочитано 17.09.2015, 07:38  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Некоторые сведения по подключению RS485 -
http://www.emag.ru/pdf/teldor.pdf
http://www.bookasutp.ru/Chapter2_3.aspx

Ошибки могут возникать в любом байте при любом направлении. Поэтому, никто не гарантирует, что ответная команда будет без ошибок.
Если самое простое - встраивать в каждый байт девятый бит четности, аппаратно он может передаваться МК, включив 9-разрядный прием/передачу. По крайней мере, он позволит отсеять одну случайную ошибку в байте.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
vladh (17.09.2015)
Непрочитано 17.09.2015, 07:44  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,982
Сказал спасибо: 2,554
Сказали Спасибо 11,862 раз(а) в 5,944 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Проще считать контрольную сумму. Можно простым суммированием. Даже при одном байте вероятность необнаруженной ошибки не шибко большая, а при двух байтах - вообще можно не заморачиваться.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Сказали "Спасибо" akegor
vladh (17.09.2015)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PROSTAR PR6000 по RS485 volk_perm Производственное оборудование 14 09.01.2017 18:18
PIC18F242 неправильная работа LCD 16x2 Kpomobm PIC 17 02.09.2014 03:13
Напряжённая работа Roshens Отвлекитесь, эмбеддеры! 8 01.09.2010 23:08
Работа с RS485 okt03 Микроконтроллеры, АЦП, память и т.д 13 13.02.2008 10:59


Часовой пояс GMT +4, время: 20:22.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot