Перегляд одного допису
Старий 25.02.2015, 15:05   #14
Igor1031
Super Moderator
 
Аватар для Igor1031
 
Реєстрація: 25.12.2009
Дописи: 2.562

Типово

Ємністний датчик рівня палива


Ємністний датчик — це такий вид датчиків, які для вимірювання рівня рідини не використовують механічні елементи (поплавка немає!). Вимірюється навіть не сама рідина, а діелектрична проникність матерії між електродами, яка прямо пропорційна кількості рідини між ними (або не дуже прямо, в фізику заглиблюватись не будемо).
Без поплавка? Як це можливо?
Замість поплавка ставимо дві трубки (одна в одній, так щоб вони не доторкались одна до одної) — получається конденсатор, який міняє свою ємність в залежності від кількості ізолятора між його пластинами. В якості ізолятора виступає бензин.
Контроллер проводить вимірювання і перетворює результати вимірювання в показники стрілки. (свого роду тестер, але з однією функцією — вимірювання ємності конденсатора)
Загальна інформація
Ємнісні датчики виготовляються серійно на любу довжину (допускається обрізка дачика пилкою до 30% від довжини). Ціна від 350 грн. Є моделі для стрілки, є моделі для підключення до КАН лінії (для авто в який є центральний копютер). Але дані дачики вимагають підтягнути до них 12 вольт і не мають виходу на лампочку. (Ну принаймі я таких не зустрічав). Тому я, маючи в запасі базове поняття в програмуванні і принципі роботи дачика, вирішив зробити свою модифіуацію.
Про принцип роботи
Зайду з далека…
По суті датчик — це дві трубки — одна меншого діаметру, друга більшого діаметру. Якщо цих дві трубки запхати одна в одну так щоб вони не торкались одна одної — то получиться конденсатор. Конденсатор — то така штука яка вміє накопичувати електричний заряд (свого роду батарейка, але дуже малої ємності). І як люба батарейка накопичення заряду займає певний проміжок часу. Тобто якщо на тих дві трубки подати 1 Вольт — то той вольт на трубках почне накопичуватись (спочатку там буде 0,01В, потім 0,02В … аж до 1В). Вимірявши час накопичення того вольта на стінках трубок можна вичислити їх ємність. Формули пропускаєм… :-)
Виникає питання, як виміряти тим кондюхом рівень бензину…
Дуже просто…
Всі знають що повітря струм не проводить. Але на справді це не так… Воно проводить, але дуже при дуже погано…
Так само бензин — струм не проводить. Тобто проводить, але тоже дуже погано. Проте трохи ліпше ніж повітря.
До чого це я…
Тобто коли ми ті трубки заряджаєм — то частина зараду всетаки втікає через повітря. і ми на заряд тратимо більше часу.
А коли ті трубки погрузити в бензин — на заряд трубок — треба буде ще більше часу (бензин проводить струм краще). Причому чим більше ми їх в безин окунаєм, тим більше часу треба на заряд.
А далі все просто
Задача контроллера — виміряти цей час і перетворити його у покази стрілки.

На практиці різниця в часі заряду трубок на повітрі і в бензині дуже мала — менше мілісекунди. Точно не скажу бо немаю розрахунків під рукою. Але для мікроконтроллела, який виконує 8 000 000 операцій в секунду — це дуже великий проміжок часу, І він може розрізники більше 200 значень цієї різниці. 40л / 200 = 200 грам. Не точність аптекаря, але для орієнтування в запасі бензину цілком достатньо

Ну і тепер безпосередньо про сам прилад

Як видно із схеми - основою є контроллер Atmega8. та таймер NE555 (підключений по схемі мультивібратора)
В якості конденсатора, що задає частоту таймера - виступає зонд. Будова зонда дуже проста. Це по суті є дві трубки із будь-якого металу, що розташовані одна в одній (я використав два фотобарабана від картриджів лазерного принтера). Даний зонд знаходиться в середині бака. І в залежності від кількості бензину - міняє свою ємність. Зміна ємності - міняє вихідну частоту таймера. Контроллер вимірює частоту та з допомогою ШИМ - формує сигнал для приборної панелі.
Для датчика непотрібно додаткового живлення. Він живиться від струму, що проходить через лампу "аварійного запасу бензину". Струм, що споживається - недостатній, для того щоб лампочка світила, проте, коли рівень бензину знижується нижче позначки 5% - контроллер створює додаткове навантаження (замикаючи вхід LAMP на мінус з допомого ШИМ сигналу із скважністю 20%) і лампочка засвічується. В період свічення лампочки - контроллер живиться від струму, накопиченого на конденсаторі C2, а діод не дозволяє йому розрядитись через навантажувальний транзистор. Польові транзистори - вибирав ті, що були під рукою. В принципі - підійдуть будьякі, що можуть витримати струм більше 500ма (якщо в приборній панелі стоїть 5 ватна лампочка)
Підключення
В90% автомобілів - датчик палива виконаний однотипно (у вигляді потенціометра, до якого підведено три провідника: "-", вхід стрілки, вхід лампочки). Так само підєднується і цей датчик через розєм J2.
Призначення виходів розєму J2:
1 GND;
2 Вишід покажчика стрілки;
3 Вихід лампи аварійного запасу палива.
Призначення виходів розєму J1
1 Внутрішня трубка зонда
2 GND


Текст програми
Детальна інструкція по виготовленню
Мій досвід по виготовленню

https://docs.google.com/file/d/0B-Sm...g1WU5NVjA/edit
https://drive.google.com/file/d/0B-S...Z0bDlWaEU/view
https://drive.google.com/folderview?...&usp=drive_web
Долучені файли
Тип файлу: rar yemnistnij-datchik-rivnya-paliva.rar (167,7 КБ, 7 переглядів)
Igor1031 зараз поза форумом   Відповісти з цитуванням