Სარჩევი:
ვიდეო: Pwm2pwm: 4 ნაბიჯი
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-10 13:47
შეცვალეთ შეყვანის PWM სიგნალი სხვა PWM სიგნალის გამომშვებ კოდირებით.
ეს პროექტი მაშინ დაიბადა, როდესაც შევიძინე ჩემი პირველი ლაზერული საჭრელი. ადვილი არ არის PWM სიმძლავრის დაყენება, პირველად მასალის მიხედვით, რომლის მოჭრაც გსურთ. ასე რომ, მე მინდა შევქმნა პატარა მოწყობილობა, რომ შეცვალოს ენერგია შესრულების დროს.
ნაბიჯი 1: კომპონენტების სია
ამ პროექტისთვის გჭირდებათ:
- 1 x Oled ეკრანი, ჩემს შემთხვევაში I2C
- 1 x Arduino, ჩემს შემთხვევაში arduino mini pro მცირე განზომილებისთვის.
- 1 x საპარსები ღილაკით.
- 3 x 10k რეზისტორი, 2 ტრიმერის გასაშლელად და ერთი გასაშლელი.
ამ ნაბიჯის სურათზე ხედავთ სხვა Arduino mini pro- ს, სახელწოდებით ლაზერული, რადგან მე ამ არდუინოსთან ერთად გავამდიდრე ლაზერული კონტროლერის უნარი (სიგნალი pwm).
ნაბიჯი 2: კავშირები
დაიმახსოვრეთ ამ სქემატურ რეჟიმში დაუკავშიროთ 3 რეზისტორი, ამოწევით და გადმოწევით.
პირველად გირჩევთ დააკავშიროთ მეორე არდუინო (ლაზერული ეწოდება წინა საფეხურზე), რათა შეამოწმოთ კოდისა და კავშირის ერთობლიობაც ასევეა.
თუ თქვენ უფრო კარგად იცნობთ სქემატურ ხედს, გახსენით pwmTOpwm.svg.
ნაბიჯი 3: არდუინოს ესკიზი
თქვენ შეგიძლიათ მარტივად დააკოპიროთ ჩემი კოდი GitHub გვერდიდან:
ამ კოდის ძირითადი უნარებია "pulseIn" ბრძანების ინტეგრაცია, მეტი ინფორმაცია:
როდესაც თქვენ ცდილობთ გაზომოთ PWM სიგნალი მიკროკონტროლერში, თქვენ უნდა დაითვალოთ რამდენ ხანს დარჩება სიგნალი მაღლა (ან ქვემოთ) ამ პერიოდში. თქვენ შეგიძლიათ გამოიყენოთ ბრძანება "pulseIn".
თუ თქვენ ცდილობთ ააწყოთ პულსი სიგნალში, თქვენ ხედავთ რაღაც არასტაბილურს.
ამ პრობლემის გადასაჭრელად ჩვენ უნდა გამოვიყენოთ მედიანური ფილტრი, ჩემს შემთხვევაში ექსპონენციალური მოძრავი საშუალო (EMA).
თქვენ შეგიძლიათ სცადოთ ეს მაგარი და მარტივი ფილტრი ამ მაგალითით:
არ ინერვიულოთ, ფილტრი უკვე ინტეგრირებულია კოდში: გვ.
თუ თქვენ იყენებთ მეორე არდუინოს (ლაზერს) შეგიძლიათ ატვირთოთ ამ არდუინოში ეს მაგალითი:
ნაბიჯი 4: PCB
მე მინდა შევადგინო PCB ამ პროექტისთვის KiCad– თან ერთად და გავუზიარო მას.
თუ შევიტან ცვლილებებს PCB- ში, მე გავაზიარებ მათ GitHub გვერდზე.