Სარჩევი:
- ნაბიჯი 1: შექმენით ელექტრონული წრე
- ნაბიჯი 2: დააყენეთ Pin Planner
- ნაბიჯი 3: Verilog Code
- ნაბიჯი 4: ატვირთეთ Verilog კოდი
ვიდეო: FPGA Cyclone IV DueProLogic Controls Servo Motor: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ამ სახელმძღვანელოში ჩვენ ვაპირებთ დავწეროთ Verilog კოდი სერვო ძრავის გასაკონტროლებლად. Servo SG-90 დამზადებულია Waveshare– ის მიერ. როდესაც ყიდულობთ სერვო ძრავას, თქვენ შეიძლება მიიღოთ მონაცემთა ცხრილი, რომელშიც მოცემულია ოპერაციული ძაბვა, მაქსიმალური ბრუნვის მომენტი და შემოთავაზებული პულსის სიგანის მოდულაცია (PWM) … და ა.შ. თუმცა, FPGA DuePrologic უზრუნველყოფს შეყვანის ძაბვას 3.3V, სადაც servo SG -90– ის სამუშაო ძაბვაა 5V - 7V. ელექტროენერგიის არარსებობის შემთხვევაში, მე ჩამოვთვლი ჩემს დაკალიბრებულ PWM– ს, რათა სერვო ძრავა წარმატებით მოვატრიალო.
ჩვენი ამოცანა: სერვო ძრავა ბრუნავს წინ და უკან 5 წამის განმავლობაში
სრული მენიუ:
ნაბიჯი 1: შექმენით ელექტრონული წრე
ნაბიჯი 2: დააყენეთ Pin Planner
დააწკაპუნეთ "I/O Assignment Analysis" - ის შესამოწმებლად, არის თუ არა pin planner სწორად დაყენებული. წინააღმდეგ შემთხვევაში, თქვენ უნდა შემოიტანოთ ყველა პორტის სახელი.
ნაბიჯი 3: Verilog Code
ჩვენ ვქმნით ტაიმერს "servo_count". როდესაც "servo_A" არის მაღალი, PWM არის 1.5ms და, შესაბამისად, servo მდებარეობს 120 გრადუსზე. ამის საპირისპიროდ, როდესაც "servo_A" არის დაბალი, PWM არის 0.15ms და, შესაბამისად, სერვო რჩება 0 გრადუსზე.
მიანიჭეთ XIO_2 [3] = servo_pulse; // V- სთვის
reg [31: 0] servo_count;
საწყისი დასაწყისი
servo_count <= 32'b0;
servo_A <= 1'b0;
დასასრული
ყოველთვის @(posedge CLK_66)
დაწყება
servo_count <= servo_count + 1'b1;
თუ (servo_count> 400000000) // საათის ციკლი 66MHz, 1/66M * 400000000 ~ 5 წამი
დაწყება
servo_A <=! servo_A;
servo_count <= 32'b0;
დასასრული
დასასრული
reg [31: 0] ex_auto;
საწყისი დასაწყისი
ex_auto <= 32'b0;
servo_auto <= 1'b0;
დასასრული
ყოველთვის @(posedge CLK_66)
დაწყება
თუ (servo_A == 1'b1)
დაწყება
ex_auto <= ex_auto + 1'b1;
თუ (ex_auto> 100000) // საათის ციკლი 66MHz, ეს PWM არის ms 1.5ms, სერვო ბრუნავს 120 გრადუსამდე
დაწყება
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
დასასრული
დასასრული
თუ (servo_A == 1'b0)
დაწყება
ex_auto <= ex_auto + 1'b1;
თუ (ex_auto> 10000) // საათის ციკლი 66MHz, ეს PWM არის 15 0.15ms, სერვო ბრუნავს 0 გრადუსამდე
დაწყება
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
დასასრული
დასასრული
დასასრული
ნაბიჯი 4: ატვირთეთ Verilog კოდი
დააჭირეთ "შედგენის დაწყება". თუ შეცდომის შეტყობინება არ არის ნაჩვენები, გადადით "პროგრამისტი" აპარატურის დაყენების დასასრულებლად. გახსოვდეთ pof ფაილის განახლება "ფაილის შეცვლა" საჭიროების შემთხვევაში. დააჭირეთ ღილაკს "დაწყება", რომ ატვირთოთ კოდი.
ყოველივე ამის შემდეგ, თქვენ უნდა ნახოთ, რომ სერვო ძრავა პერიოდულად ბრუნავს.
გირჩევთ:
FPGA Cyclone IV DueProLogic აკონტროლებს ჟოლოს Pi კამერა: 5 ნაბიჯი
FPGA Cyclone IV DueProLogic აკონტროლებს ჟოლოს კამერას: მიუხედავად იმისა, რომ FPGA DueProLogic ოფიციალურად შექმნილია Arduino– სთვის, ჩვენ ვაპირებთ FPGA და Raspberry Pi 4B გადამდები გავხადოთ. ამ დავალებაში სამი ამოცანაა შესრულებული: (ა) ერთდროულად დააჭირეთ ორ ღილაკს FPGA გადაატრიალებს კუთხეს
FPGA Cyclone IV DueProLogic - Push Button & LED: 5 Steps
FPGA Cyclone IV DueProLogic - Push Button & LED: ამ გაკვეთილში ჩვენ ვაპირებთ FPGA– ს გამოყენებას გარე LED წრედის გასაკონტროლებლად. ჩვენ ვაპირებთ განვახორციელოთ შემდეგი ამოცანები (A) გამოიყენეთ ღილაკები FPGA Cyclone IV DuePrologic– ზე LED- ის გასაკონტროლებლად. (B) Flash LED ჩართვა & პერიოდულად გამორთულია ვიდეო დემო ლაბორატორია
Arduino Cyclone თამაში: 5 ნაბიჯი (სურათებით)
არდუინოს ციკლონის თამაში: მე არასოდეს მითამაშია ნამდვილი ციკლონური არკადული თამაში, მაგრამ მე მომწონს იდეა ვითამაშო ჩვენი რეაქციის დროს. მე შევიმუშავე მინიატურული თამაში. იგი შედგება 32 LED- ისგან, რომლებიც ქმნიან წრეს, LED- ები ანათებს სათითაოდ, როგორც led chaser. მიზანი არის დააჭირეთ ღილაკს
Construindo Controls Para Makey Makey: 6 ნაბიჯი
კონსტრუქციული კონტროლი Makey Makey– სთვის: კონსტრუქციული პერსონალური კონტროლი Makey Makey– სთვის, რომელიც გააცნობს თქვენს ინიციატივებს, როგორც სტრესულ თამაშებს. კონფერენცია არის მარტივი: 1) ინტერნეტიდან (ან OBS: Você deve estar atent for a quantidade d
Fpga კონტროლირებადი RC Servo Motor Robot Arm - Digilent კონკურსი: 3 ნაბიჯი
Fpga კონტროლირებადი RC Servo Motor Robot Arm - Digilent კონკურსი: FPGA კონტროლირებადი servo motor robot arm ამ პროექტის მიზანია შექმნას პროგრამირებადი სისტემა, რომელსაც შეუძლია შეასრულოს შედუღების ოპერაციები პერფის დაფაზე. სისტემა დაფუძნებულია Digilent Basys3 განვითარების დაფაზე და მას შეეძლება შეაერთოს