Სარჩევი:

LED კომპასი და ალტიმეტრი: 7 ნაბიჯი (სურათებით)
LED კომპასი და ალტიმეტრი: 7 ნაბიჯი (სურათებით)

ვიდეო: LED კომპასი და ალტიმეტრი: 7 ნაბიჯი (სურათებით)

ვიდეო: LED კომპასი და ალტიმეტრი: 7 ნაბიჯი (სურათებით)
ვიდეო: SKMEI 1358 -ტაქტიკური კომპასიანი საათი - Original compass alti baro thermo pedometer watch 2024, ივლისი
Anonim
Image
Image
მიკროსქემის დიაგრამა და PCB
მიკროსქემის დიაგრამა და PCB

LED- ების მქონე ობიექტები ყოველთვის მხიბლავს. ამიტომ ეს პროექტი აერთიანებს პოპულარულ ციფრულ კომპასის სენსორს HMC5883L 48 LED- ით. LED- ების წრეში მოთავსებით, რომელიც აანთებს არის ის მიმართულება, რომლისკენაც მიდიხართ. ყოველი 7.5 გრადუსი ამოძრავებს ახალ LED- ს, რომელიც იძლევა დეტალურ შედეგებს.

GY-86 დაფა ასევე უზრუნველყოფს MS5611 ბარომეტრიული წნევის სენსორს. ამ სენსორის დახმარებით შესაძლებელია სიმაღლის გამოთვლა. მაღალი რეზოლუციის გამო ის სრულყოფილია სიმაღლისთვის.

MPU6050 სენსორს GY-86 დაფაზე აქვს 3 ღერძიანი ამაჩქარებელი და 3 ღერძიანი გიროსკოპი. გიროსკოპს შეუძლია გაზომოთ კუთხის პოზიციის სიჩქარე დროთა განმავლობაში. აქსელერომეტრს შეუძლია შეაფასოს გრავიტაციული აჩქარება და ტრიგონომეტრიული მათემატიკის გამოყენებით შესაძლებელია გამოვთვალოთ კუთხე, რომელზეც სენსორია განლაგებული. ამაჩქარებლის და გიროსკოპის მონაცემების კომბინაციით შესაძლებელია ინფორმაციის მოპოვება სენსორის ორიენტაციის შესახებ. ეს შეიძლება გამოყენებულ იქნას HMC5883L კომპასის დახრის კომპენსაციისთვის (გასაკეთებელი).

ამ ინსტრუქციის მოკლე ვიდეო ინსტრუქცია დეტალურად განმარტავს, თუ როგორ მუშაობს იგი. კალიბრაციის პროცედურები ავტომატიზირებულია, ასე რომ წარმატება გარანტირებულია. ტემპერატურა ხელმისაწვდომია ცელსიუსზე (ნაგულისხმევი) ან ფარენჰაიტში.

Გაერთე !!

ნაბიჯი 1: ალტიმეტრი

Image
Image

ალტიმეტრი იყენებს MS5611 ბარომეტრიული წნევის სენსორს. სიმაღლე შეიძლება განისაზღვროს ატმოსფერული წნევის გაზომვის საფუძველზე. რაც უფრო დიდია სიმაღლე, მით უფრო დაბალია წნევა. გაშვებისას, სიმაღლეზომი იყენებს ზღვის დონის სტანდარტულ წნევას 1013.25 მბარ. ღილაკზე დაჭერით 21 პინზე ზეწოლა თქვენს ადგილას გამოყენებული იქნება როგორც მითითება. ამ გზით შესაძლებელი ხდება დაახლოებით გავზომოთ რა სიმაღლე აქვს რაღაცას (მაგ. მანქანით აღმართზე ასვლისას).

ე.წ. "ჰიპსომეტრიული ფორმულა" გამოიყენება ამ პროექტში. ეს ფორმულა იყენებს ტემპერატურას გაზომვის კომპენსაციისთვის.

float alt=((powf (წყარო / ((float) P / 100.0), 0.19022256) - 1.0) * ((float) TEMP / 100 + 273.15)) / 0.0065;

თქვენ შეგიძლიათ იპოვოთ მეტი ჰიპსომეტრიული ფორმულის შესახებ აქ:

ჰიპსომეტრიული ფორმულა

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

ნაბიჯი 2: ნაწილები

1 x მიკროჩიპი 18f26k22 მიკროკონტროლერი 28-PIN PDIP

3 x MCP23017 16-ბიტიანი I/O Expander 28-pin SPDIP

48 x LED 3 მმ

1 x GY-86 მოდული MS5611, HMC5883L და MPU6050 სენსორებით

1 x SH1106 OLED 128x64 I2C

1 x კერამიკული კონდენსატორი 100nF

1 x 100 Ohm რეზისტორი

ნაბიჯი 3: მიკროსქემის დიაგრამა და PCB

მიკროსქემის დიაგრამა და PCB
მიკროსქემის დიაგრამა და PCB

ყველაფერი ჯდება ცალმხრივ PCB- ზე. იპოვეთ აქ Eagle და Gerber ფაილები, ასე რომ თქვენ შეგიძლიათ თავად გააკეთოთ იგი ან სთხოვოთ PCB მწარმოებელი.

მე ვიყენებ LED კომპასს და ალტიმეტრს ჩემს მანქანაში და ვიყენებ OBD2 ინტერფეისს, როგორც კვების ბლოკს. მიკროკონტროლი შესანიშნავად ჯდება კონექტორში.

ნაბიჯი 4: როგორ გავაუმჯობესოთ LED- ები წრეში წამში Eagle PCB დიზაინის პროგრამული უზრუნველყოფით

თქვენ უნდა ნახოთ ეს მართლაც ლამაზი თვისება Eagle PCB დიზაინის პროგრამულ უზრუნველყოფაში, რომელიც დაზოგავს თქვენ სამუშაო საათებს. ამ Eagle ფუნქციით თქვენ შეგიძლიათ სრულყოფილად გაათანაბროთ LED- ები წრეში წამებში.

უბრალოდ დააჭირეთ ღილაკს "ფაილი" და შემდეგ "გაუშვით ULP". აქედან დააწკაპუნეთ "cmd-draw.ulp". აირჩიეთ "გადატანა", "ხარისხი ნაბიჯი" და "წრე". შეავსეთ პირველი LED- ის სახელი ველში "სახელი". დააყენეთ წრის ცენტრის კოორდინატები ბადეზე ველში "X ცენტრის კოორდინატი" და "Y ცენტრის კოორდინატი". ამ პროექტში არის 48 LED, ასე რომ 360 გაყოფილი 48 -ით არის 7.5 ველისთვის "კუთხის ნაბიჯი". ამ წრის რადიუსი არის 1.4 ინჩი. დააჭირეთ Enter- ს და თქვენ გაქვთ LED- ების სრულყოფილი წრე.

ნაბიჯი 5: კომპასის დაკალიბრების პროცესი

Image
Image

HMC5883L შეიცავს 12 ბიტიან ADC- ს, რაც საშუალებას იძლევა 1 -დან 2 გრადუსამდე ცელსიუსით კომპასის სათაურის სიზუსტე. მაგრამ სანამ ის გამოსაყენებელ მონაცემებს მისცემს, საჭიროა მისი დაკალიბრება. იმისათვის, რომ ეს პროექტი შეუფერხებლად დაიწყოს, არსებობს კალიბრაციის ეს მეთოდი, რომელიც უზრუნველყოფს x- და y ოფსეტს. ეს არ არის ყველაზე დახვეწილი მეთოდი, მაგრამ საკმარისია ამ პროექტისათვის. ეს პროცედურა დაგიჯდებათ მხოლოდ რამდენიმე წუთი და მოგცემთ სასიამოვნო შედეგს.

ამ პროგრამული უზრუნველყოფის ჩატვირთვით და გაშვებით თქვენ იხელმძღვანელებთ ამ დაკალიბრების პროცესში. OLED ეკრანი გეტყვით როდის დაიწყება პროცესი და როდის დასრულდება. ეს დაკალიბრების პროცესი მოგთხოვთ სენსორის 360 გრადუსით გადაბრუნებას, ხოლო მას აბსოლუტურად ბრტყლად (მიწაზე ჰორიზონტალურად) დაიჭიროთ. დაამონტაჟეთ იგი სამფეხაზე ან რამე მსგავსზე. ამის გაკეთება თქვენს ხელში დაჭერით არ გამოდგება. დასასრულს, ანაზღაურება წარმოდგენილი იქნება OLED– ზე. თუ ამ პროცედურას რამდენჯერმე გაატარებთ, თქვენ უნდა ნახოთ თითქმის თანაბარი შედეგები.

სურვილისამებრ, შეგროვებული მონაცემები ასევე ხელმისაწვდომია RS232– ის საშუალებით პინ 27 – ის საშუალებით (9600 baud). უბრალოდ გამოიყენეთ ტერმინალური პროგრამა, როგორიცაა Putty და შეაგროვეთ ყველა მონაცემი ჟურნალის ფაილში. ეს მონაცემები ადვილად იმპორტირდება Excel- ში. აქედან თქვენ უფრო ადვილად ხედავთ, როგორ გამოიყურება თქვენი HMC5883L- ის ოფსეტური.

კომპენსაციები მოთავსებულია მიკროკონტროლის EEPROM– ში. ისინი დატვირთული იქნება კომპასისა და ალტიმეტრის პროგრამული უზრუნველყოფის გაშვებისას, რომელსაც ნახავთ მე –7 ნაბიჯში.

ნაბიჯი 6: ანაზღაურეთ თქვენი მდებარეობის მაგნიტური დაქვეითება

Image
Image
სენსორების კონკურსი
სენსორების კონკურსი

არსებობს მაგნიტური ჩრდილოეთი და გეოგრაფიული ჩრდილოეთი (ჩრდილო პოლუსი). თქვენი კომპასი მიჰყვება დედამიწის მაგნიტური ველის ხაზებს ისე მიუთითებს მაგნიტურ ჩრდილოეთზე. განსხვავება მაგნიტურ ჩრდილოეთსა და გეოგრაფიულ ჩრდილოეთს შორის ეწოდება მაგნიტურ დეკლარაციას. ჩემს ადგილას დახრილობა მხოლოდ 1 გრადუსი და 22 წუთია, ამიტომ ამის კომპენსაცია არ ღირს. სხვა ადგილებში ეს დახრა შეიძლება იყოს 30 გრადუსამდე.

იპოვეთ მაგნიტური დახრა თქვენს ადგილას

თუ გსურთ ამის კომპენსაცია (სურვილისამებრ) შეგიძლიათ დაამატოთ დახრილობა (გრადუსი და წუთი) მიკროკონტროლერის EEPROM– ში. მდებარეობა 0x20 შეგიძლიათ დაამატოთ ხარისხი ხელმოწერილი თექვსმეტობითი ფორმით. იგი ხელმოწერილია, რადგან ის ასევე შეიძლება იყოს უარყოფითი კლება. მდებარეობა 0x21 თქვენ შეგიძლიათ დაამატოთ წუთი ასევე თექვსმეტობითი ფორმით.

ნაბიჯი 7: შეადგინეთ კოდი

Image
Image

შეადგინეთ ეს საწყისი კოდი და დაპროგრამეთ თქვენი მიკროკონტროლერი. ეს კოდი სწორად არის შედგენილი MPLABX IDE v5.20 და XC8 შემდგენელთან v2.05 C99 რეჟიმში (ასე რომ შეიყვანეთ C99 დირექტორიები). ასევე შესაძლებელია ექვსკუთხა ფაილი, ასე რომ თქვენ შეგიძლიათ გამოტოვოთ შედგენის პროცედურა. დარწმუნდით, რომ მოხსნით მონიშნულ ველს "EEPROM data enabled", რათა თავიდან იქნას აცილებული კალიბრაციის მონაცემების (იხ. ნაბიჯი 5) გადაწერა. დააყენეთ თქვენი პროგრამისტი 3.3 ვოლტზე!

პინ 27 -ის მიწასთან შეერთებით თქვენ მიიღებთ ტემპერატურას ფარენჰეიტში.

მადლობა ახიმ დუბლერს მისი µGUI გრაფიკული ბიბლიოთეკისთვის

სენსორების კონკურსი
სენსორების კონკურსი

მეორე ადგილი სენსორების კონკურსში

გირჩევთ: