Kan tilläggas att det första vi lyckades göra efter att vi fått allt att funka, var att göra sönder vår sändare. Som tur var hade Rikard en i reserv!
onsdag 4 juni 2008
Klart!
För två dagar sen blev vi klara med projektet. Den klarar nu ett avstånd på ca 60 cm, vilket vi anser får räcka. Vi har monterat upp mottagare och sändare, så det är bara att ställa ut dem på valfritt ställe. Munta idag och redovisning imorgon!
söndag 1 juni 2008
Not so great success
...och idag funkar det inte alls!
Signalen från schmittriggern på mottagaren beter sig konstigt, istället för att ge ut en jämn ström av ettor och nollor när signalen är obruten och bara ettor när signalen är bruten, så ger den ut ettor och nollor hela tiden, oberoende av vad man gör.
Det funkar bra att ha enkapseldatorn på ett kopplingsdäck nu iaf. Och displayen visar rätt siffror. Rapporten är skriven, ska bara till nåt kopplingsschema och så lite redigering sen är den klar. Vi har funderat på att fixa seriell kommunikation för att komma upp i betygsnivå 4, men är tveksamt om vi kommer hinna.
På redovisningen (om vi fått sensorn att funka) tänkte vi tejpa upp mottagare och sändare i ett dörrhål. Dörrhålet är 1m bred och vi tänker sätta den på 1,2m höjd.
lördag 31 maj 2008
Great success!
Jaa, tro det eller ej, men vårt projekt (på betygsnivån 3) är nu fungerande och nästan klart! Sensorerna hålls mittemot varandra på ca en meters avstånd, och passerande människor räknas och antalet visas på den tillhörande displayen. Sensorerna bör dock hållas i midjehöjd eller högre, då sensorer i benhöjd räknar varje ben som en person (såklart).
Idag ska vi skriva rapport, planera hur sensorerna ska monteras för redovisningen samt få vårt system att funka även när vi har programmerat enkapseldatorn, tagit lös den och satt fast den på ett kopplingsdäck.
Mera bilder
Det här är en bild från typ förra veckan, när Edvin testar våra sensorer mha oscilloskopet.
Och en rörig koppling!

fredag 30 maj 2008
en gammal länk
http://ltc.cit.cornell.edu/courses/ee476/FinalProjects/s2004/ddb25/complete2.htm
Här är en länk till en mottagarkrets som inte funkade för oss. Enjoy!
Här är en länk till en mottagarkrets som inte funkade för oss. Enjoy!
Update
Våran räckvidd för ultraljudet ligger bara på ca 3decimeter, det hade vi tänkt lösa med ytterligare förstärkning. Detta misslyckades då mottagaren kände av sändaren direkt och inte ekot. Så nu har vi fått ge upp vår grundläggande idé att mäta avstånd från sändare till objekt, person. Vi har gått över till att fästa mottagaren på andra sidan dörröppningen vilket medför att vi får utveckla en helt ny kod men vi slipper hantera mottagningen av den direkta signalen från sändaren. Vi har byggt en attrapp av papp och plast för att sätta upp sändare och mottagare mitt emot varandra i något som kan liknas vid en dörröppning och vi har även gjort vår prototyp mer mobil genom att koppla fast sladdar för att frigöra kapseldatorn från utvecklingskortet. Vi har även beställt en 12volts adapter för att slippa böka med kopplingsbordet som strömkälla.
Den nya algoritmen då sändare och mottagare är på skilda sidor av ingången gick ut på att utlösa ett input capture varje gång signalen ändrades mellan en etta och nolla. När signalen blockeras så är den en etta, därför så jämförde vi den föregående summan passerade klockcykler med den nuvarande summan passerade klockcykler, vilka bör skiljas avsevärt om en person gått förbi, för att räkna upp timern. Detta funkade dock inte. Vi kunde läsa av det registret som uppdateras vid input capture med räknarens värde vilket vi ansåg bekräftade att ett capture inträffade, men vi lyckades däremot inte få respektive interrupt funktion att utföras trots att input capture var påslaget och global interrupt funktionalitet var påslaget.
Idag skall vi istället för att göra ett capture vid signaländring helt enkelt göra en provtagning av ettor och nollor, om en övervägande majoritet av proven är ettor så bör det vara en människa där.
Vår schmitt-trigger ger en mycket större del nollor än ettor vilket gör att chipet kan ha svårt att detektera ettorna. Det bör vara jämt fördelat då det bara är en fyrkantsvåg som skickas. Detta har blivit löst genom att använda en spänningsdelare som förskjuter signalens centrering från 0volt till en högre spänning vilket gör att schmitt triggern ger flera nollor (logisk nolla ges av hög volt då schmitt triggern även inverterar).
Vi har nu även fått ta hänsyn till att utskrivningen på displayen är en tidskritisk process. Displayen har en pinne för respektive segment som ska lysa, för att spara in på antal pinnar så har tillverkaren implementerat styrpinnar som väljer vilken uppsättning av segment som ska lysa. Vi har tre uppsättningar av segment som alltså kan visa max 999. Displayen kan med andra ord endast visa antingen ental, tiotal eller hundratal åt gången så vi måste uppdatera displayen kontinuerligt för att ge illusionen av en konstant uppvisning av antal människor. Vi utgick från att moderna tv apparater har 100Hz, med en timer försökte vi uppnå detta genom att utgå från kapseldatorns klockhastighet, detta funkade inte. Istället så provade vi oss fram att göra en compare match vid olika intervall. När vi hittade ett som funkat så halverade vi intervallet för att kunna köra displayen så långsamt som möjlig för att få processorkraft till annat men ändå kunna se tydliga siffror på displayen.
Den nya algoritmen då sändare och mottagare är på skilda sidor av ingången gick ut på att utlösa ett input capture varje gång signalen ändrades mellan en etta och nolla. När signalen blockeras så är den en etta, därför så jämförde vi den föregående summan passerade klockcykler med den nuvarande summan passerade klockcykler, vilka bör skiljas avsevärt om en person gått förbi, för att räkna upp timern. Detta funkade dock inte. Vi kunde läsa av det registret som uppdateras vid input capture med räknarens värde vilket vi ansåg bekräftade att ett capture inträffade, men vi lyckades däremot inte få respektive interrupt funktion att utföras trots att input capture var påslaget och global interrupt funktionalitet var påslaget.
Idag skall vi istället för att göra ett capture vid signaländring helt enkelt göra en provtagning av ettor och nollor, om en övervägande majoritet av proven är ettor så bör det vara en människa där.
Vår schmitt-trigger ger en mycket större del nollor än ettor vilket gör att chipet kan ha svårt att detektera ettorna. Det bör vara jämt fördelat då det bara är en fyrkantsvåg som skickas. Detta har blivit löst genom att använda en spänningsdelare som förskjuter signalens centrering från 0volt till en högre spänning vilket gör att schmitt triggern ger flera nollor (logisk nolla ges av hög volt då schmitt triggern även inverterar).
Vi har nu även fått ta hänsyn till att utskrivningen på displayen är en tidskritisk process. Displayen har en pinne för respektive segment som ska lysa, för att spara in på antal pinnar så har tillverkaren implementerat styrpinnar som väljer vilken uppsättning av segment som ska lysa. Vi har tre uppsättningar av segment som alltså kan visa max 999. Displayen kan med andra ord endast visa antingen ental, tiotal eller hundratal åt gången så vi måste uppdatera displayen kontinuerligt för att ge illusionen av en konstant uppvisning av antal människor. Vi utgick från att moderna tv apparater har 100Hz, med en timer försökte vi uppnå detta genom att utgå från kapseldatorns klockhastighet, detta funkade inte. Istället så provade vi oss fram att göra en compare match vid olika intervall. När vi hittade ett som funkat så halverade vi intervallet för att kunna köra displayen så långsamt som möjlig för att få processorkraft till annat men ändå kunna se tydliga siffror på displayen.
onsdag 28 maj 2008
STORA framsteg
Vår schmittrigger funkade inte alls bra, men det berodde på att den var sönder så så fort vi fick en ny så blev allt jättefint!
Sensorerna reagerar nu när man sätter tex en hand ovanför dem, och timern räknar och displayen visar hur många gånger något gått förbi. Så det är verkligen stora hopp framåt, med tanke på att vi suttit och kämpat med vår förstärkare i ca en vecka.
Det som vi ska fila på idag är att se till att räknaren inte räknas upp utan att något får ljudvågen att studsa på ett bra ställe (alltså att vår siffra ska öka om och endast om något går förbi på rätt avstånd).
Sensorerna reagerar nu när man sätter tex en hand ovanför dem, och timern räknar och displayen visar hur många gånger något gått förbi. Så det är verkligen stora hopp framåt, med tanke på att vi suttit och kämpat med vår förstärkare i ca en vecka.
Det som vi ska fila på idag är att se till att räknaren inte räknas upp utan att något får ljudvågen att studsa på ett bra ställe (alltså att vår siffra ska öka om och endast om något går förbi på rätt avstånd).
Prenumerera på:
Inlägg (Atom)