1

Тема: термопары к-типа вывести в кан температуру

Денис, CANNY пишет:

Эта задача не подходит для АЦП контроллера CANNY 5 nano. Для работы с термопарами следует использовать специальные микросхемы, например MAX31855, которую можно подключить к CANNY 5 nano реализовав в диаграмме программный SPI, либо использовать операционные усилители.
С термопарами не все так просто. Микросхема MAX31855 имеет встроенную коррекцию значений температуры, есть модели для работы с конкретными типами термопар, учитывающих их особенности. В случае с операционными усилителями коррекцию температуры нужно будет реализовывать самостоятельно.


Денис, чтобы не плодить тем вопрос: сейчас стоит задача так же с термопары к-типа вывести в кан температуру. Планировал через делитель напряжения от 5 вольт на канни 5.3 пико, но у датчика очень низкое сопротивление (до 20-100 ом) и как я понял будет высока нагрузка по питанию.
Без спец миросхемы никак не обойтись? я не могу понять как под нее программу написать (микросхему)

Модераторское: сообщение выделено в отдельную тему, см.правила форума.

2

Re: термопары к-типа вывести в кан температуру

Можно использовать преобразователь из напряжения термопары в 0...5В.

Примеры:

https://aliexpress.ru/item/32817419998.html

https://aliexpress.ru/item/33006744370.html

И подавать преобразованное напряжение на вход АЦП CANNY 5.3 Pico

3

Re: термопары к-типа вывести в кан температуру

Константин, CANNY пишет:

Можно использовать преобразователь из напряжения термопары в 0...5В.

Примеры:



И подавать преобразованное напряжение на вход АЦП CANNY 5.3 Pico

уже купил мах31855 буду собирать по схеме как в соседней теме.
так же купил канни 5 нано, 5.3 пико оставлю для других целей.
Нужно будет сделать для FIS Control устройство для отправки в кан и спец блок будет перехватывать его, например, для отправки температуры EGT 500 °C (= 1F4 в шестнадцатеричном формате):
ID DLC Данные
0xF150009 4 F4 01 00 00

Так же при приеме определенного сообщения из кан (и при достижении ЕГТ выше, скажем 900гр) нужно управлять внешним спикером а ля сигнализатор на материнке. 5 нано сможет? хватит ему тока?

4

Re: термопары к-типа вывести в кан температуру

5 нано сможет? хватит ему тока?

Выяснить это можно сопоставив характеристики контроллера, которые есть на странице продукта: https://canny.ru/c5nano/  , принципиальную схему, которая доступна в документации https://canny.ru/docs/c5nano/#sec--c5na … nny-5-nano и возможно документацию на компоненты, которая доступна на сайте их производителей с характеристиками вашей нагрузки (спикера?)

5 (04-05-2021 15:32:58 отредактировано Dodgealex)

Re: термопары к-типа вывести в кан температуру

Взял за основу пример из соседней ветки, но как и у EVK ничего не получаю от микросхемы.

Микросхема отрабатывает (проверено осциллографом)
На канни светодиод (отвечающий за выход канала 4 моргает пример раз в секунду.
Если подключаю симулятор то кан монитором (через канни 5.3 пико) ловлю эти пакеты, а если цепляю данные с микры то пустые сообщения.
Где может быть допущена ошибка?

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

Иконка вложения c5nano_max31855.jpg 821.26 кб, скачивался 65 раз, последний раз 2021-05-04 

Иконка вложения АЦП-test.cfd 8.37 кб, скачивался 176 раз, последний раз 2021-05-04 

6

Re: термопары к-типа вывести в кан температуру

Для отправки данных в CAN необходимо указывать длину передаваемого сообщения и дополнительный признак сообщения с расширенным ID (см. вложение). Подробнее - см.примеры передачи сообщений (https://forum.canny.ru/viewtopic.php?id=12).
Также обратите внимание, что в регистре IDH указано некорректное значение (https://canny.ru/docs/c5nano/can/#sec-- … y-drajvera).

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

Иконка вложения c5nano_АЦП-test.cfd 8.68 кб, скачивался 185 раз, последний раз 2021-05-04 

7

Re: термопары к-типа вывести в кан температуру

Спасибо, помогло.

Вопрос в ID остался у меня
Производитель оборудования хочет видеть сообщения такого рода
ID          DLC   Data
0xF150009     4   F4 01 00 00 (где 1f4 это 500 в 16ной) я сообщением я разобрался а вот идентификатор у меня подучается только в таком виде: 0x0F150009

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

Иконка вложения pic.png 80.89 кб, скачивался 68 раз, последний раз 2021-05-04 

8

Re: термопары к-типа вывести в кан температуру

Dodgealex пишет:

...таком виде: 0x0F150009...

В таком виде ID корректный: HDL=0x0F15; IDL=0x0009.

9 (05-05-2021 17:27:30 отредактировано Dodgealex)

Re: термопары к-типа вывести в кан температуру

Да я понял что корректрый а 0 спереди как я понял не учитывается ?

Следующий момент. случайно на С7 контакт попал провод 12в. сгорела кренка U1 по принципиальной схеме и тантал. Вске заменили. но (до того как коротнули не проверяли), но сейчас при подачи питания от усб - все работает как надо. при подаче питания от 12в - пауэр горит, индикатор с4 моргает как по заданной программе в проце, но в кан ничего не вещается и нет 3.3 вольта на на 15 контаккте. Вопрос: СП2102 получает питание 5в только от усб (по принциальной схеме) или должен еще и от кренки? На пути диод Шотки.
Схему нашел, от кренки питается только проц и кан трасивер получается? Как получить 3.3 вольта если сп2102 не питается от усб (на 7 и 8 ноге нет питания)

10

Re: термопары к-типа вывести в кан температуру

Dodgealex пишет:

СП2102 получает питание 5в только от усб (по принциальной схеме)

Только от USB, как и показано в принципиальной схеме.

Dodgealex пишет:

Как получить 3.3 вольта если сп2102 не питается от усб

Использовать 3.3В вы сможете только подав питание на CP2102, например подключив источник питания +5В к USB разъему контроллера. При этом следует учесть влияние работающей CP2102 на каналы №№0 и 1 контроллера, ее собственное потребление, и принять во внимание ограничения налагаемые документацией CP2102 на использование ее вывода VDD

11

Re: термопары к-типа вывести в кан температуру

неудобно получается конечно, что 3.3в только на столе.
Если диод шотки заменить перемычкой то 5в попадет на 2102 и все будет работать? Естественно при условии, что усб  нему будет подключиться без перемычки (записал прогу поставил перемычку и в тачку)

12 (04-09-2021 16:00:24 отредактировано Dodgealex)

Re: термопары к-типа вывести в кан температуру

АП.
При подачи питания на столе все ок. но если я подаю питание в авто и в кан шине есть пакеты - работает только при подачи питания на усб.
При это светодиод моргает так как программа выполняется. Может у меня в прошивке что то не так?

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

Иконка вложения EGT+flexfuel=ok.cfd 9.02 кб, скачивался 155 раз, последний раз 2021-09-04 

13

Re: термопары к-типа вывести в кан температуру

Отправка в CAN выполняется после получения всех данных от термодатчика.
Можно подключить светодиод (регистр выходного значения канала 4) к сети "dataReady" (с задержкой выключения) и посмотреть выполняется ли попытка отправить данные в CAN.
Какова схема подключения устройств? Возможно отсутствует "общая земля", которая появляется при подключении USB.

14 (06-09-2021 13:51:19 отредактировано Dodgealex)

Re: термопары к-типа вывести в кан температуру

Денис, CANNY пишет:

Отправка в CAN выполняется после получения всех данных от термодатчика.
Можно подключить светодиод (регистр выходного значения канала 4) к сети "dataReady" (с задержкой выключения) и посмотреть выполняется ли попытка отправить данные в CAN.
Какова схема подключения устройств? Возможно отсутствует "общая земля", которая появляется при подключении USB.

С питанием вроде как все ок. только вот в данный момент не подключена мах микросхема, получается что и вещать она не должна пока мах не стартанет. может быть как то связались канни 5 пико который как ССМ работал и у них отловилась общая земля. хорошо, еще помониторю. Спасибо

наверное в моем случае регистрацию начала передачи в кан сделать от "1" константы а не от дата реди.

Еще заметил, что скорость выполнения программы сильно упала (скорость моргания светодиода) чем когда было только обработка датчика ЕГТ. Неужели тут так много блоков сейчас?

15

Re: термопары к-типа вывести в кан температуру

Dodgealex пишет:

С питанием вроде как все ок. только вот в данный момент не подключена мах микросхема, получается что и вещать она не должна пока мах не стартанет.

Приведенная диаграмма работает так, что отправка данных в CAN выполняется не зависимо от того, получены данные от микросхемы или нет. Из диаграммы включается CS ("чип-селект") и генерируется сигнал "clock". После попытки получения 32 бит данных (которые могут и не быть получены) выполняется отправка данных в CAN.

Dodgealex пишет:

...наверное в моем случае регистрацию начала передачи в кан сделать от "1" константы а не от дата реди.

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

Dodgealex пишет:

...Еще заметил, что скорость выполнения программы сильно упала (скорость моргания светодиода) чем когда было только обработка датчика ЕГТ. Неужели тут так много блоков сейчас?

Сейчас диаграмма занимает 6% ROM и 13% RAM, ресурсов контроллера должно хватать на выполнение более сложных алгоритмов. В какой момент, после каких изменений светодиод стал реже моргать? Приложите диаграмму.

В диаграмме используются расширенные идентификаторы CAN сообщений, соответственно регистр ERL задан не верно (см. пример 2 https://forum.canny.ru/viewtopic.php?id=12 , а также примечание к таблице 5 https://canny.ru/docs/c5nano/can/#sec-- … -drajvera)

16

Re: термопары к-типа вывести в кан температуру

Денис, CANNY пишет:

Сейчас диаграмма занимает 6% ROM и 13% RAM, ресурсов контроллера должно хватать на выполнение более сложных алгоритмов. В какой момент, после каких изменений светодиод стал реже моргать? Приложите диаграмму.

Во вложении то, что еще работает быстро.
в примере выше (егт+флекс) уже гасит скорость. Вероятно после добавления ШИМ блока второго. Если при вложенной диаграмме он еще выдает 10 раз в секунду, то по второй 4. придет канни попробую период уменьшить.

Денис, CANNY пишет:

В диаграмме используются расширенные идентификаторы CAN сообщений, соответственно регистр ERL задан не верно (см. пример 2 https://forum.canny.ru/viewtopic.php?id=12 , а также примечание к таблице 5 https://canny.ru/docs/c5nano/can/#sec-- … -drajvera)

Да прочитал прот ЕРЛ но немного не понял как активировать 15 бит. Я так понял это 8000 в хекс выходит. Так?


Пока не могу проверить схему снова - опять сжег канни. заказал еще одну)))) кривые руки не дают покоя и увеличивают ваши продажи))))

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

Иконка вложения EGT=ok.cfd 9.71 кб, скачивался 165 раз, последний раз 2021-09-07 

17

Re: термопары к-типа вывести в кан температуру

АПД:
в приложеном файле не могу отловить закономерность: если я 29 блок (ШИМ) меняю время на 100, то отображается только 1 адрес в кан сообщениях, если 50 ставлю, то другой. 250 скорость маловато. что не так?

вопрос 2: нужно в кан по 4 байтам передать число длинное, скажем 500000. как поделить сообщение на d1:d0 D3:d2?

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

Иконка вложения EGT+flexfuel=ok.cfd 9.25 кб, скачивался 150 раз, последний раз 2021-10-08 

18

Re: термопары к-типа вывести в кан температуру

в приложеном файле не могу отловить закономерность: если я 29 блок (ШИМ) меняю время на 100, то отображается только 1 адрес в кан сообщениях, если 50 ставлю, то другой. 250 скорость маловато. что не так?

В диаграмме был рассинхрон между отправкой данных (привязка к dataReady) и изменением значений отправляемых идентификаторов. Требуется синхронизировать отправку и заполнение регистров передачи CAN (см. вложение).

вопрос 2: нужно в кан по 4 байтам передать число длинное, скажем 500000. как поделить сообщение на d1:d0 D3:d2?

32-битное число может принимать значения от 0 (0x00000000) до 4294967295 (0xFFFFFFFF). В данном случае, берем число 500000 (0x0007A120), которое может быть разбито на старшую часть (0x0007) и младшую часть (0xA120). Эти 16-битные значения могут быть присвоены соответствующим регистрам передачи.

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

Иконка вложения c5nano_EGT+flexfuel=ok.cfd 9.57 кб, скачивался 150 раз, последний раз 2021-10-08 

19

Re: термопары к-типа вывести в кан температуру

Число динамичное от 1000 до 1000000 и как его правильно разбить на старшую и младшую? Статичные числа я умею))

20

Re: термопары к-типа вывести в кан температуру

Каким образом эти значения получаются в диаграмме? В результате каких действий? Какая у них точность, каков минимальный шаг по значениям?

21

Re: термопары к-типа вывести в кан температуру

Значения которые идут в коммутатор который вещает данные. Эти данные нужно умножить на 1000. Но когда я это сделал, то получил что уперлись в 32464.

22

Re: термопары к-типа вывести в кан температуру

В языке CFD все использующиеся данные являются 16-битными целыми неотрицательными числами в диапазоне от 0 до 65535. Так как значение результата вашей операции выходит за пределы данного диапазона, то происходит переполнение, результат которого вы наблюдаете (см. https://canny.ru/docs/fbd/cfd/#sec--fbd-cfd-dannye ).
Для реализации операций со входными и/или выходными значениями выходящими за пределы 16 бит, например с 32-битными значениями, придётся разделять значения на старшую и младшую 16-битные части. Пример умножения двух 16-битных чисел во вложении.

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

Иконка вложения 16bit_mux_16bit_2x.cfd 4.35 кб, скачивался 150 раз, последний раз 2021-10-11