Სარჩევი:

UltraSonic Liquid Level Controller: 6 ნაბიჯი (სურათებით)
UltraSonic Liquid Level Controller: 6 ნაბიჯი (სურათებით)

ვიდეო: UltraSonic Liquid Level Controller: 6 ნაბიჯი (სურათებით)

ვიდეო: UltraSonic Liquid Level Controller: 6 ნაბიჯი (სურათებით)
ვიდეო: 6 Foods That Are Excellent For Diabetes 2024, ივლისი
Anonim
ულტრაბგერითი თხევადი დონის კონტროლერი
ულტრაბგერითი თხევადი დონის კონტროლერი

შესავალი როგორც თქვენ ალბათ იცით, ირანს მშრალი ამინდი აქვს და ჩემს ქვეყანაში წყლის ნაკლებობაა. ზოგჯერ, განსაკუთრებით ზაფხულში, ჩანს, რომ მთავრობა წყვეტს წყალს. ასე რომ, ბინების უმეტესობას აქვს წყლის ავზი. ჩვენს ბინაში არის 1500 ლიტრიანი ავზი, რომელიც უზრუნველყოფს წყალს. ასევე, ჩვენს ბინაში არის 12 საცხოვრებელი ბინა. შედეგად, შეიძლება მოსალოდნელი იყოს, რომ ავზი ძალიან მალე ცარიელდება. ავზზე არის დამაგრებული წყლის ტუმბო, რომელიც წყალს აგზავნის შენობაში. როდესაც ავზი ცარიელია, ტუმბო მუშაობს წყლის გარეშე. ეს მდგომარეობა იწვევს ძრავის ტემპერატურის ზრდას და დროის განმავლობაში, ეს შეიძლება გამოიწვიოს ტუმბოს რღვევა. რამდენიმე ხნის წინ, ეს ტუმბოს უკმარისობა მეორედ მოხდა ჩვენთვის და ძრავის გახსნის შემდეგ დავინახეთ, რომ კოჭის მავთულები დაიწვა. მას შემდეგ, რაც ჩვენ შევცვალეთ ტუმბო, ამ პრობლემის თავიდან ასაცილებლად, მე გადავწყვიტე გამეკეთებინა წყლის დონის კონტროლერი. მე ვგეგმავდი წრედის გაკეთებას ტუმბოს ელექტრომომარაგების შესამცირებლად, როდესაც წყალი ავზში დაბალ ზღვარზე დაბლა მიდიოდა. ტუმბო არ იმუშავებს სანამ წყალი არ მიაღწევს მაღალ ზღვარს. მაღალი ლიმიტის გავლის შემდეგ, წრე კვლავ დააკავშირებს კვების ბლოკს. თავიდან ინტერნეტში ვეძებე თუ არა შესაფერისი სქემის პოვნა. თუმცა, შესაბამისი ვერაფერი ვიპოვე. იყო Arduino– ზე დაფუძნებული წყლის მაჩვენებლები, მაგრამ ჩემი პრობლემის გადაჭრა ვერ მოხერხდა. შედეგად, მე გადავწყვიტე შემექმნა ჩემი წყლის დონის კონტროლერი. ყოვლისმომცველი პაკეტი პირდაპირი გრაფიკული ინტერფეისით პარამეტრების დასაყენებლად. ასევე, მე შევეცადე განვიხილო EMC სტანდარტები, რომ დარწმუნებული ვიყო, რომ მოწყობილობა მოქმედებს სხვადასხვა სიტუაციებში.

ნაბიჯი 1: პრინციპი

პრინციპი
პრინციპი

თქვენ ალბათ იცით პრინციპი ადრე. როდესაც ულტრაბგერითი პულსის სიგნალი იგზავნება ობიექტის მიმართ, ის აისახება ობიექტის მიერ და ექო უბრუნდება გამგზავნს. თუ გამოთვლით ულტრაბგერითი პულსის მიერ გატარებულ დროს, შეგიძლიათ იპოვოთ ობიექტის მანძილი. ჩვენს შემთხვევაში, ნივთი არის წყალი.

გაითვალისწინეთ, რომ როდესაც წყალთან მანძილს აღმოაჩენთ, თქვენ ითვლით ავზში ცარიელი სივრცის მოცულობას. წყლის მოცულობის მისაღებად, თქვენ უნდა გამოაკლოთ გამოთვლილი მოცულობა ავზის საერთო მოცულობიდან.

ნაბიჯი 2: სენსორი, ელექტრომომარაგება და კონტროლერი

სენსორი, ელექტრომომარაგება და კონტროლერი
სენსორი, ელექტრომომარაგება და კონტროლერი
სენსორი, ელექტრომომარაგება და კონტროლერი
სენსორი, ელექტრომომარაგება და კონტროლერი
სენსორი, ელექტრომომარაგება და კონტროლერი
სენსორი, ელექტრომომარაგება და კონტროლერი
სენსორი, ელექტრომომარაგება და კონტროლერი
სენსორი, ელექტრომომარაგება და კონტროლერი

ტექნიკა

სენსორისთვის მე გამოვიყენე JSN-SR04T წყალგაუმტარი ულტრაბგერითი სენსორი. სამუშაო რუტინა ჰგავს HC-SR04 (ექოს და ტრიგ პინ).

სპეციფიკაციები:

  • მანძილი: 25 სმ -დან 450 სმ -მდე
  • სამუშაო ძაბვა: DC 3.0-5.5V
  • სამუშაო დენი: < 8mA
  • სიზუსტე: ± 1 სმ
  • სიხშირე: 40 kHz
  • სამუშაო ტემპერატურა: -20 ~ 70

გაითვალისწინეთ, რომ ამ კონტროლერს აქვს გარკვეული შეზღუდვები. მაგალითად: 1- JSN-SR04T ვერ გაზომავს მანძილს 25 სმ ქვემოთ, ასე რომ თქვენ უნდა დააინსტალიროთ სენსორი წყლის ზედაპირზე მინიმუმ 25 სმ. უფრო მეტიც, მაქსიმალური მანძილის გაზომვაა 4.5 მ. ასე რომ, ეს სენსორი არ არის შესაფერისი უზარმაზარი ტანკებისთვის. 2- სიზუსტე არის 1CM ამ სენსორისთვის. შედეგად, ავზის დიამეტრიდან გამომდინარე, მოცულობის გარჩევადობა, რომელსაც აჩვენებს მოწყობილობა, შეიძლება შეიცვალოს. 3- ხმის სიჩქარე შეიძლება განსხვავდებოდეს ტემპერატურის მიხედვით. შედეგად, სიზუსტეზე შეიძლება გავლენა იქონიოს სხვადასხვა რეგიონმა. თუმცა, ეს შეზღუდვები ჩემთვის გადამწყვეტი არ იყო და სიზუსტე შესაფერისი იყო.

კონტროლერი

მე გამოვიყენე STM32F030K6T6 ARM Cortex M0 STMicroelectronics– დან. ამ მიკროკონტროლერის სპეციფიკაციები შეგიძლიათ იხილოთ აქ.

ელექტრომომარაგება

პირველი ნაწილი არის 220V/50Hz (ირანის ელექტროენერგიის) 12VDC გადაყვანა. ამ მიზნით, მე გამოვიყენე HLK-PM12 buck down down power მოდული. ამ AC/DC კონვერტორს შეუძლია 90 ~ 264 VAC გადააკეთოს 12VDC– ზე 0.25A გამომავალი დენით.

როგორც თქვენ ალბათ იცით, რელეს ინდუქციურმა დატვირთვამ შეიძლება გამოიწვიოს რამოდენიმე პრობლემა წრეში და ელექტრომომარაგებაში, ხოლო ელექტროენერგიის მიწოდების სირთულემ შეიძლება გამოიწვიოს შეუსაბამობა, განსაკუთრებით მიკროკონტროლერში. გამოსავალი არის ელექტროენერგიის მიწოდების იზოლირება. ასევე, სარელეო კონტაქტებზე უნდა გამოიყენოთ სნუბერული წრე. ელექტროენერგიის მიწოდების იზოლირების რამდენიმე მეთოდი არსებობს. მაგალითად, შეგიძლიათ გამოიყენოთ ტრანსფორმატორი ორი გამოსასვლელით. უფრო მეტიც, იქ არის იზოლირებული DC/DC გადამყვანები მცირე ზომის, რომელსაც შეუძლია გამოყოს გამომავალი შეყვანისგან. მე გამოვიყენე MINMAX MA03-12S09 ამ მიზნით. ეს არის 3W DC/DC გადამყვანი იზოლაციით.

ნაბიჯი 3: ხელმძღვანელის IC

ზედამხედველი IC
ზედამხედველი IC

TI აპლიკაციის შენიშვნის თანახმად: ძაბვის ზედამხედველი (ასევე ცნობილი როგორც გადატვირთვის ინტეგრირებული წრე [IC]) არის ძაბვის მონიტორის ტიპი, რომელიც აკონტროლებს სისტემის კვების ბლოკს. ძაბვის ზედამხედველები ხშირად გამოიყენება პროცესორებთან, ძაბვის რეგულატორებთან და მიმდევრებთან ერთად - ზოგადად, სადაც საჭიროა ძაბვის ან დენის შეგრძნება. ზედამხედველები აკონტროლებენ ძაბვის რელსებს, რათა უზრუნველყონ ძალაუფლება, აღმოაჩინონ ხარვეზები და ჩაერთონ ჩამონტაჟებულ პროცესორებთან, რათა უზრუნველყონ სისტემის ჯანმრთელობა. თქვენ შეგიძლიათ იპოვოთ ამ აპლიკაციის შენიშვნა აქ. მიუხედავად იმისა, რომ STM32 მიკროკონტროლერებს აქვთ ჩაშენებული ზედამხედველები, როგორიცაა კვების ბლოკის მონიტორი, მე გამოვიყენე გარე ზედამხედველის ჩიპი, რომ ყველაფერი კარგად იმუშაოს. ჩემს შემთხვევაში, მე გამოვიყენე TL7705 TI– დან. თქვენ შეგიძლიათ ნახოთ აღწერილობა Texas Instruments– ის ვებ – გვერდიდან ამ IC– ს ქვემოთ: TL77xxA ინტეგრირებული წრიული მიწოდების ძაბვის ზედამხედველების ოჯახი შექმნილია სპეციალურად მიკროკომპიუტერულ და მიკროპროცესორულ სისტემებში გადატვირთვის კონტროლერად გამოსაყენებლად. მიწოდების ძაბვის ზედამხედველი აკონტროლებს მიწოდებას ძაბვის პირობებისათვის SENSE შეყვანისას. გააქტიურების დროს, RESET გამომუშავება ხდება აქტიური (დაბალი), როდესაც VCC აღწევს მნიშვნელობას, რომელიც უახლოვდება 3.6 ვ. ამ დროს (თუ ვივარაუდოთ, რომ SENSE არის VIT+-ზე ზემოთ), ტაიმერის დაგვიანების ფუნქცია ააქტიურებს დროის შეფერხებას, რის შემდეგაც გამოდის RESET და RESET (არა) არააქტიური (შესაბამისად, მაღალი და დაბალი). როდესაც ნორმალური ძაბვის დროს ხდება ნორმალური ძაბვის მდგომარეობა, გადატვირთვა და გადატვირთვა (არა) აქტიურდება.

ნაბიჯი 4: ნაბეჭდი მიკროსქემის დაფა (PCB)

ნაბეჭდი მიკროსქემის დაფა (PCB)
ნაბეჭდი მიკროსქემის დაფა (PCB)
ნაბეჭდი მიკროსქემის დაფა (PCB)
ნაბეჭდი მიკროსქემის დაფა (PCB)
ნაბეჭდი მიკროსქემის დაფა (PCB)
ნაბეჭდი მიკროსქემის დაფა (PCB)
ნაბეჭდი მიკროსქემის დაფა (PCB)
ნაბეჭდი მიკროსქემის დაფა (PCB)

მე შევქმენი PCB ორ ნაწილად. პირველი არის LCD PCB, რომელიც დაკავშირებულია დედაპლატაზე ლენტით/ბრტყელი კაბელით. მეორე ნაწილი არის კონტროლერი PCB. ამ PCB- ზე, მე მოვათავსე კვების ბლოკი, მიკროკონტროლი, ულტრაბგერითი სენსორი და მასთან დაკავშირებული კომპონენტები. და ასევე დენის ნაწილი, რომელიც არის სარელეო, ვარიტორის და სნუბერული წრე. როგორც თქვენ ალბათ იცით, მექანიკური რელეები, როგორიცაა სარელეო, რომელიც მე გამოვიყენე ჩემს წრეში, შეიძლება დაიშალოს, თუ ისინი ყოველთვის მუშაობენ. ამ პრობლემის გადასაჭრელად, მე გამოვიყენე რელეს ჩვეულებრივ ახლო კონტაქტი (NC). ასე რომ, ნორმალურ სიტუაციაში, სარელეო არ არის აქტიური და ჩვეულებრივ ახლო კონტაქტს შეუძლია განახორციელოს ტუმბოს ენერგია. როდესაც წყალი დაბალ ზღვარზე დაბლა მოდის, რელე ჩართულია და ეს შეწყვეტს ენერგიას. ამის თქმის შემდეგ, ეს არის მიზეზი იმისა, რომ მე გამოვიყენე სნუბერული წრე NC და COM კონტაქტებზე. რაც შეეხება იმას, რომ ტუმბოს ჰქონდა მაღალი სიმძლავრე, მე გამოვიყენე მეორე 220 სარელეო და მას ვამოძრავებ რელესთან ერთად PCB– ზე.

თქვენ შეგიძლიათ გადმოწეროთ PCB ფაილები, როგორიცაა Altium PCB ფაილები და Gerber ფაილები ჩემი GitHub– დან აქ.

ნაბიჯი 5: კოდი

Image
Image
ინსტალაცია სატანკოზე
ინსტალაცია სატანკოზე

მე გამოვიყენე STM32Cube IDE, რომელიც არის ყოვლისმომცველი გადაწყვეტა კოდის შემუშავებისთვის STMicroelectronics– დან. იგი დაფუძნებულია Eclipse IDE– ზე GCC ARM შემდგენელთან ერთად. ასევე, მას აქვს STM32CubeMX. აქ შეგიძლიათ იხილოთ მეტი ინფორმაცია. თავიდან მე დავწერე კოდი, რომელიც მოიცავდა ჩვენს სატანკო სპეციფიკაციას (სიმაღლე და დიამეტრი). თუმცა, მე გადავწყვიტე მისი GUI შეცვლა პარამეტრების დასადგენად სხვადასხვა სპეციფიკაციებზე დაყრდნობით.

ნაბიჯი 6: ინსტალაცია სატანკოზე

ინსტალაცია სატანკოზე
ინსტალაცია სატანკოზე
ინსტალაცია სატანკოზე
ინსტალაცია სატანკოზე

საბოლოო ჯამში, მე გავაკეთე მარტივი ყუთი, რომ დავიცვა PCB წყლისგან. ასევე, ავზის თავზე გავაკეთე ხვრელი, რომ მასზე სენსორი დამეყენებინა.

გირჩევთ: