Вход

Регистрация
Главная
 

 

Пиротехнические пульты, пиротехническое оборудование
и пиротехника
Pyro Alex RF 48
Open Pyro SFX 8 D
Open Pyro SFX 10/120
Pyro Man 200 M
Spets 150
Приём заказов на изготовление пиротехнических пультов
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Пиропульты - Электроника Форум » Пиротехническое оборудование » В разработке » Пульт с обратной связью по rs485 интерфейсу
Пульт с обратной связью по rs485 интерфейсу
alexval2007Дата: Понедельник, 14.06.2010, 14:32 | Сообщение # 1
Электро воспламенитель
Группа: Администраторы
Сообщений: 662
Награды: 7
Репутация: 7
Статус: Offline
Вот потихонечку думаю подойти к проблеме создания нормального пульт с обратной связью по rs485 интерфейсу.
Хотелось бы обсудить протокол обмена данными smile
Я планирую использовать 40ногую atmega16 матрицу на клавиатуру в передатчике матрицу по выходам в приемнике портов не хватит потому что мы же еще хотим обратную связь кстати с ней самое интересное там тоже нужно что то мудрить
Open_Pyro писал уже на эту тему
Вот я и добрался до самого интересного – протокола обмена между устройствами….
Почитал про протокол ModBus, ProfBus – получилось что все они сложные для восприятия человеком…. Вернее чтобы человек спокойно мог написать команду не прибегая к переводу между десятичной, шестнадцатеричной и двоичной системой невозможно.

По этому решил просто передавать команды в ANSI текстовыми символами и используя десятичную систему исчислений. Для команд будут использоваться большие буквы латиницы "A", "B", "C", "D" и так далее, а все числа будут иметь формат "001".

Предлагаю использовать такой протокол обмена:

UNIT 001 START CH 001
- команда модулю №1 на запуск канала №1.

Прежде всего идет обращение к конкретному модулю.

UNIT 000 - Выбираем модуль с которым работаем

Заканчивается посылка символом
- перенос строки - это нажатие клавиши "ENTER" в программе ТЕРМИНАЛ.

Вот такие команды должен выполнять модуль

Запуск каналов:
START CH 000 Запуск запала №ХХХ

Тестирование и проверка:
TEST CH 000 Проверка запала №ХХХ
TEST V Проверка напряжения питания
TEST T Проверка температуры
PING Отклик (PING)
BEEP Подача звукового сигнала
FLASH Подача светового сигнала

Установка внутренних параметров:
SET ID 000 Установка номер модуля
SET START 000 Установка импульса тока для запала, в миллисекундах.
SET BEEP 000 Установка импульса звукового сигнала, в миллисекундах.
SET BEEP 000 Установка импульса звукового сигнала, в миллисекундах.

В будущем для программирования самого модуля (Прошивка сценария работы в модуль):

1. Синхронизация времени с ПК
2. Старт программы
3. Стоп программы
4. Задать время 00:00.00 (минуты : секунды . долисекунды) для воспламенения канала.

----------------------------------------------------------------------------------------------------------------------

Выбратл протокол ModBus. В прикрепленый файлах подборка материалов по теме.
Думаю использовать стандарт ModBus ANSI где посылки передаются в читаемом режиме ANSI.
Примерный вид посылки
": A1 C1 D1 CC {CR}{LF}"

":" - разделитель посылок
"A1" - адрес устройства (до 247 устройств)
"С1" - команда устройству
"D1" - данные
"СС" - CRC - контрольная сумма
"{CR}{LF}" - символы перевода и возврата строки
передается 4 байта информации "A1 C1 D1 CC"
но по интерфейсу UART ты отправляешь 8 байт - это в виде ANSII "A 1 C 1 D 1 C C"
+ к этому ты начинаешь посылку с ANSII символа ":" и заканчиваешь символом перевода и возврата коретки это два байта в HEX "0D 0A"
Всего по интерфейсу UART ты передаешь 8+3 = 11 байт.
ASCII фрейм.
В ASCII-режиме, сообщение начинается с "двоеточия" (:, ASCII 3A hex), и заканчивается последовательностью "возврат каретки-перевод строки" (CRLF, ASCII 0D и 0A hex).

Допустимые символы для передачи - это шестнадцатиричные цифры 0-9, A-F. Монитор сетевого устройства в сети непрерывно отслеживает символ "двоеточие". Когда он принят, каждое устройство декодирует следующие поле сообщения (поле адреса) и т.д.
Интервалы между символами сообщения могут быть до 1 сек. Если интервал больше, то принимающее устройство распознает это как ошибку. Типичный фрейм сообщения показан ниже.

¦ старт ¦адрес ¦ ф-ия ¦данные¦ LRC ¦конец ¦
+----- +------ +------ +------ +----- +----- +
¦1 сим ¦2 сим ¦2 сим ¦ n сим ¦2 сим¦2 сим ¦
¦ : ¦ ¦ ¦ ¦ ¦CR LF ¦
L----- +------ +------ +------ +----- +------

Исключение: В контроллерах типа 584 и 984A/B/X ASCII-сообщение может нормально заканчиваться после контрольной суммы без CRLF последовательности. Интервалы меньше 1 сек допускаются.
=============================================================================================================================
и так почитаем подумаем и определимся с форматом и основными командами протокола на которые будет реагировать наш пульт

 
Open_PyroДата: Среда, 16.06.2010, 00:20 | Сообщение # 2
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
Предлагаю использовать уже готовый открытый стандарт типа ModBus ASCII или какой нибудь другой аналог.
 
alexval2007Дата: Среда, 16.06.2010, 18:27 | Сообщение # 3
Электро воспламенитель
Группа: Администраторы
Сообщений: 662
Награды: 7
Репутация: 7
Статус: Offline
хочешь заюзать нечто вроде ModBus как в цитате приведенной выше?
 
Open_PyroДата: Четверг, 17.06.2010, 01:31 | Сообщение # 4
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
Нужно смотреть... Протоколов очень много ...
 
alexval2007Дата: Среда, 07.07.2010, 13:55 | Сообщение # 5
Электро воспламенитель
Группа: Администраторы
Сообщений: 662
Награды: 7
Репутация: 7
Статус: Offline
я все таки склоняюсь к урезанному модбасу вроде неплохая вещь
 
Open_PyroДата: Четверг, 08.07.2010, 10:29 | Сообщение # 6
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
Я про это давно говорил - ModBus ANSI наш вариант.
 
Пиропульты - Электроника Форум » Пиротехническое оборудование » В разработке » Пульт с обратной связью по rs485 интерфейсу
Страница 1 из 11
Поиск:


Rambler's Top100 Пиротехника, салюты, фейерверки. Яндекс цитирования
www.alexval2007.ucoz.ru © 2008