Სარჩევი:
- ნაბიჯი 1: არსებული სენსორის დეტალები
- ნაბიჯი 2: Pinout
- ნაბიჯი 3: პროტოკოლის აღწერა
- ნაბიჯი 4: Arduino კოდი
- ნაბიჯი 5: კალიბრაცია
ვიდეო: Thrustmaster Warthog Slew Sensor I2C განახლება: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ეს არის უხეში სახელმძღვანელო იმის შესახებ, თუ როგორ უნდა მოხდეს ინტერფეისი I2C პროტოკოლთან, რომელიც გამოიყენება ThrustmasterWarthog– ის გასროლის სენსორზე. ეს შეიძლება გამოყენებულ იქნას საკმაოდ უსარგებლო სტანდარტული მინისტრიკიდან რაიმე უკეთესზე გადასასვლელად, მაგრამ მაინც გამოიყენოთ სტანდარტული USB კონტროლერი გასროლის განყოფილებაში. ეს ემყარება ორიგინალურ პოსტს:
forums.eagle.ru/showthread.php?t=200198
ძირითადი გაგება, თუ I2C პროტოკოლი არის გათვალისწინებული შემდეგი ნაბიჯების უმეტესობისთვის, შესანიშნავი ახსნისთვის გადადით:
learn.sparkfun.com/tutorials/i2c
ნებისმიერი კონკრეტული შეკითხვა, თავისუფლად დამისვით და მე შევეცდები მომავალში დავამატო ეს აუტანელი უფრო შესაბამისი ინფორმაციით. ეს არ არის სრულყოფილი, მაგრამ უნდა იყოს კარგი საწყისი წერტილი.
მოცემულია Arduino– ს რამდენიმე დემო კოდი, მაგრამ გთხოვთ ეს მხოლოდ მინიშნებად მიიჩნიოთ, რადგან ჩვეულებრივი 5V Arduino– ს გამოყენება არ შეიძლება მოდიფიკაციის გარეშე.
ნაბიჯი 1: არსებული სენსორის დეტალები
მინისტრის სენსორი, რომელსაც გააჩნია Thrustmaster Wathog throttleis, კარგად არის ცნობილი, რომ სხვაგვარად შესანიშნავი პროდუქტის ერთ -ერთი ყველაზე დიდი სისუსტეა. წლების განმავლობაში იყო არაერთი მცდელობა ადამიანების მიერ მისი უკეთესით შეცვლის შესახებ, მაგრამ უმეტესობა შეექმნა სირთულეებს მის მიერ გამოყენებულ ციფრულ I2C პროტოკოლთან ურთიერთობისას.
ზუსტი სენსორი, რომელიც გამოიყენება Warthog– ის დროს, არის N35P112 - EasyPoint, რომელიც იყენებს AS5013 დარბაზის ეფექტის სენსორ IC– ს, რომელიც დამზადებულია AMS– ის მიერ.
Მონაცემთა ფურცელი:
ams.com/arm/Products/Magnetic-Position-Sens…
საინტერესოა, რომ ერთეული ერთხელ ხელმისაწვდომი იყო სპარკფუნის მიერ ბრეაკოუტ მოდულის სახით:
www.sparkfun.com/products/retired/10835
სენსორი განკუთვნილია ნავიგაციის პროგრამებისთვის, როგორიცაა მობილური ტელეფონები და ძალიან იაფია. ჩემი აზრით, მიუღებელია ისეთ რამეში, რაც თითქმის $ 500 ღირს.
ნაბიჯი 2: Pinout
სენსორი უკავშირდება PCB– ს მარჯვენა ხელის გასროლის ერთეულში მიკრო 5 პინიანი კონექტორის საშუალებით.
Pinout არის შემდეგი:
-
Vcc +3.3VDC (
ადგილობრივად რეგულირდება 5V– დან ხაზოვანი მარეგულირებელი დაფის მეორე მხარეს, კონექტორის უკან, კარგი უნდა იყოს 20mA– ის გარშემო, მაგრამ მე არავითარ შემთხვევაში არ გამომიცდია ეს)
- I2C SDA
- I2C SCL
- GND
- ღილაკი 1 (ჩვეულებრივ მაღალი, შიდა 5 ვ აწევით)
ნაბიჯი 3: პროტოკოლის აღწერა
სენსორი მუშაობდა I2C მისამართზე 0x41 - ყველა ჩაწერის ან წაკითხვის ბრძანება იწყება ამ მისამართით.
როდესაც საჰაერო ხომალდი კომპიუტერთან არის დაკავშირებული, I2C ავტობუსში არის დაახლოებით 250ms პრეამბულა 0x40 მისამართისთვის, მე ვთვლი, რომ ეს არის სხვა სენსორული ვერსიისთვის ან მსგავსი რამისთვის, მაგრამ ეს ჩვენთვის არ არის შესაბამისი.
ნორმალური გამოყენებისას I2C ავტობუსზე გაგზავნილი მონაცემები ქვემოთ მოცემულია, ეს უნდა იყოს იმიტირებული ჩვენი მიკროკონტროლის მიერ, რომ დაელაპარაკოს სადგამს.
დაყენება - ეს მონაცემები იგზავნება ერთხელ, USB- ის შეერთების შემდეგ დაახლოებით 500ms, ორიგინალური სენსორის გამოსაყენებლად.
სამაგისტრო წერა: 0x0F (კონტროლის რეგისტრაცია 1)
მონაცემები: 0x02 0b0000 0010 (იწყებს რბილ გადატვირთვას)
სამაგისტრო წერა: 0x0F (კონტროლის რეგისტრაცია 1)
სამაგისტრო წაკითხვა: 0xF1 0b1111 0001 (აღდგება 11110000, lsb 1 ნიშნავს, რომ სწორი მონაცემები წასაკითხად მზად არის. ჩვენ სწორად უნდა ვუპასუხოთ ამ ბრძანებას, რომ აღიარებულ იქნას როგორც მოქმედი მონა მოწყობილობა)
სამაგისტრო წერა: 0x2E (საკონტროლო რეგისტრაცია 2)
მონაცემები: 0x 86 (ეს ადგენს მაგნიტის ორიენტაციას ორიგინალურ სენსორში)
სამაგისტრო წერა: 0x0F (კონტროლის რეგისტრაცია 1)
მონაცემები: 0x 80 0b1000 0000 (აყენებს მოწყობილობას უმოქმედო რეჟიმში (ავტომატური გაზომვა, არა დაბალი ენერგიის რეჟიმში))
მარყუჟი: ეს მეორდება დაახლოებით 100 Hz– ზე სენსორის მონაცემების მისაღებად.
სამაგისტრო წერა: 0x10 (X რეგისტრი)
სამაგისტრო წაკითხვა: (მონა აგზავნის X მონაცემებს, 2 -ის დამატებას 8 ბიტიანი მნიშვნელობა)
სამაგისტრო წერა: 0x11 (Y რეგისტრაცია)
სამაგისტრო წაკითხვა: (მონა აგზავნის Y მონაცემებს, 2 -ის დამატებას 8 ბიტიანი მნიშვნელობა)
პროტოკოლის ნაგავსაყრელის შესაბამისი ნაწილი ლოგიკური ანალიზატორიდან:
დაყენება ჩაწერეთ [0x82] + ACK
0x0F + ACK
0x02 + ACK
დაყენება ჩაწერეთ [0x82] + ACK
0x0F + ACK
დააყენეთ წაკითხული [0x83] + ACK
0xF1 + NAK
დაყენება ჩაწერეთ [0x82] + ACK
0x2E + ACK
0x86 + ACK
დაყენება ჩაწერეთ [0x82] + ACK
0x0F + ACK
0x80 + ACK
დაყენება ჩაწერეთ [0x82] + ACK
0x10 + ACK
დაყენება წაკითხული [0x83] + ACK 0xFC + NAK
დაყენება ჩაწერეთ [0x82] + ACK 0x11 + ACK
დაყენება წაკითხული [0x83] + ACK 0xFF + NAK
ნაბიჯი 4: Arduino კოდი
თანდართული Arduino კოდი შეიძლება გამოყენებულ იქნას სენსორის სიმულაციისთვის.
გთხოვთ გაითვალისწინოთ: Arduino დაფების უმეტესობა მუშაობს 5V– ზე, ამისათვის საჭიროა 3.3V თავსებადი ან მოდიფიცირებული დაფა, რომ არ დააზიანოთ თქვენი ჯოისტიკი.
ნაბიჯი 5: კალიბრაცია
მას შემდეგ, რაც თქვენი ახალი სენსორი დამონტაჟდება, გრუნტს დასჭირდება დაკალიბრება.
თქვენი გრიპის დასაკალიბრებლად თქვენ გისურვებთ გაზქურის დაკალიბრების ინსტრუმენტს. მისი გადმოწერა შესაძლებელია მრავალი წყაროდან, როგორიცაა:
forums.eagle.ru/showthread.php?t=65901
არ გამოიყენოთ ფანჯრების კალიბრაცია.
იმისათვის, რომ მიიღოთ მაქსიმუმი მოდიდან, თქვენ უნდა შეცვალოთ რამდენიმე მნიშვნელობა კალიბრაციის კონფიგურაციის ფაილში.
Შეცვალე:
სტანდარტული_DZ_SX = 0x10;
სტანდარტული_DZ_SY = 0x10;
ხაზები A10_calibration.txt to:
სტანდარტული_DZ_SX = 0x01;
სტანდარტული_DZ_SY = 0x01;
ეს შეიცვლება მკვდარ ზონაში კონტროლის კონტროლზე 10 -დან 1 -მდე და მისცემს ბევრად უკეთეს კონტროლს. თქვენ შეგიძლიათ ითამაშოთ ამ პარამეტრით და შემდეგ ხელახლა დაკალიბრება და ნახეთ რა მოგწონთ ყველაზე მეტად.
გირჩევთ:
რაიოტრონის ღამის შუქის განახლება (ნაწილი 2): 13 ნაბიჯი
რაიოტრონის ღამის შუქის განახლება (ნაწილი 2): ჩემი რაიოტრონის ღამის შუქი შთაგონებული იყო ნახევარი მილიონი ვოლტის, ელექტროსტატიკური გენერატორით, რომელიც შექმნილია ატომური ფიზიკის კვლევისათვის მაღალი ენერგიის რენტგენის გამოსხივების წარმოებისთვის. თავდაპირველ პროექტში გამოყენებულია 12 ვოლტიანი დენის წყარო მცირე ელექტრონული ჰაერის იონიზატორის გასააქტიურებლად, რომელიც ცუდად
იაფი უკაბელო საბურღი განახლება!: 4 ნაბიჯი
იაფი უკაბელო საბურღი განახლება!: ამჯერად, მე გაგიზიარებთ როგორ გავაუმჯობესოთ იაფი უკაბელო საბურღი ბატარეა. ერთადერთი, რაც ჩვენ განვაახლებთ არის მხოლოდ ბატარეა, რადგან იაფ საბურღს აქვს მცირე ბატარეის ტევადობა. ჩვენ დავამატებთ გარკვეულ ფუნქციებს ბატარეაზე ! დამატებულია მახასიათებლები: დატენეთ ბ
(განახლება - არსებობს უმნიშვნელო საკითხი) USB თამაშის კონტროლერი PC– სთვის: 10 ნაბიჯი (სურათებით)
(განახლება - არსებობს უმნიშვნელო საკითხი) USB თამაშის კონტროლერი PC– სთვის: GAMING CONTROLLER ნებისმიერი თამაშისთვის (თითქმის)
DC მოტორის განახლება (RS-540 დავარცხნილი ტიპი): 15 ნაბიჯი
DC MOTOR– ის გადატვირთვა (RS-540 დავარცხნილი ტიპი): RS-555 DC MOTOR– ის გადახედვა (RS-540– ის მსგავსი ძრავის), რათა მიიღოთ მეტი სიჩქარე r.p.m. როგორ გავაუმჯობესოთ DC ძრავა და გავზარდოთ სიჩქარე. ყველაზე მნიშვნელოვანი არის ჯაგრისები, რომლებიც უნდა იყოს ნახშირბად-სპილენძი (ლითონი-გრაფიტი), ძალიან მნიშვნელოვანია დიდი
Thrustmaster Warthog Joystick Addon: 5 ნაბიჯი (სურათებით)
Thrustmaster Warthog Joystick Addon: გამარჯობა გთხოვთ იყავით ნაზი ჩემ მიმართ .. ეს არის ჩემი პირველი სასწავლო. მე მჭირდებოდა კიდევ რამდენიმე ღილაკი და ცულები ჩემს " warthog " ჯოისტიკი, საშიში ელიტის სათამაშოდ. არ არის სახალისო ჯოისტიკსა და კლავიატურას შორის გაცვლა " განხეთქილება " შენზე ის