FPGA solpanel Optimizer (7 / 12 steg)

Steg 7: Servo drivrutin



Två servo drivrutinsmoduler (en för varje servo) styra hastighet och riktning av servon som roterar ram och solpanel. Dessa moduler ta i en aktivera signal från Mikronesien och sedan skicka en PWM (pulse-bredd-modulation) signal till deras respektive servo som bestämmer riktning och hastighet som servon rotera. Beroende på värdet av PWM-signal, kan du göra servo gå åt vänster eller höger med en långsam eller snabb hastighet.

Vår servo föraren är faktiskt definierat strukturellt. Detta innebär att, som ADC, vi har gett den dess funktion genom att importera andra moduler och koppla ihop dem på ett sätt där vi får det önskade resultatet. I det här fallet är två modulerna vi koppla ihop för att skapa servo föraren en klocka avdelare och en PWM controller.

Här är vår enhet beskrivning för våra servo drivrutin, klocka avdelare och PWM controller:

enhet servo_driver är
Port (CLK: i STD_LOGIC;
BTN_0: I STD_LOGIC;
BTN_1: I STD_LOGIC;
SERVO: Ut STD_LOGIC);
slutet servo_driver;

komponent pwm_control är
Port (CLK: i STD_LOGIC;
DIR: I STD_LOGIC_VECTOR (1 CEN. 0);
SV: I STD_LOGIC;
SERVO: Ut STD_LOGIC);
slutet komponent;

komponent clk_div2 är
Port (CLK: i STD_LOGIC
SCLK: Ut STD_LOGIC);
slutet komponent;

Gränssnittet för servo föraren är mycket enkel. BTN_0 och BTN_1 är aktivera signaler som berättar servo vilken väg att vända. I den servo_driver arkitekturen sätts BTN_0 och BTN_1 genom viss logik att få ett värde för DIR som matas in i pwm_control. pwm_control skapar sedan en pwm-signal enligt den riktning vi vill servo att resa. När det gäller våra servon, en fyrkantsvåg med en bredd av 1,5 millisekunder med en låg 20 ms om stoppas. Något våg över 1.5 ms kommer att orsaka servo att börja flytta motsols. Något lägre än 1,5 kommer att orsaka servo flytta medsols. I vårt fall ville vi servon till flytta ganska långsamt så vi hade en fyrkantsvåg 1.52 MS för ccw rörelsen och en fyrkantsvåg 1,48 MS för cw rörelsen. Som för vår klocka avdelare, vi ville ha våra servo förare att ta emot en klocksignal som hade en period på en mikrosekund. Basys styrelsen har en standard klockfrekvens på 100 Mhz, så att vi delat upp klockan med 100 i klocka avdelare för att uppnå en frekvens på 1 Mhz (1/1 Mhz är 1 mikrosekund).

Här är en del av genomförandet av pwm_controler:

konstant time_high_stopped: heltal: = (1500); ---1500 mikrosekunder = 1.5 ms
konstant time_low: heltal: = (20000);
variabeln th_cntr: heltal intervallet 0 till 2047: = 0;
variabeln tl_cntr: heltal intervallet 0 till 32767: = 0;

om sv = '1' då
om rising_edge(CLK) då---stoppa servo
om DIR = "00" då
om tl_cntr < = time_low sedan
tl_cntr: = tl_cntr + 1.
SERVO < = "0";
elsif th_cntr < = time_high_stopped sedan
th_cntr: = th_cntr + 1.
SERVO < = '1';
annat
tl_cntr: = 0;
th_cntr: = 0;
SERVO < = "0";
slutet om;

Som ni ser, vi jämför en variabel till högst och ändras i nästa fall. Med storleken på variablerna och klockfrekvens 1 Mhz uppdelat får vi en perfekt kvadrat våg med en 1.5 ms hög och 20 ms låg.

Se Steg
Relaterade Ämnen

Bop med FPGA ombord

Välkommen till Bop det med FPGA styrelsen Instructable,Projektet arbetar med CPE 133 på Cal Poly, San Luis Obispo. Detta projekt skapades av Ian Nielsen och Omri Nissan. Utanför koder var inblandade på olika platser och nämns i den slutliga rapporten...

BitRunner FPGA spelet

Skapa och spela upp egna bitars Runner spel. Ingen konsol eller biffiga dator krävs! Tryck på knappen dodge att undvika inkommande hinder för att uppnå högsta poäng! Detta projekt är hyggligt hårt, en utmaning för nybörjare men inte för experter.Dett...

BLOCK RESOURCE OPTIMIZER

BAKGRUND:California står inför en allvarlig torka, nu inne på sitt fjärde år. Vattenreserverna krymper snabbt. Klimatförändringar och El Nino effekt har upprört regn och snöfall mönster att minska påfyllnad av naturliga reservoarer. Kombinera detta m...

Genom att kombinera mina små solpaneler och vindkraftgenerator.

Ive ' parallell fast de kombinerade solpanelerna och vindkraftgenerator.Jag har en blockerande diod till vind generator infogad mellan det och solpaneler.12 volts kontakt från rännil laddaren har en blockerande diod och en LED som blinkar när det fin...

DIY solpaneler för RV eller off grid

detta instructable är om ett par solpaneler jag gjorde medan man reser i våra RV. Jag beställde 72 solceller från ebay. Det var ett kit som kom med celler, flux penna och platt buss tråd. Glaset kom från en Återanvänd butik för 5 spänn. Jag fick epox...

Anpassa en klocka idag! Billiga trackers öka solpanel och solar cooker prestanda.

Solens bana över himlen har varit känt och har varit förutsägbar under mycket lång tid. Personer med solpaneler och Solköken har antingen en high-tech inställning till sol spårning (ljus upptäcka elektronik, etc eller de manuellt justera spis eller p...

FPGA Robotics Vision för någon

Är du som mig intresserad av teknik och ville alltid att använda en av de tunga marker kallas FPGA'S? Är du intresserad av vision och robotics?Mitt mål var att ta FPGA vision till folket, tillgänglig för alla. Jag bestämde mig att bygga min egen grun...

90 w bärbar solpanel

I detta instructable kommer jag visa hur jag byggde en 90Wp (watt peak) "bärbara" solpanel. Den väger 14kg, den har en distribuerad storlek på runt 900mmx900mm (3'x 3') och veck på mitten för transport. Den har portar att driva eller ladda USB-e...

Lägga till en Harbor Freight 45 Watt solpanel till min lagring byggnad

Tidigare i år köpte vi en lagring byggnad 10' X 20" och hade det levereras till bakgården. Lagring är bra - jag sakta flyttar saker från mitt garage till byggnaden, jag gör detta långsamt eftersom jag inte vill allt kastat i byggnaden i slutet av dag...

Luftpumpen bevattning med solpanel

Principen om luftpumpen bevattningSolpanelen levererar energi till Luftpumpen. Sedan sprutar pumpen tryckluft vid korsningen. Den komprimerade luften blandas med vattnet orsakar luft-vatten blandningen vara mindre tät än resten av vattnet runt det oc...

Bifoga en brun hund solpanel till din portfölj

Välkommen till en annan Instructable från Omaha Maker grupp! Som en del av vårt deltagande i Instructables mars bygga natten med Brun hund prylaravsåg vi att tänka ut ett sätt att ta ut "på språng". Läs på!Steg 1: Komma igång Det var vår önskan...

Bygga en 60 Watt solpanel

flera år sedan jag köpte några avlägsna fastighet i Arizona. Jag är astronom och ville ha en plats att öva min hobby långt bort från den fruktansvärda ljusföroreningar Funna nära städerna av någon verklig storlek. Jag hittade en stor bit av egendom....

Bygga en solpanel från celler

ett mål till mig är att ha en konstant, pålitlig, fri, ren, källa av brandfarlig gas på mitt hus. Detta har visat sig vara en utmaning. Jag har varit banbrytande vatten till väte och syre ganska länge, så det är väg jag valde.I detta Instructable kom...

Bygga en solpanel, EVA filmen stil.

Bygga en solpanel, EVA filmen stil. Detta är en fortsättning på min andra instructable "Hur löda solceller ihop". Bilden ovan är på panelen ifyllda. Denna panel sattes upp juli 2013, om producerar en genomsnittlig topp 40 watt. Den är inställd i...

Bygga en billig, Väderskyddad solpanel för kul

Disclaimer: Jag är inte ansvarig om din solpanel bryter, misslyckas eller vad som helst. Detta är ett experiment för skojs skull. Följ på egen risk.Efter många timmars googla ville jag bygga en billig panel för att passa mina krav. Jag kräver inte et...

Bygga en solpanel, 2 glas fönster stil.

I detta instructable kommer jag förklara hur jag byggde en solpanel med 2 rutor av glas. Jag är inte den första personen att göra detta, det finns andra instructables och youtube videor som visar hur detta görs också, men detta är hur jag gjorde det....

Ladda elektrisk cykel batteri med solpanel

"Åh nej! Inte en annan sol laddare av Arduino!" Jag hör dig säga.Huden djup, det är sant. Men om du var som mig, hittade en awesome affär för lågspänning solpanel på nätet (kanske andra hand), och vill ta ut batteriet e-Bike direkt med denna sol...

Ansluta flera solpaneler

Ansluta flera solpanelerAvhandlingar är dioderna som jag använder, de är desamma som används när man bygger panelerna. Hitta dem här.Det finns 3 sätt att ansluta solpaneler; parallella, serie, och en kombination av parallell och serie. Det första sät...

DIY 30W bärbara solpaneler under $50

jag ville göra min egen solpaneler på länge. Denna vecka fick jag äntligen chansen. Jag lärde mig mycket från youtube-videor och instructables webbplats, men de flesta paneler var gjorda av glas, trä och epoxihartser. Jag insåg att det var alltför st...