Inhoudsopgave:
- Stap 1: Bouw een elektronisch circuit
- Stap 2: Pinplanner instellen
- Stap 3: Verilog-code
- Stap 4: Upload Verilog-code
Video: FPGA Cyclone IV DueProLogic regelt servomotor - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
In deze tutorial gaan we Verilog-code schrijven om de servomotor te besturen. De servo SG-90 is vervaardigd door Waveshare. Wanneer u de servomotor koopt, ontvangt u mogelijk een gegevensblad met de bedrijfsspanning, het maximale koppel en de voorgestelde pulsbreedtemodulatie (PWM) … enz. De FPGA DuePrologic levert echter een ingangsspanning van 3,3V, waarbij de bedrijfsspanning van servo SG-90 5V - 7V is. Bij gebrek aan elektrische stroom zal ik mijn gekalibreerde PWM vermelden om de servomotor met succes te laten draaien.
Onze taak: de servomotor wordt heen en weer gedraaid met de periode van 5 seconden
Volledig menu:
Stap 1: Bouw een elektronisch circuit
Stap 2: Pinplanner instellen
Klik op "Start I/O Assignment Analysis" om te controleren of de pinplanner correct is ingesteld. Anders moet u alle poortnamen zelf importeren.
Stap 3: Verilog-code
We maken een timer "servo_count". Wanneer "servo_A" HOOG is, is de PWM 1,5 ms en daarom bevindt de servo zich op 120 graden. Wanneer daarentegen "servo_A" LAAG is, is de PWM 0,15 ms en daarom blijft de servo op 0 graden.
toewijzen XIO_2[3] = servo_pulse; //voor V'
reg [31:0] servo_count;
eerste begin
servo_count <= 32'b0;
servo_A <= 1'b0;
einde
altijd @(posedge CLK_66)
beginnen
servo_count <= servo_count + 1'b1;
if (servo_count > 400000000) // Klokcyclus 66 MHz, 1/66 M * 400000000 ~ 5 seconden
beginnen
servo_A <= !servo_A;
servo_count <= 32'b0;
einde
einde
reg [31:0] ex_auto;
eerste begin
ex_auto <= 32'b0;
servo_auto <= 1'b0;
einde
altijd @(posedge CLK_66)
beginnen
if(servo_A==1'b1)
beginnen
ex_auto <= ex_auto + 1'b1;
if (ex_auto> 100000) // Klokcyclus 66 MHz, deze PWM is ~ 1,5 ms, servo draait tot 120 graden
beginnen
servo_auto <= !servo_auto;
ex_auto <= 32'b0;
einde
einde
if(servo_A==1'b0)
beginnen
ex_auto <= ex_auto + 1'b1;
if (ex_auto> 10000) // Klokcyclus 66 MHz, deze PWM is ~ 0,15 ms, servo draait naar 0 graden
beginnen
servo_auto <= !servo_auto;
ex_auto <= 32'b0;
einde
einde
einde
Stap 4: Upload Verilog-code
Klik op "Start Compilatie". Als er geen foutmelding wordt weergegeven, gaat u naar "Programmer" om de hardwareconfiguratie te voltooien. Vergeet niet om het pof-bestand bij te werken in "Bestand wijzigen" indien nodig. Klik op "Start" om de code te uploaden.
Je moet immers zien dat de servomotor periodiek wordt rondgedraaid.
Aanbevolen:
Arduino-zelfstudie servomotor besturen: 4 stappen
Hoe de servomotor Arduino-zelfstudie te besturen: Hey jongens! welkom bij mijn nieuwe tutorial, ik hoop dat je al genoten hebt van mijn vorige instructable "Grote stappenmotorbesturing". Vandaag plaats ik deze informatieve tutorial om je de basisprincipes van elke servomotorbesturing te leren, ik heb al een video gepost
Toegangscontrole kattenvoer (ESP8266 + servomotor + 3D-printen): 5 stappen (met afbeeldingen)
Toegangscontrole voor kattenvoer (ESP8266 + servomotor + 3D-printen): dit project gaat over het proces dat ik gebruikte om een geautomatiseerde kattenvoerbak te maken voor mijn oudere diabetische kat Chaz. Kijk, hij moet ontbijten voordat hij zijn insuline kan krijgen, maar ik vergeet vaak zijn voerbak op te halen voordat ik naar bed ga, wat spo
Animatronics Basics - de servomotor: 8 stappen
Animatronics Basics - de servomotor: Of het nu gaat om een vrolijke kerstuitstalling in de etalage van een warenhuis, of een enge Halloween-grap, niets trekt de aandacht als een geanimeerde pop. Deze elektronisch gestuurde animaties worden soms "animatronics" genoemd. en dit
Maak elke sensor uit een FPGA: 4 stappen
Maak elke sensor uit een FPGA: de meeste makers hebben minstens één keer in hun leven geprobeerd een thermometer te bouwen, misschien is degene die ze thuis hebben niet slim genoeg, of misschien denken ze dat ze het volgende NEST kunnen bouwen. Niettemin hadden ze op een gegeven moment een microcontroller met hun status
[Arduino Robot] Hoe maak je een Motion Capture-robot - Duimen Robot - Servomotor - Broncode: 26 stappen (met afbeeldingen)
[Arduino Robot] Hoe maak je een Motion Capture-robot | Duimen Robot | Servomotor | Broncode: Thumbs Robot. Gebruikt een potentiometer van MG90S servomotor. Het is erg leuk en makkelijk! De code is heel eenvoudig. Het is slechts ongeveer 30 lijnen. Het ziet eruit als een motion-capture.Laat een vraag of feedback achter! [Instructie] Broncode https://github.c