Ищу исполнителя для написания кода устройства для измерения расхода жидкости.

Jackson_KHV
Offline
Зарегистрирован: 15.02.2016

Устройство состоит из:

Весы (тензодатчик + АЦП НХ711);

Мерная емкость;

Расходный бак с жидкостью;

Насос для перекачивания мерной жидкости из бака в емкость;

Дисплей LCD 16x2;

3 кнопки - "ВВОД", "ВРЕМЯ", "СБРОС";

Управление и расчеты производит Arduino UNO.

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

Упрощенный алгоритм такой;

Включаем, набираем насосом жидкость в мерный сосуд до максимума, выключаем насос, выставляем желаемое время (30, 60, 90, ... , 300 секунд), запускаем измерение, ждём время, считаем расход.

Более подробный алгоритм отправлю на почту. 

Мог бы справится сам, но на это уйдёт много времени, уверен для профи подобный скетч написать  - это пара вечеров.

Сам справился с: 

работа с весом (измерение, сравнение);

контроль минимального веса;

вывод информации на экран кирилицей; 

(частично) работа кнопок.

Для меня вызвало затруднение:

Всё что связано с таймером (выставить время, отобразить обратный отсчет на экране, по окончании времени сравнить вес до запуска таймера и после);

Назначение 2-х функций для одной кнопки (короткое нажатие делай это, длинное - делай то).

Все библиотеки присутствуют.

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

 

 

madmax96
Offline
Зарегистрирован: 22.09.2011

бюджет?

vvadim
Offline
Зарегистрирован: 23.05.2012
pcb
Offline
Зарегистрирован: 02.04.2015

Пишите на PCBADM ()маил.ру.

Есть ненулевая вероятность, что договоримся.

Jackson_KHV
Offline
Зарегистрирован: 15.02.2016

Спасибо за отклики! Вобщем мало-помалу разобрался сам. Теперь и таймер и кнопки работают. Остался единственный момент, это работа с весом.

Суть такая, когда я выставляю нужное время и нажимаю "ВВОД" начинается обратный отсчет, в момент начала отсчета необходимо запомнить текущее показание веса, после того, как таймер дойдёт до "0" необходимо второй раз считать вес, запомнить его и сравнить с начальным. Примерно так:

float P1 = weight.get_units(10) - te; 
// где weight.get_units - текущий вес, 
//(10) - берётся 10 показаний и находится их среднее,
// te - вес платформы весов

 P1 {пишем в память};

//Здесь идет обратный отсчет
//...и когда таймер доходит до "0"

float P2 = weight.get_units(10) - te; 

 P2 {пишем в память};

//Потом мы считываем из памяти P2 и P1 и по формулам вычисляем расход

Вот с этим у меня трудности. Никак не могу разобраться с этим.

Так что прошу помощи у профи! Насчет оплаты (если такова необходима) называйте свою сумму. Спасибо!

 

uragan
Offline
Зарегистрирован: 23.02.2015

А зачем их в  память писать и считывать от туда?  На всякий случай? И в какую память?

Jackson_KHV
Offline
Зарегистрирован: 15.02.2016

uragan пишет:

А зачем их в  память писать и считывать от туда?  На всякий случай? И в какую память?

А как иначе? Просто считывание веса в любом случае происходит одной и той же функцией .get_units. Следовательно какую бы переменную мы не ввели, она всё равно будет привязана к текущему весу. Поэтому и думается, что нужно записать сначала один вес, запомнить его численно, а потом второй вес, и уже с этими цифрами работать. Или я не прав?

 

uragan
Offline
Зарегистрирован: 23.02.2015

Две разные переменные р1 и р2 .

VladMaster
Offline
Зарегистрирован: 14.04.2016

 готов пообщаться.жду отклика на vlad.spbstu@mail.ru

Jackson_KHV
Offline
Зарегистрирован: 15.02.2016

Всем огромное спасибо! Но справился сам (что неожиданно для самого себя). Благодарю за советы! Вчера код был написан и опробован, всё работает.

Finista
Offline
Зарегистрирован: 24.10.2016

Заказал у vlad.spbstu@mail.ru (Владислав Gardner, VladMaster) проект станции дозирования, после оплаты не выходит на связь. Владислав, выходи на связь subnews4@mial.ru.