Перейти к публикации
capsolo

Автоматика управления отбором по жидкости на основе Arduino

Рекомендованные сообщения

Может один из датчиков глючит? У меня такое бывало. Всю гирлянду перебрал, пока вычислил. Не на этой автоматике.

Как версия. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Nik02 сказал:

Думаю приклеить радиатор на микропроцессор

можно в корпус маленький карлсон врезать и запитать от 5в.  если на перегрев грешишь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Думаю да перегрев, ибо после того как полежал с часик опять стал работать. Можно и вентилятор поставить, где то на старой маме такой валяется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещё подпилил скетч автора темы. Втиснул регулятор мощи. 

Напомню, что добавлено к спиртогону в шапке. 

1.Датчик паров спирта. Пищит при превышении первого порога и вырубает при втором. 

2.Весы до 8 кг. Само собой вижу вес и скорость отбора. Пищит при достижении заданного веса. И ваще че-нить взвесить. 

3. Третий датчик температуры для воздушного дефа. Вентилятором можно отобрать головы через ТСА. Заканчиваются сами. Затем так же добрать остатки тела.  Само пока классикой. П-регулятор. 

4. Регулятор мощи. Шим 10 Гц. 

Основное наблюдение и управление по блютуз телефона. Это главная фишка не лезть трясущимися руками в колонне и перебирать кнопками меню. 

5. Датчик давления куба МРХ5110. Пока просто показывает. Будет зацеплен на регулятор мощи. 

6. Датчик атмосферного bmp280. 

Завёл коррекцию на температуру колонны. Лишнее, но мало ли. Был. Не выпаивать же. 

Скетч. Там конечно накуролесено...Музыкант играет как умеет и в чужом огороде. 

Приму конструктивную критику в плане программирования. 

tau711menu.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Похоже финиш. Электричество кончилось. Памяти осталось 6 байт.

Замутил стабилизатор давления. На картинке мощьность в процентах и давление куба в кРа *10. (Для удобства в общем графике. ) 

Прямая переключение тена с прессостата на ШИМ. И обратно на задание 4 кРа. Всё, напоминаю, из за стенки по блютуз. Скетч попозже. 

К инструкции автора добивается: если  не дистилляция и задание прессостата "0", разгон до 60 в колонне и выставленный ШИМ тена. 

Если не дистилляция и прессостат не " 0", само собой разгон и мощь по нему. 

Если дистилляция, работа по ШИМу. 

Вопросы? 

Screenshot_2023-10-08-08-41-26-719_com.emrctn.BluetoothGraphics.jpg

Изменено пользователем Виктрыч
Тормоз

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Очень интересное развитие, хотелось бы попробовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проще на словах.Нечем рисовать. В скетче в принципе и всё прописано. 

Датчики температуры ds18b20   3 шт на 9 пин. Питание само собой 5 вольт.  Их нужно сразу переопределить. 

Датчик паров спирта. У меня МQ2.  На А7. Резистор 10 ком общий-А7. Сенсор А7-5вольт. Нагреватель само собой 5 вольт. 

Весы 3,4  data, cl. 

 Моська тена МОС3062 через 300 ом на 5.

Клапан 12

Вентилятор дефа 8

Гудок активный 2

УЗО 11

LCD   классически А4, А5 по i2C. 

Кнопки А1, А2, А3. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 Bluetooth Graphics под андроид. 

 Ещё рекомендую Bluetooth terminal. 

Картинки не рисует, но можно задать кучу кнопок для команд. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Artem90 Spirtotron05.02.2022 - не отображается Tk, всегда показывает 28.12

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

а просто T - показывает примерно +20 к нормальному значению(если 25 градусов - показывает 55)

не пойму в чем проблема.

Единственное, использую lcd shield - переписал обработчик кнопок

 

 uint16_t keyIN=analogRead(A0);

  if (keyIN>=1000)

           {return tmpkey;}

  if (keyIN < 50){

    tmpkey = KEY_PLUS;



    return tmpkey;

  }

  if (keyIN < 200){

    tmpkey = KEY_MODE;



    return tmpkey;

  }

  if (keyIN < 400){

    tmpkey = 0;



    return tmpkey;

  }

  if (keyIN < 600){

    tmpkey = KEY_MINUS;



    return tmpkey;

  }

    if (keyIN < 800){

    tmpkey = KEY_SET;



    return tmpkey;

  }

}

и закоментил //GetPressure();

 

Изменено пользователем zlooka

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как версия. После закомментирования давления криво пошла  коррекция  температуры. Там должно быть типа  + ( 760- давление) *0, 037. Если давление прилетело как 0, прибавка по этой формуле  получится +28 Цельсия. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Виктрыч скорее всего так, ругался компилятор, закоментировал, Завтра проверю.

больше печалит что Tk не отображает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ткни на скетч. Я ещё на уровне плинтуса в этом деле, но люблю кроссворды. Может чего раскопаю. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
15.02.2022 в 13:22, Artem90 сказал:

Собственно сама прошивка, вроде стабильная и протестрированная. Делалось "тильки для сэбэ" . По тому поддержки шилдов и прочего нет. Про подключение писал выше. Если что то совсем не получается, пишите, помогу. 

Spirtotron05.02.2022.zip 6 kB · 59 скачиваний

использовал этот скетч, на 2 и 3 через подтяжку 4.7ком DS18B20 - как писал выше, переписал только обработчик кнопок, т.к. запускал с lcd shield

не отображает Tk - 28.12 показывает, как заметил коллега @Виктрыч - из за отсутствия датчика давления

 

Пробовал менять на другие свободные пины, не решает проблему, датчики рабочие, через oneWire и прошивку 1.1 - всё работает корректно, но на версии  от @Artem90 почему-то такой глюк, понимаю что мой косяк, но не могу найти в чем именно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мельком пробежался. Мне до такого как раком до Китая. Тем не менее. Нет показаний давления. На дисплее "Р=" Что высвечивает? 

Датчик давления есть? 

Подключён правильно по i2c? 

 С другой библиотекой работает? 

Если не работает, нужно разрулиться с его адресом и подтвердить исправность. 

Если только с этим скетчем не работает, опять же адрес. Подкачиваемая библиотека это позволяет. Как? Не помню. ЕЕPROM потихоньку сыпется. В описании есть.  Может кто  так помнит. 

Может с последнего пункта и начать. Из своих соображений. 

Кстати сама то библиотека в доступе? 

Её нет в стандартном наборе ИДЕ. По крайней мере у меня и нужно подкачать.  В зипе скетча тоже нет. Обычно прикладывают на всякий случай. И она где то в этой теме есть. Я тут брал. 

Изменено пользователем Виктрыч
Тормоз

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Виктрыч bmp280 продключил по i2c, всё ок, T - показывает адекватную, а вот Tk - так  и не могу найти...пины менял...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@zlooka по идее датчик проходит инициализацию, иначе не запустилось бы. Судя по цифре 28.12 показывает 760*0,037. А должно быть типа Tk = (temp1 + (760-press)*0,037));В формуле расчета температуры все на месте? Можно попробовать вывести данные с датчика в монитор порта (Serial) и посмотреть что приходит. Сейчас посмотреть скетч не могу, на вахте. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Artem90 спасибо что ответили.

С датчиком давления разобрался, все ок. Но температура куба отваливается, когда переписываю обработчик кнопок на шилдовские.

Если брать скетч в оригинале, оба датчика корректно показывают.

 

Буду разбираться в чем конфликт у меня или пойду искать экран без шилда и i2c 

^_^

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В скетче термометры 2,3 пин. Поменяй местами. Поменяй с допустим 4.  Это финиш. Временно закомменть. Повтыкай   Serial. print (тра-та-та); в строках, где прослеживается связь с Тк.  Т же работает. Какая разница по скетчу. 

Кстати в скетче экран не по i2c.   Где то это звучало, что будут конфликты. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вкрячил автоопределение трёх датчиков температуры.  Потому как датчики на разъёме и всё время разные. Теперь после включения нагрева  и перезагрузки они сами перепривязываются. Самый горячий куб. Самый холодный само собой деф. Либо допустим греешь в ладонях нужный датчик и работаешь по нему. Например термостат браги. Или разогрев воды для каши. Или по какому финиш. Почему нужный? Потому что допустим деф не привязан к АД и куба. Нах браге атмосферное. Которое и пару градусов может нагнать. 

Ниже фрагмент в настройках. 

Затем в рабочем цикле. Может кому пригодится. Двое суток не спал рожая. 

Пс. Если есть проще код, переучусь. 

Screenshot_2023-11-04-11-08-58-315_name.antonsmirnov.android.arduinodroid2.jpg

Screenshot_2023-11-04-11-09-39-797_name.antonsmirnov.android.arduinodroid2.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня какая-то аура рукожопия, начал уже паяться на макетке с переодическим заливом\перезаливом скетчей и на uno и на nano - через определенное количество заливок слетает загрузчик...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исправил ошибку когда клапан отбора голов оставался открытым после перехода к телу

Project0.0.2fix.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...