Camshots Review Assignment Coding

The Movie Itself: Our Reviewer's Take

The theatrical release of 'Snowden' came and went without much attention. I can find three reasons for that: first, it's theatrical release date was pushed back twice. Changes like that usually signal troubles with the final product, leaving moviegoers leery of the movie's overall quality; second, Oliver Stone hasn't put out a good film in over a decade. When filmmakers like Stone and Robert Zemeckis pump out bad movie after bad movie for such a long time, then it's difficult to believe that they've actually succeeded again. Although they may return to making great movies, because of lost faith, no one turns out to see them; and third, the story of Edward Snowden was already told in the Oscar-winning documentary 'Citizenfour,' so why watch a reinactment of it? Coincidentally, Zemeckis ran into this same problem in 2015 with his excellent film 'The Walk.' Based on the brilliant documentary 'Man on Wire,' it also just-so-happened to star Joseph Gordon-Levitt and couldn't find an audience. When you've seen a story unfold in a documentary, which is a true form of storytelling, then why would you need to see a dramatized and embellished version of it?

Expanding the narrative of 'Citizenfour,' Oliver Stone took his time in post-production to ensure that 'Snowden' was as strong, personal and intimate as possible. The final product is powerful and deserves a lot more attention that its theatrical release received.

Following the leak of several of the United States government's top secret illegal programs, Stone immediately recognized the potential of the story at hand. After some back-and-forth communication, he traveled to Russia to meet with the whistleblowing source of the leaks, Edward Snowden. Through several one-on-one meetings, Stone and Snowden conversed and batted around the idea of turning his story into a feature film. With Snowden's full participation and approval, Stone went ahead with making the film. He compiled an excellent cast and went to work. Originally slated with a release date that was just months after shooting completed, made with a modest budget, the CG effects weren't ready on-time - hence the first bump. As the adjusted release date neared, it's said that Stone felt that he and his editors, Alex Marquez and Lee Percy, simply hadn't found the best way to edit the non-linear story. After massaging the footage, they found the right combination and 'Snowden' finally made its way into theaters.

Filmed on-scene before, during and shortly after Snowden's leak, 'Citizenfour' did a perfect job of telling the story of the U.S. government's secretive privacy infractions. Now, through Stone's 'Snowden,' we catch a great glimpse at who Edward Snowden was prior to the leak and what made him decide to throw away his entire life just to blow the whistle. The narrative bounces back and forth between Snowden's pre-leak life and the 2013 leak. The farthest back that the film goes is 2004. We see Snowden's early days in the military and the medical condition that ultimately led to his honerable discharge. With his original plan of pursuing a career in military intelligence entirely dashed, we see him apply and interview for a top secret position within the CIA. After being hired, we watch him go through training, where he received his first exposure to the broken moral and ethical compass of the United States government. While taking his first assignment overseas, we see his integrity put to the test as he learned of the programs that he would ultimately leak. It's then that he quit the CIA, moved back to Japan and took a contractor job that would have him indirectly working with the government.

Snowden believed that his indirect work with the government would clear his conscience of the government's shady secrets, but he couldn't escape them. He was surrounded by programs like XKEYSCORE and Prism, both of which worked together to spy on individuals, including U.S. citizens, by using their most private technology – social media, emails, texts, cameras and microphones on computers and mobile devices … even when they're powered down. At a certain point, the stress of having this knowledge became too much – especially once he suffered a seizure and was diagnosed with epilepsy. When a program of his own creation (Epic Shelter) was misused, he started plotting the best way to blow the whistle. In the process of collecting the evidence, he left a trail of breadcrumbs that led back to him so none of his colleagues could become suspect for the leak.

Adding to the strength and intimacy of this main narrative, a secondary story unfolds. Making the Snowden character seem all the more human and relatable, we're walked through the intimate details of his relationship with long-time girlfriend Lindsay Mills. The openness and honesty between the two offers a beautiful contrasting parallel between their relationship and the relationship that the conniving U.S. government has with its citizens. The two stories function harmoniously and impact one another.

Oliver Stone's last few films have been a complete mess. Even I worried that 'Snowden' would follow suit. But 'Snowden' flows well. It's structure is solid and firm, breaking Stone's streak of incoherence.

Joseph Gordon-Levitt and his supporting ensemble cast carry the personal and tense tale. After seeing the trailers and hearing Gordon-Levitt do his best vocal impression of Edward Snowden, many complained about his voice. Being a fan of Gordon-Levitt, even I worried that the disuised voice would be offputting – but when you watch the film, after only a few minutes, you'll forget that he's speaking any differently than usual. Just minutes in, his voice sounds natural and normal.

Shailene Woodley can be hit or miss, but her performance in 'Snowden' is mostly solid. A few spikes don't feel entirely natural, but she's never bad. Playing the documentary filmmaker of 'Citizenfour,' Melissa Leo is as great as ever. Zachary Quinto is solid as the Guardian reporter who broke the story. Nicholas Cage appears in very small role and shines brightly nonetheless. But Rhys Ifans is the one who absolutely delivers. He plays Snowden's "work-father," the boss that ultimately crushes Snowden's opinion of the U.S. government. This betrayals plays a large role in Snowden's reason for the leak.

I agree that 'Citizenfour' is a perfect documentary, but I also believe that 'Snowden' is the perfect companion piece to it. They should be sold together. 'Citizenfour' offers insight to leak itself, the government's reaction to the leak, and how Snowden made it out Hong Kong. 'Snowden' offers insight to who Edward Snowden is, why he decided to blow the whistle and how he got the data out of a secure facility. (Snowden himself has said that the portrayal of "the heist" in the film is not accurate, but that he won't explain the true method because of security. He's also said that the film's telling of it isn't too far off from how it really went down.) Certain parts are obviously embellished for the sake of entertainment, but that doesn't stop 'Snowden' from being just as important as 'Citizenfour.' If you've ever doubted Snowden's motives, Oliver Stone's film and its accompanying special features will the clear the air.

The Blu-ray: Vital Disc Stats

Universal has placed Open Road's 'Snowden' on a BD-50, slapped it in a two-disc Elite keepcase with a DVD copy and a code for a digital copy, and place it in an embossed cardboard keepcase. The pre-menu "fresh" streaming trailers, which are preceeded with a forced Universal reel, can easily be skipped over.

The Video: Sizing Up the Picture

'Snowden' arrives on Blu-ray with a stellar 1080p/AVC MPEG-4 encode with a 2.40:1 aspect ratio. Shot mostly with Arri Alexa cameras, it certainly has the sheen of a digital shoot (but not in the painfully awkward style of Michael Mann's last few films). I prefer the traditional look of celluloid, but the digital appearance of the film is actually fitting for the digital warfare that 'Snowden' portrays. The only footage that appears with a different style and feel is that of a Codex Action Cam that was used for a few shots during the boot camp training sequence. The lesser quality of the GoPro-ish footage is like something you'd see from an Average Joe participating in a Spartan race, but it works to achieve the shots that they couldn't get from the Arris. They only last for a few seconds a time.

Aside from the action cam shots, 'Snowden' is very sharp and clear. The crystal imagery allows for details to sharply shine through. Minute details are consistently apparent. From clothing and fabric patterns to the grainy texture of solid wooden doors, fine details are abundant. Facial stubble, rogue hairs, under-eye wrinkles and porous imperfections will catch your attention. Certain tense scenes use long takes of extreme close-ups to add to the tension. One focuses solely on Joseph Gordon-Levitt's left eye. You'll see where each eyelash sprouts from the rim of the eyelid. You'll notice the slick seemingly oily surface of the eyelid. You'll even see the red capularies embedded in the whites of his eye. The amount of visible detail is impressive.

While the contrast and black levels are mostly solid, due to the digital shoot and some scenes with a lack in artificial lighting, their quality can waiver. A few dark hallways scenes feature contrast issues and gray black levels. Other dark settings may suffer crushing. Luckily, these issues are inconsistent. The only only flaw that I noticed is also inconsistent. On a few occasions, very mild noise can be seen. There are no bands, artifacts or instances of aliasing. One scene set in a flashy European strip club features some blown-out oversaturation, but I recall the same effect when I screened the film theatrically.

The Audio: Rating the Sound

'Snowden' hits Blu-ray with a suitable, yet not overly impressive, solitary English 5.1 DTS-HD Master Audio track. It contains all of the necessary elements for greatness, just not in the abundance that we've become accustomed to.

There's a crispness and clarity to the vocal mixing. Dialog is always audible. Escalated speech isn't distorted in the slightest. Sporatically, a voice-over by Joseph Gordon-Levitt narrates transitional bridging sequences. Centrally located, it's just as strong as the rest of the dialog.

'Snowden' isn't the type of film to warrant loads of environmental effects, but if you listen closely, you'll hear plenty of effects that heighten the experience, as well as add to the tension. The resulting layers of unusual sounds adds to the feeling of paranoia within the film. No instances of imaging caught my attention.

The music mix is arguably the most impressive part of the audio. For the most part, the score is reminescent of that from a '90s political thriller. Think 'Clear and Present Danger' or 'The Pelican Brief.' At times it's heavy with winded instruments, at others its horn- or percussion-based. With any arrangement, it's full, dynamic and rich. As the story dives deeper into the cyber world, the main scoring evolves into a modern digital orchestration. The varying styles work very well with the on-screen content and mood.

The Supplements: Digging Into the Good Stuff

    • Deleted Scenes (HD, 8:51) – A total of five deleted or extended scenes are found here. Watch them one-by-one or fluidly via a "play all" option. Most are inconsequential and only offer slightly more set-up for other scenes. Expect more political philosophy, more video conferencing, and more Nicholas Cage.
    • Finding the Truth (HD, 3:57) – Feel free to skip right over this generic EPK video.
    • 'Snowden:' Q&A (HD, 41:00) – Prior to its nationwide theatrical debut, Fathom Events held a special sneak preview 'Snowden' that included a live streaming Q&A session with director Oliver Stone, actors Joseph Gordon-Levitt and Shailene Woodley, and Edward Snowden via a video feed from Russia. The entire post-screening video is included here. Diving into the making of the film, Snowden's insights to the modern cyber world and the accuracy of the film's content, this is a perfect companion feature for the film. Just like the film itself, I deem it a must-see.

HD Bonus Content: Any Exclusive Goodies in There?

There are no HD bonus features.

Final Thoughts

'Citizenfour' may be the foremost and highest-respected film telling of Edward Snowden's true story, but Oliver Stone's dramatic feature 'Snowden' is just as important and impressive. The two function well together to tell the complete story of Snowden's top secret leaks. While 'Citizenfour' focuses on the leak itself, 'Snowden' offers the backstory and more insight to the significance of the leaks themselves. It's a warm return to fine cinema from its usually incoherent director. Joseph Gordon-Levitt and his supporting cast deliver fantastic performances. As for the Blu-ray itself, the video quality is near-perfect. The audio mixing isn't bombastic, but it wil do. The disc is light on special features, but includes one especially strong 41-minute Q&A with the film's director, stars and Edward Snowden himself. This feature should be mandatory viewing for all who watch 'Snowden.' Although buried by Stone's reputation, its two-time delayed release and the success of 'Citizenfour,' 'Snowden' is an excellent and important film that I highly recommend.

Sandunmalee's Lab Notebook

Week 01

Wednesday, January 12, 2011 (4 hours):
After class, went to lab to set up PC and laptop.
Met with entire team to complete homework assignment #1 and start the webpage. Discussed and research equipment that needs to be purchased.

Friday, January 14, 2011 (3 hours):
Looked over the parts list that Dan made; looked over the robot platform, motors, h-bridge, sensors, compass, and GPS. Met with Professor Meyer to ask some questions about using an Atom board. We were informed that an Atom board will be provided for us, but one concern is that it does not have Wi-Fi. Added a hover-pop-up menu to the website.

WEEK 01 SUMMARY
Accomplishments:
Submitted preliminary project proposal. Started webpage. Researched parts.
Weekly Work Total: 7 hours
Project Work Total: 7 hours

Week 02

Monday, January 17, 2011 (2 hours):
Met with the team to start the second homework assignment (the final proposal); decided on the five PSSCs; and started ordering some major parts. We had a discussion of which robot platform to purchase. Originally, we wanted to purchase the DFRobot 4WD Platform with wheel encoders; however, because the maximum load of this platform (800g) would not be able to hold the heavy batteries, we decided to look elsewhere.
We decided to purchase the A4WD1 v2 Robot from Lynxmotion. This robot can carry a 5lb load and is also bigger in size. But, it does not come with wheel encoders. We are looking to purchase this chassis separately from the motors and buy the wheel-encoder compatible GHM-16 motors with. We are unsure as to whether these motors are compatible with the A4WD1-01 chassis, so Dan e-mailed Lynxmotion for an inquiry. We have postponed the purchase of the robot until more information arrives.

Wednesday, January 19, 2011 (3 hours):
Spent some time looking through the GPS receivers that Dan suggested. After reading some reviews and tutorials, I thought the EM-406a receiver would be best because it has very good performance reviews and a lot of online support. After getting approval from the rest of the team, I decided to order the following materials from Sparkfun: EM-406a reciever, RS232 Shifter, RS232 Shifter w/out DB9, and a logic level converter.
During some research on online support material for the EM-406a, I found the following pages:
http://www.edaboard.com/thread190219.html
http://elasticsheep.com/2009/03/testing-a-em-406a-gps-module/
http://forum.sparkfun.com/viewtopic.php?f=17&t=21929

Friday, January 21, 2011 (.5 hours):
Started an Excel spreadsheet of the purchases we are making and added it to the Documents page on the website.

Saturday, January 22, 2011 (1 hour):
Skimmed over the datasheets to see how to configure the EM-406a receiver.
- Commands specific to EM-406a here.
- Commands general to NMEA standard here.

- ECE 362 user guides to 9S12C32 here.
- Freescale 9S12C32 pinouts here.
- 9S12C32 help site with links to sample C programs and downloading Codewarrior here.

So looks like the EM-406a needs to connect to the microcontroller via the SCI port. This worries me because the 9S12C32 only has 1 SCI port, which might be needed for communicating with the Atom board (after reading Dan's notebook). The freescale 9S12XD256 has 2 SCI ports, so we should look into this microcontroller as a possiblity.

WEEK 02 SUMMARY
Accomplishments:
Worked on final project proposal. Started ordering parts. Research programming for GPS.
Weekly Work Total: 6.5 hours
Project Work Total: 13.5 hours

Week 03

Tuesday, January 25, 2011 (3 hours):
Met with entire team to discuss packaging, look over Design Constraint Anaylsis assignment, and choose a microcontroller. We had decided that our microcontroller didn't have enough SCI ports or PWM channels and that a new microcontroller was necessary. After looking at some Freescale S12XD products, we decided to just use the 9S12C32 we currently have. The products on the Freescale website were very expensive $100+, and/or didn't come with a development board that is separable from the microcontroller itself. Dan had cleverly designed a way to use one PWM channel for all motors by using a circuit with MOSFETS and H-bridges. I helped Anthony get started on drawing the packaging design using AutoCAD but we both gave up in a failed attempt as we have zero experience in AutoCAD. Anthony decided to just use MS Word drawing tools to complete the package design drawings.

Thursday, January 27, 2011 (1 hour):
Started on homework 6, the PCB design layout. Jotted down some important issues related to the microcontroller, ICs, power supply, and packaging that will have to be considered when designing the PCB. There is a lot to be discussed with the rest of the team before this homework can be finalized.

Friday, January 28, 2011 (.5 hour):
Updated Parts Spreadsheet with the chassis information.

WEEK 03 SUMMARY
Accomplishments:
Researched micrcontroller. Started HW 6.
Weekly Work Total: 4.5 hours
Project Work Total: 18 hours

Week 04

Sunday, January 30, 2011 (2 hours):
Started reading a great tutorial on PCB Design. This tutorial covers the basics of design standards, measurment techniques, traces, pads, and vias. There are also advice on basic routing, single and double sided designs, silkscreens, power and ground planes. I was able to read about 10 pages of this 25 page tutorial.

(4.5 hours):
Went to lab with entire team where we helped Dan finish the Design Constraint Analysis homework, looked at the sonic rangefinder, and helped Anthony get weight measurements for the Packaging Specifications and Design homework. Dan and Sebastian worked on improving their code for the webcam while Anthony and I started working on writing code for the sonic rangefinder. We downloaded Codewarrior and started some code in embedded C to configure the ATD converter on the MS9S12C32 microcontroller.

Monday, January 31, 2011 (4 hours):
Went to lab with Anthony to finish writing code for the sonic rangefinder. The first issue was to figure out how to communicate with the microcontroller. We attempted to set up the serial monitor but was unsuccessful. We were able to find an USBDM Pod from the ECE 362 lab to program the micro using the BDM module. After a couple of hours we had all the drivers installed for this and it was up and running.
We downloaded Tera Term and wrote some code in embedded C to configure the SCI and to output characters on the terminal. Then we set up the circuit for the sonic rangefinder and tried to get the voltage levels coming into the ATD module to output to the terminal. We were unable to get this working properly as we kept outputting the same value onto the terminal. After we left lab, Anthony figured out that we forgot to clear the Sequence Complete Flag in the ATD result register.

Tuesday, February 1, 2011 (1 hour):
Finished reading the tutorial on PCB Design. It had some great advice on double-sided designs, power planes, bypassing, high-frequency design techniques, and helpful tools offered on PCB packages.

Thursday, February 3, 2011 (2.5 hours):
Went to lab with Anthony and continued to work on getting readings from the sonic rangefinder. After correcting the mistakes in the ATD registers from Monday, we were able to get a correct reading. Anthondy had figured out how to convert the input to the ATD into a centimeter reading of distance. The math was just simply (ATD result)*5. We multiply by 5 because the reference voltage Vcc = 5. Also the Voltage to centimeter ratio of the rangefinder is Vcc/1024 volts per centimeter. Next we tried outputting the centimeter reading onto the terminal, but couldn't quite figure out the math for converting the result into a string. After we left, I came up with a small function that would convert the result into a string.

Friday, February 4, 2011 (2.5 hours):
Went to lab and implemented the function I came up with yesterday. After Anthony's help to perfect the function, we were finally able to print the centimeter distance of the sonic rangefinder onto the terminal. The distance is not very accurate. We found out that when the sonic rangefinder is connected to the microcontroller, there is some noise on the signal that makes the value vary within +/- 5cm range. We also coded an RTI routine that prints the distance every 1.408ms * 15 = 21.12ms.

Saturday, February 5, 2011 (4 hours):
Went to lab with entire team. I tried working my way through the tutorial on PCB design found on the 477 Homework page. I also found the same tutorials with a little bit more detail at another university website: Tutorials for PCB Design using PADS. However, while going through the tutorial, I encountered a problem where I couldn't correctly add the library I created to the PADS Layout package. After spending couple hours trying to figure out what the problem is, I posted a question on edaboard.com. I haven't yet gotten any replies to this message, so my next option is to ask help from Chuck.
Additionally, I helped out Anthony with writing some code for the SPI to communicate with the Accelormeter.

WEEK 04 SUMMARY
Accomplishments:
Read about PCB design techniques. Finished coding the ATD, SCI, and RTI routines to print the centimeter distance from the sonic rangefinder onto the Tera Term terminal. Started PCB design tutorial.
Weekly Work Total: 20.5 hours
Project Work Total: 38.5 hours

Week 05

Monday, February 7, 2011 (1.5 hours):
Went to lab and started the PCB tutorial for PADS Logic and PADS Layout on 477 Homework page. I didn't notice this tutorial before, but this one is customized to our ECN computers and I had a much easier time following it than the other link I found at a different university.

Tuesday, February 8, 2011 (2.5 hours):
Went to lab and finished the PCB design tutorials. We need to:
  1. decide on ALL the components that will go on the PCB
  2. design any needed components using PADS Layout and PADS Logic
  3. draw the schematic in PADS Logic
  4. decided on PCB board dimensions and number of layers
  5. organize the board in PADS Layout (much easier once the schematic is drawn completely)
  6. autoroute in PADS Route
  7. generate Gerber files in PADS Layout (for fabrication)
  8. fabricate!
The hardest part will be deciding on which components to use and drawing the schematic.

WEEK 05 SUMMARY
Accomplishments:
Finished PCB design tutorial.
Weekly Work Total: 4 hours
Project Work Total: 42.5 hours

Week 06

Sunday, February 13, 2011 (5.5 hours):
Went to lab to start creating parts for the schematic and PCB using PADS Layout and PADS Logic and following tutorials from last week. Once Sebastian came to lab, I helped him get started on the schematic and create additional parts. The following parts were created:
- 40 pin, 600 mil DIP socket for the microcontroller
- LM2675 National Semiconductor voltage regulator chip
- SC18IS601 SPI to I2C interface chip
We created a schematic containing the two microcontrollers and the SPI to I2C chip. Sebastian also created 2 power supply circuits for 3.3V and 5V. We tested the EM-406A GPS with the newly arrived evaluation board. We were able to get accurate readings while testing outside.

Monday, February 14, 2011 (1 hour):
Worked on HW 6, PCB design. Started writing out a description of the microcontroller peripherals used. Read a little bit of background on decoupling and bypass capacitors. According to one website (link), we can use
- a larger electrolytic capacitor (4.7uF) to catch low frequencies,
- a 0.1uF capacitor to handle midrange frequencies, and
- a tiny 0.001uF capacitor to handle really high frequencies.
Multiple bypass capacitors can be connected in parallel between Vcc and ground if the circuit has a large range of frequencies. Our system will be mostly in the midrange frequencies, thus a 0.1uF would be sufficient.

Wednesday, February 16, 2011 (4 hours):
Continued working on HW6. Wrote the Introduction, a brief summary of all components in the project and what will be included on the PCB. Also drew a small picture for myself to try to figure out the layout of the PCB. After Sebastian's presentation today, the TA feedback said that a 12V power supply will be unnecessary. If we can power the atom with a wall wart and get a 12V battery to power the motors, we can do away with the 12V power circuitry on the PCB.
Another concern raised today was whether we can connect the microcontroller onto the PCB via a DIP socket. If not, we will need to purchase the microcontroller along with a RS232 translator and BDM connector.
Spent an hour in lab with Anthony trying to figure out how to eliminate glitches in the I2C communication. Anthony figured out that a 0.1uF non-electrolytic decoupling capacitor reduced the glitches significantly.

Thursday, February 17, 2011 (1 hour):
Read the Motorola AN1259 Application Note on the 477 Homework page. Here's a basic summary:
- if noise enters system through power supply, wires will carry noise to all circuits needing power
- if two circuits share common power and ground, and circuit 1 needs a sudden demand in current, circuit 2's voltage supply wil drop
- separate low-level analog from high-speed digital to limit coupling between subsystems
- ground layout is critical, efficient grounding methods solve most EMI problems
- High-frequency digital systems create current spikes when transistors switch on and off
- Analog systems create current spikes when load currents change
- Digital systems have higher immunity to noise than analog
- When digital and analog grounds are connected together at a summing point, and connected to a common impedance, a DC offset is created between system ground and summing point. In digital systems, this DC offset produces a high-frequenc AC component of noise that affects low-level analog circuitry.
- To reduce noise:
  - create signal grounds that have low-impedance paths to return to the source
  - place similar circuits together
  - parallel pathways to ground decreases inductance of ground return
  - ground plane or single-point grounding to lower common impedance coupling between subsystems
  - large current loop is susceptible to electromagnetic radiation and will couple noise to ground system
- lay ground system first, then power system
- use decoupling capacitors to remove unwanted glitches in the power system
- slower logic -> slower switching speed -> smaller voltage spikes
- to decouple ICs, use high-frequency, low-inductance axial glass or multi-layer ceramic capacitors (0.1uF if system frequency is < 15MHz, else 0.01uF)
- use "bulk" capacitor to recharge decoupling capacitors, use tantalum electrolytic or metalized polycarbonate capacitors.
- place a small 0.1uF capacitor to decouple high frequency noise as close to power terminals as posssible
- don't run signal lines parallel to high-current switching traces.
- if analog and digital must be mixed, use 90-degree angles to reduce cross-coupling effects
- don't feed digital power and ground to ADC reference lines, instead directly route from power terminals on board
- ADC voltage pin should be filtered with an RC circuit with 1K resistor and 1.0F capacitor. - Go through checklist at the back of Application Note.

(3.5 hours):
Went to lab with the entire team. I continued working on HW6. We decided to use a 12V battery pack that will connect to the PCB. The PCB will then power the motors and the atom at 12V. It will also have two regulator circuits to power other devices at either 5V or 3.3V.
According to Prof. Meyer, we can keep our 9S12C32 microcontroller board from 362 and use a DIP socket on the PCB only if we have enough of other components on the PCB. Thus, we decided to create the H-bridge circuit on the PCB instead of using the chip that came with the L298 motor driver kit. Now we will have three kinds of circuitry on the PCB: two power circuits, microcontroller circuit, and the motor circuit.
While Sebastian created the H-bridge circuit on PADS Logic, Dan, Anthony, and I did more research on the 3.3V power supply. We decide do use the LM317 adjustable regulator.

Saturday, February 19, 2011 (7.5 hours)
Went to lab to work on HW6. The overall section of the report talks about placement of components, size of traces, etc. The microcontroller section has a details about which pins of the microcontroller are connected to which peripherals and the information about decoupling capacitors. The lengthy power supply section discusses the voltage regulator circuitry, the battery charging circuitry, bypass and decoupling capacitors.
The homework took a long time to finish because decisions were being made as I wrote the report. Some of the hardest decisions were made on where to place all the functional blocks on the PCB.
While I worked on the report, Athony worked on software for the microcontroller to communicate with its peripherals. Dan and Sebastian worked on the battery charging and the H-bridge circuitry.

WEEK 06 SUMMARY
Accomplishments:
Created PCB part for DIP socket, LM2675, and SCI18IS601 chips. Started drawing schematics for micronctroller and power supply circuits. Tested GPS. Continued editing HW6.
Weekly Work Total: 22.5 hours
Project Work Total: 65 hours

Week 07

Monday, February 21, 2011 (3 hours):
Went to lab. Created parts for L298 motor driver and LM317 adjustable regulator using PADS Logic and PADS Layout.

Tuesday, February 22, 2011 (8.5 hours):
Went to labe to finish the preliminary PCB design and to create the presentation for the TCSP. I created 6 separate circuits for each of the major funcional blocks: microcontroller (x2), 5.5V regulator, 3.3V regulator, battery charger, h-bridge. I also created the bq2002 battery charging chip and drew the schematic for the battery recharging circuit. Also re-drew the schematic for the h-bridge circuit after accidentaly deleting the one Sebastian drew. Once most of the schematics were finished, Dan layed out the PCB on a 6"x8" board. The PCB was autorouted using PADS Router. There were several errors regarding the routing and the autoroute feature had all traces of the same width. In the future, we will be most likely manually routing the PCB. Finally, took some screen shots and made the TCSP presentation.

Wednesday, February 23, 2011 (3.5 hours):
Went to lab and revised the preliminary PCB layout. I added headers to all the pins of both microcontrollers. Each peripheral on the microcontroller now has its own header. For example, the ATD has an 8-pin header, the SPI has a 4-pin header, etc. Changed the header for the wheel encoder. Now the wheel encoder has a header for connecting to power and ground on the PCB and also a header to connect to the signals on the microcontroller. Added the new 3.3V regulator circuit with Dan's help. It uses a LM317 with a couple of resistors. Created a part for the reset pushutton following the datasheet for the OMRON B3F pushbutton found in the lab. These pushbuttons will reset the microcontroller. Added a 5V regulator circuit for the battery charging circuit which will step down the 19.5V laptop battery charger down to the 5V needed for the rechargeable battery.

Thursday, February 24, 2011 (6.5 hours):
Continued working on the schematic and PCB Layout. I reorganized the PCB Layouts that Dan did and made the PCB board much smaller (5" x 6.5") instead of the 6" x 8" we had earlier. I attempted to do some routing by hand, but gave up in the end because it was taking too long. I autorouted and fixed any traces that didn't seem right. The board will need to be rerouted later, with more attention to keep ground and power traces close and parallel.
Once I came home from lab, I spent a couple of hours finishing up the report due on Friday. I added some of the screenshots of the PCB Layout into the Appendix of the report..

Friday, February 25, 2011 (1 hour):
Spent some time researching NTC thermistors for the battery recharging circuit (BQ2002/F datasheet). The BQ2002/F datasheet only calls for an NTC thermistor and doesn't give any further specifications. There is a wide selection of NTC thermistors on Digikey. NTC = negative temperature coefficient, thermal conductivity rises with increasing temperature (unusual, because normally, thermal conductivity decreases with increasing temperature).

WEEK 07 SUMMARY
Accomplishments:
Created several parts in PADS for components. Made schematics and PCB Layout for the presentation and homework 6. Researched NTC thermistors.
Weekly Work Total: 22.5 hours
Project Work Total: 87.5 hourt

Week 08

Tuesday, March 1, 2011 (4.5 hours):
Recreated the part for the pushbutton switch that Alex (from Team 4) tested. Added more headers for the microcontrollers and changed the existing headers for peripherals to also contain power and ground connections. Worked with Sebastian on the schematic. Created some parts for the optical isolators, the OKR-T regulator chip for the 5V circuit.

Wednesday, March 2, 2011 (7 hours):
Finished the schematic for the battery charging circuit. Helped Dan route the PCB on PADS Router. The autorouter did a terrible job, so we had to unroute a significant portion and reroute it manually. Also helped Anthony finish the PowerPoint presentation and upload it to the website.

Thursday, March 3, 2011 (1 hour):
Went to the ITAP lab in the math building to print 11" x 17" copies of the schematic. Also printed copies of the PCB layout.
Feedback from the Design Review:
- Add a bulk capacitor to 5V regulator circuit
- Make board small and use another material to extend the board to mount on chassis
- External pull-up resistors on the I2C bus
- Power trace for the microcontrollers 40 mils
- Change pads of microcontrollers to circles instead of squares

Friday, March 4, 2011 (3 hours):
Went to the lab to work on the schmeatic and the layout some more and try to implement some of the changes we got from the design review feedback. Dan and Sebastian had already started some changes such as sepearting the ground on the optical isolators. I added a second connector for the batter (the discharging connector), a bulk capacitor, couple of bypass capacitors to the 5V and 3.3V regulator circuits. On the PCB layout, I made majority of the power traces 40 mils, redid the path of the power traces so that it wouldn't loop around so much, corrected some unnecessarily lengthy traces, deleted extra vias, and seperated the batter charging circuitry completely from the rest of the circuit.
Things still to be implemented: the 5V regulator is very crowded sitting between motor circuitry and battery charging circuitry; not all power traces could be thickened; add another mounting hole if possible; change pads of the micros to be circles, etc.

WEEK 08 SUMMARY
Accomplishments:
Added headers, reset pushbuttons to schematic. Routed the PCB Layout. Design Presentation.
Weekly Work Total: 15.5 hours
Project Work Total: 103 hours

Week 09

Monday, March 7, 2011 (1.5 hours):
Worked on the schematic and the layout, adding some new parts and fixing the traces. Corrected the switch that separates the battery charging circuitry from the rest of the circuit.

Wednesday, March 9, 2011 (2 hours):
Attempted to fix some errors on the PCB layout after feedback from the TA/professors. There were some errore because the annular ring on some holes were not big enough. Sebastian, Dan, and I fixed those errors and fixed some traces that didn't look correct.

Thursday, March 10, 2011 (2.5 hours):
Helped Dan and Sebastian finish up the last of the schematic and the layout. We added resistors on the optical isolators, fixed some traces, etc. Went over L298 chip, optical isolators, 5V regulator chip and made sure their pins were connected to proper traces on the PCB.

WEEK 09 SUMMARY
Accomplishments:
Finished up the schematic and the layout. Added some final parts such as a switch, fixed pad sizes, traces.
Weekly Work Total: 6 hours
Project Work Total: 109 hours

Week 10 - Spring Break

WEEK 10 SUMMARY
Accomplishments:
Weekly Work Total: 0 hours
Project Work Total: 109 hours

Week 11

Sunday, March 20, 2011 (.5 hours):
Ordered some NTC thermistors from Digikey.

WEEK 11 SUMMARY
Accomplishments:
Ordered NTC thermistors.
Weekly Work Total: .5 hours
Project Work Total: 109.5 hours

Week 12

Sunday, March 27, 2011 (1.5 hours):
Started working on the Ethical and Environmental Impact Analysis homework. I drafted some information on how the large size of the robot can be a hazarad to nearby objects or people while its operating. Also discussed some power consumption and recycling issues. A lot more work still needs to be done.

Tuesday, March 29, 2011 (2 hours):
Worked with Anthony to get measurements for our packaging. We plan to have 3 shelves of plexiglass mounted with standoffs on the chassis. Each of the shelves will have the PCB, the Atom board, and the camera. Each shelf will be 9 1/8 inches by 7 7/8 inches, these dimensions fit the top of the chassis perfectly. Distance between two shelves will be about 1.5", which will give adequate room for wires to navigate between shelves.

Wednesday, March 30, 2011 (1.5 hours):
Worked with Anthony on packaging. Chuck had cut out 3 shelves of plexiglass for us. We drilled four holes on the first shelf and tried mounting it on the chassis. We also put the shelves together and to figure out how the final product will come together.

WEEK 12 SUMMARY
Accomplishments:
Started HW 12. Measurements for shelves.
Weekly Work Total: 5 hours
Project Work Total: 114.5 hours

Week 13

Monday, April 4, 2011 (4 hours):
Worked with Anthony on the new compass. Anthony had written a routine to communicate using any general purpose pins with the Hitachi HM55B compass. After messing with delays between communication, we were able to figure out the correct protocol. However, the values the compass is sending back to the micro are inconsistent. We need to figure out the correct expression to extract the angle from the x and y values the compass sends.

The datasheet says atan(y/x) should give us the angle from 256 equal segments. Then we can convert that to be out of 360 equal segments to get the degree of the angle.
     ( atan(y/x) / 256) * 360
However, we are not getting what seems to be a correct degree (0 degress is North).

Tuesday, April 5, 2011 (6 hours):
Worked with Anthony on finishing the packaging. Anthony had brought some plexiglass which Chuck cut out into proper shape for us. We drilled holes into 2 plexiglass sheets to make the bottom and middle shelves. We used the sheet that came with the chassis as our top shelf. The bottom sheet will have the atom, the middle sheet will have the PCB, the top sheet will have the camera and GPS. The battery, hard drive, motors, wheel encoders will be inside the chassis. Sensors, antenna, reset pushbuttons need to be mounted on the sides of the chassis.

Anthony and I also continued to work on the compass. We observed that even a little bit of electromagnetic interference from wires or any other metal objects will cause the x and y values to change drastically. We also figured out how to calculate the actual angle based on readings from the compass. However, we still have trouble getting accurate readings from the compass. For example, the measured range from 270-degrees to 360-degreess (West to North) is not a proper 90-degree angle.

              North
           (0-degrees)
                |
                |
x pos           |       x pos
y pos           |       y neg
atan(-y/x)+360  |       atan(-y/x)
                |
                |
                |
West -----------|----------- East (90-degrees)
                |
                |
                |
x neg           |       x neg
y pos           |       y neg
atan(-y/x)+180  |       atan(-y/x)+180
                |
              South
          (180-degrees)

Wednesday, April 6, 2011 (1 hour):
Worked on the Environmental part of the homework for next week. Researched a little on hazardous wastes during a PCB manufacturing process. Looks like pretty much every step of the manufacturing process releases some kind of a chemical waste into the environment.

(1 hour):
Went to lab and tested the motor control code. The microcontroller code sets the PWM pins to control the overall speed of the motor. The ATD signals, connected to the motors, can be set to different combinations of on and off to change the direction of all 4 wheels. Tests were done to slowly turn on the motors and keep increasing PWM until the motors were full speed and then decrease PWM until the motors came to a complete stop. Tests were successful. Tests were done to reverse a forward turning motor. The security checks in the code successfully caught this test and stopped the motors instead of immediately reversing direction, which could have caused permanent damage to the motors.

Here are some compass setup pictures:

Saturday, April 9, 2011 (3.5 hours):
Worked on HW12. All the components of the ATV can either be recycled or reused. For example, the chassis, motors, tires, sensors, and camera can be reused. If any of these parts are broken they can either be sent to a secure landfill or recycled into another material. NiMH batteries are fairly environmentally friendly, but since we use ten NiMH batteries, they also need to be sent to a secure landfill. The PCBs can be recycled into a new material.

I still need to determine the power usage of the robot to determine the environmental impact during the normal-use- phase of the robot's life cycle. The major component dissipating the most power are the motors; they operate at 1.5A and 12V using 18W of power.

The ethical analysis focuses on preventing the robot itself from harming other people and to protect the software from malicious hackers that could use the robot to invade the privacy of others.

IEEE Code of Ethics
ACM Code of Ethics
Recycling NiMH batteries
Disposing PCBs

WEEK 13 SUMMARY
Accomplishments:
Anthony and I finished the final design of what the packaging should be. I figured out the compass reading calculation. Tested the motor control code for speed and direction changes. I worked on HW 12 figuring out the possible ethical issues and the environmental impact our robot might have if it goes into commercial production.
Weekly Work Total: 15.5 hours
Project Work Total: 130 hours

Week 14

Sunday, April 10, 2011 (1.5 hours):
Went to the lab to take some pictures of all different angles of the robot: front, back, left, right, and top. I am trying to get someone who is good at AutoCAD to do a rendition of our robot. But it is not certain, that this will get done.

I also worked more on HW12, I added some ethical issues such as injuries that could be caused by running into a person or falling down a flight of stairs. Our robot has many exposed parts that could either damage a person with an elecrical surge or be damaged itself with spilled liquids. Also, our design is not very user friendly, the battery is at the very bottom, requiring the user to remove several components of the ATV before the battery can be replaced.

Monday, April 11, 2011 (2 hours):
Started working on homework 13, the User Manual that is due for next week. The User Manual has to be a fun and attractive looking document. I need to ask teammates for their opinion and input. So far I have written a brief production description with an overly enthusiastic tone.

Tuesday, April 12, 2011 (2 hours):
Finished the Ethical and Environmental Impact Analysis TCSP for tomorrow. It can be accessed here: TCSP.
Also continued to work on the User Manual due next week. I added a safety precautions section which will contain warnings and cautions to the user. I also added a little more wording into the Assembly seciton, particularly charging and replacing the battery. I have asked Dan to finish the Software Setup section because he created most of the software related to the user inteface. The troubleshooting section still needs more work. Here's it is so far: User Manual.

Wednesday, April 13, 2011 (6 hours):
I had my TCSP today and I worked on finishing and practicing the PowerPoint for that before class. After class, I spent a little time updating the website, creating more links to the PowerPoint presentation section.
Anthony and I met in the lab to work on the new compasses. We took a perfboard and sautered on some headers in a square- like fashion because the Dinsmore 1490 compass has pins on all four sides. Then we soldered on a single-row header for the micro and connected wires between the compass headers the micro headers. This took a long time because the wires were very tiny. We also put blue LED's to easily see which direction we are facing. We tested the connections and then tested the compass itself. The compass is fairly accurate. It indicates the directions of N, NE, E, SE, S, SW, W, and NW. When it indicates a median direction like NW, it lights up the N and the W LEDs. One issue we found with this compass is that if you even tilt it a little bit, the compass loses all sense of direction. This is going to be a big problem because the ATV will be travelling on uneven terrain.
We might still need to use the HM55B compass that we were using earlier. So we took another perfboard and soldered on the setup that we had in pictures from April 6th. We tested the connections on this compass and they seem to work fine. We can't test either compass with the microcontroller yet because we burnt two of them and we don't have a spare micro.

         

         

Thursday, April 14, 2011 (3 hours):
Spent some time finishing up the homework assignment due tomorrow. I added details on how we can fix each of the issues listed.
All four us went to lab to begin interfacing and testing. We screwed on the GPS and the compass board that Anthony and I made yesterday onto the thop shelf. We tested the communication from the Atom to the compass. There were intially a few mistakes in both the microcontroller code and the Atom board code. The micro code wasn't correctly parsing the compass data before putting it into a packet and sending it over to the Atom. And the Atom was receiving the packet off-synch. It would miss the star-byte (0xFF) of the packet and incorrectly interpret a valid data byte as the star-byte. We fixed the both codes and the communication to the compass now works correctly.

Friday, April 15, 2011 (4 hours):
I spent a couple of hours in the morning finishing up homework 12. I added some more details such as including proper disposal instruction in a User Manual for the ATV. I also finished up the list of references and did some final formatting of the homework. The homework can now be found on the Documents page.
All of us went to lab to continue interfacing the hardware and software components. After Anthony's and Sebastian's codes were merged, we had a working code on the microcontroller. The micro can now read all three sensors on the ATD ports and output a correct distance onto the screen. Also, we were able to successfully Remote Desktop into the Atom board via WiFi and send packets to the micro instructing the motors and the servos to turn. The servos for the webcam are running a little slower on the Atom board, most likely due to a lower processing speed.
Micro #1: servos for camera, 3 sensors, wheel encoder
Micro #2: motors, wheel encoder, compass
Atom: GPS, webcam, sending and receiving packets from Micro #1 (turning servos, receiving sensor and wheel encoder data), sending and receiving packets from Micro #2 (turning motors, receiving compass and wheel encoder data).

Saturday, April 16, 2011 (9.5 hours):
We successfuly talked to both microcontrollers through the Atom board. But there is a slight synchronization problem. The two micrcontrollers are sending their packets (packet protocol below) at fairly close but different rates. The Atom is having trouble reading at two different rates. If the Atom reads the two COM ports (1 for each micro) too fast, then the Atom is slowed because it has to wait for packets to arrive. If Atom reads too slow, the buffers get filled and the Atom won't see the latest data from the micro until it has read the packets that has been queued up in the buffer. This is a problem because it causes a delay in processing sensor data crucial to avoiding obstacles.

Micro #1: start, accelerometer, wheel encoder, ir sensors, sonic sensor, stop
Micro #2: start, compass, wheel encoder, stop

We added some features to the Atom code so that it tells micro 2 to stop the motors whenever the forward sonic sensor sees an obstacle about 35 cm away, and the IR sensor detects a change in elevation greater than 43 cm or less than 25 cm.

We found out that the IR sensors are not reliable at distances less than 10cm because the voltage reading is equivalent to when the object is more than 30cm away. So there is no way to tell the difference between whether the object is too close or too far. The best thing is to make the robot stop as soon as the IR sensors detect something at ~30cm. However, the issue with the packets being sent to the Atom not being received in time is causing the robot to stop too late, so it hits the obstacle anyway. Also, we are braking only as fast as the PWM. If we are going slowly, it'll brake slowly.

After we came back from dinner to continue working on optimizing the Atom code, both micros died on us; most likely from a current spike driving the power input really high. The micros worked fine for a few minutes but then slowly got really hot and went out. We are feeding power to the micro through the regulated 5V supply pin. This pin probably cannot handle any current spikes. The possible current spikes might be coming from a blown capacitor that can no longer provide for the intended current spikes or maybe a blown h-bridge that somehow connects the 12V supply to the 5V and sending feedback current through 5V supply rails on the PCB. This is a very plausible explanation because the only thing that both micros share is the 5V power supply and both of them died. Possible solutions to this problem are to add a diode to prevent the current feedback, add a relay circuit, or some similar device to protect the micro, and to connect the power supply to the unregulated DC pin.

After coming home, I tried to find out more info about why a micro gets hot or what can we do to prevent current spikes. After discussing with my dad and doing some research on the Internet, all I found were the theories and links in the paragraph above. After the micro died, we tested the IR sensors and noticed they weren't working as well as they did before, the range of voltages dropped from 3V to only 1V. Whatever killed the micro most likely damaged the sensors also. I decided to order 3 more of the same IR sensors we currently have. The order was placed with regular USPS ground shipping. Additionally, I updated some of the links to parts on our website.

WEEK 14 SUMMARY
Accomplishments:
I finished Homework 12 and TCSP, researching possible ethical and environmental issues. I also started the User Manual because it requires a lot of editing so better to start on it early. Worked on setting up 2 compasses but, ended up only using 1 of them. All four us started the interfacing phase of our project, merging code written individually and testing whether the Atom board can communicate both ways with each microcontroller.
Weekly Work Total: 28 hours
Project Work Total: 158 hours

Week 15

Monday, April 18, 2011 (3.5 hours): Anthony and I went to lab to figure out what is wrong with out board that it burnt two microcontrollers. Anthony hooked up the oscilloscope between power and ground on the PCB and saw that when we turned off the toggle switch (down position), there is a huge voltage spike that goes up to about 10V. We concluded that this must have been what destroyed our micros.

 

We talked to Chuck and he said that we should use a linear regulator to absorb that spike.We also asked the TA to come and take a look at what's going on. He told us to use the function generator to provide a 12VDC signal current limited at 500mA. We unhooked the wall power that was currently powering the ATV, and hooked up function generator. We then noticed that when we turned off the toggle switch, the voltage drops to 7mV and 500mA. The TA told us that this means there is a short somewhere when the switch is off. When we increased the current limit to 600mA, the voltage increased to 9mV. We also hooked up the DMM to measure the impedance between power and ground and it was about 0-ohms. After this, I left for class.
When I came back after class, Anthony had found out that power and ground were indeed shorted. Once Dan and Sebastian arrived, we took apart the robot and looked at our connections between the wall supply and toggle switch. We had hooked it up in a way that when the switch is turned off, the power just shorts to ground. We corrected this so now the wall power directly goes through the toggle switch and wall ground goes straight to the PCB. This had actually messed up our switch position also. When we are trying to draw infinite current in the "off" position, the laptop charger actually shuts down, which made us think that we were turning the device off. So the actual "off" position of the switch now is when its turned upwards.



After fixing this issue, we resumed to test our robot. Thankfully, all the sensors and compass are still fully functional. Dan also fixed the issue of receiving packets quickly, so now the robot responds quickly to all the sensor data and brakes before hitting any obstacles.


 

Tuesday, April 19, 2011 (.5 hours):
On Monday, Anthony and I created a YouTube account to upload our videos to. I spent some time uploading the four videos I had on my camera on to YouTube. Below are all the links:
ece477team3sp11 YouTube
ATV Webcam Following an Object
Robot Detecting Obstacle 1
Robot Detecting Obstacle 2

Wednesday, April 20, 2011 (4 hours):
We all met in the lab to continue testing and interfacing. I checked out our videso that were uploaded into YouTube yesterday, we have several views already and some requests for friends. I continued working on the User Manual, specifically on the Troubleshooting section. It seems there is little we can do if the robot stops working, as we will not be able to repair any parts and the user will not either unless he/she has significant knowledge of components involved.
Once Dan interfaced the webcam code with the code that reads sensors and controls the motors, we resumed interfacing testing. The problem we were having over the weekend with latency of the Atom receiving the packets from the microcontrollers resurfaced. As more code was being addded to the micros or the Atom, the delays would change and synchronization would be off. We even tried to count the number of packets that were being sent back and forth, but the buffer would still fill up quickly from the faster micro and the Atom has to waste time reading extra packets to clear the buffer. Anthony came up with the idea of making the micros send the packets only when the Atom requested them. This seemed to work out great as there were no delays due to buffer being filled up. The micros no longer continually send data and fill up the buffers. The synchronization problem is finally solved and the ATV responds very quickly to sensor data.
Also after combining the webcam code with the motor/sensor code, we are now able to turn the wheels in the direction that the webcam is facing. So now the robot is able to follow an object via the webcam. We were about to try this new feature by putting the robot on the ground when the Atom board started to spontaneously shut off. We found the problem to be a lose connection of power cables. On Monday, when we fixed the problem of shorting power to ground, we had loosely connected the power cables from the wall to the toggle switch connectors. Every time we move the robot, the connection would be cut and Atom would shut down. Fixing this problem is cumbersome because we have to take apart the entire robot. Also, every time the Atom shuts down, it takes about 5 minutes to get it up and running. Due to these reasons, we decided to continue this tomorrow.

Thursday, April 21, 2011 (13 hours):
Fixed the issue of the Atom board constantly shutting down by using hot glue to secure the power connection cables together. Now when you plug in the power cables to either the battery or the wall, the cable will not disconnect.



We continued to fine tuning the "following target" code. Now, when the robot turns while the camera is following a target, the robot will first backup, turn the wheels in the direction that the camera is facing while moving forward again. Earlier, when turning, we had one set of wheels going forward and one set going backwards, but this made the camera lose its dots and lose the target it was following. The camera can now smoothly stay on the target unless of course the target moves very very quickly out of sight. We took some videos of this operation.




We noticed that the WiFi connection to the atom is severly delayed today. This might be from all the people in the lab trying to operate their wireless-enabled devices. So we used an ethernet cable to connect to remotely connect to the Atom instead. While we were still running on wall power, we got Mostafa to check us off on the preliminary check-offs for PSSCs #2, #3, and #4. Then we charged the battery for a little while and also got final check-offs for PSSCs #2, #3, and #4.
We also went outside to check out the GPS connection, but it was acting somewhat strange, not being able to precisely locate us on the map. We think this is because we were near tall buildings. So instead, we tested the robot while it was in "following target" mode using the camera. The robot is able to navigate over the almost even terrain out in front of MSEE. It is somewhat difficult to do extensive testing with the robot because the battery expires in about 1 hour and takes about 2-3 hours to charge.


I continued working on finishing the User Manual. Dan helped out with the part where the user executes the program on the Atom. I added a lot of pictures and labeled them so the user would know which components to operate. I also added colors to the User Manual to match the colors on our website. After making the description sound more marketing-style, I submitted the User Manual for grading.

Friday, April 22, 2011 (2.5 hours):
Helped Anthony figure out which direction the wheel was moving with data from the wheel encoders. We were trying to detect a rising edge on PTT_PT6 and then look at whether PTT_PT7 was high or low to determine rotation direction. The interrupt routine that analyzed the data from the wheel encoders gave very inconsistent directions. When the wheel was moving forward, it would tell us that the wheel is moving forwards sometimes and backwards sometimes. It turns out that a 5ms delay in gathering Pulse Accumulator data intefered with capturing the value of PTT_PT7 in time. Once that was removed, we were able to consistently read the correct value from PTT_PT7.
I also started working on modifying my Homework #6 for the final report.

WEEK 15 SUMMARY
Accomplishments:
We fixed the problem that has been mercilessly killing our micros. We had shorted power to ground in an attempt to "turn off" the robot. We also solved our synchronization problem between the micros and the Atom board. Now the micros only sent packets to the Atom after the Atom has sent a packet to the micro. This solves the problem of unnecessarily filling up the buffers. Features we added this week were: detecting and stopping for obstacles; making the robot turn in direction of webcam. Also finished the User Manual.
Weekly Work Total: 23.5 hours
Project Work Total: 181.5 hours

Week 16

Sunday, April 24, 2011 (1.5 hours):
I spent some time revising HW #6 and putting it into the final report. There were some modifications to make because we ended up not using some of the same parts and therefore some parts on PCB. For example, we switched compasses, so we no longer need the 3.3V power supply circuitry or the level translator we have on our PCB. I have to go to lab and get a screenshot of the latest PCB from PADS Layout for the report.

Monday, April 25, 2011 (4.5 hours):
Anthony and I worked on the Final Report. We wrote the Abstract and the Project Overview (with a little help from homework #3 submitted by Dan). We also filled out the Bill of Materials and came up with a value around $750 for the total project cost.
All four of us went to the MSEE Atrium to test our GPS for PSSC #1. It was raining, so we couldn't take the project outside. We initially had trouble getting all the GPS to locate us. But after a few starts, it was able to pinpoint us exactly on the map. We got preliminary and final check off for PSSC #1. We did some more testing for PSSC #5, and we should be able to get checked off for it tomorrow.
Anthony and I also did some "cable management" work on the robot. We tied the camera cable and the GPS cable with zip ties, everything looks a little cleaner now.

Tuesday, April 26, 2011 (4 hours):
We met in lab and demonstrated the operation of the ATV to Prof. Meyer and Chuck during the progress briefings. Then we went outside to get video footage to make the PSSC video. The sun was way too bright and the low quality webcam couldn't detect anything but pure white sunlight. So we came back inside to the MSEE Atrium and shot all of our video inside. We got several clips of the robot in motion and some clips of GPS data. Sebastian and I worked on putting together some of the video from the footage we had. Dan was able to get a visual screen display of the change in position as the robot moved. We used this to demonstarte PSSC #5 and got both the preliminary and final check off. Anthony also finished putting together the rest of our video for tomorrow's PSSC presentation.

     

Wednesday, April 27, 2011 (3 hours):
We showed the video we made for the TCSP session today. Looks like we'll be able to do a bonus demonstration on Friday!
Anthony and I met after the TCSP Presentations to work on the ECE Senior Design Report. We finished mostly all of it except for the part on Sunstainability, because that is more Sebastian's expertise. We are also about halfway done with our Final Report. We need to edit homework assignments and add those and also add a picture of our final version of the robot.

Thursday, April 28, 2011 (5.5 hours):
We met to redo our vidoe presentation with completely wireless operation. We headed to MSEE to shoot several clips of all the PSSCs in action. Dan had implemented a more advanced display of the scanning feature of the robot in the navigation mode. We shot several screen cam shots of that in operation also. Once all the video footage was taken, we came back into lab and started cropping and making the video. Along with the video, we also worked on finishing our bonus power point presentation, which is now in the Documents page.

Saturday, April 30, 2011 (3.5 hours):
We all met to finish the Final Report and Poster. Anthony and I worked on the Final Report by editing and copying in the homework assignments. We also finished the Senior Design Report and the Sebastian and Dan finished the poster.

Sunday, May 1, 2011 (2 hours):
We all met in lab to finish the Final Report and Poster. We submitted all the Final Report, the Senior Design Report, the Poster, and the source code. We finished the PowerPoint presentation and divided up the parts among all of us.

WEEK 16 SUMMARY
Accomplishments:
I worked on revising HW 6 for the final report. We got the preliminary and final check off for PSSC #4 and #5. Anthony and I wrote the Abstract, Project Overview, Bill of Materials for the final report. Finished the video presentation and also presented to both ECE 270 and ECE 362 for bonus points. Worked on the Final Report, the Senior Design Report, and the poster.
Weekly Work Total: 22 hours
Project Work Total: 203.5 hours

Week 17

Sunday, May 1, 2011 (2 hours):
We all met in lab to finish the Final Report and Poster. We submitted all the Final Report, the Senior Design Report, the Poster, and the source code. We finished the PowerPoint presentation and divided up the parts among all of us.

Tuesday, May 3, 2011 (2 hours):
All of us met to practice the Final Presentation. We practiced the transitions between parts and Anthony and I practiced our individual parts.

WEEK 17 SUMMARY
Accomplishments:
We finished all three reports and poster and submitted all of them. I practiced and gave the Final Prsentation.

PROJECT COMPLETED SUCCESSFULLY!!!

Weekly Work Total: 4 hours
Project Work Total: 207.5 hours

One thought on “Camshots Review Assignment Coding

Leave a Reply

Your email address will not be published. Required fields are marked *