Hjärnan-kontrollerade RC helikopter (3 / 9 steg)
Steg 3: Anslut kontrollstyrelsen att logik Analyzer
För detta Instructable först användes en Tektronix 1241 Logik Analyzer , då en Saleae logik som tillät oss att exakt mäta frekvensen som ramar för data skickades (22ms) inklusive format, antal och innehåll av tecken i varje byte av dess serial protocol (8 databitar, ingen paritet, 1 stoppbit), samt dess klassar (133000 baud). Varje bildruta innehåller 14 byte som bekvämt kan föreställas i hex notationen.
Obs: överföringshastigheten ganska kritisk . Den närmaste standard baud till vårt mål stöds av de flesta om inte alla seriella enheter (inklusive USB-till-seriell enheten kräver vi) är 115200. Detta var för långt ut från vår sändare och under första experiment försök till kommunikation misslyckades. Det blev nödvändigt att välja en USB-till-seriell enhet vars chipset tillåtna fastställandet av en godtycklig överföringshastigheten. För den slutliga satte vi på en modell som innehöll en FTDI chipset (särskilt den FT232 USB-seriell (UART) IC, se ordlistan för detaljer).
Bifogat till detta steg finns exempel loggfiler fångas med "Logik" programmet fritt tillgänglig från Saleae. I den första filen gasspjället är helt nedfällt, i den andra filen är gasspjället helt i uppfällt läge.
Mer specifika riktningar och diskussionen gäller hur man använder en logik analyzer är utanför omfånget för detta dokument.
Lekman förklaring:
(Obs: denna förklaring inte är 100% korrekt men kan vara ett bra sätt att visualisera och förstå vad som händer)
I våra tidigare analogi konstaterade vi att vattentrycket och nivå så det flödade genom rören var besläktad med spänning av den elektriska ström som passerar genom vår krets, ändras med "portarna" till joysticks att höjas och sänkas. Som vi lärt oss med hjälp av oscilloskop emellertid, är signalen skickas mellan mikro-controller och sändaren chip digital, inte analog. Detta effektivt innebär att varje gång vi tar ett mått vattenpipa kommer antingen vara full eller tom i en viss punkt, aldrig i mellan. Genom att växla mellan dessa två ytterligheter, som binära tal sänds.
Ett annat sätt att tänka är att föreställa sig två personer i vardera änden av röret, en avsändare och en mottagare. I detta fall avsändaren är mikro-controller (eftersom den vet värdet av numren skickas) och mottagaren är sändaren chip. Försök att skicka information av översvämningar och dränering rören skulle vara mycket långsam, så istället använder de en ficklampa för att kommunicera i en form av morsekod.
Varje så ofta, kommer att mottagaren kika in i röret och i samma ögonblick avsändaren kommer att antingen slå på ficklampan att indikera en en, eller lämna det bort för att ange en nolla. Varje gång detta händer en enda bit meddelas. Detta kommer att ske snabbt åtta gånger i rad, bildar en byte. Om varje bit var en bokstav i ett ord, skulle arbetet vara byte. Logik analyzer ytterligare berättar att det finns fjorton byte eller "ord" i varje mening som talas av mikro-controller att sändaren chip, och varje mening innehåller alla joystick inställningar för varje rörelse riktning fjärrkontrollen är kapabel att inställningen. Komplett meningen blir ständigt upprepas cirka 45 gånger per sekund (en gång varje 22ms) som fjärrkontrollen drivs på.
Den överföringshastighet som nämns ovan som kritisk skulle vara den förutbestämda timing avsändaren och fått skulle har kommit överens om för att skicka ljusblixtar. Med andra ord om avsändaren kommer att skicka en blixt en gång var femte sekund men mottagaren bara var ute en gång var tionde sekund, mottagaren skulle bara vara där för att bevittna hälften av signalerna och efter den första vyn skulle spela in varje efterföljande bitar i fel positioner inom orden de spelar in. När vi säger att överföringshastigheten är 133000 vad det egentligen betyder är det finns upp till 133.000 enskilda blixtar händer varenda andra!