1

Тема: отправка сообщений в шину.

Всем привет.  нужна помощь. как правильно реализовать передачу сообщений в шину если: имеем 5 позиционный переключатель с положительным выходом 1 +12v, 2 +12v...5 +12v (пол. выход будет только на одном из положений переключателя). Необходимо передать в шину по адресу 0x0251 данные
00 00 00 01 00 00 00 00  1пол
00 00 00 02 00 00 00 00  2пол
00 00 00 04 00 00 00 00  3пол
00 00 00 08 00 00 00 00  4пол
00 00 00 80 00 00 00 00  5пол
По одному каналу получается передать данные но как реализовать чтобы при перемещении переключателя передавались данные не могу допетрить.

Вложений в сообщении

Иконка вложения проба1.cfd 1.17 кб, скачивался 330 раз, последний раз 2019-04-04 

2

Re: отправка сообщений в шину.

Например так:

Вложений в сообщении

msend.png, 136.89 кб, 872 x 382
msend.png 136.89 кб, скачивался 421 раз, последний раз 2019-04-05 

Иконка вложения проба1-1-2.cfd 1.8 кб, скачивался 343 раз, последний раз 2019-04-05 

3

Re: отправка сообщений в шину.

Константин спасибо за оперативность. Все работает как и требовалось. Попутно здесь же стоит задача отправки данных в кан дат темп и тахометра. с дат температуры пока остановились на DS18B20, а вот с тахометром пока засада.

4

Re: отправка сообщений в шину.

Тема частотомера/тахометра/счетчика неоднократно поднималась на форуме.
Например здесь: https://forum.canny.ru/viewtopic.php?id=469

5

Re: отправка сообщений в шину.

С датчиком скорости все получилось проверьте может подкорректируете. А с Тахометром пока сделал счетчик в таком виде.думаю сделать кратно 500 об/мин.

Вложений в сообщении

Иконка вложения DS1822.cfd 2.23 кб, скачивался 299 раз, последний раз 2019-04-09 

Иконка вложения тахометр счетчик проба.cfd 4.19 кб, скачивался 291 раз, последний раз 2019-04-09 

6

Re: отправка сообщений в шину.

С диаграммой DS1822.cfd все в общем хорошо. Только в CAN отправляются значения предыдущего полученного значения температуры, т.к. отправка в CAN и отправка запроса на получение температуры от термодатчика выполняются одновременно, а свежие данные о температуре (ответ термодатчика) приходит только спустя приблизительно 750мс.
По второй диаграмме. Канал счетчика, для определения оборотов (при условии что 1 импульс на 1 оборот), сконфигурирован верно, но назначение диаграммы в целом - не понятно.

7

Re: отправка сообщений в шину.

По поводу тахометра делал счетчик кратный 500 об но при этом стрелка скачет нет плавности хода. да и почему то не работает тахо в этой схеме если отдельно без дат темп то норм.

8 (17-05-2019 16:16:43 отредактировано rusl1983)

Re: отправка сообщений в шину.

rusl1983 пишет:

По поводу тахометра делал счетчик кратный 500 об но при этом стрелка скачет нет плавности хода. да и почему то не работает тахо в этой схеме если отдельно без дат темп то норм.

Вложений в сообщении

Иконка вложения тахометр темп прнд11.cfd 15.87 кб, скачивался 295 раз, последний раз 2019-05-17 

9

Re: отправка сообщений в шину.

Из-за особенностей драйвера 1-Wire Dallas, работа термодатчика происходит синхронно, что сильно занимает ресурсы контроллера и может оказывать существенное влияние на быстротекущие процессы, например на работу счетчиков, соответственно совместить в одной устройстве тахометр с гладкой характеристикой и датчик температуры на базе 1-Wire Dallas, проблематично.
Предлагаю в качестве альтернативы рассмотреть возможность применения импульсных датчиков температуры, например LMT01, или датчика TCN75 работающему по i2c.
Так же можно попробовать использовать отдельный, недорогой контроллер, например CANNY 3 tiny, для работы с термодатчиками 1-Wire Dallas, который будет по UART передавать информацию о температуре основному контроллеру.

10

Re: отправка сообщений в шину.

rusl1983 пишет:

По поводу тахометра делал счетчик кратный 500 об но при этом стрелка скачет нет плавности хода. да и почему то не работает тахо в этой схеме если отдельно без дат темп то норм.

Как указано в описании драйвера 1-Wire Dallas периодичность опроса датчика температуры не должна быть менее 750мс. Во вложении исправленная диаграмма. Проверили на стенде - в общем работает: отображает температуру и считает импульсы на входе-счетчике.

Вложений в сообщении

Иконка вложения тахометр темп прнд11a.cfd 15.96 кб, скачивался 316 раз, последний раз 2019-05-20 

11

Re: отправка сообщений в шину.

А можно ли расширить пример из второго сообщения темы логическим "И" для случая отправки кан-сообщения в случае активации одновременно двух входов? Не получится ли так, что модуль будет пытаться отправлять сразу три сообщения в таком случае?

12

Re: отправка сообщений в шину.

Блок №1 - конвертер 16 в 1. Входы (кнопки) задают его биты и могут быть активированы одновременно.
В CAN отправляется сообщение передающее состояние всех входов одновременно.

13

Re: отправка сообщений в шину.

А как конвертер отреагирует на то что одновременно будут три его входа активны?

14

Re: отправка сообщений в шину.

Deavil пишет:

А как конвертер отреагирует на то что одновременно будут три его входа активны?

В полном соответствии с документацией: https://wiki.canny.ru/index.php?title=% … 6-%D0%B2-1
А именно - установит одновременно три бита выходного значения в состояние "1"