Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Доступная автоматика HelloDistiller на Ардуино Мега 2560

Форум самогонщиков Автоматика
1 ... 769 770 771 772 773 774 775 ... 794 772
galaxes Студент Питер 22 7
Отв.15420  21 Янв. 23, 17:05
Я если честно вообще особого смысла невижу в в охлаждени клапанов, они и так не греются) Жиклёры просто если есть, убрать, или по больше поставить. Если клапана норм-закрытые конечно. А если открытые, так же можно жиклёрами или краном решить вопрос, только наоборот) Лично я жиклёр поставил только на головы, что бы контроль по лучше был. А на воду, считаю лучше шаровый-кран моторизированный ставить.Serj0808, 21 Янв. 23, 15:35
Я вообще думал, что защита от перегрева работает только для клапанов головы/тело. Поэтому у меня и возник этот вопрос. А если в скетче отключить шим на воду?
m_i_g Кандидат наук Муром 428 111
Отв.15421  22 Янв. 23, 09:18
А если в скетче отключить шим на воду?galaxes, 21 Янв. 23, 17:05
Я не смог. И никто здесь не подсказал как это сделать.
p.s. что бы клапана не грелись, я ставлю на 24В. Работают от 12В на отлично вот уже много лет, не греются, сильно не клацают.
Витька Бакалавр Курск 72 28
Отв.15422  22 Янв. 23, 09:57, через 39 мин
Подключил 4 датчика температуры, и при тестировании одного из них меняются показатели сразу у двух датчиков. что может быть?Sandro77, 17 Янв. 23, 13:08
Проблемы с китайскими датчиками температуры DS18B20 описывались не раз, на своем опыте скажу сменил больше 10 шт, глючат все по разному. Заказал на ОЗОНЕ оригинал, погрешность до 0,5* С, провода силиконовые, длинна разная. 2 недели в работе проблем нет.

1.jpg
1. Доступная автоматика HelloDistiller на Ардуино Мега 2560. Автоматика.


Добавлено через 1ч. 4мин.:

Я не смог. И никто здесь не подсказал как это сделать.
p.s. что бы клапана не грелись, я ставлю на 24В. Работают от 12В на отлично вот уже много лет, не греются, сильно не клацают.m_i_g, 22 Янв. 23, 09:18
Если я не ошибаюсь:
1. Вот то что отвечает за защиту клапанов, (v.4.0 , 4-х строчный дисплей)
#define PEREGREV_ON 1 // Защита от перегрева клапанов, 1- использовать, 0-нет
#define USE_12V_PWM 0 // Phisik: Признак того, что надо использовать защиту от перегрева 12В клапанов
2. Защита от перегрева не используется для 12 вольтовых клапанов по умолчанию. Ее используют только для клапанов 220в.
Vitaliwit Студент Катав-Ивановск 38 4
Отв.15423  22 Янв. 23, 11:51
Доброго дня. Выбираю перистальтический насос.

https://aliexpress.ru/...1067.1670351358

https://aliexpress.ru/...1067.1670351358

посоветуйте какой выбрать
gxtkjdjl Профессор архангельск 6.4K 1.7K
Отв.15424  22 Янв. 23, 14:53
Vitaliwit, я такой взял. работает. качаю мучную брагу. у меня с коллектором, можно с шаговиком выбрать. сначала ладо разобрать и литола в редуктор нахерачить. (по опыту кого то из коллег) по воде 24л в час.на соседнем форуме коллега два спаралелил для большей производительности.
Вячеslav Студент Белгород 46 37
Отв.15425  22 Янв. 23, 17:06
Подключил 4 датчика температуры, и при тестировании одного из них меняются показатели сразу у двух датчиков. что может быть?Sandro77, 17 Янв. 23, 13:08

У меня было так - при подключении 4-х датчиков в окне D4 показания 2-го и 4-го датчиков совпадали.
Исправил так (скетч от Физика 386):

Setting.h (со строки 262):
// Номера датчиков теперь приведены в порядок. Если датчики определяются не в том порядке, меняем числа тут
#define TEMP_KUB 0 // Номер датчика термометра в кубе
#define TEMP_RK20 1 // Номер датчика термометра в РК 20 см от насадки
#define TEMP_TSA 2 // Номер термометра в трубке связи с атмосферой
#define TEMP_DEFL TEMP_RK20 // Номер датчика термометра в дефлегматор

Это Установки для 3-х датчиков, у меня 4 датчика, поэтому изменил:

#define TEMP_KUB 0 // Номер датчика термометра в кубе
#define TEMP_RK20 1 // Номер датчика термометра в РК 20 см от насадки
#define TEMP_TSA 2 // Номер термометра в трубке связи с атмосферой
#define TEMP_DEFL 3 // Номер датчика термометра в дефлегматоре

Но!
В Display.cpp (строка 968):
sprintf_P(lcd_buffer, PSTR("D4 T=%3i,%3i,%3i"), DS_TEMP(TEMP_KUB), DS_TEMP(TEMP_DEFL), DS_TEMP(TEMP_TSA));

Т.е., в окне D4 показания моего 4-го датчика (TEMP_DEFL) выводятся так-же и вместо показаний 2-го (TEMP_RK20).
Для правильного отображения температуры 4-х датчиков изменил скетч:

sprintf_P(lcd_buffer, PSTR("D4 T=%3i,%3i,%3i"), DS_TEMP(TEMP_KUB), DS_TEMP(TEMP_RK20), DS_TEMP(TEMP_TSA));
nep4uk Студент Волжский 14
Отв.15426  23 Янв. 23, 11:55
Пару лет как собрал и работает автоматика из готовых элементов которая. Все собрано самим и работает исправно, но как то "некрасиво", хочу переделать на готовых платах.(клапана на 220в). Вопрос у кого сейчас можно платы заказать??? "bengoor" сказал уже не занимается этим.
Sandro77 Новичок Нижний Новгород 2
Отв.15427  24 Янв. 23, 14:35
Проблемы с китайскими датчиками температуры DS18B20 описывались не раз, на своем опыте скажу сменил больше 10 шт, глючат все по разному. Заказал на ОЗОНЕ оригинал, погрешность до 0,5* С, провода силиконовые, длинна разная. 2 недели в работе проблем нет.Витька, 22 Янв. 23, 09:57
Витька, Спасибо за ответ. Проверил каждый датчик отдельно - работает. пока так и не могу понять, почему при изменении температуры на 2ом датчике, на 4ом показывает те же параметры.
burin_64 Магистр Долгопрудный 284 120
Отв.15428  24 Янв. 23, 15:30, через 55 мин
У меня было тоже самое. Это стало причиной по которой я забросил автоматику. Лежит на антресоли. Хотелось бы снова вернуться к ней, но знаний маловато. Если найдется решение этой проблемы, то наверное снова займусь.
Виктрыч Профессор Екатеринбург 7.2K 1.9K
Отв.15429  24 Янв. 23, 15:43, через 14 мин
Обращение по конкретным адресам датчиков? Хотя при серийном выпуске какие адреса. Думаю путаница при определении и назначении датчика. Разобраться в меню. Есть такое? Хотя в этом я не Копенгаген.
metcerzaker Бакалавр Москва 80 11
Отв.15430  24 Янв. 23, 15:45, через 3 мин
пока так и не могу понять, почему при изменении температуры на 2ом датчике, на 4ом показывает те же параметры.Sandro77, 24 Янв. 23, 14:35
Если найдется решение этой проблемы, то наверное снова займусьburin_64, 24 Янв. 23, 15:30

Парой постов выше Вячеслав вам доходчиво все расписал :
У меня было так - при подключении 4-х датчиков в окне D4 показания 2-го и 4-го датчиков совпадали.Вячеslav, 22 Янв. 23, 17:06
И даже привёл решение.
Обратите внимание еще раз, что в скетче по умолчанию датчик 4 принимает показания с той же переменной что и датчик 2.
В итоге работает только 3 датчика,которые в скетче задефайнены под номерами 0, 1, 2, а 4-ый получается виртуальный, который копирует показания второго.
Screenshot_20230124_153332_ArduinoDroid.jpg
Screenshot_20230124_153332_ArduinoDroid.jpg Доступная автоматика HelloDistiller на Ардуино Мега 2560. Автоматика.
mrALEX Новичок Krasnoyarsk 9 2
Отв.15431  25 Янв. 23, 12:13
Я смог, GyverBME280 поменял на эту библиотеку и везде поменял bmp280 на bme280.
Приветствую. Я также бился с этим датчиком, так и не победил. Возможно у тебя bme280. Как китаец мне объяснил, он мне прислал вместо bmp280 - bme280. Проверь может у тебя тоже так. В скетче менял все значения на bme280, ставил библиотеки для bme280, так и не могу его подключить.Уральский винодел, 22 Июля 20, 06:04
сообщение удалено
mrALEX Новичок Krasnoyarsk 9 2
Отв.15432  26 Янв. 23, 03:30
Без смены библиотеки не работало, возможно потому что прошивку не из этого сообщения скачал.
Vitaliwit Студент Катав-Ивановск 38 4
Отв.15433  26 Янв. 23, 15:18
Vitaliwit, я такой взял. работает. качаю мучную брагу.gxtkjdjl, 22 Янв. 23, 14:53

Мне нужно вместо клапанов
gxtkjdjl Профессор архангельск 6.4K 1.7K
Отв.15434  26 Янв. 23, 15:51, через 33 мин
тогда надо с меньшей производительностью.
sachalin-1 Кандидат наук Куйбышев 432 126
Отв.15435  26 Янв. 23, 16:41, через 51 мин
У нас на сайте:
https://www.homedistiller.ru/ali/items/1005001657165005
не пойдет?
Vitaliwit Студент Катав-Ивановск 38 4
Отв.15436  26 Янв. 23, 16:43, через 3 мин
У нас на сайте:sachalin-1, 26 Янв. 23, 16:41

Проплатил в поднебесной.
galaxes Студент Питер 22 7
Отв.15437  28 Янв. 23, 21:07
Ребят, подскажите пожалуйста, может кто знает причину. Сейчас идет моя первая ректификация на автоматике. Почему то при переходе со стабилизации на отбор голов клапан сам не открывается ( и при переходе обратно на стабилизацию не закрывается). Вручную открывается и закрывается, шим визуально не регулируется. Сейчас головы отбираю игольчатым краном, клапан тупо открыт вручном режиме.
Andy117 Бакалавр Новосибирск 70 45
Отв.15438  29 Янв. 23, 17:12
Уже писал про пресеты датчивов температуры и чем они меня не устраивают.
Вот дошли руки, сделал, испытал. Меня устраивает, может еще кому пригодится.
Если в кратце, то сейчас пресеты - это строго определенные наборы (пресеты) датчиков, которые нужно использовать только в комплекте. Не добавить не убавить датчики нельзя, кроме как через перекомпиляцию.
Я чуть переделал и теперь пресет - это адреса датчиков в порядке, в котором они будут работать.
Т.е. на первом месте в пресете датчик №1 (куб), на втором №2 (колонна/дефлегматор), на третьем №3 (ТСА), на четвертом №4, на пятом №5.
Если скажем свой (свои) датчики ТСА прописали в любом пресете на третьем месте, то он будет датчиком ТСА даже если вы все остальные датчики переменяете или вообще воткнете только его один.
Т.е. если у вас есть несколько кубов, колонн, дефлегматоров, ТСА и даже экспериментальных датчиков, то можете их комбинировать в любом порядке, датчики встанут на свое место. Если конечно они прописвны в пресетах. А даже если какой и не прописан, то скорее всего встанет на нужное место.
Тем кто пользуется утилитой patch, загружаю в виде патча. В кратце описывал ее формат.
[сообщение #13764415]

Ну или в файле setup.cpp (Скетч от Физика v4.00) в районе строки 291 удаляем код от строк

#if ENABLE_DS18B20_PRESET
// Updated by Phisik on 2018-09-15
// Сейчас мы отсортируем датчики по готовым пресетам
// Алгоритм такой, берем первый адрес из ds1820_rom_codes и перебираем все наши пресеты

до

 } // if (DS18B20_PRESET_NUM>0)
#endif


И после строки (~423)
readEEPROM();

Вставить следующий код

#if ENABLE_DS18B20_PRESET
     // Updated by Andy117 on 2023-01-29
     // Сейчас мы отсортируем датчики по готовым пресетам
     // Алгоритм такой, берем первый адрес из ds1820_rom_codes (найденные при сканировании адреса датчиков) и ищем такой адрес
   // во всех пресетах. Если совпадение найдено, то значит этот датчик должен быть датчиком с номером, равным порядковому номеру в пресете.
   // Т.е. если данный адрес датчика в пресете стоит на позиции 2 (начиная с 0), то это датчик ТСА.
     // Записываем в таблицу сортировки ds1828_nums[2] порядковый номер текущего проверяемого датчика. Для первого проверяемого адреса это 0.
   // Ищем остальные датчики.

     // Датчики, которых нет в пресетах сортируем на самые первые свободные места.
   // Ну и для красивости заполняем нераспределенные номера датчиков

     if (DS18B20_PRESET_NUM>0) {
     uint8_t nums[MAX_DS1820] = {5, 5, 5, 5, 5};   //здесь будем фортировать новую таблицу сортировки датчиков, 5 - просто маркер свободного
     bool matched[MAX_DS1820] = {false, false, false, false, false}; //флаг что датчик найден в пресете
     bool fFound = false;                        //флаг, что какие то датчики нашлись в пресетах
     //ищем подключенные датчики в пресетах
     for(int i=0; i<ds1820_devices; i++) {       // проверяем каждый подключенный датчик
       bool bMatchFound = false;
       //Ищем в каждом пресете
       for (int nPreset = 0; nPreset < DS18B20_PRESET_NUM; nPreset++) {
         // Перебираем каждый датчик в пресете и сравниваем его с нашим
              for(int j=0; j<MAX_DS1820; j++) {  
                 int mismatch = 0;
                 for (int k = 0; k < 8 && mismatch == 0; k++)
                    mismatch += ds1820_rom_codes[k] - dsSensorPreset[nPreset][j][k];

                 // Если нашли датчик
                 if (mismatch == 0)  {
                   fFound = bMatchFound = true;  //флаг, что этот датчик найден
             nums[j] = i;                  //этот физический датчик (порядковый № i, соответствует логическому № j)
             matched = true;            //устанавливаем флаг, что он найден
//#ifdef DEBUG
               sprintf_P(lcd_buffer,PSTR("Found match. Preset %i, founded DS18B20 %i sensor is sensor number %i"), nPreset, i, j);
                DEBUG_SERIAL.println(lcd_buffer);
//#endif
                   break;                // выходим из поика по данному пресету
                 }
              }
         if (bMatchFound)          //раз уже нашли, нечего искать по другим пресетам
           break;
       }
     }
     if (fFound) {   // были найдены какие либо датчики в пресетах и таблицу сортировки нужно менять
       //распределим датчики, которые подключены, но нет в пресетах
       for (int i=0; i<ds1820_devices; i++) {
         if (matched)  break;            //он уже найден и распределен
         //распределяем не найденный
         for (int j=0; j<MAX_DS1820; j++)
           if (nums[j] == 5)
             nums[j] = i;
       }
       //заполняем нераспределенные номера датчиков
       for (int i=ds1820_devices; i<MAX_DS1820; i++) {
         for (int j=0; j<MAX_DS1820; j++) {
           if (nums[j] == 5) {
             nums[j] = i;
             break;
           }
         }
       }
       // копируем локальную таблицу сортировки в глобальную
       for (int k=0; k<MAX_DS1820; k++) {
         ds1820_nums[k] = nums[k];
       }
     }
     } // if (DS18B20_PRESET_NUM>0)
#endif


Если нужны подробности, пишите, постараюсь объяснить.
ЗЫ Странно. Специально использовал обертку "/код", чтоб содержимое копипасты не искажалось.
А сейчас посмотрел там, где используется переменная i в квадратных скобках, воспринялось как тег "курсив" и съела переменную.

Добавлю в виде текстового файла.
Phisik Куратор Екатеринбург 656 1.4K
Отв.15439  29 Янв. 23, 23:26
воспринялось как тег "курсив"Andy117, 29 Янв. 23, 17:12
Пробел поставь [ i ] и под cut все заверни.