FPGA zonnepaneel Optimizer (3 / 12 stap)

Stap 3: Eindige toestandsmachine


De eerste module in het ontwerp is de eindige staat machine(FSM). Deze module kent vijf verschillende statussen die worden gebruikt om te bepalen hoe en wanneer het systeem reageert. Uit de vijf staten is een Braziliaanse handbediening waarin de servo's kunnen worden gecontroleerd door de ingebouwde knoppen. De andere vier staten optreden sequentieel wanneer de centrumknoop op het bord wordt gedrukt. Deze Staten worden de kalibratie-Staten genoemd. Bij het kalibreren, gaat de horizontale servo in de horizontale vegen staat, vegen van 180 graden. Zoals het scannen de spanningen, lijkt het voor de horizontale spanning van de max. Zodra het gaat via haar full-motion, overgangen de FSM in de horizontale max staat waar het controleert de servo om terug te keren van de locatie van de max spanning ontvangen. Vervolgens gaat de FSM in de verticale sweep staat waar het controleert de verticale servo te scannen op en neer 45 graden voor de nieuwe max spanning. Tot slot gaat de FSM in de verticale max staat zodra het vindt de max spanning en keert terug naar dat punt, net als de horizontale servo. Nadat de kalibratie is voltooid, voert u de servo's terug in de handleiding staat.

Hier is de beschrijving van de entiteit van onze FSM in VHDL:

entiteit FSM is
Poort (BTN_L, BTN_R, BTN_U, BTN_D, BTN_C: in STD_LOGIC;---input knoppen
CNT_L, CNT_RU, CNT_D: In STD_LOGIC; ---servo inschakelen signalen van teller
CLK: In STD_LOGIC; ---kloksignaal
HS, VS, MC: Uit STD_LOGIC; ---teller inschakelen signalen
SERVO_L, SERVO_R, SERVO_U, SERVO_D: die STD_LOGIC; ---servo inschakelen signalen
CNT_RST: Uit de STD_LOGIC); ---reset signaal voor een van de items
einde FSM;

De FSM is het brein van het systeem. Hiermee kunt u alle signalen waarmee andere componenten input dienovereenkomstig reageren. De beschrijving van het platform VHDL bestaat uit twee delen. De eerste is een synchrone proces dat de huidige status (PS) van de machine staat het volgende frame (NS wijzigt). De tweede is de combinatorische proces, die neemt alle ingangen en besluit van de lidstaat van het volgende van machines. Deze processen vormen samen de FSM.

Hier is wat code uit onze beschrijving van het platform. Het bevat de synchroon proces en de eerste twee staten van onze combinatorische proces:

type staat is (man, hor_sweep, hor_max, vert_sweep, vert_max); ---onze staten definiëren
signaal PS: staat;
signaal NS: staat;

sync_proc: (CLK, NS)---synchroon proces
beginnen
Als rising_edge(CLK) dan
PS < = NS;
einde als;
einde proces sync_proc;

comb_proc: proces (PS, BTN_L, BTN_R, BTN_U, BTN_D, BTN_C, CNT_L, CNT_RU, CNT_D)
beginnen
SERVO_L < = "0"; SERVO_R < = "0"; SERVO_U < = "0"; SERVO_D < = "0";
zaak PS is
Wanneer man = >
Als (BTN_C = '1') dan
NS < = hor_sweep; ---gaan de eerste kalibratie staat als de middelste knop wordt ingedrukt
CNT_RST < = "0";
HS < = '1'; VS < = "0"; MC < = "0"; ---Vertel de horizontale teller om te beginnen met het tot nu toe
anders
Als (BTN_L = '1') vervolgens SERVO_L < = '1'; SERVO_R < = "0"; ---van deze kunt u zien hoe wij
anders SERVO_L < = "0"; ---geslaagd de servo's in de handleiding staat
einde als;

Als (BTN_R = '1') vervolgens SERVO_R < = '1'; SERVO_L < = "0";
anders SERVO_R < = "0";
einde als;
Als (BTN_U = '1') vervolgens SERVO_U < = '1'; SERVO_D < = "0";
anders SERVO_U < = "0";
einde als;
Als (BTN_D = '1') vervolgens SERVO_D < = '1'; SERVO_U < = "0";
anders SERVO_D < = "0";
einde als;
NS < = mens; ---blijven in de handleiding staat
CNT_RST < = '1'; ---houden de max teller-reset
HS < = "0"; VS < = "0"; MC < = "0"; ---Schakel een van de items niet
einde als;
Wanneer hor_sweep = >
SERVO_U < = "0"; SERVO_D < = "0";
CNT_RST < = "0";
Als (CNT_L = '1') dan
SERVO_L < = '1'; SERVO_R < = "0";
HS < = '1'; VS < = "0"; MC < = "0";
NS < = hor_sweep;
anders
SERVO_L < = "0"; SERVO_R < = "0";
HS < = "0"; VS < = "0"; MC < = '1';
NS < = hor_max;
einde als;

De andere drie staten zijn het maximaliseren van de horizontale spanning, vegen de verticale servo, en vervolgens de verticale spanning te maximaliseren. Zodra het wordt gedaan kalibreren, gaat het terug naar de handmatige stand. In termen van variabelen zijn HS, VS en MC dat allemaal signalen die naar items inschakelen. CNT_L, CNT_RU en CNT_D zijn signalen die afkomstig zijn van de tellers en vertel het FSM station de overeenkomstige servo. Alle knoppen zijn toegewezen input in het FSM. Deze bepalen de eerste zet in de kalibratie staat alsook het verplaatsen van de servo's in de handleiding staat.

Gerelateerde Artikelen

Laad een batterij met een Motor of een zonnepaneel!

Laad een batterij met een Motor of een zonnepaneel!

Ga voor groen met uw zeer eigen vermogen generator!Grote industriële macht generatoren elektriciteit maken door te draaien aan enorme motoren met steenkool en fossiele brandstoffen, maar kunt u uw eigen met een kleine DC motor en sommige eenvoudige e
Tot vaststelling van TopRaySolar-TPS-218, draagbaar zonnepaneel

Tot vaststelling van TopRaySolar-TPS-218, draagbaar zonnepaneel

Gekocht op een veiling. Wanneer gecontroleerd was hij dood.Stap 1: En toen uit elkaar getrokken, werd duidelijk waarom... :-) De schakelaar, de bedrading en de diod kreeg beïnvloed.Stap 2: Water ingangspunten Water kreeg binnen door de gaten van het
Zonnepaneel Dual managementsysteem (DMS SP)

Zonnepaneel Dual managementsysteem (DMS SP)

Dit IoT prototype heeft twee functies: 1) diefstal preventie en 2) onderhoud indicatie van zonnepaneel met behulp van een LinkIt en sensoren1) diefstal preventie: om dit te bereiken gebruiken we de GPS en GPRS kenmerken van LinkIt een bord met de ver
QRPp 5 volt zender / zonnepaneel

QRPp 5 volt zender / zonnepaneel

Dit is een zeer lagere macht ham radiozender met behulp van een zonnepaneel (ontworpen voor het opladen van een mobiele telefoon) als een krachtbron.Stap 1: Een zonne-energie zeer laag stroomverbruik (QRPp) zenderGedoneerd 5 volt zonne-energie planke
Zonnepaneel verlichting

Zonnepaneel verlichting

Hallo iedereenIk ben in het midden van mijn huis opknappen, en besloot om het uiterlijk van mijn planten met LED-verlichting.Ik ging en kocht een paar plantenbakken, toegevoegd sommige sterke planten die liefde van de zon en ze buiten mijn keuken gep
Pole gemonteerd X / Y Static zonnepaneel verstelbare beugel

Pole gemonteerd X / Y Static zonnepaneel verstelbare beugel

De motivatie voor dit project was om een zonnecollector dat de bevoegdheden van een pomp op een gouden visvijver van de grond.Het project is om make an verstelbaar (maar statische, niet-gemotoriseerde) X / Y Mount voor een vlakke paneel zonnecollecto
Zonnepaneel statiefaansluiting

Zonnepaneel statiefaansluiting

Zonnepanelen zijn geweldig voor het verkrijgen van macht op externe locaties. Maar je moet altijd een manier vinden om het deelvenster instellen zodra je er. Een geweldige manier om dit te doen is met een statief-mount.Een standaard camera statief is
Het toevoegen van een Harbor Freight 45 Watt zonnepaneel aan mijn opslag gebouw

Het toevoegen van een Harbor Freight 45 Watt zonnepaneel aan mijn opslag gebouw

Eerder dit jaar kochten we een opslag gebouw 10' X 20" en had het geleverd aan de achtertuin. Het gebouw van de opslag is geweldig - ik ben langzaam bewegende dingen van mijn garage aan het gebouw, ik doe dit langzaam omdat aan het eind van de dag ik
Zonnepaneel Rover

Zonnepaneel Rover

Als u wilt bouwen van een 8. 64 kWh zonnepaneel Rover, dan is dit de instructable voor u! Operationele beschrijvingen zal ook opgenomen worden in dit instructable evenals korte assemblage-richtingen. Oorspronkelijk was dit zonnepaneel rover gemaakt o
Huis DIY Solar: Planning een zonnepaneel (Beginner's Guide)

Huis DIY Solar: Planning een zonnepaneel (Beginner's Guide)

Hi er!Misschien hebt u overwogen zonne-energie - zelfs als slechts voor een kort moment - om alleen maar te sluiten als te ingewikkeld en te duur, of misschien u serieus een project overweegt, maar niet weet waar te beginnen. Met dit Instructable hoo
Hexapod Robot gebaseerd op FPGA

Hexapod Robot gebaseerd op FPGA

dit is een hexapod robot die uit twaalf DC-servomotor bestaat, bestuurd door een FPGA-chip. Het kader is programmeerbaar en extendible.we kunnen ontwerpen verschillende programma's om de robot reageren op verschillende manieren te maken.Ik werd geïns
Zonnepaneel Setup rond de $100

Zonnepaneel Setup rond de $100

mijn doel was om gratis en gebruik, mobiele telefoons, tablets, laptops en andere apparaten die gebruikmaken van minder dan 100 watt te kunnen. Ook wilde ik de macht klaar en beschikbaar dag of nacht.De onderdelen die ik heb gebruikt zijn:$39 Untabbe
Doel nul Nomad zonnepaneel Frame

Doel nul Nomad zonnepaneel Frame

Hier is een simpel frame die ik gebouwd voor het doel nul Nomad-stijl draagbaar zonnepaneel. Hieronder vindt u instructies voor zowel de Nomad 7 en Nomad 20 panelen. Gemaakt van carbon vezel staaf en duidelijke slang. Doel: maximaliseren de zonne-ene
Solar Powered ledverlichting toevoegen aan een Harbor Freight 45 Watt zonnepaneel kit

Solar Powered ledverlichting toevoegen aan een Harbor Freight 45 Watt zonnepaneel kit

Afgelopen najaar ik aan mijn externe opslag gebouw een Harbor Freight 45 Watt zonnepaneel kit toegevoegd. Ik wilde lichten in het gebouw, maar het was niet de moeite waard de kosten voor het uitvoeren van macht aan het gebouw slechts voor verlichting