Помогите разобраться с назначением пинов Arduino Mega 2560 пинами прерываний.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

nik182 пишет:

Меню выбора регулируемой велечины - нет, не слышал!!! 

Ну, в общем (для меня) крутилки удобнее и нагляднее.

nik182
Offline
Зарегистрирован: 04.05.2015

Я про крутилку. Нажал кнопку - покрутил - выбрал пункт меню - нажал кнопку - покрутил - выбрал параметр для измененния - нажал кнопку - изменил - длинное нажатие - применил, запомнил и вышел в верхнее меню. Как уже писали, изменять параметры редкое занятие. Если что нужно подстраивать можно просто жить в том пункте меню. Зато экономия пинов и денег значительная. 

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

nik182 пишет:

Я про крутилку. Нажал кнопку - покрутил - выбрал пункт меню - нажал кнопку - покрутил - выбрал параметр для измененния - нажал кнопку - изменил - длинное нажатие - применил, запомнил и вышел в верхнее меню. Как уже писали, изменять параметры редкое занятие. Если что нужно подстраивать можно просто жить в том пункте меню. Зато экономия пинов и денег значительная. 

Экономическую позицию понимаю, но вот эта долгая  последовательность ("нажал кнопку - покрутил - выбрал пункт меню - нажал кнопку - покрутил - выбрал параметр для измененния - нажал кнопку - изменил - длинное нажатие - применил, запомнил и вышел в верхнее меню") мне не нравится. Так устроены многие приборы - везде скачки по меню.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Sonologist пишет:

Щитаем энкодеры:

1. Установка паспортной мощности ТЭНа

2. Установка подаваемой мощности в ТЭН+ кнопка включения-выключения режима разгона

3. Установка температуры отсечки для клапана отбора + кнопка "температура отсечки=температуре колонны" (для удобства)

4. Установка скважности "клапан открыт-закрыт" + кнопка "клапан закрыт"

5. Установка температуры для реакции на показатели еще трех датчиков температуры (3 энкодера + 3 кнопки)

Извини, просчитался: энкодеров будет 7.

 

 

Ты не поверишь, матьтваю, для всех этих задач достаточно одного энкодера. 

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

[/quote]

Ты не поверишь, матьтваю, для всех этих задач достаточно одного энкодера. 

[/quote]

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

меню пишеца проще, чем подключаюца 7 энкодеров. 

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

DetSimen пишет:

меню пишеца проще, чем подключаюца 7 энкодеров. 

Согласен, но мы не ищем легких путей! :)

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

Sonologist пишет:

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

Да просто боишься меню писать в программе.

Восемь энкодеров для восьми параметров - это просто бред. так никто не делает

Более того, думаю  ты просто не осилишь заставить их работать одновременно.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

дак тогда не Мегу надо брать, а Cray.   Тама точно все пути нелехкие, зато 20л самогона будут выгоняться за наносекунды. 

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

[/quote]

Да просто боишься меню писать в программе.

Восемь энкодеров для восьми параметров - это просто бред. так никто не делает

Более того, думаю  ты просто не осилишь заставить их работать одновременно.

[/quote]

Ничего я не боюсь!  Одновременно работать с 8 энкодерами и не надо. Вот именно из-за их большого числа я и завел нытьё про прерывания.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Sonologist пишет:

Щас посчитаем:

1.  Четыре ds18b20 - 4 пина

Счёты неправильные: четыре DS18B20 - один пин.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

DIYMan пишет:

Счёты неправильные: четыре DS18B20 - один пин.

Нет, неправильно: датчики буду подключать на разные шины.

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

Sonologist пишет:

DIYMan пишет:

Счёты неправильные: четыре DS18B20 - один пин.

Нет, неправильно: датчики буду подключать на разные шины.

это как и 8 энкодеров.

Вы сначала старательно придумываете проблемы - а потом героически их решаете.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

bwn пишет:

Датчики вешаются на один шлейф и втыкаются в свои гнезда, по длине шлейфа. В сетапе проверить количество и все определилось.

Паспортная мощность тэна, они у Вас сменные?

Подаваемая мощность должна устанавливаться в зависимости от температуры куба и колонны. ИМХО.

Температуру отбора должен ограничивать МК, без Вашего вмешательства, иначе, нахрена он вообще нужен?

Установка скважности, я бы заставил это тоже МК делать.

Установка температур, возможно в меню, хотя это тоже дело МК. ИМХО.

Я Вас не отговариваю, дело Ваше. Но городить такую монструозную кострукцию там, где должна быть одна кнопка "Включить-выключить", извращение. Опять таки, ИМХО.

Ну, тогда по порядку.

1. Про шлейф из датчиков я отлично знаю. Более того, на своей предыдущей автоматике так и сделал. Однако, не всегда все датчики нужны, можно подключать меньше. Или, порой, они выходят из строя. Адреса сбиваются, все работает через пень-колоду. Поставил их на разные шины - и все наладилось.

2. Три разных  куба, ТэНы 2200, 3500 и 4500 вт

3. Подаваемая мощность должна быть стабильной и от температуры как раз зависеть не должна.

4. Гистерезис температуры отсечки клапана как раз и должен настраиваться в зависимости от того, какой продукт требуется получить (ректификат, протоспирт, дистиллят с ароматом исходного сырья и т.д.). Это позволяет автоматически отсечь хвосты.

5. От скважности зависит скорость отбора продукта (головы, тело, хвосты)

Температура в этом деле, как правило, понятие в большей степени относительное, в основном используются не сами значения температур, а их разница (или соотношение).

Конечно, существует понятие пресетов. И они мною используются.

 

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

Ежели на кажный параметр по крутилке ставить, то может вообще потенциометры навтыкать?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Видимо свербит не реализованное желание детства -иметь микшерский пульт :)

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

sadman41 пишет:

Ежели на кажный параметр по крутилке ставить, то может вообще потенциометры навтыкать?

А вот тут уже вопрос цены встает во весь рост. Надо 7 таких потециометров: https://www.chipdip.ru/product/3540s-1-103

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

dimax пишет:

Видимо свербит не реализованное желание детства -иметь микшерский пульт :)

Ну, эта-то мечта давно уж реализована: в домашней студии 12-канальный Гудман лет 10 уж трудится :)

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

Sonologist пишет:

sadman41 пишет:

Ежели на кажный параметр по крутилке ставить, то может вообще потенциометры навтыкать?

А вот тут уже вопрос цены встает во весь рост. Надо 7 таких потециометров: https://www.chipdip.ru/product/3540s-1-103

Если алиэкспресса не бояться, то...

https://ru.aliexpress.com/item/3540S-2-103L-3540S-10K-ohm-2W-5-Precision-Multiturn-Potentiometer-Adjustable-Resistor/32807392299.html

А есть ещё прямо в комплекте с ручкой-шкалой: https://ru.aliexpress.com/item/3590S-2-S-3590-S/32867837697.html

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Sonologist пишет:

DIYMan пишет:

Счёты неправильные: четыре DS18B20 - один пин.

Нет, неправильно: датчики буду подключать на разные шины.

Зачем? Есть 1-Wire позволяет обходиться одной линией на N устройств? Только из-за неумения опрашивать несколько датчиков на шине?

jurijt
Offline
Зарегистрирован: 27.07.2016

Доброго дня ALL!

И всетаки, в  посте #1 уважаемого vvadim (и данная табличка встречается много где):

vvadim пишет:

Плата int.0 int.1 int.2 int.3 int.4 int.5
Uno, Ethernet 2 3        
Mega2560 2 3 21 20 19 18

получается для Меги на 18 ПИНе имеем int5!

а по рисунку в посте #6 уважаемого andriano (и данная картинка, так же,  много где встречается),

на 18 ПИНе той же Меги уже имеем int3!

ВОПРОС: и где правильно?

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

https://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf

https://www.arduino.cc/en/Hacking/PinMapping2560

(OC3C/INT5) PE5 -> Digital pin 3 (PWM) 

Но!!!

https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/

Note that in the table below, the interrupt numbers refer to the number to be passed to attachInterrupt(). For historical reasons, this numbering does not always correspond directly to the interrupt numbering on the ATmega chip (e.g. int.0 corresponds to INT4 on the ATmega2560 chip).

Поэтому правильно в обоих случаях.

 

jurijt
Offline
Зарегистрирован: 27.07.2016

Спасибо за ответ sadman41!!
Правильно ли я понял, что ниже приведенные 3 варианта одинаково возможны для 18 ПИНа платы МЕГА?

1)
attachInterrupt(digitalPinToInterrupt(18), my_f, RISING)
2)

attachInterrupt(5, my_f, RISING);
3)

SIGNAL(INT3_vect){

......

}

Или я не так все понял?

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

Первые два варианта должны работать, а в третьем случае надо ISR(INT3_vect) писать, если я правильно понимаю. Ибо "First, stop using SIGNAL. It is deprecated. Use ISR instead."

jurijt
Offline
Зарегистрирован: 27.07.2016

sadman41 пишет:

Первые два варианта должны работать, а в третьем случае надо ISR(INT3_vect) писать, если я правильно понимаю. Ибо "First, stop using SIGNAL. It is deprecated. Use ISR instead."

Но, главное, во всех трех случаях, имеется обращение к прерыванию по 18 пину платы (не процесора)

???????

Огромное спасибо! Извините, если утомил. Но нужно разобраться. По одному из имеющихся свободными ПИНов 18-21, нужно отследить запуск двигателя для отключения стартера.

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

Разобраться очень просто - кнопкой и включением светодиода в хендлере прерывания. Справки с печатью тут никто все равно не выдаст. По мне так - все нормально.

jurijt
Offline
Зарегистрирован: 27.07.2016

sadman41 пишет:
Разобраться очень просто - кнопкой и включением светодиода в хендлере прерывания. Справки с печатью тут никто все равно не выдаст. По мне так - все нормально.

И на том спасибо! Указали направление, дальше думаю разберусь!