Små Solar rumstemperatur Regulator (3 / 5 steg)
Steg 3: kodning
Kodning är kanske den svåraste delen. Algoritmen innehåller följande:
1 x övergripande huvudkretsen att initiera och driva alla moduler
2 x kontrollapparater
1 x dekoder för Basys 3 visar
1 x Light controller module från Xilinx
1 x Motor controller module
1 x Motor counter modul att köra motorn för en viss tidsperiod
1 x kortläsare modul för temperaturen sonder
1 x övergripande klocka att köra koden
3 x klocka avdelare i koden för att bromsa klocksignal
1 x Counter modul att köra visas användaren inställningen temperaturen uppåt eller nedåt
1 x Basys 3 Master filen konfiguration
Det föreslås att du använder Vivado 2014 till koden detta projekt, eftersom det är samma program vi använt. Webbplatsen Digilent har bra tutorials på komma igång med Vivado.
Instruktioner för kodning:
Referensfiler: innan du gör något, måste du först skapa ett nytt projekt i Vivado. Sedan kommer du att kunna lägga till våra filer som källor att använda som referenser. Utan att skapa projektet i Vivado, öppnas filer inte.
1. bygga varje moduler på lägre nivå separat. Om möjligt testa de olika modulerna medan du arbetar.
2. komparator modulerna är lättast att bygga och testa på denna punkt. De är mindre-än-eller-lika-till kontrollapparater som jämför följande: inomhustemperaturen och temperaturen utanför, och temperaturen användaren ställer (med öka/minska counter-modul) och inomhustemperaturen.
3. Lägg filerna för sju segment dekoder och klockan avdelare. Sätta detta som behövs i de separata modulerna först för kontroll (kodning länkar).
4. skapa controller modulerna för temperatur sonder och test (kodning länkar). Sonden läser temperatur i Celsius!
5. skapa controller moduler för motor och test. Detta inkluderar både motor controller och motor counter (kodning länkar).
6. skapa modulen counter och testa den med display för att se om det ordentligt ökar eller minskar.
7. skapa ljusbord från Xilinx koden och testa den för att se om lysdioderna flytta ordentligt (kodning länkar).
8. karta system tillsammans i en huvudkretsen fil.
9. Lägg i in- och utgångar till konfigurationsfilen Basys 3 Master.
Också upp används de faktiska VHDL-filerna som referens. Alla filer har kommenterats för att förstå funktionen av varje modul och deras komponenter. Titta på den uppladdade bilden för den hierarkiska strukturen filer i Vivado.
Obs: Projektfilerna som kan komma upp med ett fel under genomförandet för filen ljussensor. Kretsen fungerar fortfarande, det finns bara ett litet fel.
Coding länkar
Outsidecode och information för att hjälpa kod vårt projekt kommer att lämnas här.
Mätsond:
Den mätsond datablad (så att du vet vilka portar gör vad) kan hittas här: http://www.adafruit.com/datasheets/MAX6675.pdf
Motor:
Motoriska koden översattes från Arduino kod ska fungera i VHDL, och vår kod återspeglar redan som. För en grundläggande starter på koden kan du gå hit: https://learn.adafruit.com/adafruit-arduino-lesson...Klockan avdelare och sju Segment dekoder VHDL:
Erhöll under Creative Commons-licens från Brian mjölig och Fabrizio Tappero.
Klockan Divider kod från sidan 151 och SSEG dekoder från sidan 163 i boken Gratis utbud VHDL av Brian Mealy och Fabrizio Tappero: http://freerangefactory.org/pdf/free_range_vhdl.pd...
Ljussensor:
Kod från ljussensor, artighet av Xilinx:
https://reference.digilentinc.com/basys3:xadcdemoBASYS 3 Master File konfiguration:
Kartlägga lämplig signal utgångarna av koden till filen Basys 3 Master, som kan hittas här:
https://www.digilentinc.com/Data/Products/BASYS3/b...
En referensfil har också inkluderats. Denna master fil är där att veta vilka portar som är viktigt i projektet.