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

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

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

[member=capsolo], вообще, до пищалки мнебы просто нормально запустить. Раньше переодически сталкивался с не совместимостью плат при самосборке пэвм в начале 2000-х. Возможно это у меня тот случай проявился. На подходе 328 и 1602 от других продаванов, буду пробовать как то тасовать все между собой, пока медицина бессильна. Спирт и щетка не решила вопрос свистопляски, перегибы на непропай тоже. Изменено пользователем kirka

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


Ссылка на сообщение
Поделиться на других сайтах
[member=kirka], при самосборке обычно была защита от дурака. Здесь другая беда - битые пины, и сама платка контроллера очень просто жжется.

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


Ссылка на сообщение
Поделиться на других сайтах
[member=capsolo], придет барахло, проверю свою версию.

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


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

[b][member=capsolo][/b], 

А как добавить клапан воды, пин на разгон и пин отключения ТЕНов?

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


Ссылка на сообщение
Поделиться на других сайтах
[member=pelecis], вообщем ничего особенного. В основной цикл вставляешь функцию, которая будет мониторить temp[1]. Если установленный тобой порог превышен - поднимаешь (или опускаешь) ногу, на которой клапан воды и разгонный режим. Мониторишь также current_decrement. Как меньше или равно нулю - поднимаешь ногу, которая коротит через реле твой узо. Переменные глобальные, скорость не нужна, так что пихаем в общий цикл. Можешь ещё temp_ovf мониторить. Это переменная залета. Как она 1 записываешь время millis(). Потом сравниваешь со своим порогом. Если время прошло - коротыше узо ногой через релюху. Изменено пользователем capsolo

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


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

[b][member=capsolo][/b], , я конечно тебе благодарен за вложенний труд, но разяснил бы какие порты свободны и как ето сделать. Программист из меня неполучится. несколько часов ковырял программу, боюсь сломать.

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


Ссылка на сообщение
Поделиться на других сайтах
[member=pelecis], все ноги, которые не заняты на схеме из второго сообщения, свободны. Если народ твое предложение поддержит смогу запилить. Сейчас в командировке - не до этого.

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


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

[b][member=capsolo][/b], 

 

Превед!!!
 
версия 0.9. Них. раб. нехоч. ... На тестах гоняю:
 
Кажется что возвращение к отбору происходит не по дельте ... а по показаниям Т в пределах 0,06*С. У меня на колонне стояли 3 ДТ, среднииий отключил, между верхним и нижним при головах разница около градуса, при теле - 0,6-0,7. При 0,8 знаю - хвосты. Здесь имеются ошыбкы  ДТ допустимые по даташитам. Встанет ли  контроллер обратно на отбор после достижения Д Т менше 0,8С?

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


Ссылка на сообщение
Поделиться на других сайтах
[member=pelecis], зашей 1.0.1 - она половчее. А встанет или не встанет - зависит от выставленной дельты. 1.0.1 показывает есть ли стабилизация колонны.

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


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

Антон, приветствую! Пришла мне "нано" и есть по ней полезная инфа... 

 

1. для нормальной работы кнопки "+" на пине 13 обязательно нужно удалить светодиод с обозначением "L" с платы "NANO" (я просто, в сердцах, срезал бокорезами :-) ) кнопка + заработала нормально, и перестал девайс уходить в прибавление температуры порога для дистилляции сразу после включения... 

2. для корректного отображения трехзначного отбора нужно перестать затирать третье знакоместо в значении отбора...

 

А теперь вопрос: Как у тебя реализован подъем пина релейного по залету?  (в версии 0.9 я сделал инверсию HIGH-LOW и наоборот, все прокатило (активным уровнем стала единица) здесь не прокатило... ШИМ стал работать правильно (активная единица), а по залету встает единица и все тут... Просто у меня Ардуинка управляет полевым транзистором, а тот в свою очередь клапаном. Короче, как сделать чтоб при залете пин релейный в ноль падал?

 

Добавлю: прошива 1.0.1

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

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


Ссылка на сообщение
Поделиться на других сайтах
[member=bigson], вот оно как мля ;) пасиба за науку. По залету смотри то ли checktemp процедуру то ли обработчик таймера один из двух. Я в запое пока не могу поглядеть.

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


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

прошива 1.0.1

, прошива тоже 1.0.1

вот так пробуй, у меня отображается вплоть до 4х знаков:

lcd.print(flow);

if (flow<1000){lcd.setCursor(15, 1);lcd.print(" ");}

if (flow<100){lcd.setCursor(14, 1);lcd.print(" ");}

if (flow<10){lcd.setCursor(13, 1);lcd.print(" ");}

lcd.setCursor(9, 0);

Имхо, но Релюхе и Пищалке во время стабилизации наверно лучше помолчать.

ПИН отруба через УЗО после отбора в НОЛЬ тоже-бы нужно.

"срезал бокорезами", варвар, может переназначить проще? Например аналоговый в цифру обратить?

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

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


Ссылка на сообщение
Поделиться на других сайтах
[member=kirka], я планирую в пятницу заняться. Допилим.

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


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

 

 


вот так пробуй

 

Да я сделал это уже... только с инверсией релейного пина где то косякнул похоже...

 

Антоха, выбирайся из штопора :-) , мне было проще, на работе сегодня первый день после отпуска... причина была :-)

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


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

Саш выберусь сделаю флажок для релюх прямые или инверсные.

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

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


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

[b][member=capsolo][/b], да ладно, не горит так-то, еще крупный глюк есть, как раз дотестю к четвергу и скину, пока сформулировать сложно, язык с костями по функциям у меня ;)

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


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

Самый крупный по мне - это дребезг по залету. Верну как было

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


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

Антоха, дребезг по залету вроде нашел... вот это место переделанное:

 

  /* если температура опустилась ниже порогового значения, то снимаем флаг */
Serial.println(lock_norm);
    } else if ((abs(temp[1]-temp[0]) <= lock_norm) && (temp_ovf == true)) {temp_ovf = false; CalcFlow();}
 
Но, скука, победить появление единицы при инверсной (активная единица) работе не могу... При залете идет кратковременное (0,2 секунды) выключение, а потом кто-то включает на постоянку единицу, до снижения температуры...

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


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

[b][member=bigson][/b],Да поставь перед полевиком транзистор обычный и через него включай как надо. 

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


Ссылка на сообщение
Поделиться на других сайтах
[member=bigson], ну вот в checktemp если только. Прямо поиском по RELAY_OFF или ON как у тебя устроено ;)

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


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

 

 


поставь перед полевиком транзистор обычный

 

Если забуксую окончательно и безповоротно, так наверное и сделаю :-) Как железячнику-электронщику со стажем для меня это самый простой путь решения, но не спортивно...

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


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

[b][member=bigson][/b],Ну так то да, мы не ищем легких путей. 

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


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

уважаю вас, ибо какой-то там черный ящик как-то работает, а чтобы работал как вы хотите можно немного элементов напаять и все тут. Код - дело тонкое и лечению не подлежит, как там в формуле любви было? ;) так то контроллер будет делать РОВНО то, что мы ему порекомендовали

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

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


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

[b][member=capsolo][/b],Антон, мне проще проц на 260 ног припаять, чем в твоих кодах разобраться. Так, что кто на что учился. Я вот наоборот уважаю тех, кто этот сраный кусок пластмассы заставляет работать как нам надо. 

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


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

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

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

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

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

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

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

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

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

Загрузка...

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

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

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