Სარჩევი:

Esp8266 საათი და პულსის გენერატორი: 3 ნაბიჯი
Esp8266 საათი და პულსის გენერატორი: 3 ნაბიჯი

ვიდეო: Esp8266 საათი და პულსის გენერატორი: 3 ნაბიჯი

ვიდეო: Esp8266 საათი და პულსის გენერატორი: 3 ნაბიჯი
ვიდეო: როგორ გავაკეთოთ 4-არხიანი ESP8266 ESP01 Wi-Fi რელე | ESP01 სახლის ავტომატიზაცია | RemoteXY | FLProg 2024, ნოემბერი
Anonim
Esp8266 საათი და პულსის გენერატორი
Esp8266 საათი და პულსის გენერატორი

ეს ინსტრუქცია განკუთვნილია სატესტო აღჭურვილობის მარტივი ნაწილისთვის; საათის და პულსის გენერატორი.

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

  • საათის წარმოქმნა 2Hz– დან 20 MHz– მდე
  • ნებისმიერი სიხშირის გამოყენება შესაძლებელია
  • ეძებს საათის გამყოფების და ბიტის სიგრძის საუკეთესო შესატყვისს 160MHz საბაზისო საათიდან
  • როგორც წესი, 0.1% -ზე უკეთესია 100KHz სიხშირეზე
  • მონიშნეთ სივრცის თანაფარდობის შერჩევა
  • სიხშირის შესატყვისი ტოლერანტობა შეიძლება შემცირდეს, რათა უკეთესი იყოს მარკირების სივრცის მართვა
  • პულსის მატარებლის წარმოქმნა ფაილების განმარტებების საფუძველზე
  • ვებ დაფუძნებული GUI, რომელიც საშუალებას გაძლევთ აკონტროლოთ კომპიუტერიდან, ტელეფონიდან, ტაბლეტიდან
  • Wifi მენეჯმენტი საშუალებას გაძლევთ შექმნათ მარტივი როუტერი
  • OTA პროგრამული უზრუნველყოფის განახლება
  • იყენებს სპეციალურ I2s ბიბლიოთეკას (i2sTXcircular), რომელიც იძლევა მოქნილ კონტროლს

ნაბიჯი 1: აპარატურა

ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა

მე ავაშენე ჩემი ნაშრომი 3D დაბეჭდილ დანართში, სადაც ინახება 18650 ბატარეა USB დამტენით, ჩართვა/გამორთვა, 3 პინიანი სათაურის დანამატი გამომავალი სიგნალისთვის.

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

სიგნალი გამოდის GPIO3 პინიდან (RX). ეს შეიძლება გამოყენებულ იქნას უშუალოდ, მაგრამ დისკის უფრო მაღალი შესაძლებლობისთვის მე ავირჩიე პატარა ბუფერის ჩართვა 74LVC2G34– ის გამოყენებით. მე ამ მოწყობილობის ორ ბუფერს პარალელურად ვაძლევდი კიდევ უფრო მეტ დისკის უნარს.

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

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

პროგრამული უზრუნველყოფის შესაქმნელად და დასაყენებლად გამოიყენეთ კოდი

  • დააინსტალირეთ i2sTX წრიული ბიბლიოთეკა (შედის)
  • დააინსტალირეთ BaseSupport ბიბლიოთეკა (https://github.com/roberttidey/BaseSupport)
  • დაამატეთ WifiManager ბიბლიოთეკა
  • შეცვალეთ პაროლები BaseConfig.h- ში
  • შეადგინეთ და ატვირთეთ არდუინოს გარემოში
  • დააყენეთ wifi ქსელის მენეჯმენტი AP– თან დაკავშირებით და 192.168.4.1 – თან დათვალიერებით
  • ატვირთეთ ფაილების ძირითადი ნაკრები მონაცემთა საქაღალდედან STA ip/ატვირთვის გამოყენებით
  • შემდგომი ატვირთვები შეიძლება გაკეთდეს ip/edit– ის გამოყენებით - ნორმალური ინტერფეისი არის ip/

Როგორ მუშაობს

I2sTX წრიული ბიბლიოთეკა საშუალებას გაძლევთ შექმნათ ბუფერების წრიული ჯაჭვი, რომელიც ავტომატურად გამოდის i2S აპარატურით esp8266– ზე DMA– ს გამოყენებით ისე, რომ პროგრამული უზრუნველყოფის გადახდა არ მოხდეს მისი მუშაობის დაწყებისთანავე.

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

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

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

ნაბიჯი 3: ოპერაცია

ოპერაცია კონტროლდება მთავარ სურათზე ნაჩვენები ბრაუზერის ინტერფეისით.

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

დაწკაპვით Advanced ბარი მეტი დეტალები ჩანს.

ბიტიანი საათი აჩვენებს 160 მჰც-ის ქვე-მრავლობითს, რომელიც გამოიყენება.

მარკირება და სივრცის ბიტები აჩვენებს რამდენი ბიტი გამოიყენება ნიშნებისა და ფართების გამოსახატავად.

Div1 და Div2 აჩვენებს ორ გამყოფს, რომლებიც არჩეულია უახლოესი ბიტის საათის შესაქმნელად.

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

თქვენ ასევე შეგიძლიათ დააყენოთ ბიტი თითო სიტყვაზე, რათა გააკონტროლოთ პარამეტრების არჩევანი. 0 (ნაგულისხმევი) ნიშნავს აირჩიოთ ნებისმიერი ბიტი თითო სიტყვაზე. ერთი რიცხვი (მაგალითად, 24) ნიშნავს მხოლოდ პარამეტრების არჩევას, რომლებიც შეესაბამება მას. თქვენ ასევე შეგიძლიათ განათავსოთ დიაპაზონი (მაგალითად, 24, 31). ეს მუშაობს მხოლოდ 10KHz ზევით სამიზნე Hz– ზე, ქვემოთ კი ეს სკალირება იმოქმედებს ისე, რომ რიცხვი გამრავლდეს.

ბუფერის ზომა აჩვენებს 32 -ბიტიან სიტყვებში გამოყენებულ საერთო ბუფერს. ეს არჩეულია იმის უზრუნველსაყოფად, რომ საათის პულსი ქმნის სრულყოფილ წრიულ ბუფერს. შინაგანად ეს ბუფერი დაყოფილია რამდენიმე მცირე ზომის რუბერად, რათა მიჯაჭვული DMA ფუნქციონირებდეს.

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

გირჩევთ: