Сенсорные датчики и уровень воды (проблема при перезагрузке)!

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

У воды проницаемость 81
Ёмкость должна измеиться в 81 раз.
Это 8100 процентов!!!!!!!!!!!

Даже если половина по вашему 40 раз 4000 %

Что-же тогда никак не получается поймать такое чудовищьное изменение ёмкости?

Может быть в конденсаторе что-то не в порядке?

Две пластинки и у нас готов кондёр! Ага, щас.......

Sindbad
Offline
Зарегистрирован: 08.12.2015

trembo пишет:

Sindbad пишет:

Что еще за бред? Электростатическое поле распространяется от заряда в пространстве во все стороны, а не к каким-то телам.

Нет , повторяю - имеют начало и конец.

Доказывайте.

А если серьезно, для продолжения разговора о полях и их силовых линиях, приведите:

1. Закон Кулона

2. Определение потенциала электрического поля в точке

3. Определение силовой линии.

Можете начать с п. 3, он самый интересный. Первые два пункта подтянутся автоматически.

Sindbad
Offline
Зарегистрирован: 08.12.2015

trembo пишет:

Там где поля нет- можете всавлять любой диэлектрик- эффект ноль . Ну нет там поля, нет!

Ок. Возьмите Ваш любимый плоский конденсатор, выберите пару точек пространства вне обкладок (т.е. снаружи обкладок) и с помоющью закона Кулона докажите, что в этих точках "нет поля", т.е. заряды на обкладках вообще не оказывают воздействия на заряд в этих точках.

Sindbad
Offline
Зарегистрирован: 08.12.2015

trembo пишет:

Что-же тогда никак не получается поймать такое чудовищьное изменение ёмкости?

Надо не тараканами своими школьными размахивать, а сообщения читать. Повторяю.

1. Разница в 40 раз получается только при допущении "не учитывать влияние стенок бака". На самом деле это влияние велико, а поместить пластину непосредственно в бак возможности нет.

2. Проблема ТС не в том, что не получается поймать изменение емкости, его-то он как раз стабильно ловит. А в том, что схема перестает работать после перезагрузки Ардуины. Мое мнение - причина в помехах на выходах Ардуины. Но на данный момент подтверждения этой теории нет.

 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Судя по последней рекомендации насчет диода - причина в том, что Ардуина при перезагрузке аппаратно перенастраивает свои пины на "вход", и вот похоже, что при этом "проскакивает" по второй ноге потенциал, заряжающий конденсатор. В результате, после перезагрузки, действительно потребуется физическое рассоединение и разрядка, что ТС-ом и было обнаружено.

Пока ТС проверяет версию, спецам хочется задать вопрос, когда-то меня мучавший "до посинения" (пофлудить хочется):

1. Берем канифоль, она обладает большим дипольным моментом, разогреваем до жидкого состояния, заливаем в форму (колесико) и остужаем, подавая на торцы формы большое напряжение .. скажем 2-8 киловольта. Диполи развернутся по полю, и в таком состоянии и застынут .. кто пгобовал, тот знает как при этом "канифоль плющит", но тем не менее.

И? получим "заряженный" кусок канифоли, у которой с одной стороны "+", а с другой "-" .. почему, замкнув проводником в нем нет тока? Напряжение есть, а тока нету..

2. Втыкаем в такую же фигню металлический провод, замораживаем также линии электрического поля .. повторяем пред. опыт. Будет ток? :)

3. Строгаем стружку от магнита, разводим её в той же канифоли, замораживаем линии электрического поля в диполях, намагничиваем радиально (через проводник в центре см. выше) и? Имеем диполи, создающие вн. электрическое поле и постоянный магнит, создающий "выходящие с торцов" силовые линии. Если обмотать такое колесико проводом - покатится само? :)

leon_3
Offline
Зарегистрирован: 15.05.2015

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

Вопрос такой: а если библиотеку распотрашить, и ее целиком засунуть в скетч? И использовать ее как функцию а не библиотеку, момент инициализации можно будет избежать? Или я не прав?

Sindbad
Offline
Зарегистрирован: 08.12.2015

leon_3 пишет:

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

Скриншот вывода значений опубликуйте.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Не правы. Место нахождения библиотеки в момент компиляции на результат не влияет. В конечном счете, она так и подключается .. вызовом функций. :)

Sindbad
Offline
Зарегистрирован: 08.12.2015

И еще один эксперимент для полноты картины. Протестируйте такую схему:

я не шучу. Отключите все от второго и третьего выходов Ардуины и перезапустите скетч.

leon_3
Offline
Зарегистрирован: 15.05.2015

1. После ребубта, датчик перекрыт водой

2. Наклонил бак и вернул обратно (датчик остался без воды и потом опять перекрылся).

3. Передернул провод - и вдруг все изменилось:

 

Я перестал понимать, что тут творится....

leon_3
Offline
Зарегистрирован: 15.05.2015

Sindbad пишет:

И еще один эксперимент для полноты картины. Протестируйте такую схему:

Для полноты, согласен, нужно!

leon_3
Offline
Зарегистрирован: 15.05.2015

Arhat109-2

Не совсем так... Я имел ввиду не компиляцию, а первое обращение. Такое ощущение, что при ее инициализации до LOOP она что то успевает натворить (возможно пока сама плата что-то делаешт), то что мне и мешает!

Хотя мне это и самому начинает казаться абсурдным.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Насколько понимаю, замер емкости делается по 3 пину, то есть он нормально настраивается как "вход без подтяжки", но надо смотреть либу...

попробуйте в loop() после замера поставить это:

pinMode(3, OUTPUT);
digitalWrite(3, LOW);
delay(100);
pinMode(3,INPUT);

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

Sindbad
Offline
Зарегистрирован: 08.12.2015

leon_3 пишет:

Я перестал понимать, что тут творится....

Я опровержения своей теории пока не вижу. Железного подтверждения, правда, тоже. Можно попробовать накопить побольше статистики. Но не нужно. Двигаемся дальше.

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

Диод не помог, т.к. во-первых он не убирает заряд с третьего выхода, наоборот не дает ему стечь через резисторы 9МОм и 10кОм на землю.  Во-вторых имеет некоторую скорость переключения, которая влияет на результат измерений. В третьих паразитный заряд на третьем выходе может меняться со временем случайным образом, а значит будет плавать и время начала переключения диода, что также не даст надежно получать значения с датчика.

Вижу два пути продолжения экспериментов....

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Подозреваю, что "заряд копится" не на самом выходе, а на полиэтилене бачка.

Sindbad
Offline
Зарегистрирован: 08.12.2015

Arhat109-2 пишет:

Подозреваю, что "заряд копится" не на самом выходе, а на полиэтилене бачка.

Хуже того, бяка может быть и там и там. Так что борьба за "читающий" выход Ардуины не исключает необходимости борьбы с другими помехами.

Sindbad
Offline
Зарегистрирован: 08.12.2015

Путь первый. Добавить в схему элементы, которые будут определять точку зарядки конденсатора, т.е. убрать зависимость этой функции от состояния логического выхода Ардуины.

Сразу оговорюсь, я абсолютный новичок в электротехнике. Поэтому если мои схемы окажутся наивными и ошибочными, прошу старших товарищей поправить.

Предлагаю поэкспериментировать со следующими двумя схемами:

leon_3
Offline
Зарегистрирован: 15.05.2015

Arhat109-2 пишет:

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

Добавил после считывания кусок кода, как результат:

1. Если это проделать с пином на котором висит резистор программа выдает -2

2. Если это проделать с пином который считывает значение - ничего не меняется, на выходе около нулевые значения...

По поводу схем, буду думать, сейчас нету компонентов, придется добраться и купить!

Sindbad
Offline
Зарегистрирован: 08.12.2015

Но есть еще и второй путь. Сделать как написано тут.

Клапауций 321 пишет:

https://www.arduino.cc/en/Tutorial/CapacitanceMeter

Но раз уж вы упорно не хотите программировать, ждите когда поэкспериментирует кто-нибудь другой. У меня руки вряд ли до выходных до этого дойдут.

А пока .... (апдейт) предложенное фигня, сам проверил.

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

Sindbad пишет:

Я не предлагал "покрыть еще одним слоем". Упрощенно - заменить диэлектрик вокруг сферы другим диэлектриком. Как изменится емкость феры в этом случае рассказывать?

хорошо.

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

иначе, всё что ты тут рассказываешь несколько страниц - тупой флуд.

std
Offline
Зарегистрирован: 05.01.2012

Нах измерять мизерную ёмкость двух пластин, между которыми заливается два вида диэлектрика, слабо влияющего на эту ёмкость? Надо весь бак облепить фольгой, и соединить с землёй. Это будет одна обкладка конденсатора. Вторая обкладка - вода в баке. Или в ней должен быть прям большой ток?

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

std пишет:

Вторая обкладка - вода в баке.

вода в баке - дистиллят-диэлектрик обкладкой быть не может физически.

Sindbad
Offline
Зарегистрирован: 08.12.2015

std пишет:

Нах измерять мизерную ёмкость двух пластин,

Емкость действительно мизерная. К тому же мерять нужно собственную емкость ОДНОЙ пластины. Тут холивар по этой теме уже сообщений на сто.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

std пишет:

...... два вида диэлектрика, слабо влияющего на эту ёмкость? .....

В 81 раз для воды - для вас это слабо?
Кстати у пластиков 2-2.5 всего
https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%8D%D0%BB%D0%B5%D0%BA%D1%82...

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

Sindbad пишет:

Но есть еще и второй путь. Сделать как написано тут.

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

единственное, чего я желаю - прекращения тупого флуда.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Клапауций 321 пишет:

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

иначе, всё что ты тут рассказываешь несколько страниц - тупой флуд.

Одобрямс!

Первый пошел: кино и описание. Ещё на Мега8

https://www.youtube.com/watch?v=6m6Owu65dcw
http://www.avislab.com/blog/fuel/

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

trembo пишет:

Первый пошел: кино и описание. Ещё на Мега8

забраковано - датчик должен иметь одну обкладку.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Это будет антенна, радиоволны пока не рассматриваем

Для общего образования

https://www.youtube.com/watch?v=0du-QU1Q0T4

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

trembo пишет:

Это будет антенна, радиоволны пока не рассматриваем

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

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

leon_3
Offline
Зарегистрирован: 15.05.2015

Клапауций 321 пишет:

trembo пишет:

Это будет антенна, радиоволны пока не рассматриваем

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

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

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

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

leon_3 пишет:
Для вас лично, я хочу закончить! Поставлю свои реле, ибуду мерить однообкладочным не рабочим конденсатором, сбрасывая систему перед чтением значений. Ни кому не нужно ничего писать и читать. На этом все споры можно окончить, и лишь проверять другие теории, без споров. Спаисбо!

для тебя лично я уже писал #153 - делай, что тебе в голову взбредёт.

Sindbad
Offline
Зарегистрирован: 08.12.2015

Леон,

Схема:

Скетч:

unsigned long startTime;
unsigned long elapsedTime;

void setup() {
  Serial.begin(9600);
  pinMode(2, OUTPUT);
  digitalWrite(2, LOW); 
}

void loop() {
  digitalWrite(2, HIGH);
  startTime = micros();
  while(analogRead(3) < 900){};
  elapsedTime= micros() - startTime;
  Serial.println(elapsedTime);
  
  /* dicharge the capacitor  */
  digitalWrite(2, LOW);
  pinMode(3, OUTPUT);
  digitalWrite(3, LOW);
  while(analogRead(3) > 0){};
  pinMode(3, INPUT);
  
  delay(5000);
}

Проверяйте как работает.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Для начала, предлагаю к вашему рисунку таки дорисовать вторую обкладку, на обратной стороне бачка и посадить её на землю :)

leon_3
Offline
Зарегистрирован: 15.05.2015

Arhat109-2 пишет:

Для начала, предлагаю к вашему рисунку таки дорисовать вторую обкладку, на обратной стороне бачка и посадить её на землю :)

Каюсь, грешен... Обкладка есть, упомянуть забыл. На результат не влияет. Но как то 16 см, многовато для такого конденсатора!

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

16см - всяко меньше 1метра до ближайшего заземления "по воздуху" .. вряд ли оно "меньше" :)

leon_3
Offline
Зарегистрирован: 15.05.2015

Тоже верно!

leon_3
Offline
Зарегистрирован: 15.05.2015

Sindbad пишет:

Леон,

Схема:

Проверяйте как работает.

Штука повисла на одном значении, на воду не реагирует, на руку кое как (если  коснуться открытой части пластины пальцем даст 600-700 единиц, по умолчанию 556-564). Не хватает чувствительности!

P.S. небольшая оговорка, резистор на на 9 МОм, а на 5 МОм. Ставил на 7.5 МОм, поменялись цифры, но не суть , реакции на воду нет, на руку только если оооочень близко.

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

leon_3 пишет:

Не хватает чувствительности!

посоли воду. :D

leon_3
Offline
Зарегистрирован: 15.05.2015

Да не вопрос)))

P.S. Без изменений! Вообще, даже не дернулось! Судя по всему, разници с дистилиратом тоже не будет...

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

leon_3 пишет:

Да не вопрос)))

P.S. Без изменений! Вообще, даже не дернулось!

теперь доведи до кипения и бросай раков с укропом.

leon_3
Offline
Зарегистрирован: 15.05.2015

Извиняй, не пью, членестоногих не люблю... Да и в полиэтилене не очень удобно готовить, голышко еще узкое...

Стеб засчитан)))

leon_3
Offline
Зарегистрирован: 15.05.2015

Вопрос ко всем, судя по описанию библиотеки, и по сути, библиотека должна реализовывать код который дал Sindbad

Но почему разные результаты, как эта библиотека работает???

unsigned long startTime;
unsigned long elapsedTime;

void setup() {
  Serial.begin(9600);
  pinMode(2, OUTPUT);
  digitalWrite(2, LOW); 
}

void loop() {
  digitalWrite(2, HIGH);
  startTime = micros();
  while(analogRead(3) < 900){};
  elapsedTime= micros() - startTime;
  Serial.println(elapsedTime);
  
  /* dicharge the capacitor  */
  digitalWrite(2, LOW);
  pinMode(3, OUTPUT);
  digitalWrite(3, LOW);
  while(analogRead(3) > 0){};
  pinMode(3, INPUT);
  
  delay(5000);
}

 

Крик души...

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

leon_3 пишет:
Крик души...

подожди, ты же говорил, что программист

leon_3
Offline
Зарегистрирован: 15.05.2015

Если внимательнл почитать, я описывал, что в проект сунулся, что бы изучить программирование... Скетч для установки первая моя адекватная программа в жизни (hello world и т.п. не в счет). Для запуска установки и проверки по в полной мере не хватает бака, своих сил и умений решить задачу не получилось, и попросил у форумчан помощи.

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

leon_3 пишет:
Если внимательнл почитать, я описывал, что в проект сунулся, что бы изучить программирование...

повезло тебе - а, мог бы и сапёром сунуться учиться

leon_3
Offline
Зарегистрирован: 15.05.2015

Ты думаешь, я бы не писал в форуме? Обязательно бы что нить придумал, и толпой бы гадали как решать)))