Სარჩევი:

EZProbe, EZ430 დაფუძნებული ლოგიკური ზონდი: 4 ნაბიჯი
EZProbe, EZ430 დაფუძნებული ლოგიკური ზონდი: 4 ნაბიჯი

ვიდეო: EZProbe, EZ430 დაფუძნებული ლოგიკური ზონდი: 4 ნაბიჯი

ვიდეო: EZProbe, EZ430 დაფუძნებული ლოგიკური ზონდი: 4 ნაბიჯი
ვიდეო: TI EZ430 EZProbe 2024, ივლისი
Anonim
EZProbe, EZ430 დაფუძნებული ლოგიკური ზონდი
EZProbe, EZ430 დაფუძნებული ლოგიკური ზონდი

ეს არის მარტივი ლოგიკური ზონდის პროექტი, რომელიც დაფუძნებულია TI EZ430 დონგლზე. მე ვისარგებლე უფასო შეთავაზებით 2010 წლის სექტემბერში TI– დან რამდენიმე ez430– ით. ისინი ძალიან მოსახერხებელი და სახალისოა მცირე კოდის ამონარიდების გამოსაცდელად და უყურებენ led– ის ციმციმს. ისინი მას შემდეგ იწვნენ ჩემს მაგიდასთან და მე უნდა მომეფიქრებინა მათთვის. მე მინდა შევაჩერო ხალხი, რომელიც მოდის და მოითხოვოს ჩემი "მეხსიერების ჯოხის" სესხება. კარგად, ეს არ არის მეხსიერების ჯოხი, 16 ბიტიანი MCU w/ მრავალარხიანი ADC, ადეკვატური 2K პროგრამირების მეხსიერება და მუშაობს 16 MHz– მდე. ყველაფერი შეფუთულია გამართვის პროგრამირების ინტერფეისის დაფით ლამაზი USB მოწყობილობის პაკეტში. ჩემი მთავარი დიზაინის მიზანია შემოვიფარგლო ჩემი ჩარევა ორიგინალური ez430– ით. რომ მე არ მინდა შეცვალო იგი ძალიან ფიზიკურად და მინდა შეინარჩუნო მისი პროგრამირების / გამართვის ფუნქცია სხვა სამიზნე დაფის პროექტებისთვის. ეს ყველაფერი დამატებით სასარგებლო მიზნებს ემსახურება. ეს არის ლინუქსის პროექტი, როგორც ყოველთვის, მე მივაქციე ყურადღება ჩემი საუკეთესო ცოდნით, რათა გამეკეთებინა დებულებები ისე, რომ ის ფანჯრების ქვეშ იყოს აგებული. თუმცა მე არ მაქვს დრო და რესურსი, რომ ყველაფერი გამოვცადო ფანჯრების ქვეშ. ჩემი ელექტრონიკის პროექტების უმეტესობა კეთდება ძალიან პატარა დაფაზე და მე ჩვეულებრივ ვმუშაობ მჭიდრო სივრცეებზე (სამზარეულოს მაგიდა, ნახევარი ნასესხები მაგიდა და სხვა). ბევრი შემთხვევაა, როდესაც მჭირდება წრიული ლოგიკის დონის შემოწმება და ვიყენებ მულტიმეტრს (აგურის ზომა) საგნების შესამოწმებლად. ეს ყოველთვის მაღიზიანებს, რადგან ჩემი პროექტები გაცილებით მცირეა ვიდრე ჩემი მულტიმეტრი და აღმოვაჩინე, რომ ის ყოველთვის ხელს მიშლის. მე მჭირდება ალტერნატივა, მცირე ლოგიკური გამოძიება გააკეთებს. ez430 შესანიშნავია ამ ამოცანისთვის. დასაწყისისთვის, ის უკვე ზონდის მსგავსია, მე უბრალოდ უნდა დავამატო ლურსმანი და რამდენიმე საყრდენი. როგორც უკვე აღვნიშნე, მინდა ეს პროექტი გავხადო მარტივი და არა დესტრუქციული. და მე გამოვიყენე ის, რაც უკვე არსებობს. იმის ნაცვლად, რომ ავაშენო პროექტი pcb / pref-board- ზე, მე ვაშენებ მას სამიზნე msp430f2012 დაფაზე, ვიყენებ 14 პინის სათაურს ხვრელების მეშვეობით, როგორც ჩემი პროტოტიპების არე. ეს არის ის, სადაც მიდის პატარა ლიდერები. არ მინდა პლასტმასის გარსზე ხვრელების გაბურღვა, არ მინდა ძალიან ბევრი მავთულის გაშვება და არც დამატებითი საკონტაქტო წერტილების დამატება. ყველაფერი რაც მჭირდება არის ზონდის io კონტაქტი და ფუნქციის შერჩევის ღილაკის შეყვანა, პლუს gnd და vcc. usb კავშირი მშვენივრად გამოიყურება ამ ამოცანისთვის. მე გამოვიყენებ გამოძიებას USB- ის საშუალებით (პროგრამისტის წრე დამირეგულირებს ჩემთვის დაახლოებით 3 ვ პოტენციალს) და გამოვიყენებ D+ და D- usb კავშირებს ჩემი ზონდისა და გადართვისთვის. ვინაიდან ez430 არის მონა / კლიენტის მოწყობილობა, ინიციალიზაციისთანავე, ის არაფერს გააკეთებს D+-ზე გაყვანის გარდა (მიუთითებს, რომ ეს არის "მაღალსიჩქარიანი" USB). მე ვიყენებ მცურავ D- ს, როგორც ჩემს ზონდს io და D+ როგორც ჩემს ტაქტილურ ღილაკს (მე არც კი მჭირდება ამწევი რეზისტორის დაყენება, ის უკვე არსებობს) დამატებითი ინფორმაციის ნახვა ასევე აქ.

ნაბიჯი 1: მახასიათებლები და პროგრამა

მახასიათებლები და პროგრამა
მახასიათებლები და პროგრამა

მახასიათებლები * მიკროსქემის მიწოდება USB კონექტორის საშუალებით * 3 ოპერაციული რეჟიმი ბრუნავს ლოგიკურ წაკითხვას, პულსის გამომუშავებას, pwm გამომავალს * გრძელი ღილაკის დაჭერა (დაახლოებით 1.5 წმ) ბრუნავს 3 ოპერაციული რეჟიმით * p1.0 ორიგინალური მწვანე led როგორც რეჟიმის მაჩვენებელი, გამორთული - ზონდი, გამომავალი, მოციმციმე - pwmlogic ზონდი * ლოგიკური ზონდი წითელი - გამარჯობა, მწვანე - დაბალი, არცერთი მცურავი * ლოგიკური ზონდი წითელი / მწვანე ციმციმებს უწყვეტი პულსის კითხვისას> 100 ჰერცი * 4 ყვითელი ლიდერი გვიჩვენებს გამოვლენილ სიხშირეებს 8 საფეხურზე მიუთითეთ მაღალი დიაპაზონი (ანუ ნაბიჯი 5-8) * აჩვენებს გამოვლენილი პულსის სიხშირეებს 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ * არა-უწყვეტი ერთჯერადი პულსის ამოფრქვევისთვის, წითელი / მწვანე LED- ები რჩება და შემდგომ პულსის რაოდენობა თანდათანობით გამოისახება led– ებზე, დაითვლის 8 – მდე იმპულსის უწყვეტი გამომუშავება, სიხშირის პარამეტრი * მითითებულია p1.0 ორიგინალური მწვანე led– ით * 4 ყვითელი led აჩვენებს გამომავალი პულსის სიხშირეებს 9 საფეხურზე, მოციმციმე ყვითლები მიუთითებს მაღალ დიაპაზონში (მაგ. ნაბიჯი 5-8) * პულსის სიხშირეები გამომავალი 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz * მოკლე ღილაკის დაჭერით ბრუნავს სიხშირის 9 განსხვავებული პარამეტრი. უწყვეტი პულსის გამომუშავება, pwm პარამეტრი * მითითებულია p1.0 ორიგინალური მწვანე led მოციმციმე * იგივე წინა მუშაობის რეჟიმი, გარდა pwm მნიშვნელობებისა ნაჩვენებია (და დაყენებულია) სიხშირის ნაცვლად * 4 ყვითელი led აჩვენებს გამომავალი pwm პროცენტულ მაჩვენებელს 9 საფეხურზე, მოციმციმე ყვითლები მიუთითებს მაღალი დიაპაზონის (მაგ. ნაბიჯი 5-8) * pwm პროცენტული მაჩვენებლები 0%, 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5%, 100% * მოკლე ღილაკის დაჭერით ბრუნავს 9 სხვადასხვა pwm პარამეტრები. სქემატური სქემა არის შედგება ორი ნაწილისგან, რომელშიც ისინი დაკავშირებულია წყვილი usb კონექტორების საშუალებით. მარცხენა მხარეს სქემატური გვიჩვენებს დამატებებს EZ430 დონგლში F2012 სამიზნე დაფით. მარჯვენა მხარის სქემატური არის ლოგიკური ზონდის თავი და უნდა აშენდეს ნულიდან.

ნაბიჯი 2: ნაწილების სია და მშენებლობა

ნაწილების სია და მშენებლობა
ნაწილების სია და მშენებლობა
ნაწილების სია და მშენებლობა
ნაწილების სია და მშენებლობა

ნაწილების სია * ti ez430-f2013 (პროგრამისტის ნაწილის გამოყენება) * ti ez430 f2012 სამიზნე დაფა * leds 1.2 x 0.8 მმ, 4 ყვითელი, 1 წითელი, 1 მწვანე * ერთი ლურსმანი, დაახლოებით 3/4 ინჩი, ბრტყელი თავით * ერთი ტაქტილური ღილაკი * ქუდი 1 გრამი სუპერ წებოდან (სუპერ წებო ასევე საჭიროა) * usb აკრიფეთ კონექტორი (კომპიუტერის მხარე) * მავთულის კონსტრუქცია მე ვიყენებ msp430f2012 სამიზნე დაფას f2013 სამიზნე დაფის ნაცვლად, რომელიც მოდის ez430 დონგლით მხოლოდ იმიტომ, რომ მე მაქვს რამდენიმე მათგანი. თუ გსურთ გამოიყენოთ ორიგინალური f2013 სამიზნე დაფა, თქვენ მოგიწევთ ხელახლა დაწეროთ კოდის ძალიან მცირე ნაწილი, რომელიც იყენებს adc მცურავი მდგომარეობის შესამცირებლად. f2013– ს აქვს უფრო წინსვლის 16 ბიტიანი ადკ, ნაცვლად 10 ბიტიანი, რომელსაც მე ვიყენებ ჩემს კონსტრუქციაში. თქვენ უნდა გამოვიყენოთ გამაგრილებელი წვერი და ტემპერატურის მარეგულირებელი გამათბობელი რკინა (ან სადგური), მე ვერ წარმომიდგენია, რომ LED- ები შედუღდეს ჩვეულებრივი უთოთი. ისე, როგორც მე გავაკეთე, ეს არის თავსაბურავის დასაფარავად ჯერ, შემდეგ გამოიყენეთ რამდენიმე მშვენიერი ტვიტერი, რომ განათავსოთ smd leds. წითელი და ყვითელი ლიდერების გასწორების შემდეგ, მე 1/8 ვატიანი რეზისტორის ერთ ფეხს ვკრავ და ვამაგრებ მას PCB– ზე, ერთი ბოლო მიდის საერთო gnd– ზე. მწვანე led ბოლო მიდის. ის ძალიან მჭიდროა და თქვენ გსურთ გამოიყენოთ მხოლოდ იმდენი შესაკრავი, რომ ნივთები ერთმანეთთან დააკავშიროთ. ასევე ნაკადი აუცილებელია. გამოიყენეთ მრავალმეტრიანი სახსრების შესამოწმებლად. შემდეგ თქვენ უნდა დააკავშიროთ ღილაკის მავთული და ზონდის მავთული. მე ვიყენებ cat5e გათიშვას, მაგრამ ნებისმიერი მაღალი ლიანდაგის მავთული გამოდგება. როგორც ნაჩვენებია სქემატურ და სურათზე, ისინი სამიზნე დაფიდან გადიან usb კონექტორამდე. კარგი იქნება, თუ ვიპოვი პატარა კონექტორს, რათა სურვილისამებრ დაიშალა, მაგრამ ეს გაკეთდება.

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

ზონდის უფროსი კონსტრუქცია
ზონდის უფროსი კონსტრუქცია

ბოლოში თქვენ იხილავთ ბიტებს, რომლებსაც მე გამოვიყენებდი ზონდის თავების შესაქმნელად (სუპერ წებო). ჩემი იდეა არის ავაშენო ის USB კონექტორზე ისე, რომ მისი მოშორება მოხდეს firmware განახლებებისთვის. მე გამოვიყენე სუპერ წებო ყველაფრის დასალაგებლად. "ფრჩხილი" არის წებოვანი პირდაპირ ტაქტილური ღილაკის თავზე ძალიან სწრაფი რეჟიმის გადართვისთვის და სიხშირის / pwm პარამეტრებისათვის. თქვენ შეიძლება გინდათ სხვაგვარად მოიქცეთ, თუ ეს არ გამოგადგებათ. იქნება რაღაც შემაძრწუნებელი ტაქტილური ღილაკის მექანიზმიდან, ერთ დიზაინში მე ვიყენებ ქაღალდის სამაგრს, რომ შეზღუდო მოძრაობა და მეორე ზონდის თავი ვიყენე ქუდი სუპერ წებოსგან ფრჩხილის პოზიციის უზრუნველსაყოფად. თქვენ ასევე შეგიძლიათ დაამატოთ დაცვის რეზისტორი / დიოდი მას. usb კონექტორს აქვს ეს კავშირები, (1) 5v, (2) D-, (3) D+ და (4) Gnd, D- უნდა იყოს დაკავშირებული ლურსმნთან, D+ უკავშირდება ტაქტილურ ღილაკს, მეორე ტაქტილური ღილაკის ბოლო უნდა იყოს მიწასთან დაკავშირებული. ეს ზონდი- on-connector სტრატეგია მაძლევს უამრავ მოქნილობას, გამოძიების თავზე ელექტროგადამცემი ხაზის საშუალებით, თქვენ შეგიძლიათ გააფართოვოთ წრე და ეს პროექტი სხვა რამად აქციოთ, უბრალოდ შეცვალეთ "თავი" და firmware, მაგ. შეიძლება იყოს ვოლტ მეტრი, TV-b-gone (w/ ტრანზისტორი და ბატარეა გამოძიების თავზე) და ა.შ.

ნაბიჯი 4: განხორციელების ჩანაწერები და ალტერნატიული პროგრამები

განხორციელების შენიშვნები და ალტერნატიული პროგრამები
განხორციელების შენიშვნები და ალტერნატიული პროგრამები

განხორციელების ჩანაწერები

* wdt (watchdog timer) გამოიყენება ღილაკების დროის განსაზღვრისათვის (de-bounce და press-n-hold), ასევე განათების LED პულსისთვის. ეს საჭიროა, რადგან LED- ებს არ აქვთ შემზღუდველი რეზისტორები და მათი მუდმივი ჩართვა შეუძლებელია. * dco საათი დაყენებულია 12 მჰც -ზე, რათა განლაგდეს 3 ვ სამიზნე სქემები. * adc გამოიყენება იმის დასადგენად, ვამოწმებთ თუ არა მცურავ პინს, ბარიერის მნიშვნელობების მორგება შესაძლებელია კოდის საშუალებით. * სიხშირის დადგენა ხდება timer_a- ს დაყენებით ზღვრის გამოვლენისთვის და პულსის დათვლის პერიოდში. * გამომავალი რეჟიმი იყენებს ქრონომეტრის უწყვეტ რეჟიმს, გამომავალ რეჟიმს 7 (დაყენება/გადატვირთვა), როგორც აღრიცხვის, ისე შედარების რეგისტრებს (CCR0 და CCR1) პულსის სიგანის მოდულაციის მისაღწევად.

საწყისი კოდი

ეს არის ინსტრუქციები მხოლოდ Linux– ისთვის, ჩემი გარემო არის ubuntu 10.04, სხვა დისტრიბუცია უნდა იმუშაოს მანამ, სანამ სწორად დააინსტალირეთ msp403 ინსტრუმენტთა ქსელი და mspdebug.

თქვენ შეგიძლიათ შექმნათ დირექტორია და განათავსოთ შემდეგი ფაილები მათში დააწკაპუნეთ ჩამოტვირთოთ ezprobe.c

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

ან შეგიძლიათ გააკეთოთ შემდეგი

msp430 -gcc -Os -mmcu = msp430x2012 -o ezprobe.elf ezprobe.c msp430 -objdump -DS ezprobe.elf> ezprobe.lst msp430 -objdump -h ezprobe.elf msp430 ზომის ezprobe.elf

firmware- ის დასაბლოკად მიამაგრეთ თქვენი ez430 dongle და გააკეთეთ

mspdebug -d /dev /ttyUSB0 uif "prog ezprobe.elf"

ალტერნატიული პროგრამების შესაძლებლობები

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

* servo tester, ეს მე დავიწყე ჩამოტვირთოთ ezprobe_servo.c * ბატარეის ტესტერი/ ვოლტ მეტრი, 2.5 ვ-მდე, ან უფრო მაღალი w/ resistor გამყოფი ალტერნატიული ზონდის თავზე * tv-b-gone, w/ ir led probe- თავი * პონგის საათი, w/ 2 resistor tv-out probe-head

დიაგნოსტიკა

* თქვენ ნამდვილად გჭირდებათ ტემპერატურის მარეგულირებელი რკინა / სადგური და ჯოხების წვრილი რჩევები, ლიდერები (ყველა ერთად) უფრო მცირეა ვიდრე ბრინჯის მარცვალი. * გამოიყენეთ ნაკადი. * მოემზადეთ გამართვის დროს D- და D+ მავთულის გათიშვისთვის, მათ შეიძლება ხელი შეუშალონ ჩვეულებრივ USB ოპერაციას. თუ თქვენ წერთ firmware- ს შეცვლილ მოწყობილობაზე, ნუ გამოუშვებთ ამ ორ პინს, როდესაც თქვენი firmware იწყებს მუშაობას. და თუ ამას გააკეთებთ, თქვენ ვეღარ შეძლებთ firmware- ის გადმოტვირთვას (რა თქმა უნდა, შეგიძლიათ გააუქმოთ ისინი, თუ ეს მოხდა). თუ შეგიძლიათ იპოვოთ პატარა კონექტორები, რომლებიც შეესაბამება USB გარსაცმებს, გამოიყენეთ ისინი. * სამიზნე დაფის ელექტროენერგიის მიწოდება ხდება პროგრამისტის დაფისგან მარეგულირებლის საშუალებით, რაც თავის მხრივ იღებს 5 ვ -ს USB- დან. როდესაც ezprobe- ს ვიყენებ ჩართვაში, მე ჩვეულებრივ მაქვს ჩემი სამიზნე პროექტის წყარო 3v ტყუპი 1.5V AAA– დან, ეს არის ადექვატური, მაგრამ პროექტი უნდა დარჩეს 12 mhz– ზე ან ქვემოთ. 16 მეგაჰერცი dco დასჭირდება სრული 5 ვ წყაროს ენერგიას. * მე არ გამოვიყენე შემზღუდველი რეზისტორი ან ზენერის დიოდი ზონდის დასაცავად. თქვენ შეიძლება გინდოდეთ ასე

გირჩევთ: