Помогите определиться с бюджетом проекта

Ivanna13
Offline
Зарегистрирован: 28.01.2021

Добрый день

Необходимо переписать программу для мониторинга значений.
Есть программа,которая считывает через CAN значения,по формуле их переводит в напряжение и записывает в массив.
Массив обрабатывается на нахождение минимального и максимального значения.
А затем при отклонении от заданных величин включает или выключает реле.
Также реализован вывод информации на веб-страницу

Необходимо исправить работу реле.(не работает данный пункт)
А также дописать возможность переключения источника данных (can1) на другой источник (can2).
Также нужно добавить считывание с датчика тока(через ads1115) и проверку на наличие источника данных (CAN),если происходит обрыв

Микроконтроллер Esp32-wroom

Хотелось бы оставить возможность редактирования программы в Arduino IDE

 

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Какая-то программа делает кое-что, но не до конца. Надо это исправить и добавить пару функциональных блоков. Желательно чтобы было как есть.

Все правильно понял? Тогда закладывайте бюджет от 200 до 1000.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:
Какая-то программа делает кое-что, но не до конца. Надо это исправить и добавить пару функциональных блоков. Желательно чтобы было как есть. Все правильно понял? Тогда закладывайте бюджет от 200 до 1000.

а не маловато?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sadman41 пишет:
бюджет от 200 до 1000.
Чего? Фертингов?

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Садман, ты нынче в великой британии ?

ТС, уточните, мне интересно. У вас схема рассчитана на один CAN или на два ?

rst
Offline
Зарегистрирован: 25.06.2018

ЕвгенийП пишет:
sadman41 пишет:
бюджет от 200 до 1000.
Чего? Фертингов?
Учитывая что ТС видимо - барышня, смею предположить, что валюта такая же, как в сказке про свинопаса и принцессу.  ;)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

rst пишет:

 как в сказке про свинопаса и принцессу.  ;)

"Зацелую допьяна"?

Ivanna13
Offline
Зарегистрирован: 28.01.2021

brokly пишет:

Садман, ты нынче в великой британии ?

ТС, уточните, мне интересно. У вас схема рассчитана на один CAN или на два ?

Два кана с данными.

один шилд на mcp2515.

Хотелось бы организовать получение данных,переключением двух источников с помощью реле.
До этого использовалось ардуино уно и два шильда и не очень нравилась работа

b707
Offline
Зарегистрирован: 26.05.2017

Ivanna13 пишет:

Хотелось бы организовать получение данных,переключением двух источников с помощью реле.
До этого использовалось ардуино уно и два шильда и не очень нравилась работа

думаю это фантастика.

Два шильда не нужно, но у каждого источника КАН должен быть отдельный приемник, иначе ничего хорошего не выйдет. ИМХО

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

 закладывайте бюджет от 200 до 1000.

rst
Offline
Зарегистрирован: 25.06.2018

b707 пишет:
Два шильда не нужно, но у каждого источника КАН должен быть отдельный приемник, иначе ничего хорошего не выйдет. ИМХО
Наверно всё-таки под "переключением источников" барышня имела в виду не коммутацию сигналов CAN. А что-то иное....

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Ivanna13 пишет:

Хотелось бы организовать получение данных,переключением двух источников с помощью реле.

ТС знает толк в извращениях :) Не академично и стремно.

Ivanna13
Offline
Зарегистрирован: 28.01.2021

brokly пишет:

Ivanna13 пишет:

Хотелось бы организовать получение данных,переключением двух источников с помощью реле.

ТС знает толк в извращениях :) Не академично и стремно.

а что бы вы предложили для такой задачи?

rst
Offline
Зарегистрирован: 25.06.2018

Ivanna13 пишет:
а что бы вы предложили для такой задачи?
Для начала: поясните - зачем именно две разных CAN-шины? Почему источники данных нельзя посадить на одну CAN-шину?

И вообще - советую нарисовать схему подключения. Чтоб не гадать на кофейной гуще - что у вас там на самом деле.

Ivanna13
Offline
Зарегистрирован: 28.01.2021

rst пишет:

Ivanna13 пишет:
а что бы вы предложили для такой задачи?
Для начала: поясните - зачем именно две разных CAN-шины? Почему источники данных нельзя посадить на одну CAN-шину?

И вообще - советую нарисовать схему подключения. Чтоб не гадать на кофейной гуще - что у вас там на самом деле.

Потому,что на каждой из шин будут передаваться данные с такими же номерами пакетов PID (1 шина 12 пакетов по 2 значения).

Т.е ,что первый вышлет номер пакета 123,что второй 123,только будут различаться данными.

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

хотелось бы уйти от двух шилдов.

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

 

rst
Offline
Зарегистрирован: 25.06.2018

Ivanna13 пишет:
Потому,что на каждой из шин будут передаваться данные с такими же номерами пакетов PID (1 шина 12 пакетов по 2 значения).
Вы имеете в виду: с одинаковыми CAN-ID?

А задать разные CAN-ID для этих источников нельзя? 

Это было-бы намного проще.....

Или взять другой контроллер, который имеет несколько аппаратных CAN-интерфейсов. Почему именно ESP32?

Ivanna13 пишет:
думала,что разделить шины к примеру реле SSR это хорошая идея,т.к мне не нужно очень быстрое обновление данных.
Если задать разные CAN-ID нельзя и нельзя использовать другой МК (с несколькими аппаратными CAN), то разумнее мультиплексировать сигналы CAN после чипа CAN-драйвера (там где эти сигналы имеют ТТЛ-уровни), а не коммутировать линии CAN-L/CAN-H самой шины.

 

Для этого не нужны никакие реле. Всё можно сделать на чипах мелкой логики.

Ещё можно коммутировать сигналы с помощью переопределения альтернативных функций пинов в МК (если сигналы одного CAN-интерфейса выведены на разные пины МК - надо смотреть карту альтернативных функций пинов). Тогда даже внешняя логика не понадобится, только два CAN-драйвера.

Ivanna13
Offline
Зарегистрирован: 28.01.2021

rst пишет:

Ivanna13 пишет:
Потому,что на каждой из шин будут передаваться данные с такими же номерами пакетов PID (1 шина 12 пакетов по 2 значения).
Вы имеете в виду: с одинаковыми CAN-ID?

А задать разные CAN-ID для этих источников нельзя? 

Это было-бы намного проще.....

Или взять другой контроллер, который имеет несколько аппаратных CAN-интерфейсов. Почему именно ESP32?

Ivanna13 пишет:
думала,что разделить шины к примеру реле SSR это хорошая идея,т.к мне не нужно очень быстрое обновление данных.
Если задать разные CAN-ID нельзя и нельзя использовать другой МК (с несколькими аппаратными CAN), то разумнее мультиплексировать сигналы CAN после чипа CAN-драйвера (там где эти сигналы имеют ТТЛ-уровни), а не коммутировать линии CAN-L/CAN-H самой шины.

 

Для этого не нужны никакие реле. Всё можно сделать на чипах мелкой логики.

Ещё можно коммутировать сигналы с помощью переопределения альтернативных функций пинов в МК (если сигналы одного CAN-интерфейса выведены на разные пины МК - надо смотреть карту альтернативных функций пинов). Тогда даже внешняя логика не понадобится, только два CAN-драйвера.

спасибо,подумаю над этой реализацией

MaksVV
Offline
Зарегистрирован: 06.08.2015

если есть возможность выбора на источнике  - бывают ещё 29bit-ные ID. Чтобы не заморачиваться со сменой существующих идентификаторов, на одном из источников просто изменить старший бит (байт).