Სარჩევი:

AtmoScan: 7 ნაბიჯი (სურათებით)
AtmoScan: 7 ნაბიჯი (სურათებით)

ვიდეო: AtmoScan: 7 ნაბიჯი (სურათებით)

ვიდეო: AtmoScan: 7 ნაბიჯი (სურათებით)
ვიდეო: Jennifer Lopez x Dolby Atmos : Can`t Get Enough 2024, ნოემბერი
Anonim
Image
Image
სენსორები
სენსორები

**********************************************************************************************

სიახლეები

გადადით ჩემს GitHub– ზე:

- მცირე ზომის აპარატურული ცვლილებები აუმჯობესებს დიზაინს, მათ შორის პროგრამული უზრუნველყოფის გამორთვის შესაძლებლობას, დიზაინის ერთ -ერთ ყველაზე დიდ ნაკლოვანებას - როგორ გავუმკლავდეთ დაბალ ბატარეას.

- PCB v2 დიზაინი ახლა გამოქვეყნებულია სახელმძღვანელოსთან ერთად, რათა ადვილად შეიცვალოს ცვლილება V1.0 დაფებზე.

- CAD ფაილები სრული დანართისთვის

ახალი დანართი ჰგავს სურათს ზემოთ … ისე, რეზინის ზოლის გარეშე

****************************************************************************************

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

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

ბიბლიოთეკების კრედიტი გადაეცემა უამრავ კონტრიბუტორს, იხილეთ მოგვიანებით.

ვიდეოში მუსიკა შეგიძლიათ იხილოთ აქ

ნაბიჯი 1: სენსორები

ატმოსკანი ზომავს უამრავ ცვლადს:

  • ტემპერატურა
  • ტენიანობა
  • წნევა
  • CO2
  • CO
  • NO2
  • VOC (არასტაბილური ორგანული ნაერთები, ჰაერის ხარისხის მაჩვენებელი)
  • PM 01
  • PM25
  • PM10
  • რადიაცია

ამისათვის იგი აერთიანებს უამრავ დისკრეტულ სენსორს

  • BME280 (მაგ. ბმული)
  • PMS7003 (მაგ. ბმული)
  • MH-Z19 (მაგ. ბმული)
  • HDC1080 (მაგ. ბმული)
  • MiCS6814 (ბმული)
  • MP503 (ბმული)
  • LND-712 გეიგერის მილი (ლინკი, ვიპოვე ევროპაში აქ ლინკი ან აქ ბმული) მაღალი ძაბვის მოდულით (ლინკი)

მონაცემთა ცხრილი აქ არის.

ნაბიჯი 2: ელექტრონიკა

ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა

ატმოსკანი შეიძლება ადვილად აშენდეს NodeMCU– ით ან სხვა ESP8266 დაფით და ზოგიერთი ადვილად ხელმისაწვდომი კომპონენტით, როგორიცაა დონის ცვლა და ძაბვის მარეგულირებელი, თუ უარს იტყვით ბატარეის ინტეგრირებულ დამტენზე.

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

Eagle PCB ფაილები ხელმისაწვდომია აქ.

კერძოდ, დაფა აერთიანებს:

  • დატენვის სქემა MAX8903A საფუძველზე (ბმული)
  • ლოგიკა ჩართვის/გამორთვის ერთი ღილაკით
  • ESP12E მოდული
  • პროგრამირების ლოგიკა
  • დონის ცვლადი
  • LCD განათების დრაივერი
  • 3.3V ნაბიჯ-ნაბიჯ/ქვემოთ ძაბვის რეგულატორი Pololu S7V8F3- ზე დაფუძნებული (ბმული)
  • 5V გაზრდის ძაბვის რეგულატორი Pololu U1V10F5- ზე დაფუძნებული (ბმული)
  • LiPo Fuel Gauge based on SparkFun TOL10617 (ბმული)

ეკრანი არის 2.8 დიუმიანი TFT 320x240, რომელიც დაფუძნებულია ILI9341 ჩიპზე (ბმული).

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

სენსორები საკმაოდ ენერგიულია, ამიტომ 24 საათიანი ავტონომიის უზრუნველსაყოფად შევიმუშავე პაკეტი 3 x 5000mAh LiPo 105575 ბატარეით (ბმული). სინამდვილეში, 2 შეიძლება საკმარისი იყოს. MAX8903 დამტენი ცდილობს დატენოს შედეგად მიღებული 15, 000mAh პაკეტი.

შენიშვნები - როგორც ჩანს სურათებში:

  • კონექტორების პოზიციები ნაჩვენებია
  • SD ბარათის სლოტი უნდა გაუქმდეს ეკრანიდან, თუ გსურთ, რომ იგი მოთავსდეს შიგთავსში
  • თქვენ უნდა გააკეთოთ პატარა ნაკაწრი PCB– ში, რათა ხელი არ შეუშალოთ ვენტილატორს (მაღალი დონის მოდაა iPhone X– ის შემდეგ). შესწორებულია PCB V2- ში

PCB– ის დამაკავშირებელი აბრევიატურა შემდეგია:

  • PRS: ბარომეტრული წნევის სენსორი (BME280- ის საფუძველზე) შენიშვნა: უშუალოდ PCB- ზე დამონტაჟება
  • VOC: Grove - ჰაერის ხარისხის სენსორი v1.3 (MP503- ის საფუძველზე)
  • TMP: მაღალი სიზუსტის ციფრული ტენიანობისა და ტემპერატურის სენსორი (HDC1080 საფუძველზე)
  • PMS: PMS7003 ციფრული ნაწილაკების კონცენტრაციის სენსორი
  • GAS: Grove - მრავალარხიანი გაზის სენსორი (დაფუძნებულია MiCS6814)
  • GES: Grove - ჟესტების სენსორი, დაფუძნებული PAJ7620U2
  • RAD: გეიგერის მილი (მაღალი ძაბვის Geiger Probe დრაივერის დენის წყაროს მოდულის 400V / 500V TTL ციფრული პულსის გამომავალი საშუალებით)
  • CO2: MH-Z19 ინფრაწითელი CO2 გაზის სენსორი
  • U1V10F: 5V მომატებული ძაბვის რეგულატორი Pololu– ზე დაყრდნობით
  • U1V10F5 S7V8V3: 3.3V ნაბიჯ-ნაბიჯ/ქვემოთ ძაბვის რეგულატორი Pololu S7V8F3- ის საფუძველზე
  • TOL10617: Sparkfun LiPo საწვავის მრიცხველი
  • LCD: ILI9341 ჩვენება

ნაბიჯი 3: დანართი

დანართი
დანართი
დანართი
დანართი
დანართი
დანართი

დანართი მომდინარეობს პლექსიგლასის 10x10x10 სმ კუბის კონტეინერიდან, რომელიც შევიძინე ebay– ზე და განკუთვნილი იყო სრულიად განსხვავებული გამოყენებისთვის. მას ჰქონდა ლამაზი სავენტილაციო სათამაშოები, რაც ზუსტად იყო საჭირო. მოცულობა, პრინციპში, საკმარისი იყო მთელი ნაკრების შესაფუთად, გარდა იმისა, რომ ადვილი არ იყო … მუყაოს მოდელების საფუძველზე გაკეთებული ადრეული მცდელობები სავალალოდ ჩაიშალა, ამიტომ თავი დავანებე და რამდენიმე საათი გავატარე 3D CAD– ით და მქონდა შიდა საყრდენების ლაზერული ჭრა. შიდა სივრცე დაყოფილია კუპეებად ისე, რომ ტემპერატურის სენსორი რაც შეიძლება შორს იყოს შიდა სითბოს წყაროებიდან. მიუხედავად იმისა, რომ გარე დანართი დამზადებულია 3 მმ მასალისგან, ზედა დამზადებულია 2+1 მმ ფურცლებისგან. ეს ხრიკი საშუალებას გვაძლევს ჟესტების სენსორი დაფარული იყოს მხოლოდ 1 მმ აკრილით და ეს საკმარისია იმისათვის, რომ ის იმუშაოს.

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

CAD ფაილები აქ არის.

ნაბიჯი 4: მექანიკური შეკრება

მექანიკური შეკრება
მექანიკური შეკრება
მექანიკური შეკრება
მექანიკური შეკრება
მექანიკური შეკრება
მექანიკური შეკრება

პაკეტი ძალიან მკვრივია, მაგრამ 3D cad დიზაინის წყალობით რამდენიმე სიურპრიზი დამხვდა მისი აწყობისას.

ჰაერის მიმოქცევას (ზემოდან ქვემოდან) უზრუნველყოფს პატარა გულშემატკივარი. Aliexpress / eBay– ზე სამართლიანი ნომრის ყიდვის შემდეგ მივხვდი, რომ იაფი გულშემატკივრების ხმაური აუტანელი იყო შიდა მოწყობილობისთვის. მე შევიძინე საკმაოდ ძვირადღირებული, ნელი შემობრუნება Papst 255M (ბმული) და რამოდენიმე დიოდის საშუალებით ვკვებებდი 5V– ზე ნაკლები სიმძლავრით. შედეგი საკმაოდ კარგია და საკმარისად ჩუმად არის შეუმჩნეველი (ეს ცოლიც კი დაამტკიცა, უმძიმესი სერთიფიკატი).

ნაბიჯი 5: პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფის არქიტექტურა ემყარება ობიექტზე ორიენტირებულ ჩარჩოს, რომელიც გადის მრავალ (თანამშრომლობით) პროცესს, რომელიც ახორციელებს ინტერფეისს, სენსორებს და MQTT- ს. ეს არის ადგილმდებარეობა და დროული, მაგრამ შეუძლია გაუმკლავდეს / ხელახლა დაუკავშირდეს WiFI- ს.

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

  • გადაფურცლეთ მარცხნივ / მარჯვნივ - ეკრანის შეცვლა
  • (თითი) საათის ისრის მიმართულებით მორევა - ეკრანის შემობრუნება
  • (თითი) საათის ისრის საწინააღმდეგო მორევა - გამოიძახეთ დაყენების ეკრანი
  • (ხელი) შორიდან დახურვისკენ - ეკრანის გამორთვა

ეკრანები მემკვიდრეობით მიიღება ძირითადი კლასიდან და იმართება შემდეგი ღონისძიების მოდელის საშუალებით:

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

თითოეული ეკრანი აცხადებს თავის შესაძლებლობებს შემდეგი ინფორმაციის მიწოდებით:

  • getRefreshPeriod - რამდენად ხშირად სჭირდება ეკრანს განახლება
  • getRefreshWithScreenOff - თუ ეკრანს სურს განახლება მაშინაც კი, როდესაც უკანა განათება გამორთულია. მაგალითად. დიაგრამებისთვის
  • getScreenName - ეკრანის სახელი
  • isFullScreen - აიღეთ ეკრანის სრული კონტროლი, ან დაუშვით ზედა ზოლი თარიღი/დრო/მდებარეობა/ბატარეის ლიანდაგი/wifi ლიანდაგი

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

ეკრანები, რომლებიც ამჟამად ატმოსკანშია განხორციელებული, არის:

  • სენსორების ღირებულებები
  • გეიგერის მეტრი / ნახევარგამოყოფის სქემა
  • სისტემის სტატუსი
  • შეცდომების ჟურნალი
  • ამინდის სადგური
  • თვითმფრინავის ლაქლაქი
  • Აწყობა
  • Დამჯდარი ელემენტი

დაყენების ეკრანები საშუალებას გაძლევთ დააყენოთ Wifi სერთიფიკატები, MQTT არხები, Syslog სერვერი.

სიახლე v2.0– ში: ყველა ვებ სერვისის გასაღები ახლა კონფიგურირებადია კონფიგურაციის პორტალის საშუალებით. ერთადერთი მნიშვნელობა, რომელიც ჯერ კიდევ მყარად არის კოდირებული, არის OTA პაროლი (დიდი ასო ATMOSCAN).

შენიშვნა 1: პირველი პროგრამირება უნდა მოხდეს USB სერიული კაბელის საშუალებით, რომელიც დაკავშირებულია პროგრამირების კონექტორთან. რადგანაც სერიული პორტი დაკავებულია სენსორით, გამართვის და პროგრამირების ეს გზა არაპრაქტიკულია შეკრების შემდეგ, რადგან ის მოითხოვს სენსორის დაშლას. ამიტომ პროგრამული უზრუნველყოფა მხარს უჭერს SYSLOG გამართვას და OTA განახლებებს.

შენიშვნა 2: ATMOSCAN ორობითი არის 700Kb- ზე მეტი და ArduinoOTA მოითხოვს პროგრამის სივრცეს გამოსახულების ზომაზე მინიმუმ ორჯერ, რაც გამორიცხავს "4M (3M SPIFFS)" ვარიანტს. თუმცა, სტანდარტული "4M (1M SPIFFS)" ვარიანტი ასევე შეუსაბამოა, რადგან SPIFFS დანაყოფი არასაკმარისი იქნება ამინდის სადგურთან, თვითმფრინავის დამთვალიერებელთან და კონფიგურაციულ ფაილთან დაკავშირებული გრაფიკული რესურსებისთვის. ამიტომ პრობლემის გადასაჭრელად შეიქმნა პერსონალური კონფიგურაცია "4M (2M SPIFFS)". განმარტება აქ.

დოკუმენტაცია და სრული კოდი ხელმისაწვდომია აქ.

კრედიტები მოიცავს კოდს და ბიბლიოთეკებს

  • ადაფრუტი
  • არკაო
  • ბბლანშონი
  • ბოდმერი
  • დახურული კუბი
  • გმაგ 11
  • კნოლეარული
  • ლუკადენტელა
  • ნახა
  • Squix78
  • ცაპუ
  • ოსტატი 97

ინტეგრირდება ვებ სერვისებიდან

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

ნაბიჯი 6: გახადე უკეთესი

Გააუმჯობესე!
Გააუმჯობესე!

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

ვინმეს?

შენიშვნა: მე ჯერ კიდევ მაქვს მუჭა PCB, ასე რომ, თუ ვინმე დაინტერესებულია, ისინი ხელმისაწვდომია ნომინალური / საფოსტო ფასით.

ნაბიჯი 7: კითხვები და პასუხები

კითხვები და პასუხები
კითხვები და პასუხები
კითხვები და პასუხები
კითხვები და პასუხები

უპირველეს ყოვლისა, გმადლობთ თქვენი უაღრესად პოზიტიური კომენტარებისთვის. გულწრფელად არ ველოდი ამხელა ინტერესს.

მე მივიღე არაერთი შეკითხვა კომენტარების ან პირადი შეტყობინებების საშუალებით, ამიტომ ვფიქრობდი აქ შემეგროვებინა პასუხები. თუ მეტი მოვა, დავამატებ.

უჯრის უკანა ნაწილში ვიპოვე 8 PCB - და ისინი მიემგზავრებიან ბელგიაში, გერმანიაში, ინდოეთში, აშშ -ში, კანადაში, დიდ ბრიტანეთში, ავსტრალიაში. უი, 3 კონტინენტი! საოცარი.

რა ჩავდო ATMOSCAN კონფიგურაციის გვერდზე?

Atmoscan კონფიგურაციის გვერდი მოითხოვს შემდეგ პარამეტრებს:

  • WiFi ქსელის SSID და პაროლი, რომელთანაც გსურთ დაკავშირება
  • MQTT სერვერი, რომელსაც იყენებთ. მაგალითად, მე ვიყენებ mqtt.thingspeak.com
  • გამოიყენება MQTT თემების კავშირის სტრიქონი. მაგალითად, Thingspeak MQTT თემები არის ფორმატში: არხები/CHANNEL-ID/გამოქვეყნება/WRITE-API (მაგალითი: არხები/123456/გამოქვეყნება/567890)
  • Syslog სერვერი: syslog სერვერის IP, რომელსაც იყენებთ შესასვლელად
  • Google გასაღები Maps Static API– სთვის. მიიღეთ გასაღები https://console.cloud.google.com/apis/dashboard– დან. შექმენით პროექტი; API, რომელსაც Atmoscan იყენებს არის https://maps.googleapis.com/maps/api/staticmap. შექმენით ამ API– ს გასაღები თქვენს მიერ შექმნილ google პროექტზე, გამოიყენეთ აქ
  • ამინდის მიწისქვეშა გასაღები. შექმენით ანგარიში www.wunderground.com– ზე, გადადით WEATHER API– ზე (ბმული საწყისი გვერდის ბოლოში, გადადით KEY SETTINGS– ში, შექმენით გასაღები, გამოიყენეთ აქ
  • Geonames ანგარიში. შექმენით ანგარიში https://www.geonames.org/ საშუალებას მისცემს ის გამოიყენოს უფასო ვებ სერვისები და განათავსეთ მომხმარებლის სახელი აქ
  • TimeZoneDB გასაღები. შექმენით ანგარიში https://timezonedb.com/, შექმენით გასაღები, განათავსეთ აქ

როგორ დავაკონფიგურირო Thingspeak?

თქვენ გჭირდებათ 3 Thingspeak არხი. ველები გამოიყენება შემდეგნაირად:

CHANNEL 1 ველი

  1. TEMPERATURE
  2. ტენიანობა
  3. ზეწოლა
  4. PM01
  5. PM2.5
  6. PM10
  7. CPM
  8. რადიაცია

CHANNEL 2 ველი

  1. CO
  2. CO2
  3. NO2
  4. VOC

CHANNEL 3 ველი (სისტემის არხი)

  1. დრო წუთებში
  2. უფასო გროვა ბიტებში
  3. WIFI RSSI (სიგნალი DBM– ში)
  4. ბატარეის ძაბვა
  5. LINEAR SOC (BATTERY STATE OF CHARGE % - წრფივი გაანგარიშება, პროპორციული ძაბვის)
  6. NATIVE SOC (BATTERY STATE OF CHARGE % - როგორც იტყობინება ლიანდაგი. როგორც იკითხება ლიანდაგიდან) შენიშვნა: ლიანდაგი ამბობს 0 % როდესაც მიაღწევს 3.6 ვ -ს, ხოლო ბატარეები შეიძლება ოდნავ დაითხოვოს, ვთქვათ 3 ვ -ზე ზემოთ. ქვედა ზღვარი, რომლის დროსაც ATMOSCAN გამორთულია, არის #განსაზღვრება globaldefinitions.h ფაილში)
  7. სისტემის ტემპერატურა (bme280– დან, პირდაპირ დაფაზეა დამონტაჟებული)
  8. სისტემის ტენიანობა (bme280– დან, პირდაპირ დაფაზეა დამონტაჟებული)

PCB ძალიან კომპაქტურია. როგორ შევაერთო SMD მოწყობილობები, განსაკუთრებით MAX8903A IC?

პირველ რიგში, მე გირჩევთ ჰკითხოთ საკუთარ თავს, გსურთ SMD– ში მოხვედრა თუ ეს არის ერთჯერადი- თუ ეს უკანასკნელი, ალბათ სთხოვეთ ვინმეს ამის გაკეთება თქვენთვის. თუ გსურთ SMD გამოწვევის შესრულება, ცოტა ინვესტიცია ჩადეთ და მიიღეთ შესაბამისი ინსტრუმენტები (შედუღება, ნაკადი, იზოპროპილის სპირტი, პატარა რკინა, ცხელი იარაღი, პინცეტი, იაფი USB კამერა, PCB დამჭერი). დღეს ეს იაფი პროდუქტია. შემდეგ უყურეთ YouTube ვიდეოს-არის ნახევარი მილიონი-და გაატარეთ გარკვეული დრო ძველ PCB– თან, რომლითაც შეგიძლიათ შესწიროთ მსხვერპლი და გათიშოთ / გაასუფთაოთ / შედუღოთ ზოგიერთი კომპონენტი. თქვენ არ დაიჯერებთ, რამდენად სასწავლო ეს არის, რომ ვისწავლოთ რას უნდა ველოდოთ, გავზომოთ ტემპერატურა და ა.შ. გამოცდილებიდან ვსაუბრობ … მე დავიწყე SMD– ის შეცვლა ეკრანის კონექტორის iPod touch– ში და მე მოვკალი პირველი!

მართლაც Atmoscan PCB არის კომპაქტური და რომ IC არ არის ადვილი. კიდევ ერთხელ, მე არ გირჩევთ ამის გაკეთებას, როგორც თქვენი პირველი SMD შედუღება. QFN არ არის მეგობრული პაკეტი, მიუხედავად იმისა, რომ მე უკვე შევიკრიბე ნომერი. არასოდეს ხარ დარწმუნებული რომ სწორად გაიგე…

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

ჩემი გზა: მე პირველად დავადე რკინის ბალიშები. შემდეგ ბევრი ნაკადი (სპეციფიკური SMD) და მე ყურადღებით დავაყენე IC პინცეტით. შემდეგ ყველაფერი გაათბეთ 200/220C- მდე (დნობის წერტილის ქვემოთ), რათა თავიდან აიცილოთ დაძაბულობა არათანაბარი გათბობის გამო. შემდეგ გავზარდე ტემპერატურა 290C– მდე და ასე შემდეგ და IC– ს გარშემო. თუ ცოტაოდენი შედუღება დადგით ახლომდებარე საფენზე დაინახავთ, როდესაც ტემპერატურა დნობის წერტილშია, რადგან ის ბრწყინავს.

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

ამის თქმის შემდეგ, მე არ მინდა შეგაშინოთ. მე დავამთავრე 3 დაფა და მე არასოდეს მომიკლავს ეს IC … ერთხელ კი მომიწია მისი ამოღება, გაწმენდა და ნულიდან გადატვირთვა, მაგრამ საბოლოოდ იმუშავა. ისევ და ისევ, არც ისე ადვილია, მაგრამ შესაძლებელია.

კომპონენტები სად იყიდე?

ძირითადად eBay და Aliexpress. თუმცა, ბრენდირებული არის ორიგინალური (იხილა, პოლოლუ, სპარკფუნი).

რამდენიმე საჩვენებელი ბმული მოყვება. შენიშვნა: მიმოიხედე გარშემო, თქვენ შეიძლება იპოვოთ კიდევ უფრო იაფი გარიგებები…

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuracy-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460…

www.aliexpress.com/item/170valuesX50pcs-85…

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

პირველი პროგრამირება Atmoscan დაფა მოიცავს პროგრამირების სქემას, რომელიც შეესაბამება NodeMCU- ს. სერიული კავშირი ჩვეულებრივ გამოიყენება პირველი პროგრამირებისთვის. ამის შემდეგ, OTA პროგრამირება wifi– ით არის სასურველი ვარიანტი, რადგან ეს შეიძლება გაკეთდეს სრულად აწყობილი ერთეულის საშუალებით. ნუ დაგავიწყდებათ, რომ სერიულ პორტს ჩვეულებრივ იყენებს ნაწილაკების სენსორი!

დაფის სერიული პროგრამირების მიზნით, USB- სერიული ადაპტერი (მაგ. FTDI232 ან მსგავსი) უნდა იყოს დაკავშირებული J7 კონექტორთან (გადატვირთვის ღილაკის გვერდით) სქემატურ პინოტში. პროგრამის ატვირთვა შესაძლებელია დაკავშირებული სენსორების გარეშე, გარდა იმისა, რომ გეიგერის სენსორის შეწყვეტის ხაზი უნდა იყოს დაკავშირებული GND– თან, წინააღმდეგ შემთხვევაში დაფა არ ჩატვირთდება (ამისათვის დააკავშირეთ ქინძისთავები 1 და 3 RAD კონექტორში). დაფის შესამოწმებლად ყველაზე მარტივი გზა ძირითადი ესკიზის გამოყენების გარეშე - შესაბამისად სენსორების სირთულის გარეშე - არის ამ მარტივი პროგრამის ატვირთვა სერიული კაბელის საშუალებით. ის ქმნის wifi წვდომის წერტილს, რომელიც საშუალებას აძლევს შემდგომ ციმციმებს ძირითად პროგრამასთან.

მნიშვნელოვანია: არ დაგავიწყდეთ გამოიყენოთ 4M/2M SPIFFS კონფიგურაცია ინსტრუქციის მიხედვით, წინააღმდეგ შემთხვევაში მთავარი პროგრამა არ ჯდება. დაფა უნდა იყოს ინიციალიზებული ამ კონფიგურაციის სერიული პროგრამირების საშუალებით, წინააღმდეგ შემთხვევაში შეიძლება მოგვიანებით გქონდეთ პრობლემები OTA– სთან.

სამწუხაროდ, ზოგიერთი სენსორის ინიციალიზაცია იბლოკება, თუ სენსორები არ არის (ეს დამოკიდებულია ბიბლიოთეკის მიმწოდებელზე). ერთი მაგალითია მულტიგაზის სენსორების ბიბლიოთეკა. იმისათვის, რომ დარწმუნდეთ, რომ Atmoscan ჩატვირთავს სწორად firmware– ით, შეგიძლიათ გამორთოთ დაკავშირებული პროცესი, იხილოთ შესაბამისი კითხვა – პასუხის პუნქტი. ტესტირებისათვის ყველა სენსორის გამორთვის მარტივი გზა არის კომენტარი ხაზის #განსაზღვრა ENABLE_SENSORS GlobalDefinitions.h ფაილში.

როდესაც დაფა ჩატვირთავს მთავარ ესკიზს პირველად, მან უნდა აღიაროს, რომ ის არ არის კონფიგურირებული და უნდა გახსნას wifi ცხელი წერტილი, რომელთანაც შეგიძლიათ დაკავშირება და დაყენება. პარამეტრებს შორის არის syslog სერვერი, რომელიც მნიშვნელოვნად უწყობს ხელს გამართვას. თქვენ ასევე შეგიძლიათ გაზარდოთ ხეების დონე #define DEBUG_SYSLOG– ის კომენტირების გარეშე GlobalDefinitions.h ფაილში.გთხოვთ გაითვალისწინოთ, რომ იმავე ფაილში არის ასევე #განსაზღვრული DEBUG_SERIAL, რომელიც გამოიყენებოდა პირველადი გამართვის დროს. თუ არაკომენტარულია, გამოდის _ რამოდენიმე ნარჩენი ხე, მაგრამ მინიმალური. ToDo პუნქტი ყოველთვის იყო ხეების ერთგვაროვანი და არჩევადი, მაგრამ მე არასოდეს მქონია დრო ამის გასასუფთავებლად.

თქვენ შეცვალეთ გამოყენებული ბიბლიოთეკები, არის თუ არა რაიმე კონფიგურაცია საჭირო? (გადმოტვირთვისა და შედგენისგან განსხვავებით)

კარგი კითხვაა, დამავიწყდა აღვნიშნო ეს წერტილი. მართლაც, საჭიროა რამდენიმე რეჟიმი / კონფიგურაცია:

  • ბიბლიოთეკა https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - სერიული გამართვის განცხადებები. საჭიროა კომენტარის გაკეთება, რადგან სერიული პორტი გამოიყენება სენსორისთვის!
  • ბიბლიოთეკა https://github.com/Bodmer/TFT_eSPI - მოითხოვს კონფიგურაციის ფაილს, სადაც მითითებულია პინის მინიჭება და SPI სიხშირე
  • ბიბლიოთეკა https://github.com/lucadentella/ArduinoLib_MAX1704… - კომენტარებს რომ ვუყურებ და ვითხოვ თხოვნას, შევამჩნიე, რომ არის ხარვეზის გამოსწორება, რომელიც არასოდეს შერწყმულა

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

შენიშვნა: გთხოვთ, მიმართოთ კომენტარებს უახლესი წყაროს კოდში - შეიცავს ყველა საჭირო ბიბლიოთეკის ბმულებს და განახლებულია

რატომ კითხულობს ზოგი სენსორი წითელ და ზოგიერთ მწვანე სურათებს/სურათებს?

ფერი მიუთითებს ტენდენციაზე. ის იწყება თეთრი, ხოლო თუ მაღლა მიდის წითელი, თუ ქვევით ხდება მწვანე.

როგორ უმკლავდებით სენსორების დრიფტს დროთა განმავლობაში? რამდენად კარგია ეს სენსორები? რისი ნახვა შემიძლია ამ სენსორებით?

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

თუმცა, კომბინაცია საკმარისად კარგია იმის საჩვენებლად, რასაც არ ელოდით.

მისაღები ოთახის ატმოსკანით და ოთახის მოშორებით მდებარე სამზარეულოთი, იგი აღმოაჩენს ნაწილაკების უზარმაზარ მწვერვალებს, როდესაც მაგ. შემწვარ ნივთებს. ის იგრძნობა NO2 დილის მოძრაობიდან თუნდაც დახურული ფანჯრებით.

მართლა საჭირო იყო გეიგერის მრიცხველი? აჩვენებს რაიმე სასარგებლო?

საბედნიეროდ, ჩვენ არ გვქონია ბირთვული ინციდენტები და ომი ჯერ არ დაწყებულა … მიუხედავად ამისა, არის ბირთვული ქარხნები არც თუ ისე შორს და მთავრობა ბავშვებს ურიგებს იოდის აბებს, რომლებიც ინციდენტების შემთხვევაში უჯრაში ინახება … ასე რომ, მე ეჭვი შემეპარა. ჯერჯერობით უნდა ვთქვა, რომ კითხვები ზუსტად შეესაბამება მოსალოდნელ ფონურ გამოსხივებას (0.12 uSv/სთ)

რა არის მოწყობილობის საერთო ღირებულება?

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

PCB– ებზე რას იტყვით? შეგიძლია ერთი მიყიდო?

მე თავდაპირველად 10 მათგანი გავაკეთე dirtypcbs.com– ის მიერ და ჩემი ფაილები მშვენივრად შემუშავდა. კარგი ხარისხის და საკმაოდ იაფი, 25USD / 20Euro 10 PCB– ზე. მე ორი გამოვიყენე და სიამოვნებით გამოგიგზავნით ნარჩენებს შიშველ ფასად (2 ევრო + გადაზიდვა, ადგილმდებარეობისა და გადაზიდვის პრეფერენციების მიხედვით). მეშინია, რომ მომიწევს პირველი პირების არჩევა, რომლებიც პირად შეტყობინებას გამომიგზავნიან.

შეგიძლიათ გააკეთოთ ნაკრები ან kickstarter კამპანია?

გულწრფელი, მაგრამ გულწრფელად გითხრათ, მე არასოდეს მიფიქრია, რომ ეს იყო საკმარისად ინოვაციური… და გარდა ამისა, არა დრო !!

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

აპარატურაზე: შემიძლია დავამატო / ამოიღო სენსორი, ეკრანი და ა.შ. შესაძლებლობების გასაფართოებლად / ენერგიის მოხმარების შესამცირებლად?

ეკრანი დაკავშირებულია MISO– ს გამოყენების გარეშე, ამიტომ პროცესორი არასოდეს კითხულობს ეკრანიდან. ამიტომ თქვენ უბრალოდ ვერ დააკავშირებთ ეკრანის ჭიანჭველას, ის მშვენივრად იმუშავებს. ამის თქმის შემდეგ, ეკრანი ჩართულია მხოლოდ ბოლო ჟესტის გამოვლენის შემდეგ, ასე რომ ის ნამდვილად არ ახდენს გავლენას ენერგიის მოხმარებაზე.

სენსორების ნაცვლად არის ენერგიის მშიერი და მთლიანი ნივთი ადვილად იყენებს 400/500mA. არ დაივიწყოთ ვენტილატორი და ის ფაქტი, რომ ნაწილაკების სენსორს ასევე აქვს ჩაშენებული ვენტილატორი. ESP ასევე არ გადადის ძილის რეჟიმში, GPIO ტონის არარსებობის გამო. თუმცა, ეს ალბათ დაზოგავდა 20mA…

პროგრამული უზრუნველყოფა არის მოდულური და თქვენ შეგიძლიათ მარტივად დაამატოთ/წაშალოთ პროცესები და ეკრანები, ასე რომ თქვენ შეგიძლიათ დაამატოთ სენსორები ან გახადოთ იგი მსუბუქი ენერგიით, ზოგიერთის მოხსნით, თუ გსურთ. ერთადერთი შეზღუდვა არის GPIO ქინძისთავების რაოდენობა. თუმცა, სენსორები შეიძლება ადვილად დაემატოს, თუ I2C, ან ალტერნატიულად I2C გაფართოება შეიძლება გამოყენებულ იქნას GPIO– ების დასამატებლად…

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

რა გაუმჯობესებები იქნებოდა თქვენ რომ გქონდეთ დრო V2.0– სთვის?

არა რაიმე კონკრეტული თანმიმდევრობით..

  • PCB- ს შეეძლო თავიდან აეცილებინა სპილენძი ESP8266 ანტენის მიღმა. სულ დამავიწყდა და ის რადიაციული დიაგრამას არაიზოტროპულს ხდის
  • ჩემი აზრით დამტენი ამხელა ბატარეაზე მცირე ზომისაა / ბატარეა ძალიან დიდი დამტენისთვის. არის სხვა IC და მე ვცდილობ სხვას.
  • არსებობს უკეთესი ბატარეის მაჩვენებლები.
  • დავამატებ ოზონის სენსორს
  • მე გამოვიყენებ ESP32– ს მეტი GPIO– სთვის და Bluetooth– ის სენსორებისთვის მთავარი განყოფილებიდან.
  • მე რომ მქონდეს მეტი GPIO ან ESP32– ით, ან I2C გაფართოებით, მე ვიყენებ ერთს ვენტილატორის გასაკონტროლებლად და მეორეს - პროგრამული უზრუნველყოფის ერთეულის გამორთვისთვის. როდესაც დაბალი ბატარეა, ერთადერთი რისი გაკეთებაც მას შეუძლია დაბალი ბატარეის ეკრანის ჩვენებაზე. ეს, ფაქტობრივად, დიზაინის ყველაზე დიდი ნაკლია, რადგან დაბალი ბატარეის მდგომარეობა არ არის მოხდენილი.

პროგრამულ უზრუნველყოფაზე

აპარატურაზე მეტი დამჭირდა … მე ვფიქრობ, რომ ის შეიცავს უამრავ კარგ კონცეფციას, სამწუხაროდ, სრულად არ არის დანერგილი. კონკრეტულად, მე მჯერა, რომ ის უნდა გაიწმინდოს, პოტენციურად გაფართოვდეს და ESP8266 პროგრამების ზოგადი ჩარჩო ადვილად იყოს მისგან მიღებული. დრო არ არის. ვინმე იღებს გამოწვევას?

შეგიძლიათ დაამატოთ ხმის კონტროლი?

შესაძლებელი უნდა იყოს. არსებობს მრავალი მზა ბიბლიოთეკა, რომ გააკონტროლონ ESP8266 Alexa– სთან და მე ვერ ვხედავ რატომ უნდა იყოს ინტეგრაცია პრობლემა. საინტერესო კითხვაა რისი გაკეთება გსურთ მასთან ერთად, ფუნქციონალური თვალსაზრისით. მე არ მაქვს Amazon Echo, ამიტომ არასოდეს მიცდია.

როგორ გააკეთეთ ლაზერული ჭრა?

ნახატები შესრულებულია SketchUp– ით. პროგრამა კარგია, მაგრამ სერიოზულად აკლია ექსპორტის შესაძლებლობები. თუმცა, 30 დღიანი საცდელი ვერსია ეხმარება, რადგან მას აქვს დამატებითი ფუნქციონირება. შემდეგ მე შემოვიტანე იგი Inkscape– ში საბოლოო დამუშავებისთვის.

შეგიძლიათ ჩართოთ/გამორთოთ სენსორები ენერგიის დაზოგვის მიზნით, MOSFET– ების საშუალებით?

პრინციპში კარგი იდეაა, მაგრამ ამ სენსორების უმეტესობას მუდმივი ჩართვა სჭირდება, რადგან მათ აქვთ დათბობის დრო. გარდა ამისა … ESP8266– ში დამთავრდა GPIO– ები. მე კი უნდა გამოვიყენო GPIO10, რომელიც ოფიციალურად არ ფუნქციონირებს, მაგრამ მშვენივრად მუშაობს ESP12E- ზე.

რა უნარები დამჭირდება?

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

ეს თქვენი პირველი პროექტია?

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

გირჩევთ: