Stap 1: onderdelen
1. Nexys4DDR bestuur
Het Nexys4 DDR bord is gebaseerd op de Xilinx XC7A100T-1CSG324C Artix-7 veld Programmable Gate Array (FPGA) ontwikkelplatform.
Artix-7 100T eigenschappen omvatten:
- 15,850 logica segmenten, elk met vier 6-input LUTs en 8 slippers
- 4,860 Kbits van snelle blokkeren RAM
- Zes klok beheer tegels, elke fase-vergrendeld lus (PLL)
- 240 DSP segmenten
- Interne kloksnelheden meer dan 450 MHz
- Op de chip analoog / digitaal-converter (XADC)
De DDR Nexys4 biedt de volgende poorten en randapparatuur:
- 16 gebruiker schakelaars
- 16 gebruiker LEDs
- Twee 4-cijferige 7-segment displays
- USB-UART Bridge
- Twee tri-color LEDs
- Micro SD card connector
- 12-bits VGA-uitgang
- PWM-audio-uitgang
- PDM microfoon
- 3-assige versnellingsmeter
- Temperatuursensor
- 10/100 Ethernet PHY
- 128MiB DDR2
- Seriële Flash
- Vier Pmod-poorten (met 8 i/o's per poort)
- Pmod voor XADC signalen (met 4 differentiële ingangen)
- USB-JTAG poort (voor FPGA-programmering en communicatie)
- USB-HID Host voor muizen, toetsenborden (en geheugensticks voor configuratie).
Dit board is gebruikt als de belangrijkste controller in het project, het centraliseren van de ingevoerde gegevens (van de echografie modules, infraroodsensor en rotary encoders) en de controle op de uitvoer-randapparatuur (LCD, motor stuurprogramma en het tweede platform via RF).
2. mobiele platform
Beide platform werden verworven als een kit, en bevat de belangrijkste kunststof supportforum, twee DC motoren aangedreven wielen (met vaststelling van haakjes), een derde passieve wiel en een uit-knop (het had ook een vier AA-formaat batterijen houder, maar het werd niet gebruikt). De multi-layer structuur werd verkregen met behulp van gewone PCB cooper platen (als gevolg van hun beschikbaarheid, prijs en extra gebruik als een massaplaat).
3. het LCD-scherm
De HannStar Display HSD043I9W1-A is een actieve matrix dunne film transistor (TFT) LCD kleurenscherm (LCD). Deze module bestaat uit een TFT LCD-scherm, een drijvende circuit en een achtergrondverlichting systeem. Dit TFT LCD heeft een 4.3 (16:9) inch diagonaal gemeten actieve weergavegebied met DUIMWQVGA (480 horizontale 272 verticale pixel) resolutie. RGB-gegevens is ingevoerd via parallelle 24-bits (8-bits per kleur) en sync (control) signalen kunnen via horizontale Sync/verticaal Sync (zoals gebruikt in de VGA-interface), of met behulp van DataEnable/DataClock (waar DataEnable is hoog wanneer de horizontale en verticale weergave items in het actieve gebied, met de DataClock 10 MHz zijn). Het werd geborgen van een defecte GPS-navigator (zoals opgemerkt door de gemerkte plastic frame frame), en omdat het had een vrij ontoegankelijke 30-pins 0.5mm pitch platte flex kabel, een adapter bord moest worden gebouwd zodat het gebruik van een comfortabeler 2,54 mm pitch koptekst als een middel om verbinding met het FPGA-board.
4. de infrarood thermometer
Deze module werd ook geborgen van een huishouden-gebruik oor-thermometer waarvan scherm gebarsten. Het ontbreken van eventuele gegevens interface documentatie, gecombineerd met de chip-on-board met geen markeringen, resulteerde in een behoefte van handmatige protocol decodering. Dus, de volgende gegevens mogelijk niet uniek, noch de meest efficiënte manier te verwerven van de temperatuur, maar het lijkt stabiel genoeg is voor dit project te zijn. Via de ingebouwde koptekst (met de pinnen gemarkeerd als "V D C G A") lijkt de onboard microcontroller/ASIC een SPI lijkende gegevens, met de volgende pinout uitvoeren:
- V = 3V3 VCC,
- D = seriële data,
- C = seriële klok,
- G = aarde,
- A = "actie" / Slave Selecteer (gekoppeld aan van de thermometer "Maatregel" knop).
Bovendien een vijfde pin moest worden gesoldeerd (zoals hieronder uitgelegd) met de knop "Menu". Zowel deze knop en de "maatregel" een actieve laag zijn (wanneer ingedrukt, ze trekken het signaal aan de grond).
De manier waarop die de thermometer lijkt te werken is de volgende:
-Het apparaat wordt getrokken uit slaapwijze door te trekken "Menu" naar beneden, het invoeren van het oor meten modus (deze modus impliceert een zeer strenge temperatuurbereik, 34 tot en met 42 graden Celsius en een 2-seconden opwarmtijd, dus niet geschikt voor continu gebruik),
-Om de transit naar kamertemperatuur meting modus, moet zowel "Menu" en "Maatregel" naar beneden worden getrokken voor een tweede, vervolgens vrijgelaten,
-Nu, telkens wanneer die het signaal "Maatregel" laag is, omgevingstemperatuur wordt gemeten (-20 tot + 80 graden Celsius) en output via de "D" pin, in sync met het apparaat intern gegenereerde klok beschikbaar op de "C" pin,
-Voor het verkrijgen van een continue lezing, het "Maatregel" signaal wordt getrokken laag dan hoge met een snelheid van 5Hz, 50% plicht cyclus (tests met hogere frequentie en/of lagere plicht cyclus procent bleek te snel voor interne knop van het apparaat debouncing subonderdeel, het lezen van de input als een continue pers, wat resulteert in een gebrek aan gegevens output). Na de meting voltooid is, wordt de seriële data output gelezen bij het vallen van de klok-rand.
Elke meting cyclus uitgangen een tekenreeks van 40-bits seriële data, samengesteld uit de volgende 8-bit woorden:
0x5B t1t2 t3t4 controlesom 0x0D
Waar de 4-bit woorden t1, t2, t3 en t4, wanneer ze worden omgerekend van hex char resultaten in t1 = tientallen graden, t2 = graden, t3 = 1/10 graden, t4 = 1/100 graden Celsius. -Controlesom is de binaire som van de eerste 24 bits en 0x5B en 0x0D vertegenwoordigt het begin en einde van de gegevensstroom.
5. de ultrasone sensor
De HC-SR04 ultrasone variërend van module biedt 2cm - 400cm contactloze meting functie, met een nauwkeurigheid tot 3mm. De modules bevat ultrasone zender, ontvanger en controle circuit. Voor het meten van afstand, moest het volgende protocol ten uitvoer worden gelegd: "Trigger" pin is getrokken hoog voor 10us (de module stuurt acht 40 kHz), en nadat de module de pulsen signaal terug ontvangt, het trekt de "Echo" pin hoog voor een bepaalde tijd van 1uS per 58 cm gemeten afstand.
6. RF zender module
Deze 2,4 GHz RF modules waren scavenged van een op afstand bestuurde, en volg de standaard 50Hz (en hoog tijd voor 1-2 ms) PWM-signalen geïmplementeerd in hobby-grade analoge gecontroleerd motoren en servomotoren.
Het zenderdeel was en cut-out van de remote control board, en getraceerd alleen naar drie pinnen (3V3 VCC, GND en gegevens). De DATA pin van protocol heeft is gedecodeerd, en lijkt te accepteren de volgende seriële stream: elke 20ms, een trein van de pols met vier op hoog niveau pulse (waarbij elke puls overeenkomt met elk kanaal op de ontvanger, met de duur gelijk is met de toevoeging van 400us aan de bron impulstijd), elk gescheiden
7. dual DC motoren driver
Dit dubbele bidirectionele motor stuurprogramma is gebaseerd op het L298 Dual H-Bridge Motor Driver Integrated Circuit. Het circuit kan het besturingselement van het staat en richting van de twee motoren van 5V tot 35V, tot 2A elke (25W totaal max). Logica wordt geleverd op een niveau van 5V, omvat een inschakelen, en twee signalen voor motor rijden polariteit (zoals afgebeeld in haar interne schema). Een 10 Ohm, 5W vermogen weerstand beperkt de stroom die door de bestuurder over 1A, vermindering van het risico van pre volwassen batterij uitputting.
8. logica niveau converter
De JY-MCU is een 4-way bi-directionele MOS-FET-gebaseerd niveau converter. De low-level referentie spanning wordt geleverd door een interne 3V3 spanningsregelaar, die op zijn beurt wordt aangedreven van de high-level referentie spanning (in dit geval 5V).
9. roterende Encoder
Dit onderdeel is een standaard 24-stappen per passieve roterende encoder omwenteling, gebruikt om het aantal volledige of gedeeltelijke rotatie van de wielen, waardoor een meet- en regeltechniek voor afstand afgelegd op de grond door elk wiel.
10. step-up Switching modus voeding
Aangedreven door een XLSemi XL6009 levert 400kHz 60V 4A Boost DC / DC converter, deze module de vereiste 19V voltage lijn voor de LCD's LED-achtergrondverlichting, converteren van de 12V rail.
11. stap omlaag schakelen modus voeding
Aangedreven door een TI LM2596 150 kHz 40V 3A Buck DC / DC converter, deze module levert de benodigde 5V spanning spoor voor Nexys4 bestuur, echografie modules, motor stuurprogramma logica en RF zender, converteren van de 12V rail. Het neemt een 7-segment display, waarop het toont de input of output spanning, of de uitgangsstroom (instelbaar via de knop modus), waardoor de gebruiker kan ook gebruiken in de constante-huidige modus (naast de gebruikelijke constante-spanning).
12. de batterijhouder
Dit is een standaard batterijhouder kunnen uitvoeren acht AA (R6) 1.5V alkaline batterijen, leveren de 12V spanning rail vereist door de twee DC-DC converters en de motor bestuurder.
13. ESC
Dit is een gestandaardiseerde, hobby-niveau, microcontroller-aangedreven, ESC (elektronische snelheidsregelaar) die twee 50Hz PWM-signalen (correspondent aan gaspedaal en richting) converteren naar de zes signalen nodig voor de motor driver. Het laat ons de eenvoudige L298 H-brug naar de RF ontvanger interface.
14. RF ontvanger
Deze ontvanger converteert het signaal ontvangen in vier afzonderlijke kanalen, uitvoering van de 50Hz, 1 tot 2ms hoog tijd PWM.
15. servomotor
Deze motor PWM-geboden omvat een analoge terugkoppeling teneinde haar standpunt zelfs onder belasting, en is 100% compatibel en ontworpen voor het type RF ontvanger/controller die in dit project wordt gebruikt. Het laat de hoek van de make-shift brancard om pick-up het "slachtoffer" te wijzigen.
16. step-down Switching modus voeding
Gelijkaardig aan de buck-omzetter die wordt toegepast op het andere platform, het ook gebruikt de zelfde LM2596 voltage regulator, maar omvat niet een weergave van de stroom/spanning, noch de huidige beperkende vermogen.
NIEUW: 17. Magnetometer
Om te elimineren van mechanische drift, terwijl het eerste platform vooruit gaat of achteruit, en ook in staat stellen nauwkeurige meting en controle van de hoek van de rotatie terwijl het platform draai links, rechts of 180 graden, werd een HMC5883L 3-as magnetometer (of digitaal kompas) geïntegreerd in het ontwerp. Door het meten van de magnetische veldsterkte op de X- en Y-as en het toepassen van een arctan2() operatie (ook bekend als arctan(x/y)), een magnetisch noorden kop kan worden berekend.