მცველი წვრილმანი მაინინგისთვის. Watchdog timer ან "Watchdog" მიკროპროცესორული ტექნოლოგიისთვის. პრობლემის გადაჭრის გზები

დღეს მინდა წარმოგიდგინოთ ინსტალაციის ინსტრუქციები ოფიციალური firmwareტაბლეტზე ამაზონი Kindle Fire თან USB-ის საშუალებითკაბელი. რატომ არის ეს საჭირო? – გეკითხებით. ყოველივე ამის შემდეგ, ტაბლეტი იღებს განახლებებს "ჰაერზე" Wi-Fi-ის საშუალებით და არ არის საჭირო მისი გამორთვა ამ არც თუ ისე მოსახერხებელი გზით.

გამოდის, რომ ყველაფერი ასე მარტივი არ არის. IN ბოლო დროსქსელში მფლობელების მრავალი შეტყობინება გამოჩნდა ამაზონის ტაბლეტი Kindle Fire, Wi-Fi მოდულის პრობლემების შესახებ. და ზოგიერთმა მათგანმა მოახერხა პრობლემის გადაჭრა ტაბლეტის უახლესი, უახლესი ვერსიით ციმციმებით პროგრამული უზრუნველყოფა. როგორ ჩართოთ ტაბლეტი, თუ ის არ მუშაობს? Wi-Fi მოდული? ამის შესახებ მოგიყვებით შემდეგ ინსტრუქციებში.

ინსტრუქციები Amazon Kindle Fire firmware USB კაბელის საშუალებით ციმციმის შესახებ.

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

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

ყურადღება!სანამ ჩართოთ firmware, სრულად დატენეთ თქვენი ბატარეა Kindle Fire.

ახლა, როდესაც ჩვენ გვაქვს ყველაფერი, რაც გვჭირდება, დავიწყოთ ტაბლეტის პროგრამული უზრუნველყოფის ციმციმები:

1. შეამოწმეთ პროგრამული უზრუნველყოფის ვერსია, რომელიც ხელმისაწვდომია ტაბლეტზე:დააწკაპუნეთ " სწრაფი პარამეტრები» -> « მეტი» -> « მოწყობილობა" აქ ნახავთ თქვენი პროგრამული უზრუნველყოფის ვერსიის ნომერს, მაგალითად: მიმდინარე ვერსია: 6.2_xxxxx_xxxxxxxx. თუ ტაბლეტის პროგრამული უზრუნველყოფის ვერსია უფრო დაბალია ვიდრე თქვენ გადმოწერილი პროგრამული უზრუნველყოფის ვერსია, შეგიძლიათ განაახლოთ ტაბლეტი ახალი პროგრამული უზრუნველყოფის გამოყენებით.

2. დააკოპირეთ firmware ტაბლეტზე:ჩართეთ ტაბლეტი და განბლოკეთ მისი ეკრანი. შეაერთეთ თქვენი ტაბლეტი თქვენს კომპიუტერთან მეშვეობით USB კაბელი. გადაიტანეთ პროგრამული უზრუნველყოფის ფაილი თქვენი კომპიუტერიდან თქვენი ტაბლეტის kindleupdates საქაღალდეში და დაელოდეთ სანამ ის სრულად დაკოპირდება.

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

4. დაიწყეთ ტაბლეტის პროგრამული უზრუნველყოფის განახლება:დააწკაპუნეთ " სწრაფი პარამეტრები» -> « მეტი» -> « მოწყობილობა» -> « განაახლეთ თქვენი Kindle" (ეს პარამეტრი არ იქნება ხელმისაწვდომი, თუ firmware ფაილი სრულად არ არის დაკოპირებული ტაბლეტზე ან თქვენ უკვე გაქვთ ყველაზე დაინსტალირებული უახლესი ვერსია firmware). დაიწყება ახალი პროგრამული უზრუნველყოფის ინსტალაცია.

პლანშეტი ორჯერ უნდა გადაიტვირთოს პროგრამული უზრუნველყოფის პროცესის დროს. პირველი გადატვირთვის შემდეგ ტაბლეტის ეკრანზე დაინახავთ Kindle Fire-ის ლოგოს, ხოლო firmware-ის დასრულების შემდეგ შეტყობინებას " მიმდინარე ვერსია: X.X", სადაც X.X არის პროგრამული უზრუნველყოფის ვერსიის ნომერი, რომელიც ახლახან დააინსტალირეთ თქვენს ტაბლეტზე.

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

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

აქ არის მთელი დიაგრამა:

მოწყობილობა ფუნქციონირებს შემდეგნაირად: კომპიუტერზე იხსნება სკრიპტი, რომელიც პერიოდულად აგზავნის მონაცემებს კომპიუტერის პორტში. Arduino უერთდება USB-ს და უსმენს ამ პორტს. თუ მონაცემები არ არის 30 წამის განმავლობაში, Arduino ხსნის ტრანზისტორს, რომელიც აკავშირებს Reset-ს მიწასთან, რითაც ახდენს გადატვირთვის ღილაკის დაჭერის სიმულაციას.
გადატვირთვის შემდეგ, Arduino ჩერდება 2 წუთის განმავლობაში, ელოდება ყველა პროგრამის ჩატვირთვას და შემდეგ კვლავ იწყებს პორტის მოსმენას.

სკრიპტი და მაინერები უნდა დაემატოს გაშვებას და BIOS უნდა იყოს დაყენებული ავტომატური ჩართვაკომპიუტერი.

მოწყობილობის დამზადება მოითხოვს მინიმალურ უნარებს შედუღებასთან მუშაობისა და Arduino-ს დაპროგრამებაში.

თქვენ ასევე შეგიძლიათ გამოიყენოთ ნებისმიერი N არხის ტრანზისტორიმსგავსი მახასიათებლებით. მაგრამ დარწმუნდით, რომ pinout ემთხვევა. მაგალითად, მე გამოვიყენე 9013, არის ინვერსიული კავშირი

ვიყიდე კომპონენტები ასამბლეისთვის Aliexpress-ზე:

სადენები პურის დაფის ასაწყობად http://ali.pub/22k78b

Arduino UNO (ზუსტად ჯდება) http://ali.pub/22k7dd

Arduino uno კაბელით http://ali.pub/22k7go

არდუინოს ესკიზი

int LedPin = 13;
int ResetPin = 12;
int val = 0;
int count = 0;
void setup()
{
Serial.begin(9600);
pinMode (LedPin, OUTPUT);

//პაუზა დასაწყებად 2 წუთი
დაგვიანებით (120000);
}

void loop ()
{
დათვლა ++ ;

if (Serial.available() > 0)
{
val = Serial.read();
თუ (val == 'H')
{
digitalWrite(LedPin,LOW);
digitalWrite(ResetPin,LOW);
რაოდენობა = 0;
}
სხვა
(თვლა++;
}
}

დაგვიანებით (1000);

თუ (თვლა > 10)
{
digitalWrite (LedPin,HIGH);
digitalWrite(ResetPin,HIGH);
}
}

სკრიპტი, რომელიც აგზავნის მონაცემებს პორტში:

(Get-Date).ToString('dd.MM.yyyy HH:mm') | Out-File c:UsersminerDesktopreboot.txt -append

ხოლო ($TRUE)(
დაწყება-ძილი -s 3
$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$port.open()
$port.WriteLine ("H")
$port.Close()
}

გაშვებისთანავე, სკრიპტი იწერება ფაილში reboot.txt მიმდინარე თარიღიდა დრო. ამ ფაილიდან შეგიძლიათ განსაჯოთ გადატვირთვის რაოდენობა და დრო. ფაილის ბილიკი და პორტის ნომერი უნდა იყოს რედაქტირებული თქვენი სისტემის მონაცემების მიხედვით. კოდი წერია ჩვეულებრივი რვეულიდა ინახება *ps1 გაფართოებით.

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

გაუშვით PowerShell.exe -ExecutionPolicy ByPass -ფაილი "c:path to your fileyourfile.ps1"

ფაილს ვინახავთ *.bat გაფართოებით და ვდებთ ავტოჩატვირთვაში.

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

გამოიწერეთ ბიტნოვოსტი ტელეგრამზე!

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

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

პირველ რიგში, დავწერ მოკლე აბზაცს "ახალბედებისთვის", რათა გასაგები იყოს, რაზეც კი ვსაუბრობ აქ. შემდეგ იქნება აბზაცი უფრო მომზადებულთათვის, ვინც ამ შორს წაიკითხავს, ​​მაინც არ მოისურვებს მიმოხილვის ჩანართის დახურვას :)
თავად მცველი ტაიმერი არის პატარა და საკმაოდ მარტივი წრე. სანამ ის პერიოდულად იღებს სიგნალებს კონტროლირებადი მოწყობილობიდან ("დიახ, დიახ", "ყველაფერი კარგადაა", "აქ ვარ", "მე ვმუშაობ"), ძაღლი მშვიდად იქცევა და არანაირად არ ერევა. . როგორც კი სიგნალები შეწყვეტენ, ძაღლი ელოდება გამოყოფილი დრო(ჩვეულებრივ რამდენიმე წამში) და თუ სიგნალები არ მოდის, თვლის, რომ მოწყობილობა გაყინულია და უგზავნის გადატვირთვის სიგნალს, გადატვირთავს მას. ცხადია, ასეთი მოდულით აღჭურვილი გარკვეული პირობითი სისტემა უფრო სტაბილური იქნება მსგავს სისტემასთან შედარებით დარაჯის გარეშე: არავინ არ არის დაცული ყინვებისგან, მაგრამ პირველი თავად გამოვა ამ ყინვებიდან, მეორე კი დაელოდება და უმოქმედოდ დარჩით ადამიანის ჩარევამდე.
მცველ ძაღლს საერთოდ არ აინტერესებს, სისტემის რა ზომას და მნიშვნელობას აკონტროლებს. ეს შეიძლება იყოს რვაფეხა მიკროკონტროლერის ჩიპი, "ჟოლო" ან "ფორთოხალი", როუტერი ან სახლი. დესკტოპ კომპიუტერიდა დიდი, დახვეწილი სერვერი. მას უბრალოდ სჭირდება სიგნალების მიღება სისტემის აქტივობის შესახებ და, შესაბამისად, სისტემა რეაგირებს მის "გადატვირთვის" იმპულსზე.
აბზაცის დასასრული.
რატომ არის გარე მცველი, თუ რომელიმე თანამედროვე მიკროკონტროლერს აქვს ჩაშენებული? ორი ძირითადი მიზეზის გამო. ჯერ ერთი, არის ყინვები, რომელთა მიკვლევაც შეუძლებელია ერთი კრისტალის შიგნიდან: ტაიმერი წყვეტს პირდაპირ ეთერში, მცველი რეგულარულად გადაიტვირთება და პროგრამა, მაგალითად, მუშაობს გაუთავებელი მარყუჟი. ან ის ელოდება იმპულსს რომელიმე ფეხზე, რომელიც ვერ გაივლის რაიმე სახის შემთხვევის გამო. არც ისე ბევრი... გარე ტექნიკის დარაჯი არანაირად არ არის დაკავშირებული შიგნით მიმდინარე პროცესებთან: სანამ მას აქვს ძალა, ის ინარჩუნებს თვალს.
მეორეც, Arduino... უნდა ვაღიაროთ, რომ საზოგადოების მიერ Arduino-ს გამოყენებით განხორციელებული DIY მიკროკონტროლერების პროექტების წილი მნიშვნელოვან ნიშას იკავებს. და Arduino-ს მიმდევრები, სამწუხაროდ, ვერ ისარგებლებენ Atmega-ში ჩაშენებული მცველის ტაიმერის სიამოვნებით. პრობლემა . მოკლედ: watchdog მუშაობს სწორად მხოლოდ ზოგიერთ Unos-ზე, დანარჩენი Arduinos მთლიანად იჭედება მაკონტროლებელი ტაიმერის გამოყენებისას. ერთადერთი გამოსავალი არის ჩამტვირთველის ჩატვირთვა გარე პროგრამისტით. და ასეთი "ოპერაცია" რა თქმა უნდა აშინებს დამწყებთათვის. და ყველას არ აქვს ხელთ მეორე არდუინო, რომ გადააკეთოს იგი პროგრამისტად პირველის გასაცოცხლებლად, რომელიც ჩაშენებული მცველის გამოყენების გამო მკვდარ ციკლში შევიდა. ახალბედის ყველა ეს მანიპულაცია, სავარაუდოდ, უბრალოდ შეაშინებს მას.
გარე დამკვირვებელი საშუალებას გაძლევთ გამოიყენოთ arduino თქვენს პროექტებში, სრულადმიიღეთ სტაბილური სისტემების ყველა სარგებელი შიდა დამკვირვებლის ტაიმერის პრობლემების შეწუხების გარეშე.

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

ზომით შედარებულია Arduino Proმინი:

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

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

მოკლედ და მოკლედ ჩიპის ქინძისთავების დანიშნულების შესახებ

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

გადატვირთვის პულსი იქმნება RST და /RST ქინძისთავებზე. განსხვავება RST და /RST ქინძისთავებს შორის არის მხოლოდ გადატვირთვის პულსის პოლარობა. სიგნალი RST პინიდან უნდა იქნას მიღებული თუ კონტროლირებადი მოწყობილობაგადაიტვირთება როგორც ლოგიკური, ნორმალური ნულით გადატვირთვის ხაზზე. /RST სიგნალი, პირიქით, განკუთვნილია მოწყობილობებისთვის, რომლებიც გადატვირთულია დაბალი დონეგადატვირთვის ხაზზე. თანამედროვე მიკროკონტროლერების უმეტესობა (მათ შორის Atmel მიკროკონტროლერები, რომლებზედაც აგებულია Arduino) გადაიტვირთება ნულოვანი იმპულსებით, ე.ი. მათთვის შესაბამისი სიგნალია /RST.

TOL პინი ირჩევს მისაღებია თუ არა მიწოდების ძაბვის პირობები.
- როდესაც TOL დაჭერილია მიწაზე, ძაბვის გადახრის ხუთ პროცენტიანი დერეფანი მისაღებია. იმათ. გადატვირთვის სიგნალი მოვა, როდესაც ძაბვა დაეცემა 4.75 ვ-მდე.
- როდესაც TOL უკავშირდება მიწოდების ხაზს, მიწოდების ძაბვის დერეფანი ფართოვდება 10% -მდე. იმათ. მოწყობილობა გადაიტვირთება, როდესაც მიწოდების ძაბვა დაეცემა 4.5 ვ-მდე.

TD პინი ირჩევს კონტროლის მაქსიმალურ დროს, რის შემდეგაც დამკვირვებელი ტაიმერი ამოქმედდება:
- როდესაც TD დაჭერილია მიწაზე, ტაიმაუტი არის 150 ms (მაგალითიდან მაგალითზე ნორმა იქნება 62.5ms - 250ms);
- როდესაც TD ჰაერშია ჩამოკიდებული, დრო არის 600 ms (მაგალითიდან მაგალითად 250 ms - 1000 ms);
- როდესაც TD მიერთებულია დენის წყაროსთან, ვადა არის 1200 ms (მაგალითიდან მაგალითზე 500 ms - 2000 ms). ეს მიკროსქემა არ უზრუნველყოფს ჩამკეტის სიჩქარეს ორ წამზე მეტ ხანს, თუნდაც თეორიულად.


გამყიდველმა გამოაქვეყნა მოდულის დიაგრამა და მისი გაყვანილობა:


როგორც დიაგრამიდან ვხედავთ, ჩიპის ხაზები ST, RST და /RST გამომავალია როგორც იგივე სახელი და მოდულის ქინძისთავები.
მწარმოებელმა მოგვაწოდა ჩიპის ყველაზე ლოიალური და კომფორტული ჩართვა: მიწოდების ძაბვის ყველაზე ფართო დიაპაზონი (4.5-დან 5V-მდე) და მაქსიმალური შესაძლო დამკვირვებლის დრო (1.2 წამი).

ახლა ცხადი ხდება მოდულის ჩვენს პირობით Arduino-სთან დაკავშირების დიაგრამა:
- მოდულზე Vcc და Gnd ხაზები დაკავშირებულია იმავე სახელწოდების ორ ხაზთან arduino-ზე;
- მოდულის /RST ხაზი დაკავშირებულია Arduino-ს RST პინთან
- ST ხაზი უკავშირდება ნებისმიერ თავისუფალ პინს, სასურველია აპარატურის PWM გარეშე, - მაგალითად, ჩემთვის ეს არის პინი 2.

მოდით დავხატოთ მარტივი ესკიზი მოდულის შესამოწმებლად. მე (მხოლოდ სიცხადისთვის) პროგრამულად ვაციმებ ჩაშენებულ LED-ს ინიციალიზაციის დროს. არ იყო საჭირო ამის გაკეთება; მაგრამ ამ გზით ეს უფრო ნათელი და გასაგებია დამწყებთათვის.
void setup() ( pinMode(13, OUTPUT); // გამოიყენეთ შიდა LED pinMode(2, OUTPUT); // ამ პინიდან Watchdog მიიღებს სიგნალებს digitalWrite(13, HIGH); delay(50); // მოკლედ აციმციმებ LED-ს ყოველი გადატვირთვისას DigitalWrite(13, LOW ) void loop() ( digitalWrite(2, HIGH); delay(2); // ფორმირება მოკლე კიდეზე digitalWrite(2, LOW); delay(1150); / / ყველაზე გრძელი ქრონომეტრაჟი ) 1150 მილიწამის დაყოვნების მნიშვნელობით (ჩემს კონკრეტულ შემთხვევაში) ან ნაკლები, ჩვენი არდუინო მშვიდად ტრიალებს სამუშაო ციკლში, არაფერი ერევა მასში. LED, რომელიც თავიდან ციმციმებს, არ ანათებს - არ არის გადატვირთვა. როგორც კი ამ შეფერხებას გავზრდით მინიმუმ 1200 მილიწამამდე (ან შევიტანთ მნიშვნელოვან შეფერხებას Setup პროცედურაში), დავინახავთ, რომ LED დაიწყებს ციმციმებს ციკლურად: დრო ხდება კრიტიკული ძაღლისთვის და ის გადატვირთავს არდუინოს.
სამუშაო ესკიზის რეალურ პირობებში, საკმარისია დაამატოთ ხაზი digitalWrite(2,HIGH); დაგვიანებით(1); digitalWrite(2,LOW);
მთავარი მარყუჟის ბოლოში, ისე, რომ მე-2 პინთან დაკავშირებულმა დამცავი მოდული მშვიდად იგრძნოს.

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

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

3. აქვს თუ არა რაიმე მინუსი ამ დარაჯს? გარე დამკვირვებლის ტაიმერის მთავარი მინუსი არის ზოგადი შემთხვევა, არის საჭიროება გამოყოთ ერთი პინი თქვენს მოწყობილობაზე მისი მუშაობისთვის. მიუხედავად იმისა, რომ პრაქტიკაში, ამის თავიდან აცილება ძალიან ხშირად შეიძლება: თუ თქვენი მიკროკონტროლერი მუდმივად წერს ან ხატავს რაღაცას ეკრანზე, მუდმივად აგზავნის რაღაცას პორტებში, წარმოქმნის რაიმე სახის საკონტროლო იმპულსებს. გარე მოწყობილობები- დააკავშირეთ მცველი ძაღლი ამ ხაზებთან - ის აბსოლუტურად გულგრილია იმპულსების სიხშირისა და სამუშაო ციკლის მიმართ, რამდენადაც მას აქვს მუდმივი მოძრაობა.
ამ კონკრეტული ტაიმერის განხორციელების მთავარი მინუსი არის ალბათ საკმაოდ მოკლე კონტროლის დრო. არის შემთხვევები, როცა გსურს გქონდეს რეზერვი მინიმუმ 3-5 წამის განმავლობაში.

4. უნდა ვიყიდო ეს კონკრეტული მცველი? ისე, ყველა გადაწყვეტს თავისთვის. მცველი ძაღლის ყიდვა ნამდვილად შეგიძლიათ 3 დოლარზე ნაკლებ ფასად. ვინმესთვის უფრო ადვილია იყიდოს მხოლოდ ზემოთ განხილული ჩიპი და გამოიყენოს LUT ასეთი მოდულის შესაქმნელად. ზოგიერთისთვის უფრო ადვილია ლეგენდარულის აღება და ფხვიერი მცველის შექმნა: დადებითი - იაფი და ხელმისაწვდომი, მინუსები - მეტი აურზაური და შრომატევადი ელექტროლიტური კონდენსატორები, რაც ნიშნავს, რომ წლების განმავლობაში ყველა პარამეტრი გარანტირებულია ცურვისთვის. ვინმესთვის უფრო ადვილია ნახევარგამტარების გამოყენებით ტაიმერით ერთჯერადი გადაღება. აქ ყველა თავისთვის წყვეტს.
აი, ძალიან გონივრულ ფულზე ვიღებთ სრულიად მზა და სამუშაო მოწყობილობასტანდარტიზებული პარამეტრებით.
ასე რომ, ყველა შეაფასებს შეძენის გონივრულობას საკუთარ თავზე.

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

არავის არაფერი უზრუნველჰყო და არ დაუფინანსა ყველაფერი ჩვენი ფულით.

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

+92-ის ყიდვას ვაპირებ დაამატეთ რჩეულებში მიმოხილვა მომეწონა +86 +164

რა არის Watchdog ან Watchdog ტაიმერი?

მცველი ტაიმერი (მცველი ტაიმერი, ინგლისურიმცველი ტაიმერი- აანთო. "Watchdog") - ტექნიკის მიერ განხორციელებული საკონტროლო წრეგაყინვასისტემები. წარმოადგენსტაიმერი, რომელიც პერიოდულად გადატვირთულია კონტროლირებადი სისტემის მიერ. თუ გადატვირთვა არ მოხდა გარკვეული პერიოდის განმავლობაში, ხდება იძულებითი გადატვირთვა.სისტემები. ზოგიერთ შემთხვევაში, დამკვირვებლის ქრონომეტრს შეუძლია სისტემის გადატვირთვის სიგნალი ("რბილი" გადატვირთვა), ზოგიერთში კი გადატვირთვა ხორციელდება აპარატურაში (RST სიგნალის მავთულის დამოკლებით ან მსგავსი).

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

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




აქ არის მთელი დიაგრამა:

მოწყობილობა ფუნქციონირებს შემდეგნაირად: კომპიუტერზე იხსნება სკრიპტი, რომელიც პერიოდულად აგზავნის მონაცემებს კომპიუტერის პორტში. Arduino უერთდება USB-ს და უსმენს ამ პორტს. თუ მონაცემები არ არის 30 წამის განმავლობაში, Arduino ხსნის ტრანზისტორს, რომელიც აკავშირებს Reset-ს მიწასთან, რითაც ახდენს გადატვირთვის ღილაკის დაჭერის სიმულაციას.
გადატვირთვის შემდეგ, Arduino ჩერდება 2 წუთის განმავლობაში, ელოდება ყველა პროგრამის ჩატვირთვას და შემდეგ კვლავ იწყებს პორტის მოსმენას.

სკრიპტი და მაინერები უნდა დაემატოს გაშვებას და BIOS უნდა იყოს კონფიგურირებული კომპიუტერის ავტომატურად ჩართვისთვის.





მოწყობილობის დამზადება მოითხოვს მინიმალურ უნარებს შედუღებასთან მუშაობისა და Arduino-ს დაპროგრამებაში.

თქვენ ასევე შეგიძლიათ გამოიყენოთ ნებისმიერი H არხის ტრანზისტორი მსგავსი მახასიათებლებით. მაგრამ დარწმუნდით, რომ pinout ემთხვევა. მაგალითად, მე გამოვიყენე 9013, არის ინვერსიული კავშირი



ვიყიდე კომპონენტები ასამბლეისთვის Aliexpress-ზე:

სადენები პურის დაფის ასაწყობად http://ali.pub/22k78b

Arduino UNO (ზუსტად ჯდება) http://ali.pub/22k7dd

არდუინოს ესკიზი

int LedPin = 13;
int ResetPin = 12;
int val = 0;
int count = 0;
void setup()
{
Serial.begin(9600);
pinMode (LedPin, OUTPUT);

//პაუზა დასაწყებად 2 წუთი
დაგვიანებით (120000);
}

void loop ()
{
დათვლა ++ ;

თუ (Serial.available() > 0)
{
val = Serial.read();
თუ (val == "H")
{
digitalWrite(LedPin,LOW);
digitalWrite(ResetPin,LOW);
რაოდენობა = 0;
}
სხვა
(თვლა++;
}
}

თუ (თვლა > 10)
{
digitalWrite (LedPin,HIGH);
digitalWrite(ResetPin,HIGH);
}
}

სკრიპტი, რომელიც აგზავნის მონაცემებს პორტში:

(Get-Date).ToString("dd.MM.yyyy HH:mm") | ფაილის გარეთ c:\Users\miner\Desktop\reboot.txt -დამატება

ხოლო ($TRUE)(
დაწყება-ძილი -s 3
$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$port.open()
$port.WriteLine ("H")
$port.Close()
}

გაშვებისთანავე, სკრიპტი წერს მიმდინარე თარიღსა და დროს reboot.txt ფაილში. ამ ფაილიდან შეგიძლიათ განსაჯოთ გადატვირთვის რაოდენობა და დრო. ფაილის ბილიკი და პორტის ნომერი უნდა იყოს რედაქტირებული თქვენი სისტემის მონაცემების მიხედვით. კოდი იწერება ჩვეულებრივ ბლოკნოტში და ინახება *ps1 გაფართოებით.



იმიტომ რომ Windows-ში უსაფრთხოების პოლიტიკა გათიშავს სკრიპტების შესრულებას ორჯერ დაწკაპუნებით და გაშვებიდან ჩვენ ვაკეთებთ ყურებს და ვქმნით გარსს სურათების ფაილიდან შემდეგი შინაარსით:



რაიმე შეკითხვა?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: