Სარჩევი:
- ნაბიჯი 1: მუშაობის პრინციპი
- ნაბიჯი 2: მუშაობის პრინციპი შემდგომი
- ნაბიჯი 3: პრაქტიკული დაშლა 1
- ნაბიჯი 4: პრაქტიკული დაშლა 2
- ნაბიჯი 5: პრაქტიკული დაშლა 3
- ნაბიჯი 6: პრაქტიკული დაშლა 4
- ნაბიჯი 7: პრაქტიკული დაშლა 5
- ნაბიჯი 8: პრაქტიკული დაშლა 6
- ნაბიჯი 9: კედლის საათის გამოყენების მაგალითები
- ნაბიჯი 10: კედლის საათის გამოყენების მაგალითები PIC
- ნაბიჯი 11: კედლის საათის გამოყენების მაგალითები Arduino
- ნაბიჯი 12: სწრაფი საათი მოდელი Railroaders აპარატურისთვის
- ნაბიჯი 13: პროგრამული უზრუნველყოფა
- ნაბიჯი 14: ცნობისმოყვარეობა
ვიდეო: თამაში კედლის საათის ხელით: 14 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ელექტრონული ხელის კედლის საათი (კომერციული მარკირების კვარცი) დღესდღეობით განსაკუთრებული არაფერია. მისი ყიდვა ბევრ მაღაზიაშია შესაძლებელი. ზოგიერთ მათგანში ისინი ძალიან იაფია; ფასი დაახლოებით 2 ევრო (50 CZK). ეს დაბალი ფასი შეიძლება იყოს მოტივაცია, რომ მათ უფრო ახლოს გაეცნოთ. შემდეგ მივხვდი, რომ ისინი შეიძლება იყოს საინტერესო სათამაშო ახალბედა ადამიანებისთვის, რომლებსაც არ აქვთ ამდენი რესურსი და ძირითადად დაინტერესებულნი არიან პროგრამირებით. მაგრამ მინდა საკუთარი განვითარება სხვებს გავუწიო. იმის გამო, რომ იაფი კედლის საათი ძალიან ტოლერანტულია ექსპერიმენტებისა და დამწყებთათვის, გადავწყვიტე დამეწერა ეს სტატია, სადაც მინდა წარმოვადგინო ძირითადი იდეები.
ნაბიჯი 1: მუშაობის პრინციპი
ადვილი მისახვედრია, რომ საათი მოძრაობისას იყენებს ერთგვარ სტეპერ ძრავას. ის, ვინც უკვე დაარღვია ზოგიერთი საათი, აღიარა, რომ ეს არის მხოლოდ ერთი კოჭა ნაცვლად ორი ჩვეულებრივი სტეპერიანი ძრავისა. ამ შემთხვევაში ჩვენ ვსაუბრობთ "ერთფაზიან" ან "ერთ ბოძზე" სტეპერ ძრავაზე. (ეს სახელი არ გამოიყენება ასე ხშირად, ის ძირითადად ანალოგიური წარმოშობაა მარკირებისთვის, რომელიც გამოიყენება სხვა სრული სტეპერიანი ძრავებისათვის). ვინც უკვე იწყებს ფიქრს მუშაობის პრინციპზე, უნდა დაუსვას კითხვა, როგორ არის შესაძლებელი, რომ ეს ძრავა ყოველთვის ბრუნავს სწორი მიმართულებით. მუშაობის პრინციპის აღწერა სასარგებლოა შემდეგ სურათზე, რომელიც აჩვენებს ძველ ძრავებს.
პირველ სურათზე ჩანს ერთი გრაგნილი ტერმინალებით A და B, ნაცრისფერი სტატორი და წითელ-ლურჯი როტორი. როტორი მზადდება მუდმივი მაგნიტისგან, ეს არის მიზეზი იმისა, თუ რატომ არის იგი მონიშნული ფერით, რომ იყოს ხილული, რა მიმართულებით არის მაგნიტიზირებული (არც ისე მნიშვნელოვანია, რომელი პოლუსია ჩრდილოეთი და რა სამხრეთი). სტატორზე შეგიძლიათ ნახოთ ორი "ღარი" როტორთან ახლოს. ისინი ძალიან მნიშვნელოვანია მუშაობის პრინციპისთვის. ძრავა მუშაობს ოთხ საფეხურზე. ჩვენ აღწერს თითოეულ ნაბიჯს ოთხი სურათის გამოყენებით.
პირველი ნაბიჯის დროს (მეორე სურათი) ძრავა იკვებება, რომ ტერმინალი A უკავშირდება პოზიტიურ ბოძს და ტერმინალი B უკავშირდება უარყოფით პოლუსს. ის ახდენს მაგნიტურ ნაკადს, მაგალითად ისრის მიმართულებით. როტორი შეჩერდება პოზიციაში, რომ მისი პოზიცია შეესაბამება მაგნიტურ ნაკადს.
მეორე ნაბიჯი ხდება ელექტროენერგიის გათიშვის შემდეგ. შემდეგ მაგნიტური ნაკადი სტატორში ჩერდება და მაგნიტს აქვს ტენდენცია ბრუნვის პოზიციაზე, მისი პოლარიზაცია არის სტატორის მაგნიტური რბილი მასალის მაქსიმალური მოცულობის მიმართულებით. და აქ გადამწყვეტია ეს ორი ღარი. ისინი მიუთითებენ მაქსიმალური მოცულობის მცირე გადახრაზე. შემდეგ როტორი ოდნავ ბრუნავს საათის ისრის მიმართულებით. როგორც ნაჩვენებია სურათზე 3.
შემდეგი ნაბიჯი (მეოთხე სურათი) არის ძაბვასთან დაკავშირებული საპირისპირო პოლარობა (ტერმინალი A უარყოფით პოლუსამდე, ტერმინალი B დადებით პოლუსამდე). ეს ნიშნავს, რომ მაგნიტი როტორში ბრუნავს მაგნიტური ველის მიმართულებით კოჭით. როტორი იყენებს უმოკლეს მიმართულებას, ისევ საათის ისრის მიმართულებით.
ბოლო (მეოთხე) ნაბიჯი (მეხუთე სურათი) იგივეა, რაც მეორე. ძრავა ისევ ძაბვის გარეშეა. ერთადერთი განსხვავება ისაა, რომ მაგნიტის საწყისი პოზიცია საპირისპიროა, მაგრამ როტორი კვლავ გადავა მასალის მაქსიმალური მოცულობის მიმართულებით. ეს არის ისევ საათის ისრის მიმართულებით.
ეს არის მთელი ციკლი, პირველი ნაბიჯი კვლავ მიჰყვება. საავტომობილო მოძრაობა არის ორი და მეოთხე ნაბიჯი, როგორც სტაბილური. შემდეგ ის მექანიკურად გადადის გადაცემათა კოლოფში 1:30 გადატანის სიჩქარით საათის მეორე ხელის პოზიციაზე.
ნაბიჯი 2: მუშაობის პრინციპი შემდგომი
ფიგურები აჩვენებს ძაბვის ტალღის ფორმას საავტომობილო ტერმინალებზე. რიცხვები ნიშნავს ყველა წამს. სინამდვილეში, პულსი გაცილებით მცირეა, ვიდრე სივრცეები. ისინი დაახლოებით მილიწამებშია.
ნაბიჯი 3: პრაქტიკული დაშლა 1
მე გამოვიყენე ერთ -ერთი ყველაზე იაფი კედლის საათი ბაზარზე პრაქტიკული დაშლისთვის. მათ აქვთ რამდენიმე დადებითი. ერთი ის არის, რომ ფასი იმდენად დაბალია, რომ ჩვენ შეგვიძლია შევიძინოთ რამდენიმე მათგანი ექსპერიმენტებისთვის. იმის გამო, რომ წარმოება მკაცრად არის ორიენტირებული ფასზე, ისინი არ შეიცავს რთულ ჭკვიანურ გადაწყვეტილებებს, ასევე რთულ ხრახნებს. სინამდვილეში ისინი არ შეიცავს ხრახნებს, მხოლოდ პლასტმასის დაჭერის საკეტებს. ჩვენ გვჭირდება მხოლოდ მინიმალური ინსტრუმენტები. მაგალითად, ჩვენ გვჭირდება screwdriver მხოლოდ ამოიღონ ამ საკეტები.
კედლის საათის დასაშლელად გვჭირდება ბრტყელი ხრახნიანი საჭრელი (ან ნებისმიერი სხვა ჯოხი), ტანსაცმლის საყრდენი და სამუშაო ხალიჩა ამაღლებული კიდეებით (ეს არ არის სავალდებულო, მაგრამ ბორბლებისა და სხვა მცირე ნაწილების ძებნა უფრო ადვილია).
ნაბიჯი 4: პრაქტიკული დაშლა 2
კედლის საათის უკანა მხარეს არის სამი საკეტი. ორი ზედა და ნომრების 2 და 10 შეიძლება განბლოკილი იყოს და საფარის მინა გაიხსნას როდესაც ჭიქა ღიაა, შესაძლებელია საათის კბილების ამოღება. არ არის აუცილებელი მათი პოზიციის აღნიშვნა. ჩვენ ყოველთვის დავაბრუნებთ მათ 12:00:00 საათზე, როდესაც საათის მრგვალი ხელები გამორთულია, ჩვენ შეგვიძლია განვაცილოთ საათის მოძრაობა. მას აქვს ორი ჩამკეტი (პოზიცია 6 და 12). მიზანშეწონილია რაც შეიძლება სწორი მოძრაობის გაწევა, წინააღმდეგ შემთხვევაში მოძრაობა შეიძლება ჩერდებოდეს.
ნაბიჯი 5: პრაქტიკული დაშლა 3
შემდეგ შესაძლებელია მოძრაობის გახსნა. მას აქვს სამი საკეტი. ორი პოზიციებზე 3 და 9 საათზე და შემდეგ მესამე 6 საათზე. გახსნისას საკმარისია ამოიღოთ გამჭვირვალე საჭე ძრავასა და გადაცემათა კოლოფს შორის და შემდეგ პინიონი, რომელიც დაკავშირებულია ძრავის როტორთან.
ნაბიჯი 6: პრაქტიკული დაშლა 4
ძრავის კოჭა და სტატორი ინახება მხოლოდ ერთ ჩამკეტზე (12 საათზე). ის არ იკავებს ელექტროგადამცემი რელსებს, ის ვრცელდება დენის რელსებზე მხოლოდ პრესით, შემდეგ მისი ამოღება არ არის რთული. კოჭა იჭრება სტატორზე ყოველგვარი დამჭერის გარეშე. მისი ადვილად ამოღება შეიძლება.
ნაბიჯი 7: პრაქტიკული დაშლა 5
გრაგნილის ქვედა მხარეს არის წებოვანი პატარა დაბეჭდილი მიკროსქემის დაფა, რომელიც შეიცავს ერთ CoB- ს (ჩიპი ბორტზე) ექვსი ამონაწერით. ორი ძალაა და ისინი მთავრდება ბორტზე უფრო დიდ კვადრატულ ბალიშებზე დენის რელსების დასაყენებლად. ორი გამოსავალი უკავშირდება კრისტალს. სხვათა შორის, ბროლი არის 32768Hz და მისი გაყინვა შესაძლებელია მომავალი გამოყენებისთვის. ბოლო ორი გამოსავალი დაკავშირებულია ხვეულთან. მე უფრო უსაფრთხოდ მივიჩნიე ბორტზე კვალის შეწყვეტა და ბორტზე არსებული ბალიშების მიერთება. როდესაც ვცდილობდი გამობერტყა კოჭა და მავთული პირდაპირ კოჭასთან შემეერთებინა, მე ყოველთვის ვწყვეტდი კოჭის მავთულს ან ვამტვრევდი კოჭას. ბორტზე ახალი მავთულის შედუღება ერთ -ერთი შესაძლებლობაა. მოდით ვთქვათ, რომ უფრო პრიმიტიული. უფრო კრეატიული მეთოდია კოჭის დაკავშირება კვების ბალიშებთან და ბატარეის კოლოფთან დაკავშირების რელსების შენარჩუნება. შემდეგ ელექტრონიკა შეიძლება ჩაიდოს ბატარეის ყუთში.
ნაბიჯი 8: პრაქტიკული დაშლა 6
შედუღების ხარისხის შემოწმება შესაძლებელია ოჰმეტრის გამოყენებით. Coil აქვს წინააღმდეგობა დაახლოებით 200Ω. მას შემდეგ რაც ყველაფერი რიგზეა, ჩვენ ვაგროვებთ კედლის საათს უკან. მე, როგორც წესი, ელექტროგადამცემი რელსებს ვაგდებ, შემდეგ უფრო მეტი ადგილი მაქვს ჩემი ახალი მავთულისთვის. ფოტოები გადაღებულია ელექტროგადამცემი ხაზების ჩაყრის წინ. მე მავიწყდება შემდეგი ფოტოს გადაღება, როდესაც ისინი ამოღებულია.
როდესაც დავასრულებ მოძრაობის დასრულებას, მე ვამოწმებ მას მეორე საათის ხელით. ხელი მივაწოდე მის ღერძს და დავუკავშირე ძალა (მე გამოვიყენე CR2032 მონეტის ბატარეა, მაგრამ AA 1, 5V ასევე შეიძლება გამოყენებულ იქნას). უბრალოდ დააკავშირეთ ძალა ერთ პოლარობაში მავთულხლართებთან და შემდეგ ისევ საპირისპირო პოლარობით. საათი უნდა აკრიფოს და ხელი უნდა გადაადგილდეს ერთი წამით. მას შემდეგ რაც პრობლემები შეგექმნებათ უკან დახევის დასრულების მიზნით, რადგან მავთულები უფრო მეტ ადგილს იკავებენ, უბრალოდ გადაატრიალეთ კოჭის ჭიანჭველა დადეთ საპირისპირო მხარეს. მას შემდეგ რაც არ იყენებთ ელექტროგადამცემი რელსებს, მას არ ექნება გავლენა საათის მოძრაობაზე. როგორც უკვე ითქვა, ხელების უკან დახევისას თქვენ უნდა მიუთითოთ ისინი 12:00 საათზე. მას უნდა ჰქონდეს სწორი მანძილი საათსა და წუთს შორის.
ნაბიჯი 9: კედლის საათის გამოყენების მაგალითები
უმეტესი მარტივი მაგალითი, რომელიც ორიენტირებულია დროის ჩვენებაზე, მაგრამ სხვადასხვა მოდიფიკაციით. ძალიან პოპულარულია მოდიფიკაცია ეწოდება "ვეტინარის საათი". მიუთითებს ტერი პრატჩეტის წიგნზე, სადაც ლორდ ვეტინარის აქვს მოთავსებული კედლის საათი მის მოსაცდელში, რომელიც არარეგულარულია. ეს არარეგულარულობა აწუხებს ხალხს. მეორე პოპულარული პროგრამა არის "სინუსური საათი". ეს ნიშნავს საათს, რომელიც აჩქარებს და შენელდება სინუსური მრუდის საფუძველზე, მაშინ ადამიანებს აქვთ განცდა, ისინი ტალღებზე მიცურავენ. ჩემი ერთ -ერთი საყვარელი არის "ლანჩის დრო". ეს მოდიფიკაცია ნიშნავს იმას, რომ საათი ცოტა უფრო სწრაფად დადის 11 -დან 12 საათამდე (0.8 წმ), ადრე ვისადილოთ; და ცოტა ნელა ლანჩის დროს 12 -დან 13 საათამდე (1, 2 წამი), რომ ცოტა მეტი დრო გქონდეთ ლანჩზე და დაკარგული დროის ანაზღაურება.
ამ ცვლილებების უმრავლესობისთვის საკმარისია გამოიყენოთ უმარტივესი პროცესორი, სამუშაო სიხშირის გამოყენებით 32768Hz. ეს სიხშირე ძალიან პოპულარულია საათის შემქმნელებში, რადგან ამ სიხშირით კრისტალის დამზადება ადვილია და აკრძალულია იყოს ორობითი, რომელიც იყოფა წამებამდე. ორი სიკეთე აქვს ამ სიხშირის პროცესორის გამოყენებას: ჩვენ შეგვიძლია მარტივად გადავაბრუნოთ კრისტალი საათიდან; და პროცესორებს ჩვეულებრივ აქვთ მინიმალური მოხმარება ამ სიხშირეზე. მოხმარება არის ის, რასაც ჩვენ ასე ხშირად ვხსნით კედლის საათთან თამაშისას. განსაკუთრებით იმისთვის, რომ შეძლებისდაგვარად დიდხანს შეძლოთ კვების ელემენტი ყველაზე პატარა ბატარეიდან. როგორც უკვე ითქვა, კოჭას აქვს წინააღმდეგობა 200Ω და განკუთვნილია cca 1, 5V (ერთი AA ბატარეისთვის). ყველაზე იაფი პროცესორები ჩვეულებრივ მუშაობენ ოდნავ უფრო დიდი ძაბვით, მაგრამ ორი ბატარეით (3 ვ) მუშაობს ყველა მათგანზე. ჩვენს ბაზარზე ერთ -ერთი ყველაზე იაფი პროცესორია მიკროჩიპი PIC12F629, ან ძალიან პოპულარული Arduino მოდულები. შემდეგ ჩვენ ვაჩვენებთ როგორ გამოვიყენოთ ორივე პლატფორმა.
ნაბიჯი 10: კედლის საათის გამოყენების მაგალითები PIC
პროცესორს PIC12F629 აქვს სამუშაო ძაბვა 2.0V - 5.5V. საკმარისია ორი "მინიონის ბატარეის" = AA უჯრედის (cca 3V) ან ორი AA დატენვის AA აკუმულატორის გამოყენება (cca 2, 4V). მაგრამ საათის კოჭისთვის ის ორჯერ მეტია ვიდრე შემუშავებულია. ეს იწვევს მოხმარების მინიმუმ არასასურველ ზრდას. მაშინ კარგია დაამატოთ მინიმალური სერიის რეზისტორი, რომელიც შექმნის შესაფერისი ძაბვის გამყოფს. რეზისტორის მნიშვნელობა უნდა იყოს დაახლოებით 120Ω აკუმულატორის სიმძლავრისთვის ან 200Ω ბატარეის სიმძლავრისთვის, რომელიც გამოითვლება სუფთა რეზისტენტული დატვირთვისთვის. პრაქტიკაში ღირებულება შეიძლება იყოს ოდნავ მცირე 100Ω. თეორიაში საკმარისია ერთი რეზისტორი სერიულად კოჭით. მე მაინც მაქვს მიდრეკილება, რატომღაც, რომ დავინახო ძრავა, როგორც სიმეტრიული მოწყობილობა და შემდეგ დავაყენო რეზისტორი ნახევარი წინააღმდეგობით (47Ω ან 51Ω) თითოეული ხვევის ტერმინალის გვერდით. ზოგიერთი კონსტრუქცია დასძენს დამცავ დიოდებს პროცესორის უარყოფითი ძაბვის თავიდან ასაცილებლად, როდესაც კოჭა გათიშულია. მეორე მხრივ, პროცესორის გამომავალი სიმძლავრე საკმარისია იმისათვის, რომ დააკავშიროთ კოჭა პირდაპირ პროცესორთან ყოველგვარი გამაძლიერებლის გარეშე. სრული სქემატური პროცესორი PIC12F629 გამოიყურება როგორც აღწერილია ფიგურა 15. ეს სქემა მოქმედებს საათებისთვის დამატებითი კონტროლის ელემენტების გარეშე. ჩვენ ჯერ კიდევ გვაქვს ერთი შესასვლელი/გამომავალი პინი GP0 და ერთი შესასვლელი მხოლოდ GP3.
ნაბიჯი 11: კედლის საათის გამოყენების მაგალითები Arduino
მას შემდეგ რაც გვსურს Arduino– ს გამოყენება, ჩვენ შეგვიძლია შევხედოთ მონაცემთა ფურცელს პროცესორი ATmega328. ამ პროცესორს აქვს სამუშაო ძაბვა განსაზღვრული 1.8V - 5.5V სიხშირეზე 4MHz და 2.7V - 5, 5V სიხშირეზე 10MHz. ჩვენ უნდა ვიყოთ ფრთხილად არდუინოს დაფების ერთი ნაკლოვანებით. ეს ნაკლი არის ძაბვის რეგულატორის არსებობა ბორტზე. ძაბვის რეგულატორების დიდ რაოდენობას აქვს პრობლემები საპირისპირო ძაბვასთან. ეს პრობლემა ფართოდ და საუკეთესოდ არის აღწერილი რეგულატორისთვის 7805. ჩვენი საჭიროებისთვის ჩვენ უნდა გამოვიყენოთ დაფა, რომელიც აღინიშნება როგორც 3V3 (შექმნილია 3.3V ენერგიისთვის), განსაკუთრებით იმიტომ, რომ ეს დაფა შეიცავს ბროლის 8 მჰც -ს და შეიძლება იკვებებოდეს 2, 7 ვ -დან (ეს ნიშნავს ორი AA ბატარეები). მაშინ გამოყენებული სტაბილიზატორი იქნება არა 7805, არამედ მისი 3.3V ექვივალენტი. მას შემდეგ, რაც გვსურს სტაბილიზატორის გამოყენების გარეშე დაფის ჩართვა, ჩვენ გვაქვს ორი ვარიანტი. პირველი ვარიანტია, დააკავშიროთ ძაბვა ქინძისთავებს "RAW" (ან "Vin") და +3V3 (ან Vcc) ერთად და გჯეროდეთ, რომ თქვენს დაფაზე გამოყენებულ სტაბილიზატორს არ გააჩნია ძაბვის დაცვა. მეორე ვარიანტი არის სტაბილიზატორის აღმოფხვრა. ამისათვის კარგია გამოიყენოთ Arduino Pro Mini, მითითების სქემის მიხედვით. ეს სქემატური შეიცავს ჯუმბერს SJ1 (ფიგურა 16 წითელ წრეში), რომელიც შექმნილია შიდა სტაბილიზატორის გათიშვისთვის. სამწუხაროდ კლონების უმრავლესობა არ შეიცავს ამ ჯუმბერს.
Arduino Pro Mini- ს კიდევ ერთი უპირატესობა ის არის, რომ ის არ შეიცავს დამატებით გადამყვანებს, რომლებსაც შეუძლიათ ელექტროენერგიის მოხმარება ნორმალური მუშაობის დროს (ეს არის მცირე გართულება პროგრამირების დროს). Arduino დაფები აღჭურვილია უფრო და უფრო კომფორტული პროცესორებით, რომლებსაც არ გააჩნიათ საკმარისი სიმძლავრე ერთჯერადი გამოყვანისთვის. მაშინ კარგია მინიმუმ მცირე გამომავალი გამაძლიერებლის დამატება წყვილი ტრანზისტორების გამოყენებით. ბატარეის ენერგიის ძირითადი სქემა ასე გამოიყურება, როგორც ნაჩვენებია ფიგურაში.
იმის გამო, რომ არდუინოს გარემოს ("გაყვანილობის" ენა) აქვს თანამედროვე ოპერაციული სისტემების ატრიბუტები (შემდეგ პრობლემები აქვს ზუსტ დროში), კარგია ვიფიქროთ Timer0– ის ან Timer1– ის გარე საათის წყაროს გამოყენებაზე. ეს ნიშნავს შეყვანის T0 და T1, ისინი აღინიშნება როგორც 4 (T0) და 4 (T1). კედლის საათიდან ბროლის გამოყენებით მარტივი ოსცილატორი შეიძლება იყოს დაკავშირებული ნებისმიერ ამ შეყვანასთან. ეს დამოკიდებულია იმაზე, თუ რამდენად ზუსტი საათი გსურთ აწარმოოთ. სურათი 18 გვიჩვენებს სამ ძირითად შესაძლებლობას. პირველი სქემა ძალიან ეკონომიურია გამოყენებული კომპონენტების მნიშვნელობით. ის უზრუნველყოფს უფრო ნაკლებ სამკუთხა გამომავალს, მაგრამ სრული ძაბვის დიაპაზონში, მაშინ კარგია CMOS შეყვანის ენერგიის გასააქტიურებლად. მეორე სქემატური ინვერტორების გამოყენებით, ისინი შეიძლება იყოს CMOS 4096 ან TTL 74HC04. სქემები უფრო ნაკლებად ჰგავს ერთმანეთს, ისინი ძირითად ფორმაშია. მესამე სქემატური ჩიპი CMOS 4060, რომელიც იძლევა კრისტალის პირდაპირ კავშირს (ექვივალენტი 74HC4060 იგივე სქემატური, მაგრამ განსხვავებული მნიშვნელობების გამოყენებით). ამ მიკროსქემის უპირატესობა ის არის, რომ იგი შეიცავს 14 ბიტიან გამყოფს, მაშინ შესაძლებელია გადაწყვიტოს, რა სიხშირე გამოიყენება ტაიმერის შეყვანისთვის.
ამ მიკროსქემის გამომავალი შეიძლება გამოყენებულ იქნას T0 შეყვანისთვის (pin 4 Arduino მარკირებით) და შემდეგ გამოიყენოთ Timer0 გარე შეყვანისთვის. ეს არც ისე პრაქტიკულია, რადგან Timer0 გამოიყენება ისეთი ფუნქციებისათვის, როგორიცაა დაგვიანება (), მილი () ან მიკრო (). მეორე ვარიანტია შეაერთეთ იგი T1 (PIN 5 Arduino მარკირებით) და გამოიყენეთ Timer1 დამატებითი შეყვანისთვის. შემდეგი ვარიანტი არის მისი დაკავშირება INT0 შეყვანის (პინ 2 Arduino მარკირებაში) ან INT1 (პინ 3) და ფუნქციის გამოყენება attachInterrupt () და რეგისტრაციის ფუნქცია, რომელსაც პერიოდულად უწოდებენ. აქ არის სასარგებლო გამყოფი შემოთავაზებული ჩიპებით 4060, მაშინ ზარი არ უნდა იყოს ასე ხშირად.
ნაბიჯი 12: სწრაფი საათი მოდელი Railroaders აპარატურისთვის
ინტერესისთვის წარმოგიდგენთ ერთ სასარგებლო სქემას. მე უფრო მეტი კედლის საათი უნდა დავუკავშირო საერთო კონტროლს. კედლის საათები ერთმანეთისგან შორს არის და მის თავზე უფრო დამახასიათებელია გარემოს უფრო დიდი ელექტრომაგნიტური ხმაური. შემდეგ დავუბრუნდი ავტობუსების ძველ სისტემებს კომუნიკაციისთვის უფრო დიდი ძაბვის გამოყენებით. რა თქმა უნდა, მე არ გადავწყვიტე ბატარეაზე მუშაობა, მაგრამ გამოვიყენე სტაბილიზირებული კვების წყარო 12 ვ. მე გავაძლიერე სიგნალი პროცესორიდან დრაივერის გამოყენებით TC4427 (მას აქვს კარგი ხელმისაწვდომობა და კარგი ფასი). შემდეგ მე ვატარებ სიგნალს 12V შესაძლო დატვირთვით 0.5A– მდე. მონების საათებს დავამატე მარტივი რეზისტენტული გამყოფი (ფიგურა 18 -ში აღინიშნება როგორც R101 და R102; ისევ მესმის ძრავა სიმეტრიულად, რაც არ არის საჭირო). მინდა გავზარდო ხმაურის შემცირება მეტი დენის ტარებით, შემდეგ გამოვიყენე ორი რეზისტორი 100Ω. საავტომობილო გრაგნილზე ძაბვის შეზღუდვის მიზნით, ხრახნიანი B101 დაკავშირებულია კოჭის პარალელურად. ხიდს აქვს მოკლე მხარე DC, შემდეგ ის წარმოადგენს ორ წყვილს ანტიპარალელურ დიოდებს. ორი დიოდი ნიშნავს ძაბვის ვარდნას დაახლოებით 1.4 ვ, რაც ძალიან ახლოსაა ძრავის ნორმალურ სამუშაო ძაბვასთან. ჩვენ გვჭირდება ანტიპარალელური, რადგან ძაბვა იცვლება ერთ და საპირისპირო პოლარობაში. მთლიანი დენი, რომელსაც იყენებს ერთი მონა კედლის საათი, არის (12V - 1.5V) / (100Ω + 100Ω) = 53mA. ეს არის მისაღები მნიშვნელობა ხმაურის თავიდან ასაცილებლად.
აქ არის ორი ჩართვა სქემატურზე, ისინი განკუთვნილია კედლის საათის დამატებითი ფუნქციების გასაკონტროლებლად (სიჩქარის მულტიპლიკატორი მოდელის რკინიგზელების შემთხვევაში). ქალიშვილის საათს აქვს კიდევ ერთი საინტერესო თვისება. ისინი დაკავშირებულია ორი 4 მმ ბანანის კონექტორის გამოყენებით. მათ კედელზე უჭირავთ კედლის საათი. ეს განსაკუთრებით სასარგებლოა მას შემდეგ, რაც გსურთ განსაზღვროთ კონკრეტული დრო გამოყენების დაწყებამდე, შეგიძლიათ უბრალოდ გათიშოთ ისინი და შემდეგ ისევ ჩართოთ (ხის ბლოკი კედელზეა დამაგრებული). თუ გსურთ შექმნათ "ბიგ ბენი", გჭირდებათ ხის ყუთი ოთხი წყვილი სოკეტით. ეს ყუთი შეიძლება გამოყენებულ იქნას როგორც საცავი საათებისთვის, როდესაც ისინი არ გამოიყენება.
ნაბიჯი 13: პროგრამული უზრუნველყოფა
პროგრამული თვალსაზრისით, სიტუაცია შედარებით მარტივია. მოდით აღვწეროთ რეალიზაცია ჩიპზე PIC12F629 ბროლის გამოყენებით 32768Hz (გადამუშავებულია ორიგინალური საათიდან). პროცესორს აქვს ერთი ინსტრუქციის ციკლი ოთხი ოსცილატორის ციკლი. მას შემდეგ, რაც ჩვენ ვიყენებთ შიდა საათის წყაროს ნებისმიერი ტაიმერისთვის, ეს ნიშნავს ინსტრუქციის ციკლს (ე.წ. fosc/4). ჩვენ გვაქვს მაგალითად Timer0. ტაიმერის შეყვანის სიხშირე იქნება 32768 /4 = 8192Hz. ტაიმერი არის რვა ბიტიანი (256 ნაბიჯი) და ჩვენ ვიცავთ მას გადავსების გარეშე ბარიერების გარეშე. ჩვენ ყურადღებას გავამახვილებთ მხოლოდ ტაიმერის გადავსების მოვლენაზე. მოვლენა მოხდება 8192 /256 = 32Hz სიხშირით. მაშინ, როდესაც ჩვენ გვსურს პულსი გქონდეს ერთი წამის განმავლობაში, ჩვენ უნდა შევქმნათ პულსი ტაიმერის 0 - დან ყოველ 32 გასვლაზე. ჩვენ გვსურს, რომ საათი იყოს ოთხჯერ უფრო სწრაფი, შემდეგ ჩვენ გვჭირდება 32/4 = 8 გადავსება პულსისთვის. იმ შემთხვევებში, როდესაც ჩვენ დაინტერესებულნი ვართ საათის არარეგულარული, მაგრამ ზუსტი დიზაინით, ჩვენ უნდა გვქონდეს გადავსების ჯამი რამდენიმე იმპულსისთვის, იგივეა რაც 32 პულსის რაოდენობა. ჩვენ შეგვიძლია მივიღოთ არარეგულარული საათების მატრიცაში ასე: [20, 40, 30, 38]. მაშინ ჯამი არის 128, იგივე 32 × 4. მაგალითად, სინუსური საათისათვის [37, 42, 47, 51, 55, 58, 60, 61, 62, 61, 60, 58, 55, 51, 47, 42, 37, 32, 27, 22, 17, 13, 9, 6, 4, 3, 2, 3, 4, 6, 9, 13, 17, 22, 27, 32] = 1152 = 36*32). ჩვენი საათისათვის ჩვენ გამოვიყენებთ ორ უფასო შეყვანს, როგორც გამყოფის განმარტებას სწრაფი გაშვებისთვის. სიჩქარეზე გამყოფი ცხრილი dith ინახება EEPROM მეხსიერებაში. პროგრამის ძირითადი ნაწილი შეიძლება ასე გამოიყურებოდეს:
MainLoop:
btfss INTCON, T0IF goto MainLoop; დაელოდეთ Timer0 bcf INTCON, T0IF incf CLKCNT, f btfss SW_STOP; თუ STOP გადამრთველი აქტიურია, clrf CLKCNT; ყოველ ჯერზე გაწმინდე მრიცხველი btfsc SW_FAST; თუ სწრაფი ღილაკი არ არის დაჭერილი goto NormalTime; გამოთვალეთ მხოლოდ ნორმალური დროის მოძრავი FCLK, w xorwf CLKCNT, w btfsc STATUS, Z; თუ FCLK და CLKCNT ერთნაირია SendPulse NormalTime: movf CLKCNT, w andlw 0xE0; ბიტი 7, 6, 5 btfsc STATUS, Z; თუ CLKCNT> = 32 გადავიდა MainLoop– ში, გადადით SendPulse– ზე
პროგრამა SendPulse ფუნქციის გამოყენებით, ეს ფუნქცია ქმნის საავტომობილო პულსს. ფუნქცია ითვლის კენტი/ლუწი პულსი და ამის საფუძველზე ქმნის პულსს ერთ ან მეორე გამომავალზე. ფუნქცია მუდმივი ENERGISE_TIME- ის გამოყენებით. რომ მუდმივი განსაზღვროს დროს, როდესაც ძრავა coil ენერგია. ამრიგად, მას აქვს დიდი გავლენა მოხმარებაზე. მას შემდეგ, რაც ის იმდენად პატარაა, ძრავას არ შეუძლია ნაბიჯის დასრულება და ზოგჯერ ეს ხდება, რომ მეორე იკარგება (ჩვეულებრივ, როდესაც მეორადი ხელი მიდის მე -9 ნომერზე, როდესაც ის „მაღლა“მიდის).
SendPulse:
incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: bsf OUT_A goto SendPulseE SendPulseB: bsf OUT_B; goto SendPulseE SendPulseE: movlw 0x50 movwf ECNopoPoCoPoPOFP ECPT ECP
სრული კოდის ჩამოტვირთვა შესაძლებელია www.fucik.name გვერდის ბოლოს. Arduino– ს მდგომარეობა ცოტა გართულებულია, რადგან Arduino იყენებს უმაღლესი პროგრამირების ენას და იყენებს საკუთარ კრისტალურ 8MHz– ს, ჩვენ ფრთხილად უნდა ვიყოთ რა ფუნქციებს ვიყენებთ. კლასიკური შეფერხების () გამოყენება ნაკლებად სარისკოა (ის გამოითვლის დროს ფუნქციის დაწყებიდან). უკეთესი შედეგები ექნება ბიბლიოთეკების გამოყენებას, როგორიცაა Timer1. Arduino– ს ბევრი პროექტი ითვალისწინებს გარე RTC მოწყობილობებს, როგორიცაა PCF8563, DS1302 და ა.
ნაბიჯი 14: ცნობისმოყვარეობა
კედლის საათის ძრავის გამოყენების ეს სისტემა გასაგებია, როგორც ძალიან ძირითადი. არსებობს ბევრი გაუმჯობესება. მაგალითად, დაფუძნებულია უკან EMF (ელექტრული ენერგია, რომელიც წარმოიქმნება როტორ მაგნიტის მოძრაობით). შემდეგ ელექტრონულს შეუძლია ამოიცნოს, როდესაც ხელები მოძრაობს და თუ არა, მაშინ სწრაფად გაიმეორეთ პულსი ან განაახლეთ მნიშვნელობა "ENERGISE_TIME". უფრო სასარგებლო ცნობისმოყვარეობა არის "საპირისპირო ნაბიჯი". აღწერილობიდან გამომდინარე, ის გამოიყურება, რომ ეს ძრავა განკუთვნილია ბრუნვის მხოლოდ ერთი მიმართულებით და მისი შეცვლა შეუძლებელია. მაგრამ როგორც თანდართულ ვიდეოებზეა ნაჩვენები, მიმართულების შეცვლა შესაძლებელია. პრინციპი მარტივია. დავუბრუნდეთ ძრავის პრინციპს. წარმოიდგინეთ, რომ ძრავა მეორე საფეხურის სტაბილურ მდგომარეობაშია (სურათი 3). მას შემდეგ რაც ჩვენ დავაკავშირებთ ძაბვას, როგორც ეს მოცემულია პირველ საფეხურზე (სურათი 2), ძრავა ლოგიკურად დაიწყებს ბრუნვას საპირისპირო მიმართულებით. მას შემდეგ, რაც პულსი იქნება საკმარისად მოკლე და დასრულდება ოდნავ სანამ ძრავა სტაბილურ მდგომარეობას მიაღწევს, ის ლოგიკურად ოდნავ ციმციმებს. ამ ციმციმის დრო მოვა მომდევნო ძაბვის პულსი, როგორც აღწერილია მესამე მდგომარეობაში (სურათი 4), შემდეგ ძრავა გააგრძელებს მიმართულებას, როგორც დაიწყო, ეს ნიშნავს უკუ მიმართულებით. პატარა პრობლემაა, როგორ განვსაზღვროთ პირველი პულსის ხანგრძლივობა და ერთხელ შევქმნათ მანძილი პირველ და მეორე პულსს შორის. და ყველაზე უარესი ის არის, რომ ეს მუდმივები იცვლება საათის თითოეული მოძრაობისთვის და ზოგჯერ იცვლება შემთხვევებისთვის, რომ ხელები "ქვევით" (დაახლოებით 3 ნომერი) ან ზემოთ (დაახლოებით 9 ნომერი) და ასევე ნეიტრალურ პოზიციებში (დაახლოებით 12 და 6 ნომრები) რა ვიდეოზე წარმოდგენილი შემთხვევისთვის გამოვიყენე მნიშვნელობები და ალგორითმი, როგორც ეს მოცემულია შემდეგ კოდში:
#განსაზღვრეთ OUT_A_SET 0x02; config for out out set b ნათლად
#განსაზღვრეთ OUT_B_SET 0x04; config for out b განსაზღვრეთ მკაფიო #განსაზღვრა ENERGISE_TIME 0x30 #განსაზღვრეთ REVERT_TIME 0x06 SendPulse: incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: movlw REVERT_TIME movwf; დაწყება პულსი B movwf GPIO RevPulseLoopA: მოკლე დრო დაველოდოთ decfsz ECNT, f goto RevPulseLoopA movlw OUT_A_SET; შემდეგ პულსი A movwf GPIO goto SendPulseE SendPulseB: movlw REVERT_TIME movwf ECNT movlw OUT_A_SET; დაწყება პულსი A movwf GPIO RevPulseLoopB: მოკლე დრო დაველოდოთ decfsz ECNT, f goto RevPulseLoopB movlw OUT_B_SET; შემდეგ პულსი B movwf GPIO; goto SendPulseE SendPulseE: movlw ENERGISE_TIME movwf ECNT SendPulseLoop: decfsz ECNT, f goto SendPulseLoop bcf OUT_A bcf OUT_B goto MainLoop
საპირისპირო ნაბიჯების გამოყენება გაზრდის კედლის საათთან თამაშის შესაძლებლობას. ჩვენ შეგვიძლია ვიპოვოთ ზოგჯერ კედლის საათი, რომელსაც მეორეხარისხოვანი მოძრაობა აქვს. ჩვენ არ გვეშინია იმ საათების შესახებ, ისინი იყენებენ მარტივ ხრიკს. ძრავა იგივეა რაც აქ აღწერილი ძრავა, მხოლოდ გადაცემათა კოლოფი უფრო დიდია (ჩვეულებრივ 8: 1 მეტი) და ძრავა უფრო სწრაფად ტრიალებს (ჩვეულებრივ 8 ჯერ უფრო სწრაფად) რაც ახდენს გლუვი მოძრაობის ეფექტს. მას შემდეგ რაც გადაწყვეტთ კედლის საათის შეცვლას, არ დაგავიწყდეთ გამოთვლა მოთხოვნილი მულტიპლიკატორი.
გირჩევთ:
უისლის' მდებარეობის საათი 4 ხელით: 11 ნაბიჯი (სურათებით)
"უისლის" მდებარეობის საათი 4 ხელით: ასე რომ, ჟოლოს პი -ით, რომელიც ცოტა ხანს ტრიალებდა, მინდოდა ვიპოვო ლამაზი პროექტი, რომელიც საშუალებას მომცემდა მაქსიმალურად გამომეყენებინა იგი. მე წავაწყდი ამ უზარმაზარ ინსტრუქციულ ასაშენებელ უისლის მდებარეობის საათს ppeters0502– ის მიერ და ვიფიქრე რომ
სიმონ თამაში - სახალისო თამაში!: 5 ნაბიჯი
სიმონ თამაში - სახალისო თამაში!: ცნობა: აქ გრძელი შაბათ -კვირის შემდეგ, თქვენ ნამდვილად უნდა შეეცადოთ დაასრულოთ ყველა ის ამოცანა და სამუშაო, რომელზედაც თქვენ ხართ პასუხისმგებელი. დროა ჩვენც მოვამზადოთ ტვინი, არა? გარდა იმ მოსაწყენი და უაზრო თამაშებისა, არის თამაში სახელწოდებით Simon Game
Aruduino LED თამაში სწრაფი დაწკაპუნებით ორი მოთამაშის თამაში: 8 ნაბიჯი
Aruduino LED თამაში სწრაფი დაწკაპუნებით ორი მოთამაშის თამაში: ეს პროექტი შთაგონებულია @HasonAlkeim– ით. თუ თქვენ მზად ხართ ღრმად შეხედოთ აქ არის ბმული, რომლის ნახვა შეგიძლიათ https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. ეს თამაში არის Alkeim's– ის გაუმჯობესებული ვერსია. Ეს არის
სტაბილური ხელით თამაში: 6 ნაბიჯი
სტაბილური თამაში: ამ პროექტში მე გაჩვენებთ როგორ ავაშენოთ სტაბილური თამაში. ის იყენებს ძალიან მარტივ წრეს და დამზადებულია მყარი ბირთვიანი მავთულისგან, რომლის დახრაც შეგიძლიათ ნებისმიერ ფორმაში, რომელიც მოგწონთ
სამეურვეო თამაში სეგა სატურნის თამაში კომპიუტერზე: 6 ნაბიჯი
სამეურვეო თამაში Sega Saturn თამაში კომპიუტერზე: მე ვარ Sega Saturn კონსოლის დიდი ფანი და ბევრი თამაშის სათაურების კოლექცია. მე ფლობდი იაპონიის შავ და თეთრ მოდელს. და ორივე მწყობრიდან გამოდის. ასე რომ, მე მოუთმენლად ველოდები ინტერნეტში Sega Saturn- ის ემულატორს და შევხვდები GigiGigi Saturn- ს