Передача даных по RS 485
|
|
Broka |
Дата: Пт, 15.10.2010, 21:14 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Задумка такая, состыковать два PIC, по RS 485 (длина линии примерно 120м). Первый PIC будет работать на дискретные датчики ( Контакты 8 шт ), второй принимать информацию по RS 485, Во втором PICе будет стоять LCD руссифицированый который должен будет выводить на дисплей, то или иное событие при срабатывании того или иного датчика ( Вообщем сигнализация тех. процессов) Есть ли у кого по этому поводу какие то подсказки? Читал про USART, ни как не догоню как работает, тем более ставить надо по любому микросхему работающую на RS 485, (Вроде как так?) Если кто сталкивался с таким , просьба разьяснить! Пишу исключительно на PicBasicPro(Протон не знаю Заранее премного благодарен!
Наладчик КИП и А
Сообщение отредактировал
Broka - Пт, 15.10.2010, 21:17
|
|
|
|
deskjet |
Дата: Сб, 16.10.2010, 10:17 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
143
Замечания:
±
На сайте с 20.06.2009
Статус:
Offline
|
Первый ПИК для чего нужен? 8 контактов нельзя просто подсоединить к линии, проводов жалко? Если связываться с интерфейсами то почему не выбрать 1-Wire или SPI? Есть ведь готовые библиотеки для работы с USART, трудностей возникнуть не должно.
За 20 8 дней ни одного сгоревшего микроконтроллера. PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
Сообщение отредактировал
deskjet - Сб, 16.10.2010, 13:08
|
|
|
|
Broka |
Дата: Сб, 16.10.2010, 21:16 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Проводов не жалко, просто конкректно надо видеть на дисплее, что произошло! Можно конечно поставить восемь светодиодов и подписать над каждым что твориться на той стороне. но только это как то по детски. Вот поэтому и есть такая задумка, сегодня почитал немного про USART? немного стал вьезжать как всё работает, буду пробовать!
Наладчик КИП и А
|
|
|
|
demanik |
Дата: Сб, 16.10.2010, 21:52 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (Broka) Задумка такая, состыковать два PIC, по RS 485 Смотрите тут:http://www.picbasic.ru/forum/15-61-1 17-сообщение код на пикбейсике для для подчиненного устройства промышленного протокола MODBUS RTU. В пике используется USART а для связи между устройствами RS485 15-сообщение пример программы обмена от Алекса
Попробуй всё и вся... может быть пол...
Сообщение отредактировал
demanik - Сб, 16.10.2010, 21:59
|
|
|
|
demanik |
Дата: Сб, 16.10.2010, 22:33 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (deskjet) Если связываться с интерфейсами то почему не выбрать 1-Wire Ограниченная длина линии и очень чуствителен к наводкам. Уже на 2-3метрах глючит. А через RS485 длина линии до 1,2км Не обязатально использовать USART можно и самому написать свой протокол, но через USART думаю проще.
Попробуй всё и вся... может быть пол...
|
|
|
|
deskjet |
Дата: Вс, 17.10.2010, 11:35 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
143
Замечания:
±
На сайте с 20.06.2009
Статус:
Offline
|
Quote (demanik) Ограниченная длина линии и очень чуствителен к наводкам. витая пара в экране и 300м обеспечено Quote (demanik) Уже на 2-3метрах глючит ну так ведь длина линии передачи - есть функция от скорости (и от допустимого количества ошибок передачи), а мегагерцы в данном случае не нужны
За 20 8 дней ни одного сгоревшего микроконтроллера. PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
|
|
|
|
demanik |
Дата: Вс, 17.10.2010, 13:08 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (deskjet) витая пара в экране и 300м обеспечено Это в теории. Я на практие использую DS18B20 уже лет-5 за всю историю установлено больше 200штук. Экспериментировал с разными кибелями с экраном и без и с разным сечением жил. Все зависит от уровня электромагнитных помех обекта, наводку дают даже лампы дневного света. Устойчивая связь без сбоев получалась на линиях до 40-50метров Это на практике!!!. в некоторых местах уже при15-20метрах с экранированой витой парой шли сбои а внекоторых 20-30метров на обычном сигнализационном (4-жильном не витая пара) работает идеально. Идеальный кабель это витая пара зечением 0,5-0,75 квадратов в экране. Но его трудно достать и он дороговат.
Попробуй всё и вся... может быть пол...
|
|
|
|
deskjet |
Дата: Вс, 17.10.2010, 13:14 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
143
Замечания:
±
На сайте с 20.06.2009
Статус:
Offline
|
А как на счет драйвера который упоминается в даташите на DS18B20 (обещано до 600м)? Ну и опять же, скорость передачи можно (нужно) снизить, так как принимать будет ПИК то не нужно гнаться строго выдерживая протокол DS18B20
За 20 8 дней ни одного сгоревшего микроконтроллера. PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
Сообщение отредактировал
deskjet - Вс, 17.10.2010, 13:22
|
|
|
|
demanik |
Дата: Вс, 17.10.2010, 13:30 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (deskjet) Ну и опять же, скорость передачи можно (нужно) снизить, так как принимать будет ПИК то не нужно гнаться строго выдерживая протокол DS18B20 Тогда нужно самому писать протокол. А написать Slave устройство для 1-Wire совсем непросто.
Попробуй всё и вся... может быть пол...
|
|
|
|
deskjet |
Дата: Вс, 17.10.2010, 14:08 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
143
Замечания:
±
На сайте с 20.06.2009
Статус:
Offline
|
Библиотечные функции языка использовать почему нельзя?
За 20 8 дней ни одного сгоревшего микроконтроллера. PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
|
|
|
|
demanik |
Дата: Вс, 17.10.2010, 14:16 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (deskjet) Библиотечные функции языка использовать почему нельзя? А как Вы собираетесь Quote (deskjet) скорость передачи можно (нужно) снизить в библиотечной функции. И в библиотечной функции присутствует только Master а Slave нужно писать самому.
Попробуй всё и вся... может быть пол...
|
|
|
|
deskjet |
Дата: Вс, 17.10.2010, 15:18 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
143
Замечания:
±
На сайте с 20.06.2009
Статус:
Offline
|
Есть такая хитрость: компилируем проект под одну частоту а на самом деле используем другую. Например, когда мне надо было посмотреть на осциллографе через звуковую карту фактический протокол 1-Wire, программу скомпилировал для f=50MHz а кварц поставил на 1MHz (AVRSimulatorIDE). Разумеется, использовал библиотечные функции.
За 20 8 дней ни одного сгоревшего микроконтроллера. PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
Сообщение отредактировал
deskjet - Вс, 17.10.2010, 15:19
|
|
|
|
DAlexV |
Дата: Вс, 17.10.2010, 20:13 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (deskjet) программу скомпилировал для f=50MHz а кварц поставил на 1MHz А потом голову ломаем почему то LCD то не те значения принимаем. demanik, правильно говорит. "На заборе то же пишут ... , а на самом деле там дрова лежат" 1-Wire очень капризный протокол, проще на такой длинне 485 использовать, а не городить огород. Тем более название само за себя говорит. По поводу самого задания, demanik, давал ссылку на нашу с ним переписку в 4 посте. Так же я где то описывал пример создания собственного протокола. Могу предложить еще один вариант PIC + компутер с небольшой программкой, и вешать на шину несколько пиков с датчиками. А дальше уже дело фантазии.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
deskjet |
Дата: Пн, 18.10.2010, 10:52 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
143
Замечания:
±
На сайте с 20.06.2009
Статус:
Offline
|
Quote (DAlexV) А потом голову ломаем почему то LCD то не те значения принимаем Как это скажется на работе LCD? Современные LCD и МК - полностью статические устройства. Главное не превысить верхний предел частоты, а нижнего предела не существует. PS: меня как то не интересует, что пишут на заборах )
За 20 8 дней ни одного сгоревшего микроконтроллера. PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
Сообщение отредактировал
deskjet - Пн, 18.10.2010, 19:24
|
|
|
|
DAlexV |
Дата: Пн, 18.10.2010, 19:44 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (deskjet) Как это скажется на работе LCD? Современные LCD и МК Quote (deskjet) программу скомпилировал для f=50MHz а кварц поставил на 1MHz В итоге все задержки и т.д. становятся больше в 50 !!! раз. Lcd еще могут работать на пониженных частотах, а некоторые элементы нет + выполнение программы увеличится в 50 !!! раз. Опять огород в итоге. Quote (deskjet) PS: меня как то не интересует, что пишут на заборах ) Это имелось в про разницу между теорией и практикой. То что заявлено не всегда на самом деле происходит.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|