Სარჩევი:

DIY ლაზერული გამაძლიერებელი მოდული Arduino– სთვის: 14 ნაბიჯი (სურათებით)
DIY ლაზერული გამაძლიერებელი მოდული Arduino– სთვის: 14 ნაბიჯი (სურათებით)

ვიდეო: DIY ლაზერული გამაძლიერებელი მოდული Arduino– სთვის: 14 ნაბიჯი (სურათებით)

ვიდეო: DIY ლაზერული გამაძლიერებელი მოდული Arduino– სთვის: 14 ნაბიჯი (სურათებით)
ვიდეო: How to use Laser Transmitter and Laser sensor for Arduino 2024, ივლისი
Anonim
Image
Image

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

ამ პროექტს აქვს მსგავსება Arduino Laser Show– ით Full XY Control– ით და Arduino Laser Show With Real Galvos– ით, მაგრამ მე მჯერა, რომ პირველია, ვინც გამოიყენა 3D დაბეჭდილი დიზაინი იაფი სოლენოიდებით. მე ვაყენებ დიზაინის ყველა ფაილს GPLv3– ის ქვეშ, რათა დიზაინი გაუმჯობესდეს და გაუმჯობესდეს.

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

ნაბიჯი 1: შეაგროვეთ არა 3D ბეჭდური ნაწილები

ლაზერული ასამბლეა შედგება შემდეგი ნაწილებისგან:

  • 4 მიკრო სოლენოიდი
  • ერთი 1/2 დიუმიანი სარკე
  • ოთხი M3 ხრახნი

კონკრეტული სოლენოიდები, რომლებიც მე გამოვიყენე, შეიძინა eBay– ზე თითოეული 1,45 დოლარად. მრგვალი სარკე იქნა ნაპოვნი HobbyLobby– ს ხელნაკეთობების დერეფანში - 25 პაკეტი დამიჯდა 3 დოლარზე ნაკლები. ასევე შეგიძლიათ იხილოთ სარკეები eBay– ზე.

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

დამხმარე ხელების ნაკრები არ არის აუცილებელი, მაგრამ ძალიან გამოსადეგი იქნება ლაზერული მაჩვენებლის დასაჭერად და დასაყენებლად. დიდი შემკვრელის სამაგრის გამოყენება შესაძლებელია დენის ღილაკის დასაჭერად.

თქვენ დაგჭირდებათ არდუინო (მე გამოვიყენე არდუინო ნანო) და გზა სოლენოიდების მართვისთვის. როგორც ვაიკფმა თქვა კომენტარებში, თქვენ შეგიძლიათ გამოიყენოთ წინასწარ დამზადებული H- ხიდი, როგორიცაა L298 ან L9110. ესენი ადვილად ხელმისაწვდომია eBay– ზე რამდენიმე დოლარად და ასევე შეიძლება გამოყენებულ იქნას ძრავების მართვისა და რობოტიკის პროექტებისთვის.

ვინაიდან მე არ მქონდა H- ხიდი, მე ავაშენე ჩემი საკუთარი მძღოლი დისკრეტული კომპონენტებისგან:

  • ოთხი NPN ბიპოლარული ტრანზისტორი (მე ვიყენებ MPS3704)
  • ოთხი რეზისტორი (მე გამოვიყენე 1.2k ohm რეზისტორი)
  • ოთხი დიოდი (მე გამოვიყენე 1N4004)
  • 9V ბატარეა და ბატარეის კონექტორი

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

ნაბიჯი 2: 3D ბეჭდვა სარკის მართვის მოდული

3D ბეჭდვა სარკის მართვის მოდული
3D ბეჭდვა სარკის მართვის მოდული
3D ბეჭდვა სარკის მართვის მოდული
3D ბეჭდვა სარკის მართვის მოდული

ლაზერული მართვის მოდული შედგება ორი 3D დაბეჭდილი ნაწილისგან: ოთხი სოლენოიდის დამონტაჟების საფუძველი და სარკისთვის არტიკულირებული პლატფორმა.

მე დავამატე ორი STL ფაილი თქვენთვის 3D ბეჭდვისთვის, ასევე FreeCAD ფაილები იმ შემთხვევაში, თუ თქვენ გჭირდებათ დიზაინის შეცვლა. მთელი შინაარსი GPLv3- ის ქვეშაა, ასე რომ თქვენ თავისუფლად შეგიძლიათ განახორციელოთ და გააზიაროთ თქვენი გაუმჯობესება!

ნაბიჯი 3: შეიკრიბეთ ლაზერული მოდული

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

ნაბიჯი 4: დაბეჭდეთ ლაზერული მაჩვენებლის საყელო

დაბეჭდეთ ლაზერული მაჩვენებლის საყელო
დაბეჭდეთ ლაზერული მაჩვენებლის საყელო
დაბეჭდეთ ლაზერული მაჩვენებლის საყელო
დაბეჭდეთ ლაზერული მაჩვენებლის საყელო

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

ნაბიჯი 5: შეიკრიბეთ მართვის წრე

შეიკრიბეთ მართვის წრე
შეიკრიბეთ მართვის წრე

წამყვანი წრე ნაჩვენებია სქემატურ რეჟიმში. როგორც უკვე აღვნიშნეთ, ჩემი ვერსია აგებულია დისკრეტული კომპონენტებისგან, მაგრამ თქვენ ასევე შეგიძლიათ გამოიყენოთ ადვილად ხელმისაწვდომი H- ხიდი. თუ თქვენ აირჩევთ საკუთარი სახლის აშენებას, თქვენ დაგჭირდებათ ამ სქემის ოთხი ასლის შექმნა, თითო ოთხი სოლენოიდის თითოეულიდან.

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

  • პინი 9: სოლენოიდი
  • პინი 3: ქვევით სოლენოიდი
  • პინი 11: მარცხენა სოლენოიდი
  • პინ 10: მარჯვენა სოლენოიდი

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

ნაბიჯი 6: ატვირთეთ ნიმუშის კოდი

ატვირთეთ ნიმუშის კოდი
ატვირთეთ ნიმუშის კოდი

ნიმუშის კოდი განახლებულია შემდეგი მახასიათებლებით:

  • არეგულირებს PWM სიხშირეს ისე, რომ მექანიზმი თითქმის ჩუმად არის დაბალი სიჩქარით. Motion Test 1 -ში ზუზუნი მთლიანად გაქრა!
  • დასძენს შიმპფის ნაშრომზე დაფუძნებულ ძაბვის განტოლებებს სოლენოიდების არაწრფივი პასუხის "ხაზოვანი" მიზნით.

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

შედეგების ერთგულება საკმაოდ ბევრს ტოვებს სასურველს, მაგრამ მე მაინც ვმუშაობ მასზე!:)

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

ნაბიჯი 7: ხმის შემცირება

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

ამ პრობლემის გადასაჭრელად, მე გავზარდე PWM სიხშირე კოდში:

#განსაზღვრეთ PWM_FREQ_31372Hz 0x01 // ადგენს PWM სიხშირეს 31372.55 Hz #განსაზღვრეთ PWM_FREQ_3921Hz 0x02 // ადგენს PWM სიხშირეს 3921.16 Hz #განსაზღვრა PWM_FREQ_980Hz 0x03 // სიხშირე PTM & 0b11111000) | სიხშირე; // დააყენეთ ტაიმერი 1 (ქინძისთავები 9 და 10) სიხშირე TCCR2B = (TCCR2B & 0b11111000) | სიხშირე; // დააყენეთ ტაიმერი 2 (ქინძისთავები 3 და 11) სიხშირე}

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

ნაბიჯი 8: ძაბვის დარეგულირება დამახინჯების შესამცირებლად

ძაბვის დარეგულირება დამახინჯების შესამცირებლად
ძაბვის დარეგულირება დამახინჯების შესამცირებლად

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

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

ის, რაც მოყვება თქვენ, აგიხსნით იმ პროცესს, რომელიც მე გავიარე სისტემის გასაუმჯობესებლად და შედეგად მიღებული კვალის გარეგნობის გასაუმჯობესებლად!

ნაბიჯი 9: პროგრამული უზრუნველყოფის სრულყოფა მათემატიკით

პროგრამული უზრუნველყოფის სრულყოფა მათემატიკით
პროგრამული უზრუნველყოფის სრულყოფა მათემატიკით
პროგრამული უზრუნველყოფის სრულყოფა მათემატიკით
პროგრამული უზრუნველყოფის სრულყოფა მათემატიკით

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

შემდეგი ტერმინები ადვილი გასაზომად იყო:

  • რ - ჩემი სოლენოიდის წინააღმდეგობა
  • ლ - სოლენოიდის სიგრძე
  • x - დგუშის გადაადგილება სოლენოიდში
  • V - ძაბვა სოლენოიდის გასწვრივ

მე ასევე ვიცოდი, რომ სოლენოიდის მიერ გამოვლენილმა ძალამ უნდა გაწონასწორდეს ორმაგი ღერძის სარკეზე 3D დაბეჭდილი ზამბარებიდან. ზამბარის ძალა რეგულირდება ჰუკის კანონით, რომელიც შემდეგნაირად არის ნათქვამი:

F = -kx

მიუხედავად იმისა, რომ მე არ ვიცოდი k- ის მნიშვნელობა, მე მაინც ვიცოდი, რომ შიმფფის ნაშრომიდან მე 17 განტოლებიდან ამოღებული ძალა ჰუკის კანონის ძალის ტოლი უნდა ყოფილიყო.

ალფა (α) მნიშვნელობა იყო სახიფათო. მიუხედავად იმისა, რომ განტოლებები 13 და 14 აჩვენებდა როგორ გამოვთვალოთ ეს მნიშვნელობები სოლენოიდის (A) ფართობიდან, შემობრუნების რაოდენობა (N) და მაგნიტური გამტარიანობის მნიშვნელობები (μ), მე არ მინდოდა სოლენოიდის დაშლა შემობრუნების რაოდენობა და არც მე ვიცოდი მასალა, საიდანაც დამზადდა ჩემი სოლენოიდის ბირთვი.

ნაბიჯი 10: იაფი კომპონენტის შემმოწმებელი დაზოგავს დღეს

იაფი კომპონენტის შემმოწმებელი დაზოგავს დღეს!
იაფი კომპონენტის შემმოწმებელი დაზოგავს დღეს!
იაფი კომპონენტის შემმოწმებელი დაზოგავს დღეს!
იაფი კომპონენტის შემმოწმებელი დაზოგავს დღეს!
იაფი კომპონენტის შემმოწმებელი დაზოგავს დღეს!
იაფი კომპონენტის შემმოწმებელი დაზოგავს დღეს!

თუმცა აღმოჩნდა, რომ განტოლება 15 და 16 მომცა ის, რაც მჭირდებოდა. მე მქონდა იაფი M328 კომპონენტის შემმოწმებელი, რომელიც შევიძინე eBay– დან 10 დოლარად. მას შეეძლო გამოეყენებინა ჩემი სოლენოიდის ინდუქციურობის გასაზომად და აღმოვაჩინე, რომ არმატურის სხვადასხვა სიღრმეში შეღწევით მომცა სხვადასხვა ინდუქციური მნიშვნელობა.

სრულად ჩასმული არმატურის გაზომვამ მომცა L (0) მნიშვნელობა.

ჩემი სოლენოიდის სიგრძე იყო 14 მმ, ასე რომ, მე გავზომე ინდუქცია არმატურით ხუთ პოზიციაზე და ამან მომცა სხვადასხვა მნიშვნელობა L (x):

  • L (0.0) = 19.8 mH
  • L (3.5) = 17.7 mH
  • L (7.0) = 11.1 mH
  • L (10.5) = 9.3 mH
  • L (14) = 9.1 mH

შემდეგ მე გამოვიყენე ცხრილი, რომ შევადგინო ჩემი ღირებულებები 15 და 16 განტოლების მნიშვნელობის მიხედვით, μr– ის კონკრეტული არჩევანისთვის და შემდეგ შევიცვალე ჩემი არჩევანი, სანამ არ ვიპოვე კარგი შესატყვისი. ეს მოხდა მაშინ, როდესაც μr იყო 2.9, როგორც ეს მოცემულია გრაფიკში.

ნაბიჯი 11: იპოვეთ გაზაფხულის მუდმივი K, ამოხსენით პრობლემა

Image
Image
მიმდინარე პრობლემებისა და შესაძლო გადაწყვეტილებების ანალიზი
მიმდინარე პრობლემებისა და შესაძლო გადაწყვეტილებების ანალიზი

ერთადერთი უცნობი იყო K, გაზაფხულის მუდმივი. მე ეს გავზომე იმით, რომ ჩემი ორმაგი ღერძის ერთ-ერთ სოლენოიდზე 9V გამოვიყენე და გავზომე მანძილი, რომელშიც სარკე ჩამოშლილია. ამ მნიშვნელობებით, მე შევძელი K– ის განტოლებების ამოხსნა, რომელიც აღმოვაჩინე, რომ იყო დაახლოებით 10.41.

მე ახლა მქონდა ის მნიშვნელობები, რაც მე მჭირდებოდა სოლენოიდის გაყვანის გამოსათვლელად ინსულტის გასწვრივ სხვადასხვა პოზიციებზე. ჰუკის კანონიდან გაზაფხულის ძალის ტოლი F (x) მე შემიძლია ამოხსნა საჭირო ძაბვისთვის V.

დიაგრამა გვიჩვენებს ძაბვას, რომელიც საჭიროა სოლენოიდის გადატანა ნებისმიერ სასურველ პოზიციაზე x.

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

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

float positionToVoltage (float x) {

// რგოლების (ჰუკის კანონი) ძალის აღდგენა სასურველ x– ზე. const float spring_F = -spring_K * (x - spring_X0); // ძაბვა ისეთი, რომ სოლენოიდის გამწევ ძალა ემთხვეოდეს // რგოლების აღმდგენ ძალას ბრუნდება sqrt (-2*R*R*(-spring_F)*solenoid_len/(a*L_0*exp (-a*x/solenoid_len)))); }

ეს იწვევს ბევრად უფრო წრიულ სპირალს, ვიდრე ჩემს თავდაპირველ მოძრაობის ტესტში. Მისია შესრულებულია!

ნაბიჯი 12: კითხვა და პასუხები მძღოლის მიკროსქემის შესახებ დისკრეტული კომპონენტების გამოყენებით

რატომ არ შემიძლია სოლენოიდის დაკავშირება პირდაპირ არდუინოსთან?

საქმე იმაშია, თუ რამდენად მიმდინარე შეუძლია Arduino– ს დაზიანების გარეშე. ეს არის დაახლოებით 40mA პინზე. იმის ცოდნა, რომ არდუინო მუშაობს 5 ვ -ზე, ჩვენ შეგვიძლია გამოვიყენოთ ომის კანონი დატვირთვის საჭირო მინიმალური წინააღმდეგობის გამოსათვლელად (ამ შემთხვევაში სოლენოიდი). 5 ვოლტის გაყოფა 0.040 ამპერით გვაძლევს 125 ოჰმს. თუ დატვირთვას უფრო დიდი წინააღმდეგობა აქვს, შეგვიძლია პირდაპირ არდუინოს ვუერთოთ, წინააღმდეგ შემთხვევაში არ შეგვიძლია. პატარა სოლენოიდს, როგორც წესი, აქვს 50 ოჰმეზის წინააღმდეგობა, ამიტომ ჩვენ არ შეგვიძლია მისი მართვა არდუინოდან პირდაპირ. თუ ჩვენ ამას გავაკეთებდით, ის 100mA- ს გაიყვანს, რაც აშკარად ძალიან ბევრია.

რატომ იყენებთ 9V სოლენოიდს, მაგრამ 5V არდუინოსთვის?

Arduino მუშაობს 5V– ზე, მაგრამ ეს სოლენოიდისთვის ცოტაა. ტრანზისტორის გამოყენება საშუალებას გვაძლევს შევარჩიოთ ძაბვა სოლენოიდისთვის, რომელიც დამოუკიდებელია არდუინოსთვის გამოყენებული 5 ვ -ისგან.

როგორ ვიცი, არის თუ არა ტრანზისტორი შესაფერისი ამ პროექტისთვის?

არდუინოს მსგავსად, მთავარი მოთხოვნაა, რომ სოლენოიდის გავლით მიმდინარე დენი არ აღემატებოდეს ტრანზისტორის მაქსიმალურ რეიტინგს (კერძოდ, კოლექტორის დენს). ჩვენ შეგვიძლია მარტივად გამოვთვალოთ ყველაზე უარესი სცენარი სოლენოიდის წინააღმდეგობის გაზომვით და შემდეგ მიწოდების ძაბვის გაყოფით მასზე. იმ შემთხვევაში, თუ სოლენოიდებს აქვთ 9 ვ ელექტრული დენი და 50 ოჰ სოლენოიდის წინააღმდეგობა, ყველაზე უარესი სცენარი გვაძლევს 180mA– ს. მაგალითად, MPS3704 შეფასებულია 600 mA მაქსიმალური კოლექტორის დენით, რაც გვაძლევს ზღვარს დაახლოებით 3.

როგორ განვსაზღვრო წინააღმდეგობის მინიმალური მნიშვნელობა არდუინოს გამომავალსა და ტრანზისტორის ფუძეს შორის?

არდუინოს გამომუშავება დააკავშირებს ბიპოლარული ტრანზისტორების ძირი ფეხს მიმდინარე შემზღუდველი რეზისტორის საშუალებით. ვინაიდან Arduino მუშაობს 5V– ზე, ჩვენ შეგვიძლია კვლავ გამოვიყენოთ Ohm– ის კანონი, რათა გამოვთვალოთ წინააღმდეგობა, რომელიც საჭიროა 40 mA– ზე ქვემოთ დენის შეზღუდვისთვის. ანუ, გაყავით 5 ვოლტი 0.04 ამპერზე, რომ მიიღოთ მნიშვნელობა მინიმუმ 125 ohms. რეზისტორის უფრო მაღალი მნიშვნელობები შეამცირებს დენს, რითაც მოგვცემს უსაფრთხოების კიდევ უფრო დიდ ზღვარს.

არსებობს თუ არა მაქსიმალური მნიშვნელობა იმ წინააღმდეგობისთვის, რომელიც არ უნდა აღემატებოდეს?

გამოდის, დიახ. ტრანზისტორს აქვს ის, რაც ცნობილია როგორც მიმდინარე მოგება. მაგალითად, თუ მოგება არის 100, ეს ნიშნავს, რომ თუ ჩვენ 1 mA ჩავდებთ ბაზაში, მაშინ 100 mA– მდე გაივლის დატვირთვა, რომელსაც ტრანზისტორი აკონტროლებს. თუ ჩვენ ვდებთ 1.8mA ფუძეს, მაშინ 180mA– მდე გაივლის დატვირთვას. ვინაიდან ჩვენ ადრე გამოვთვალეთ, რომ 9V- ზე, 180mA მიედინება სოლენოიდის გავლით, მაშინ 1.8mA ბაზის დენი არის "ტკბილი წერტილი", და ნაკლები და ჩვენი სოლენოიდი სრულად არ ჩაირთვება.

ჩვენ ვიცით, რომ არდუინო 5V- ს გამოაქვს და ჩვენ გვინდა, რომ 1.8mA დენი გადიოდეს, ამიტომ ჩვენ ვიყენებთ ომის კანონს (R = V/I) წინააღმდეგობის გამოსათვლელად (R = V/I). 5V გაყოფილი 1.8mA იძლევა წინააღმდეგობას 2777 ohms. ასე რომ, ჩვენ მიერ გამოთქმული ვარაუდების გათვალისწინებით, ჩვენ ველით, რომ წინააღმდეგობა უნდა იყოს 125 -დან 2777 -მდე - 1000 ოჰ -ის მსგავსი რამის არჩევა გვაძლევს საკმაოდ კარგ უსაფრთხოების ზღვარს.

ნაბიჯი 13: არსებული პრობლემებისა და შესაძლო გადაწყვეტილებების ანალიზი

მიმდინარე პრობლემებისა და შესაძლო გადაწყვეტილებების ანალიზი
მიმდინარე პრობლემებისა და შესაძლო გადაწყვეტილებების ანალიზი

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

  1. X და Y ღერძების გასწვრივ მოძრაობა არ ჩანს პერპენდიკულარული.
  2. ხდება ნახტომი, როდესაც სარკე იცვლის მიმართულებას.
  3. რეზოლუცია საკმაოდ დაბალია და ჩანს კიბის საფეხურის ნიმუშები.
  4. მოძრაობის უფრო მაღალი სიჩქარით, ლაზერის გზა დამახინჯებულია ვიბრაციებითა და ზარებით.

საკითხი 1) შეიძლება გამოწვეული იყოს 3D ბეჭდვით მოქნილი რგოლების დიზაინით, რომლებიც გადასცემენ მოძრაობას ერთი ღერძის გასწვრივ პერპენდიკულარულ ღერძზე.

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

საკითხი 3) ხდება იმიტომ, რომ სტანდარტულ Arduino PWM– ს აქვს მხოლოდ 255 დონე და საკმაოდ ბევრი მათგანი იკარგება ძაბვის მრუდის ფორმის გამო. ეს შეიძლება მნიშვნელოვნად გაუმჯობესდეს ტაიმერის 1 გამოყენებით, რომელიც არის 16 ბიტიანი და შეეძლო 65536 უნიკალური მნიშვნელობის.

საკითხი 4) ხდება იმიტომ, რომ სარკე და სოლენოიდის მოცურების არმატურა (დგუშები) წარმოადგენს მოძრავი მასის მნიშვნელოვან რაოდენობას.

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

მასის შემცირება არის მეოთხე საკითხის პირველადი გადაწყვეტა), მაგრამ ნებისმიერი დარჩენილი პრობლემა შეიძლება იყოს პირდაპირ პროგრამულ უზრუნველყოფაში პროგრამული უზრუნველყოფის მოძრაობის კონტროლის პროფილის დანერგვით, სარკის კონტროლის დაჩქარების და შენელების მიზნით. ეს უკვე ფართოდ გაკეთებულია 3D პრინტერის firmware– ში და მსგავსი მეთოდები შესაძლოა აქაც მუშაობდეს. აქ მოცემულია რამდენიმე რესურსი მოძრაობის კონტროლთან დაკავშირებით, როგორც ეს ეხება 3D პრინტერებს:

  • "მოძრაობის კონტროლის პროფილის მათემატიკა", ჩაკ ლევინი (ბმული)
  • "ახმაურებული მოძრაობა ახსნილია", (ბმული)

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

ნაბიჯი 14: მომავალი სამუშაო და შესაძლო პროგრამები

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

  • იაფი ლაზერული შოუები დიჯეებისა და დიჯეებისთვის.
  • ელექტრო-მექანიკური ვექტორული ჩვენება რთველი არკადული თამაშისთვის, როგორიცაა Vectrex.
  • DIY ფისოვანი ტიპის SLA 3D პრინტერი, რომელსაც RepRap მოძრაობის სულისკვეთებით შეუძლია დაბეჭდოს საკუთარი ლაზერული საჭის მოდული.
  • ციფრული გადაღება ან ოპტიკური გამოსახულების სტაბილიზაცია კამერებისთვის.
არდუინოს კონკურსი 2017
არდუინოს კონკურსი 2017
არდუინოს კონკურსი 2017
არდუინოს კონკურსი 2017

მეორე პრიზი არდუინოს კონკურსში 2017

გირჩევთ: