Სარჩევი:

მრავალ კვანძიანი LED PWM ნათურის დიზაინი: 6 ნაბიჯი (სურათებით)
მრავალ კვანძიანი LED PWM ნათურის დიზაინი: 6 ნაბიჯი (სურათებით)

ვიდეო: მრავალ კვანძიანი LED PWM ნათურის დიზაინი: 6 ნაბიჯი (სურათებით)

ვიდეო: მრავალ კვანძიანი LED PWM ნათურის დიზაინი: 6 ნაბიჯი (სურათებით)
ვიდეო: lashari - kaxuri mravaljamieri / ლაშარი - კახური მრავალჟამიერი 2024, ივნისი
Anonim
მრავალ კვანძიანი LED PWM ნათურის დიზაინი
მრავალ კვანძიანი LED PWM ნათურის დიზაინი

ეს ინსტრუქცია აჩვენებს, თუ როგორ შევქმენი LED PWM ნათურის კონტროლერი. მრავალჯერადი ნათურები შეიძლება ერთმანეთთან იყოს დაკავშირებული სინათლის დიდი სიმების შესაქმნელად. საშობაოდ რამდენიმე მოციმციმე LED განათების შექმნა ყოველთვის იყო ჩემი სურვილების სიაში. წინა საშობაო სეზონზე მე ნამდვილად დავიწყე ფიქრი რაღაცის აშენებაზე. ჩემი პირველი აზრი იყო, რომ თითოეული LED ნათურა შეიძლება უბრალოდ დაკავშირებული იყოს წყვილ მავთულთან. LED ნათურების სიმძლავრე შეიძლება იყოს AC სიგნალი, რომელიც გადადის დაბალი სიხშირიდან მაღალ სიხშირეზე. თითოეულ ნათურაში ჩამონტაჟებული ზოლებიანი ფილტრი ჩართავს LED- ს, როდესაც სიხშირე ემთხვევა გამტარუნარიანობის ფილტრის ცენტრალურ სიხშირეს. თუ ფილტრები სწორად იყო დაყენებული, შესაძლებელი იქნებოდა LED დევნის თანმიმდევრობის გაკეთება. მართლაც, გადახვევის ნაცვლად სხვადასხვა სიხშირეზე გადახტომით, ნებისმიერი LED- ის ჩართვა შეიძლება. H -Bridge დრაივერის ჩიპის გამოყენებით, სასურველი სიხშირის მავთულხლართების გადატანა არ უნდა იყოს ძალიან რთული. კარგი, მე უბრალოდ ვწუწუნებ ანალოგიურ დიზაინზე - მე უფრო ბიჭი ვარ პროგრამული უზრუნველყოფის მსგავსი. რამდენიმე სკამის ტესტის შემდეგ, მე სწრაფად მივატოვე ანალოგის გამოყენება. ის, რაც მე ნამდვილად მინდოდა, იყო LED ნათურა, რომლის სრულად გაკონტროლება შესაძლებელი იქნებოდა ნებისმიერი ფერის ჩვენებისათვის. ოჰ, და მას უნდა შეეძლოს PWM- ის გამოყენება (პულსის სიგანის მოდულაცია) ისე, რომ LED- ები იყოს გაშლილი ან გამორთული მართლაც მაგარი შაბლონებით. რაც შემდეგ ინსტრუქციებშია აღწერილი მართლაც მაგარი დიზაინის აღწერა, რომელიც დაფუძნებულია მიკროჩიპის მიკროპროცესორზე რომ ამოვარდა ჩემი სურვილი ნაძვის ხის განათებისთვის. გადახედეთ ქვემოთ მოცემულ ვიდეოს, რომ სწრაფად ნახოთ რისი ჩვენება შეუძლია Kemper LED PWM ნათურის კონტროლერს. შენიშვნა, ძნელია მიიღოთ კარგი ვიდეო LED- ები, რომლებიც იყენებენ PWM ინტენსივობის კონტროლს. იგივე პრობლემაა, როდესაც ცდილობთ კომპიუტერის მონიტორის ვიდეოს გადაღებას. LED- ების 60 ჰერცი მონაწილეობს ჩამორჩენის სიხშირის კამერაში 30 ჰც კამერით. ამიტომ, მიუხედავად იმისა, რომ არის დრო, როდესაც LED- ების ვიდეო ოდნავ "ბრჭყვიალაა", ეს ნამდვილად ასე არ არის. როგორც ჩანს, LED- ებს არ აქვთ რაიმე ხარვეზი ადამიანის თვალით დანახვისას. იხილეთ ქვემოთ მოყვანილი პროგრამული უზრუნველყოფის ნაბიჯი LED– ების ვიდეო მოსმენის შესახებ.

ნაბიჯი 1: მიზნების შემუშავება

დიზაინის მიზნები
დიზაინის მიზნები

ამ პროექტის შესახებ საშობაო არდადეგების გატარების შემდეგ გამოვიდა სურვილების სია. აქ არის რამოდენიმე მახასიათებელი (თანმიმდევრობით დალაგებული) მინდოდა ჩემი LED კონტროლერით: 1) თითოეული LED ნათურა უნდა იყოს რაც შეიძლება იაფი. სიმებიანი 100 ნათურა ეღირება რამოდენიმე თუ თითოეული ნათურა ღირს ბევრი. ღირებულება, შესაბამისად, არის მთავარი ფაქტორი.2) თითოეულ ნათურას ექნება პატარა მიკრო ბორტზე, რომელიც ამოძრავებს LED- ებს. პაწაწინა მიკრო წარმოქმნის PWM სიგნალებს ისე, რომ LED- ები დაბნელდება ან ქრებოდა. LED- ები შეიძლება მკაცრად გამოიყურებოდეს, როდესაც ის უბრალოდ ჩართულია და გამორთულია. PWM სიგნალების გამოყენებით, LED- ები შეიძლება გაფუჭდეს ზევით და ქვევით, LED– ებისთვის ჩვეულებრივი მყარი კიდეების გარეშე. დენი და კომუნიკაციები იზიარებს ერთსა და იმავე ორ მავთულს. ნათურების ბრძანებები გეტყვით ბორტზე მიკრო რომელი LED- ები მართოს PWM– ით.4) უნდა გამოიყურებოდეს მაგრად! მე ვფიქრობ, რომ ეს ნამდვილად უნდა იყოს დანომრილი, ასე რომ ის ნომერ პირველია. აქ არის რამოდენიმე უმნიშვნელო დიზაინის მიზანი (განსაკუთრებული წესრიგის გარეშე): 1) განვითარებისათვის, ადვილი უნდა იყოს მიკროსქემის განახლება / გადაპროგრამება. 2) კომპიუტერს უნდა შეეძლოს შექმენით ბრძანებები ნათურებზე. ეს მნიშვნელოვნად ამარტივებს ნიმუშების შემუშავებას, ვიდრე სხვა ჩამონტაჟებული მიკრო. 3) თითოეულ ნათურას უნდა ჰქონდეს უნიკალური მისამართი. თითოეული LED, ნათურის შიგნით, ასევე უნდა იყოს ცალსახად მიმართული.4) ბრძანების პროტოკოლი უნდა უჭერდეს მხარს ბევრ ნათურებს მავთულის ერთ სტრიქონზე. ამჟამინდელი დიზაინი მხარს უჭერს 128 ლამპარს ერთ სტრიქონზე. 4 LED- ით თითო ნათურაზე, რომელიც მუშაობს 512 LED- მდე ორი მავთულის ერთ სტრიქონზე! ასევე გაითვალისწინეთ, რომ თითოეულ 512 LED- ს აქვს სრული PWM მამოძრავებელი ძალა.5) პროტოკოლს უნდა ჰქონდეს ბრძანება, რომელშიც ნათქვამია: "დაიწყეთ LED- ის ჩაქრობა ამ დონიდან იმ დონემდე". ქრებოდა დაწყებისთანავე შესაძლებელია სხვა LED- ების დაყენება და დაყენება იმავე ნათურაზე. სხვა სიტყვებით რომ ვთქვათ, განათავსეთ შუქდიოდური მოდელი და დაივიწყეთ ის იმის ცოდნით, რომ LED შეასრულებს ბრძანებას. ეს გულისხმობს მრავალფუნქციურ პროგრამულ უზრუნველყოფას მიკრო! 6) უნდა არსებობდეს გლობალური ბრძანებები, რომლებიც გავლენას მოახდენს ერთდროულად ყველა ნათურაზე. აქედან გამომდინარე, ყველა LED- ების დადგენა შესაძლებელია მხოლოდ ერთი ბრძანების გამოყენებით. აქ არის მართლაც მცირე დიზაინის მიზნები (ისევ და ისევ, განსაკუთრებული წესრიგის გარეშე): 1) გვჭირდება გზა, რომ მივიღოთ ნათურის ანგარიში, როდესაც ხდება კომუნიკაციის შეცდომა. ეს საშუალებას მისცემს ბრძანების გაგზავნას.2) ბრძანების პროტოკოლს სჭირდება გზა გლობალური შესატყვისი ნიმუშის შესაქმნელად. ეს საშუალებას მისცემს თითოეული x რაოდენობის ნათურა შეირჩეს ერთი ბრძანებით. ეს გაუადვილებს დევნის ნიმუშების შექმნას დიდი რაოდენობით ნათურებით. მაგალითად, ეს საშუალებას მისცემს ბრძანება გაიგზავნოს ყოველ მესამე ნათურაზე ლამპრების სიმებზე. შემდეგ, შემდეგი ბრძანება შეიძლება გაიგზავნოს მომდევნო სამკაციან ჯგუფში. 3) ავტომატური პოლარობის გამოვლენის ლოგიკური სისტემა ასევე შესანიშნავი იქნება. შემდეგ, LED ნათურების ორი კვების მავთულის პოლარობა უმნიშვნელო ხდება. იხილეთ ტექნიკის განყოფილება ამ ფუნქციის შესახებ მეტი.

ნაბიჯი 2: პროტოტიპი:

პროტოტიპი
პროტოტიპი
პროტოტიპი
პროტოტიპი
პროტოტიპი
პროტოტიპი

ახლა იანვრის დასაწყისია და წავალ. მე ვიპოვე 10F206 Digikey– ში და ის ნამდვილად იაფია! ამრიგად, მე ვატრიალებ პროტო დაფას მიკროჩიპიდან 10F206 მიკრო. მე შევქმენი სწრაფი დაფა, რადგან 10F2xx არ არის ხელმისაწვდომი DIP პაკეტში. დედააზრი, მე არ მინდოდა პატარა ჩიპთან ჩხუბი. (მე ძალიან დარწმუნებული ვიყავი იანვარში) მეც წავედი და შევიძინე ახალი CSS C შემდგენელი, რომელიც მიზნად ისახავს 10F2xx მიკროს. ჩიპების 10F2xx ოჯახი მართლაც იაფია! დიდი იმედებით, ჩავჯექი და დავიწყე უამრავი კოდის წერა. 10F206– ს აქვს უზარმაზარი 24 ბაიტი ოპერატიული მეხსიერება - ჩიპს ასევე აქვს 512 ბაიტი ფლეშ და ერთი რვა ბიტიანი ტაიმერი. მიუხედავად იმისა, რომ რესურსები მწირია, ფასი კარგია 41 ცენტი დიდი რაოდენობით. ღმერთო ჩემო, მილიონი ინსტრუქცია წამში (1 MIPS) 41 ცენტად! უბრალოდ მიყვარს მურის კანონი. ევან ერთჯერადი ფასებით, 10F206 Digikey– დან ჩამოთვლილია 66 ცენტი. მე ბევრი დრო გავატარე 10F206– თან მუშაობაში. 10F206– თან მუშაობისას აღმოვაჩინე, რომ მრავალმხრივი ამოცანა აბსოლუტურად აუცილებელია. PWM გამომავალი სიგნალები უნდა განახლდეს ახალი საკომუნიკაციო შეტყობინებების მიღების დროსაც კი. ნებისმიერი შეფერხება PWM სიგნალების განახლებაში განიხილება როგორც LED- ების ხარვეზი. ადამიანის თვალი ნამდვილად კარგად ხედავს შეცდომებს. 10F206 ჩიპს აქვს რამდენიმე ფუნდამენტური პრობლემა. მინიმუმ ფუნდამენტური პრობლემები ჩემი განაცხადისათვის. პირველი პრობლემა ის არის, რომ არ არსებობს შეფერხებები! ახალი კომუნიკაციის დაწყების დაკავება კენჭისყრის მარყუჟის საშუალებით იწვევს დროის შეცდომებს. მეორე პრობლემა ის არის, რომ არსებობს მხოლოდ ერთი ტაიმერი. მე უბრალოდ ვერ ვიპოვე გზა, რომ მივიღო ბრძანებები PWM შედეგების შენარჩუნებისას. LED- ები ანათებდა ყოველ ჯერზე ახალი ბრძანების მიღებისას. ტაიმერის გაზიარება ბრძანებების მიღებას და PWM შედეგების მართვას შორის ასევე იყო პროგრამული უზრუნველყოფის მთავარი პრობლემა. მე ვერ აღვადგინე ტაიმერი ახალი პერსონაჟის მიღებისას, რადგან ტაიმერი ასევე გამოიყენებოდა PWM სიგნალების გასაკონტროლებლად. 10F206– თან მუშაობისას მე ვნახე სტატია Circuit Cellar– ში Freescale– ის ახალ პაწაწინა MC9RS08KA1 მიკროზე. მე მიყვარს Freescale ჩიპები - მე მათი BDM გამართვის დიდი ფანი ვარ. მე წარსულში ბევრს ვიყენებდი Star12 ჩიპებით (მე დავწერე ყველა პროგრამა GM Cadillac & Lacern ულტრაბგერითი სისტემისთვის Star12– ზე - ჩემი ულტრაბგერითი პროგრამული უზრუნველყოფა წარმოებულია ამ ორ მანქანაზე). ასე რომ, მე ნამდვილად ვიმედოვნებდი, რომ მათი ახალი პატარა ჩიპები კარგი იქნებოდა. ფასიც სწორია, დიგიკეს აქვს ეს ჩიპები 38 ცენტით დიდი რაოდენობით. Freecale კარგი იყო და გამომიგზავნა უფასო ნიმუშები. თუმცა, Freescale 9RS08 ჩიპი მართლაც სულელურად მეჩვენებოდა - მე მას დიდი წინსვლა არ შემეძლო. ჩიპი ასევე განიცდის შეფერხებების ნაკლებობას და მხოლოდ ერთ ტაიმერს. ოჰ, ყოველ შემთხვევაში, მე მივხვდი, რომ ეს ყველაფერი ფულის დაკარგვის გარეშე იყო სხვა პროტო დაფის ტრიალზე. იხილეთ სურათები ქვემოთ. ახლა მე ვიცი - ჩემი განაცხადისათვის უნდა მქონდეს შეფერხებები და ერთზე მეტი ტაიმერი. მიკროჩიპს დავუბრუნდი, ვიპოვე 12F609 ჩიპი. მას აქვს შეფერხებები და ორი ტაიმერი. მას ასევე აქვს 1K ფლეშ და 64 ბაიტი ოპერატიული მეხსიერება. მინუსი არის ფასი; დიგიკეი ჩამოთვლის ამ ჩიპებს 76 ცენტად დიდი რაოდენობით. კარგი, მურის კანონი მალე იზრუნებს ამაზე. პლიუს მხარეს, 12F609 ასევე შეიძლება შეუკვეთოთ DIP პაკეტებში. მინუს მხარეს, მე უნდა შევიძინო შემდეგი დონის შემდგენელი - ამან დამწვა ჩემი @#$%&.ახლა აპრილია და მე ბევრი რამ ვისწავლე იმის შესახებ, რაც არ გამოდგება. მე დავტრიალე დაფა და გადაყრილი ფული შემდგენელზე, რომელიც მე არ მჭირდება. მიუხედავად ამისა, ჯერჯერობით ტესტირება გამამხნევებელია. ახალი შემდგენლით და 12F209 ჩიპებით DIP პაკეტებში სკამების დონის ტესტირება სწრაფად წარიმართა. ტესტირებამ დაადასტურა, რომ მე მქონდა სწორი ჩიპი. დროა მოაწყოთ სხვა პროტო დაფა! ამ მხრივ, მე გადაწყვეტილი ვარ.

ნაბიჯი 3: 12F609 განვითარების დაფა

12F609 განვითარების დაფა
12F609 განვითარების დაფა
12F609 განვითარების დაფა
12F609 განვითარების დაფა
12F609 განვითარების დაფა
12F609 განვითარების დაფა
12F609 განვითარების დაფა
12F609 განვითარების დაფა

კარგი, ახალი სკამების ტესტირება, მე მზად ვარ ვცადო სხვა დაფის ტრიალი. ამ დაფის დიზაინში მე ნამდვილად მინდოდა ვცადო ძალა და კომუნიკაცია იმავე ორ მავთულზე. თუ კომუნიკაციის შეცდომები იგნორირებულია, საჭიროა მხოლოდ ორი მავთული. ეს უბრალოდ მაგარია! მიუხედავად იმისა, რომ დენის ხაზებზე კომუნიკაციის გაგზავნა მაგარია, ეს არ არის საჭირო. სურვილის შემთხვევაში, ყველა ნათურა შეიძლება ერთმანეთთან იყოს დაკავშირებული. ეს ნიშნავს, რომ თითოეულ ნათურას დასჭირდება სამი მავთული მეოთხე სურვილისამებრ უკუკავშირის სტატუსის მავთულით. იხილეთ დიაგრამა ქვემოთ. ძალა და კომუნიკაცია შეიძლება გაერთიანდეს მარტივი H- ხიდის გამოყენებით. H- ხიდს შეუძლია დიდი დინების მართვა უპრობლემოდ. ბევრი, მაღალი დენის LED- ები, შეიძლება ერთმანეთზე იყოს დამაგრებული მხოლოდ ორ მავთულზე. ნათურების DC სიმძლავრის პოლარობა ძალიან სწრაფად შეიძლება გადართოთ H- ხიდით. ამრიგად, თითოეული ნათურა იყენებს სრულ ტალღის ხიდს, რომ შეასწოროს გადართვა DC ნორმალურ DC ენერგიაზე. ერთი მიკრო ქინძისთავები უკავშირდება უწყვეტი შემომავალი გადართვის DC დენს ისე, რომ კომუნიკაციის სიგნალი გამოვლინდეს. მიმდინარე შეზღუდვის რეზისტორი იცავს ციფრულ შეყვანას მიკროზე. მიკრო შეყვანის პინის შიგნით, ნედლი გადართვის DC ძაბვა იჭედება მიკროს შიდა ბანაკის დიოდების გამოყენებით - ამ დიოდებით გადართვა DC არის შეკრული (ნულოვანი Vcc ვოლტამდე). სრული ტალღის ხიდი, რომელიც ასწორებს შემომავალ ენერგიას, წარმოქმნის ორ დიოდურ ვარდნას. ხიდიდან ორი დიოდური ვარდნა უბრალოდ გადალახულია H- ხიდის მიწოდების ძაბვის რეგულირებით. ექვს ვოლტიანი H- ხიდის ძაბვა უზრუნველყოფს სასიამოვნო ხუთ ვოლტიან მიწოდებას მიკროში. შემდგომი ინდივიდუალური შემზღუდველი რეზისტორები გამოიყენება თითოეული LED- ის საშუალებით დენის შესამცირებლად. ეს ძალა / კომერციული სქემა, როგორც ჩანს, ძალიან კარგად მუშაობს. მე ასევე მინდოდა ვცადო ტრანზისტორი გამომავალი მიკრო და LED- ებს შორის. სკამზე ტესტირებისას, თუ 12F609 დაიძაბება ძნელად (ძალიან ბევრი დენი მის გამომავალ გზაზე) ის ციმციმებს ყველა გამოსავალს. მაქსიმალური ჩიპი მთლიანი ჩიპისთვის იმ ცხრილის მიხედვით, რომლის მხარდაჭერაც 12F609- ს შეუძლია, არის 90mA, სულ. კარგი, ეს არ იმუშავებს! მე შეიძლება უბრალოდ დამჭირდეს ამაზე მეტად მიმდინარეობა. ტრანზისტორების დამატება მაძლევს შესაძლებლობას 100mA თითო LED- ზე. დიოდური ხიდი შეფასებულია 400mA- ზე, ასე რომ 100mA თითო LED შესაძლებლობებზე უბრალოდ ჯდება. არის მინუსი; თითოეული ტრანზისტორი 10 ცენტი ღირს. მინიმუმ ჩემს მიერ არჩეულ ტრანზისტორებს აქვთ ჩამონტაჟებული რეზისტორები - Digikey ნაწილის ნომერია MMUN2211LT1OSCT -ND. ტრანზისტორების ადგილას, LED- ების ციმციმა არ ხდება. წარმოების ნათურებისათვის მე ვფიქრობ, რომ ტრანზისტორები არ იქნება საჭირო, თუ გამოიყენება "ნორმალური" 20mA LED- ები. ამ საფეხურზე შემუშავებული განვითარების დაფა არის მხოლოდ ტესტირებისა და განვითარებისათვის. დაფა შეიძლება იყოს ბევრად უფრო პატარა, თუ გამოიყენებოდა მცირე რეზისტორები. ტრანზისტორების აღმოფხვრა დაზოგავს ბორტზეც. ჩართვის პროგრამირების პორტი ასევე შეიძლება ამოღებულ იქნას წარმოების დაფებისთვის. განვითარების საბჭოს მთავარი პუნქტია მხოლოდ სიმძლავრის/კომუნალური სქემის დამტკიცება. სინამდვილეში, დაფების მიღების შემდეგ აღმოვაჩინე, რომ დაფის განლაგებასთან დაკავშირებით პრობლემაა. სრული ტალღის ხიდის ჩიპს აქვს სულელური პინუტი. ორი კვალის მოჭრა მომიწია და თითოეული დაფის ძირში ორი ჯუმბერის მავთულის დამატება. გარდა ამისა, LED- ებისა და კონექტორის კვალი ძალიან თხელია. კარგი, იცხოვრე და ისწავლე. არ იქნება პირველი შემთხვევა, როდესაც მე დაფის ახალი განლაგება გავატარე. მე მქონდა რვა დაფა, რომლებიც დამზადებულია BatchPCB გამოყენებით. მათ აქვთ საუკეთესო ფასები, მაგრამ ძალიან დაბალია. დაფების დაბრუნებას კვირა დასჭირდა. და მაინც, თუ თქვენი ფასი მგრძნობიარეა, BatchPCB ერთადერთი გზაა გასავლელი. თუმცა, მე ვაპირებ დაბრუნებას AP სქემებზე - ისინი ძალიან სწრაფია. მე უბრალოდ ვისურვებდი რომ მათ ჰქონდეთ იაფი გზა დაფები კანადიდან გაგზავნისთვის. AP სქემები მიხდის 25 დოლარს გადაზიდვაში თითოეული შეკვეთისთვის. ეს მტკივა, თუ მე მხოლოდ 75 დოლარის ღირებულების დაფებს ვყიდულობ. ორი დღე დამჭირდა რვა პატარა დაფის გასაყიდად. კიდევ ერთი დღე დამჭირდა იმის გასარკვევად, რომ გამწევი რეზისტორი R6 (იხ. სქემატური) არეული იყო ჩემთან. ვფიქრობ, რეზისტორი R6 უბრალოდ არ არის საჭირო. მე შეშფოთებული ვიყავი მონაცემების ფურცლის წაკითხვის შემდეგ და მან აჩვენა, რომ ამ შეყვანის პინზე არ არის შიდა მიკრო გამწევები. ჩემს დიზაინში, პინი აქტიურად არის ამოძრავებული ნებისმიერ დროს, ასე რომ, ბოლოს და ბოლოს ნამდვილად არ არის საჭირო. დაფაზე ბრძანებების გასაგზავნად გამოვიყენე პითონის პროგრამის მარტივი 9600 ბუდი შეტყობინებები. კომპიუტერიდან გამომავალი ნედლეული RS232 გარდაიქმნება TTL– ში MAX232 ჩიპის გამოყენებით. RS232 TTL სიგნალი მიდის H-Bridge საკონტროლო შეყვანისას. RS232 TTL ასევე გადის ინვერტორულ კარიბჭეს 74HC04 ჩიპში. შემობრუნებული RS232 შემდეგ მიდის სხვა H-Bridge საკონტროლო შეყვანისას. ასე რომ, RS232 ტრაფიკის გარეშე, H-Bridge გამოდის 6 ვოლტი. RS232– ის თითოეული ბიტისთვის, H- ხიდი პოლარობას ტოვებს -6 ვოლტამდე, რამდენადაც RS232 ბიტი გრძელდება. იხილეთ ბლოკ დიაგრამის სურათები ქვემოთ. Python პროგრამა ასევე ერთვის. LED- ებისთვის, მე ვიყიდე რამოდენიმე https://besthongkong.com– დან. მათ ჰქონდათ ნათელი 120 გრადუსიანი LED- ები წითელი/მწვანე/ლურჯი/თეთრი. დაიმახსოვრე, LED- ები, რომლებიც მე გამოვიყენე, მხოლოდ სატესტოა. მე შევიძინე 100 თითოეული ფერი. აქ არის ნომრები LED- ებისთვის, რომლებიც მე გამოვიყენე: ლურჯი: 350 მკდ / 18 ცენტი / 3.32 ვ @ 20 მ მწვანე: 1500 მკდ / 22 ცენტი / 3.06 ვ @ 20 მ თეთრი ამ ოთხი LED- ების გამოყენებით ნათურის შესავსებად, ისინი ჯდება იმდენი, რამდენიც მიკრო 82 ცენტი! ოხ

ნაბიჯი 4: პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა ნამდვილად ამხელს ამ პროექტს! კოდის 12F609 მართლაც გართულებულია. მე ვიყენებ მეხსიერების ბოლო ადგილს! ყველა 64 ბაიტი მოხმარებულია ჩემს კოდს. მე მაქვს უზარმაზარი 32 ბაიტი ფლეშ, რომელიც დამრჩა სათადარიგო. ასე რომ, მე ვიყენებ ოპერატიული მეხსიერების 100% -ს და ფლეშის 97% -ს. თუმცა, გასაოცარია რამდენ ფუნქციონირებას მიიღებთ მთელი ამ სირთულისთვის. თითოეულ ნათურაზე კომუნიკაცია დაარქივებულია რვა ბაიტიანი მონაცემების პაკეტების გაგზავნით. თითოეული მონაცემთა პაკეტი მთავრდება შემოწმების ჯამით - ასე რომ, ნამდვილად არის მონაცემების შვიდი ბაიტი პლუს საბოლოო შემოწმების ჯამი. 9600 ბაუდზე, ერთი მონაცემის პაკეტს სულ რაღაც 8 მილიწამი სჭირდება. ხრიკი არის მრავალმხრივი ამოცანა სანამ ბაიტების პაკეტი ჩამოდის. თუ რომელიმე LED- ები აქტიურია PWM სიგნალით, გამომავალი PWM უნდა განახლდეს ახალი პაკეტის ბაიტების მიღების დროსაც კი. ეს არის ხრიკი. კვირა და კვირა დამჭირდა ამის გასარკვევად. მე უზარმაზარი დრო გავატარე ჩემს Logiport LSA– სთან ერთად და ვცდილობდი მიჰყოლოდა თითოეულ ნაწილს. ეს არის ყველაზე რთული კოდი რაც კი ოდესმე მიწერია. ეს იმიტომ ხდება, რომ მიკრო ძალიან შეზღუდულია. მიკროებზე, რომლებიც უფრო მძლავრია, ადვილია დაწეროთ ფხვიერი/მარტივი კოდი და მიიღოთ სწრაფი მიკრო გაფანტვა ჩივილის გარეშე. 12F609– ით, ნებისმიერი ფხვიერი კოდი ძვირად დაგიჯდებათ. ყველა მიკრო წყაროს კოდი ჩაწერილია C- ში, გარდა მომსახურების შეწყვეტისა. თქვენ რატომ გკითხავთ, რატომ გაქვთ ასეთი დიდი მონაცემთა პაკეტი. ისე, იმიტომ, რომ ჩვენ გვინდა, რომ LED- ები ramp up და down საკუთარი ნებით. პანდუსის პროფილის დატვირთვის შემდეგ, LED შეიძლება გათიშოს და დაიწყოს გაფრენა კიდევ ერთი LED- ისთვის ახალი ბრძანებების მიღებისას. თითოეულმა ნათურამ უნდა მიიღოს და გაშიფროს ყველა მონაცემთა პაკეტის ტრაფიკი მაშინაც კი, თუ პაკეტი არ არის განკუთვნილი მისთვის. LED პროფილი შედგება საწყისი დონის, დაწყების ხანგრძლივობის, დამრგვალების სიხშირის, ზედა დონის, ზედა საცხოვრებელი დროის, გადახტომის სიჩქარის, ქვედა დონისგან რა იხილეთ დიაგრამა თანდართული. უი, ეს ბევრია ერთი LED- ისთვის. ახლა გაამრავლეთ რამდენჯერმე LED- ების რაოდენობა. ეს ძალიან ბევრი ხდება - მე შემეძლო მხოლოდ სამი LED- ის თვალყურის დევნება სრული პანდუსული პროფილებით. მეოთხე (თეთრი შუქდიოდი დევ დაფაზე) აქვს მხოლოდ პანდუსი/შესაძლებლობებიდან. ეს არის კომპრომისი. გადახედეთ პანდუსის პროფილის თანდართულ სურათს. PWM სიგნალი წარმოიქმნება ტაიმერისგან, რომელიც მუშაობს 64uS თითო ტკიპზე. რვა ბიტიანი ტაიმერი მოძრაობს ყოველ 16.38 mS– ზე. ეს ნიშნავს, რომ PWM სიგნალი მუშაობს 61.04Hz. ეს არ არის კარგი ვიდეო მოსმენისთვის! ამრიგად, მე გამოვიყენე პროგრამული უზრუნველყოფის ხრიკი და გადავიტანე რამდენიმე დამატებითი ქრონომეტრი ტაიმერში, რომ გავამძაფრო ის 60 ჰც -მდე. ეს ხდის ვიდეოს მოსმენას ბევრად უკეთესად. PWM ქრონომეტრის თითოეულ გადახვევაზე (16.67mS) ვაახლებ რაფის პროფილს (ებ) ს. ამრიგად, თითოეული პანდუსული/საცხოვრებელი ნიშანი არის 1/60 წამი, ან 60 ჰც. პროფილის ყველაზე გრძელი სეგმენტი (255 რიცხვის გამოყენებით) გაგრძელდება 4.25 წამი, ხოლო უმოკლესი (1 -ის დათვლის გამოყენებით) 17 ms. ეს იძლევა სასიამოვნო დიაპაზონს შიგნით მუშაობისთვის. გადახედეთ თანდართულ სურათს ლოგიკური ანალიზატორიდან. სურათის დეტალების ნამდვილად სანახავად, გახსენით სურათი მისი მაღალი გარჩევადობის რეჟიმში. ამას სჭირდება რამოდენიმე დამატებითი დაწკაპუნება სასწავლო საიტზე. ასევე არის ქვემოთ ნაჩვენები პროფილის ნახატი. ბრძანების ოქმის დოკუმენტირება არის ჩემი ტოდოს სიაში. მე ვგეგმავ მონაცემთა ფურცლის ტიპის დოკუმენტის დაწერას, რომელიც სრულად აღწერს პროტოკოლს. მე დავიწყე ჩიპის მონაცემთა ცხრილი - წინასწარი ვერსია ახლა ჩემს ვებგვერდზეა.

ნაბიჯი 5: პოტენციური პროგრამები

პოტენციური პროგრამები
პოტენციური პროგრამები
პოტენციური პროგრამები
პოტენციური პროგრამები

ნაძვის ხის შუქი: რა თქმა უნდა, მე ვფიქრობ, რომ ამ ბავშვებით სავსე ხე უბრალოდ გასაოცარი იქნებოდა. მე შემიძლია წარმოვიდგინო მწვანე შუქების სასიამოვნო თბილი ანათება და მსუბუქი თოვლი ხეზე. შესაძლოა ნელი ქრებოდა მწვანედან წითელში შემთხვევითი დავარდნილი თოვლით. Chaser განათება მიღების helix სპირალური ნიმუში ხე და ქვემოთ იქნება სისუფთავე ძალიან. უხეშად, მე ვაპირებ ამ ხის გაჩერებას ეზოში და მეზობელი "ჯონსი" გავგიჟდები. იქ, სცადე და დაამარცხე ეს! აქცენტი განათება: ყველაფერი, რაც აქცენტის განათებას საჭიროებს, ამ ნათურების სამიზნეა. ჩემს რძალს უნდა ჩაყაროს ისინი თევზის სატანკოში. მეგობარს სურს თავისი ცხელი ძრავის აქცენტი გააკეთოს - გაზის პედლებზე დაძვრენა გამოიწვევს სინათლის წითელ განათებას. მე ასევე განვიხილავდი ერთ -ერთ მათგანს ჩემს ნათურებთან ერთად: https://www.instructables.com/id/LED_Paper_Craft_Lamps/ გახდიდა კუბის სკაუტების დიდ პროექტს. დასაკეცი LED სიმები: LED ნათურების სიმები შეიძლება დაიკეცოს ფორმებად. შვიდი ნათურა შეიძლება დაკეცილი იყოს შვიდ სეგმენტის LED შაბლონში. უზარმაზარი ჩვენება შეიძლება გაკეთდეს - იქნება დიდი ათვლა ჩვენებისთვის ახალი წლისთვის! ან შესაძლოა, საფონდო ბირჟის საჩვენებელი ჩვენება - ცუდ დღეებში წითელი ციფრები და კარგზე მწვანე. შესაძლოა დიდი ეკრანი, რომელიც აჩვენებს გარე ტემპერატურას. 3D ბადე YouTube– ზე არის მაგარი 3D LED მასივის მაგალითები. თუმცა, არსებული მაგალითები, რაც მე ვნახე, პატარა და მტკივნეულად გამოიყურება. შესაძლოა საშობაო დროსაც ეზოში დიდი 3D ბადე გამოვიდეს. WinAmp Plug-In: ყველა, ვინც ჩემს ლაბორატორიაში იყო და ნათურები უნახავს, ეკითხება, ცეკვავენ თუ არა მუსიკაზე. მე პატარა თხრა გავაკეთე, როგორც ჩანს, WinAmp– ში დანამატის დამატება საკმაოდ ადვილი იქნებოდა. დანამატი უგზავნიდა შეტყობინებებს თანდართულ ნათურებს ისე, რომ განათება სინქრონიზებული ყოფილიყო იმ მუსიკასთან, რომელსაც WinAmp უკრავდა. საშობაო მუსიკის სინქრონიზაცია ჩემს ნაძვის ხესთან უბრალოდ გასაოცარი იქნებოდა.ჩამონტაჟებული Baby Orangutan B-328 რობოტი კონტროლერი H-Bridge– ით: პატარა კონტროლერი პოლოლუდან იქნება სრულყოფილი. იხილეთ: https://www.pololu.com/catalog/product/1220 ამ დაფას უკვე აქვს წასასვლელი H-Bridge. ნათურის შაბლონები შეიძლება დაპროგრამდეს მიკროში, ასე რომ კომპიუტერი შეიძლება გამორთული იყოს. 802.15.4: 802.15.4 დამატებით ნათურები შეიძლება გახდეს უკაბელო. ნაძვის ხის შუქები, რომლებიც ვრცელდება სახლში, ეს შესანიშნავი იქნება. ან, შესაძლებელი იქნებოდა დიდი სამშენებლო კომპლექსის თითოეულ ფანჯარაში ნათურების დამატება. მაგარი. მბრუნავი 'შუქურა შუქურა: ჩემს შვილს ჰქონდა სკოლის პროექტი შუქურას ასაშენებლად. იდეა იყო აეშენებინათ კაშკაშა ბატარეაზე მომუშავე შუქი ქაღალდის სამაგრის გადამრთველით, რათა შუქურა ფაქტობრივად განათებულიყო. არცერთი ჩემი შვილი არ წავა სკოლაში, როდესაც მას ექნება სრულფასოვანი მოძრავი შუქურა! ნახეთ თანდართული სურათები და ვიდეო.

ნაბიჯი 6: შეჯამება

მე ნამდვილად მიკვირს, რომ თითოეულ ნათურას აქვს 2 MIPS ცხენის ძალა SOIC-8– ში 80 ცენტით. ნათურების სიმები ვრცელი ლამპების დამატებით გაფართოვდება, ასევე იზრდება MIPS სტრიქონზე. სხვა სიტყვებით რომ ვთქვათ, ეს არის მასშტაბური დიზაინი. 16 ნათურის სიმებიანი ხმება 32 დამუშავების სიმძლავრესთან ერთად. Უბრალოდ საოცარი. ჯერ კიდევ ბევრი სამუშაოა გასაკეთებელი. განვითარების დაფა უნდა განახლდეს. არის რამოდენიმე განლაგების შეცდომა, რომელიც საჭიროებს შესწორებას. კომ შეცდომის გამომავალი გაყვანილობა, როგორც ჩანს, არ მუშაობს ტრანზისტორის გამომავალთან. ჯერ არ ვიცი რატომ - მე ჯერ არ დამიხარჯავს ამის დალაგებაზე დრო. მიმღებ საკომუნიკაციო კოდს ცოტა მეტი მუშაობაც სჭირდება. LED- ების ყურებისას მე ვხედავ, რომ კომუნიკაციის შეცდომები ხშირად ხდება. როგორც ჩანს, საშუალოდ ერთი შემთხვევითი შეცდომაა 1000 შეტყობინებაზე. მე უნდა ვიპოვო SMD წარმოება, რომელიც მზად იქნება ჩემთვის ნათურის დაფები გააკეთოს. იქნებ Spark Fun დაინტერესდება? მე მყავს მეგობარი ჰონგ კონგში, რომელმაც შეიძლება იპოვოს ჩემთვის საწარმო. დაფის შეკრება ავტომატიზებული უნდა იყოს. უბრალოდ შეუძლებელია ამ დაფების ხელით აშენება, როგორც მე გავაკეთე. საჭიროა კომპიუტერის ინტერფეისის დაფის შემუშავება. ეს მართლაც მარტივი უნდა იყოს - ეს მხოლოდ დროის აღების საქმეა. ღირებულება არის მეფე - მინიმიზებული ნათურის ღირებულება (80 ცენტი მიკრო + სამი LED- ისთვის 10 ცენტი თითოეულში + დაფა / რეზისტორები / 20 ცენტი დიოდური ხიდი ჯამში ალბათ $ 1.50 დოლარი. დაამატეთ შეკრება, გაყვანილობა და მოგება და ჩვენ ვსაუბრობთ $ 2.00 -დან $ 2.50 -მდე თითო ნათურაზე. გადაიხდიან თუ არა გიკები $ 40 დოლარს სიმებიანი 16 RGB ნათურის სიმებზე? დედააზრი, იმედი მაქვს, რომ არსებობს ინტერესი წვრილმანი ხალხისგან. გარკვეული დადებითი გამოხმაურებით გავაგრძელებ ამ იდეის პროდუქტად გადაქცევას. მე შემიძლია წარმოვიდგინო ჩიპების, ნათურის დამცავი დაფების და სრული სინათლის სიმების გაყიდვა. მომეცი გარკვეული გამოხმაურება და გამაგებინე რას ფიქრობ. მეტი ინფორმაციისთვის და განვითარების ახალი ამბების სანახავად ეწვიეთ ჩემს ვებ გვერდს https://www.powerhouse-electronics.com მადლობა, ჯიმ კემპი

გირჩევთ: