Სარჩევი:

GPS მონიტორინგი OLED ჩვენების პროექტით: 5 ნაბიჯი (სურათებით)
GPS მონიტორინგი OLED ჩვენების პროექტით: 5 ნაბიჯი (სურათებით)

ვიდეო: GPS მონიტორინგი OLED ჩვენების პროექტით: 5 ნაბიჯი (სურათებით)

ვიდეო: GPS მონიტორინგი OLED ჩვენების პროექტით: 5 ნაბიჯი (სურათებით)
ვიდეო: Architecture Kata - აღმოაჩინეთ როგორია იყო არქიტექტორი [#ityoutubersru] 2024, ნოემბერი
Anonim
GPS მონიტორინგი OLED ჩვენების პროექტით
GPS მონიტორინგი OLED ჩვენების პროექტით
GPS მონიტორინგი OLED ჩვენების პროექტით
GPS მონიტორინგი OLED ჩვენების პროექტით
GPS მონიტორინგი OLED ჩვენების პროექტით
GPS მონიტორინგი OLED ჩვენების პროექტით
GPS მონიტორინგი OLED ჩვენების პროექტით
GPS მონიტორინგი OLED ჩვენების პროექტით

გამარჯობა ყველას, ამ სწრაფ სტატიაში მე გაგიზიარებთ ჩემს პროექტს: ATGM332D GPS მოდული SAMD21J18 მიკროკონტროლით და SSD1306 OLED 128*64 ჩვენებით, მე ავაშენე სპეციალური PCB მისთვის Eagle Autodesk– ზე და დავპროგრამე Atmel studio 7.0 და ASF4 გამოყენებით. ამ სტატიაში მე გაგიზიარებთ ამ მოგზაურობას და ჩემს მიერ გამოყენებულ ფაილებს, თუ თქვენთვის საინტერესოა ამის გაკეთება.

ახლა თუ თქვენ დაპროგრამებთ თქვენს MCU/განვითარების დაფას Arduino– ს გამოყენებით, ეს პროექტი თქვენთვის შედარებით მარტივი უნდა იყოს, მაგრამ აქ მე გამოვიყენებ ASF4 (მოწინავე პროგრამული ჩარჩო 4) Atmel/Microchip– დან, რომელიც დაფუძნებულია C ენაზე და მოგცემთ იდეას როგორ წაიკითხოთ GPS NMEA შეტყობინება USART ასინქრონული დრაივერის გამოყენებით (გამოძახება) და მოგაწოდოთ მარტივი ბიბლიოთეკა, რომლის გამოყენებაც შეგიძლიათ ნებისმიერ მიკროკონტროლერთან და სხვადასხვა პლატფორმაზე, უბრალოდ დაამატეთ შესაბამისი დრაივერი, რომელსაც იყენებთ შეტყობინების მისაღებად GPS (NMEA შეტყობინება).

ამ სტატიას დავყოფ:

  1. PCB დიზაინი.
  2. BOM თქვენ უნდა ააწყოთ PCB
  3. დაათვალიერეთ პროგრამული უზრუნველყოფა და თავად კოდი და ტესტირება აპარატურისა და პროგრამული უზრუნველყოფისათვის.
  4. და ბოლოს, მაგრამ არანაკლებ რაღაც გაუმჯობესება ამ პროექტისთვის.

ამ პროექტთან დაკავშირებულ ყველა მასალას ნახავთ Github– ზე (აქ)

ნაბიჯი 1: PCB დიზაინი არწივის გამოყენებით

PCB დიზაინი არწივის გამოყენებით
PCB დიზაინი არწივის გამოყენებით
PCB დიზაინი არწივის გამოყენებით
PCB დიზაინი არწივის გამოყენებით
PCB დიზაინი არწივის გამოყენებით
PCB დიზაინი არწივის გამოყენებით
PCB დიზაინი არწივის გამოყენებით
PCB დიზაინი არწივის გამოყენებით

ეს პროექტი ძირითადად დაფუძნებულია ATGM332D GPS მოდულის გარშემო, მარტივი GPS გამოსაყენებლად, რადგან მას მხოლოდ რამდენიმე პასიური კომპონენტი სჭირდება სამუშაოდ და ჩვენ შეგვიძლია დავამატოთ სარეზერვო ბატარეა დროის/თარიღის დაზოგვისთვის, თუ მოდულიდან გამორთავთ ენერგიის მთავარ წყაროს.

მიკროსქემის ყველა სიგნალის გასაკონტროლებლად მივედი ATSAMD21J18B მიკროკონტროლით, TQFP64 პაკეტით, რადგან მას აქვს 128KByte პროგრამის მეხსიერების მეხსიერება და 32KByte მონაცემთა მეხსიერება (და მე მაქვს ბევრი მათგანი სამუშაო მაგიდის გარშემო).

წრე უნდა იკვებებოდეს USB 5V წყაროს საშუალებით, ასევე USB- ს შეუძლია იმოქმედოს როგორც ვირტუალური COM პორტი (CDC USB) და შეგიძლიათ დაამატოთ კოდი, თუ გსურთ მოწყობილობასთან USB– ით კომუნიკაცია.

დისპლეისთვის შევარჩიე SSD1306 0.96 'OLED დისპლეი SPI ავტობუსით, ის პატარაა, მაგრამ შესაფერისია ჩემთვის სასურველი PCB ზომისთვის, დაფის განზომილება 100x31 მმ.

მიკროკონტროლერის დაპროგრამება იქნება SWD პროგრამისტის საშუალებით (მე ვიყენებ Atmel ICE- ს) და შეაერთებს მას 1.27 მმ 10p პინიანი სათაურით.

ასევე მე გამოვიყენე Fusion360 დაფის 3D ხედის მისაღებად და თქვენ ასევე შეგიძლიათ ნახოთ რენდერირებული სურათი.

ნაბიჯი 2: შეაერთეთ PCB

შედუღება PCB
შედუღება PCB
შედუღება PCB
შედუღება PCB
შედუღება PCB
შედუღება PCB

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

ქვედა ნაწილების შედუღება ოდნავ უფრო ადვილია, რადგან მას აქვს მხოლოდ SWD pin სათაური და სარეზერვო ბატარეა, რომლის შედუღებაც შეგიძლიათ soldering რკინის გამოყენებით.

სანამ ჩართავთ USB დენის წყაროსთან, შეამოწმეთ რაიმე მოკლე ჩართვა.

შეაერთეთ თქვენი GPS ანტენა და დარწმუნდით, რომ სწორად შეაერთეთ მისი კონექტორი, ანტენა დავაფიქსირე დაფის ქვედა მხარეს.

ნაბიჯი 3: პროგრამული უზრუნველყოფა… ფუნქციონალურობა… შედეგები

Image
Image
პროგრამული უზრუნველყოფა… ფუნქციონალურობა… შედეგები
პროგრამული უზრუნველყოფა… ფუნქციონალურობა… შედეგები
პროგრამული უზრუნველყოფა… ფუნქციონალურობა… შედეგები
პროგრამული უზრუნველყოფა… ფუნქციონალურობა… შედეგები

პროგრამა დაყოფილია 4 ნაწილად:

  1. USART ATGM332 GPS მოდულთან დასაკავშირებლად.
  2. SPI OLED– თან დასაკავშირებლად.
  3. USB CDC.
  4. GPIO აკონტროლებს LED- ებს

ჯერ შეაერთეთ USB კონექტორი ჩართეთ ჩართვა და შემდეგ დააკავშირეთ ლენტი კაბელი SWD კონექტორთან.

ჩამოტვირთეთ კოდი github– დან (ბმული აქ).

გეო-მდებარეობის მისაღებად თქვენ გაქვთ 3 განსხვავებული NMEA შეტყობინების ვარიანტი:

  1. GPGGA
  2. GPRMC
  3. GPGLL

მე გამოვიყენე GPRMC წინადადება ადგილმდებარეობის, დროის და თარიღის მისაღებად (დრო არის GMT 0.0), ასე რომ კოდში ნახავთ:

GPRMC. ჩართეთ = 1;/*0 თუ ეს შეტყობინება არ არის საჭირო*/

GPGGA. ჩართეთ = 0;/*0 თუ არ გჭირდებათ ეს შეტყობინება*/

GPGLL. ჩართეთ = 0;/*0 თუ არ გჭირდებათ ეს შეტყობინება*/

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

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

უბრალოდ თუ დაფიქსირება არის "A", ეს ნიშნავს რომ მდებარეობა ხელმისაწვდომია, თუ დაფიქსირება არის "V" ეს ნიშნავს რომ მდებარეობა მიუწვდომელია.

გაითვალისწინეთ, რომ ATSAMD21– ს აქვს შიდა RTC, მაგრამ აქ მე არ ვიყენებ მას და ნაცვლად ვიყენებ დროსა და თარიღს პირდაპირ GPS– დან, ასე რომ, თუ არ გსურთ გამოიყენოთ CR1220 სარეზერვო ბატარეა, მას შემდეგ რაც გათიშავთ USB დენის წყაროს. დაკარგეთ დრო/თარიღი და მომდევნო დროს ჩართეთ ჩართვა დრო/თარიღი ეკრანზე იქნება ცარიელი სანამ GPS ექნება მოქმედი დრო/თარიღი მნიშვნელობა.

ეკრანი გაჩვენებთ GPS– ის ამჟამინდელ მდგომარეობას და აჩვენებს გეო მდებარეობას, როდესაც ის ხელმისაწვდომია, თუმცა დაფაზე არის 3 LED ნათურა:

  1. მწვანე LED უკავშირდება PA06- ს და აციმციმდება, თუ არსებობს სწორი გეო-მდებარეობის მნიშვნელობა.
  2. ნარინჯისფერი LED უკავშირდება PA07- ს და წამში აციმციმდება, თუ არ არსებობს სწორი გეო მდებარეობა.
  3. წითელი LED ეს არის დაკავშირებული GPS მოდულის PPS პინთან და აციმციმდება მხოლოდ მაშინ, როდესაც არსებობს სიგნალი, რომელიც დაკავშირებულია ადგილმდებარეობასთან.

შედეგები

მიკროსქემმა ძალიან კარგად იმუშავა ჩემთან, GPS– დან გეო-მდებარეობა 20-30 წამი გავიდა ღია ცის ქვეშ და შენობებს შორის უპრობლემოდ, თუნდაც დაფის ქვედა მხარეს ანტენის გარეშე.

ნაბიჯი 4: 3D ნაბეჭდი ქეისი… დალაგებულია

3D ბეჭდვით შემთხვევაში… დალაგება
3D ბეჭდვით შემთხვევაში… დალაგება

მე მოვამზადე მარტივი კეისი (უფრო ზუსტი დამჭერი) ამ წრისთვის, მაგრამ COVID-19- ის ეპიდემიისა და ჩაკეტილობის გამო, რომელიც ახლა ვარ, მე ვერ მივაღწიე ჩემს 3D პრინტერს მის დასაბეჭდად, ამიტომ ამ ნაწილს განვაახლებ stl ფაილი და ფოტოები მფლობელისთვის, როდესაც ის ხელმისაწვდომი იქნება.

ნაბიჯი 5: გაუმჯობესების გზა…

გასაუმჯობესებელი რამ…
გასაუმჯობესებელი რამ…
გასაუმჯობესებელი რამ…
გასაუმჯობესებელი რამ…
გასაუმჯობესებელი რამ…
გასაუმჯობესებელი რამ…
  1. SWD კონექტორის გადატანა ზედა მხარეს, რადგან მისი პროგრამისტთან დაკავშირება უფრო ადვილია.
  2. ლითიუმის ბატარეის ჩართვა სათანადოდ.
  3. მომხმარებლის ღილაკის ოდნავ გაზრდა, ასე რომ ადვილი იქნება მისი დაჭერა.
  4. USB CDC კოდის დამატება, ასე რომ თქვენ შეგიძლიათ დაუკავშირდეთ/შეიმუშაოთ სპეციალური პროგრამა MAC/PC/linux– ისთვის.
  5. GPS ანტენისთვის, მე გამოვიყენე აქტიური ანტენა ამ პროექტისთვის, პასიური ანტენის გამოყენება შესაძლებელია, დაბალი ხმაურის ოპ-ამპ-ის დამატებით, როგორიცაა AT2659 (ასევე შეამოწმეთ სქემა ATGM332 მონაცემთა ცხრილში P.14).
  6. OLED 0.96 'SSD1306– ისთვის, ოფიციალური ბიბლიოთეკა მიკროჩიპიდან 128*32 ეკრანზე, კოდის შესაცვლელად 128*64 – თან მუშაობისთვის თქვენ უნდა გადახვიდეთ ssd1306.c– ზე და შეცვალოთ კოდი (შეამოწმეთ სურათი).

გირჩევთ: