Log Book
As part of the project specifications, we were required to design our own checkpoints along the way to the grading session, as well as to keep a regular log book of our progress on the project. Below you'll find our logbook entries.
May 5th
- Our website is up and running!
- We've decided on a pirate theme. Here's our preliminary design for the controller (the PAC) and the bot (the LOBBYIST):
- We've decided on a pirate theme. Here's our preliminary design for the controller (the PAC) and the bot (the LOBBYIST):
- We've also finalized the specifications for each checkpoint. Here they are:
- Took a trip to Aero-Micro to buy propellers and motors.
- Made a list of materials to purchase and started prototyping skirt.
- Made a list of materials to purchase and started prototyping skirt.
May 6th
- Made the first prototype for a soft skirt hovercraft. It hovers really well!
- Soldered the XBEE communication board.
- Soldered the XBEE communication board.
Here are some fun videos!
May 7th
- Worked on Porting the ES Framework to the PIC16F1788. This took a whole day! But after getting the systick to work with Timer 1 everything worked right away (I wished ...)
May 8th
- Updated checkpoint criteria further.
- Got Debounce Button working in the PIC using the framework and Event checkers.
- Then moved on to enable UART. This started working very quickly because of the hardware UART. Then took the state machine that we had gotten working with the TIVA and got it working with the PIC. Now we are finally transmitting data from the TIVA and receiving at the PIC!
- One thing that helped us a ton is using the Logic Analyzer. A neat trick that we learned is to use this feature:
- Got Debounce Button working in the PIC using the framework and Event checkers.
- Then moved on to enable UART. This started working very quickly because of the hardware UART. Then took the state machine that we had gotten working with the TIVA and got it working with the PIC. Now we are finally transmitting data from the TIVA and receiving at the PIC!
- One thing that helped us a ton is using the Logic Analyzer. A neat trick that we learned is to use this feature:
You can set the software to detect the type of bytes that are being sent through! This works for UART, SPI, I2C. This is an excellent way to debug with the PIC since we dont have the print functionality anymore.
May 9th
- Glued propeller towers to the hovering platform prototype. Surprisingly, they are quite sturdy. Looks like the platform is good to go for checkoff tomorrow.
- Ordered a steering wheel and some other props from amazon today.
- Ordered a steering wheel and some other props from amazon today.
May 10th (Checkpoint 1)
- Successfully checked off. We got our prototype hovering platform to move under remote control via keystrokes on the TIVA. See the video:
- Got hardware PWM working on the PIC16F1788, but only at one set duty cycle. Still need to implement analog controls from PAC.
- We have communications working, but not with the CommComm protocol. We need to implement this protocol on both the PAC and LOBBYIST side. This is our number one priority at this point.
- It turns out that the checkpoints document that we thought was finalized was not up to standard, so we rewrote it a few times and now we have the final version. It's linked here.
- We have communications working, but not with the CommComm protocol. We need to implement this protocol on both the PAC and LOBBYIST side. This is our number one priority at this point.
- It turns out that the checkpoints document that we thought was finalized was not up to standard, so we rewrote it a few times and now we have the final version. It's linked here.
May 11th
- Got the accelerometer working with I2C today! We used libraries we found online in order to use I2C on the TIVA (as we never learned I2C in class). The logic analyzer came in super helpful here, as it has a mode specifically for interpreting I2C packets.
- Need to get a potentiometer working for the next checkpoint. -Started CADing for the Lobbyist and planning for the next iteration. Here is a picture of our propeller mount design. |
May 12th
- We have most of the communications protocol implemented on both the LOBBYIST and PAC. We still need to implement encryption and decryption.
- We have several undetermined bugs in our communications. For what appears to be multiple distinct reasons, we are unpairing way earlier than 45 seconds. Sometimes it's 5 seconds, sometimes it's 20. We plan on debugging this a lot in the next few days.
- Put in an order to digikey today. We ordered a 4-way switch, an audio amplifier chip, fuse holders, and several other electronic odds and ends.
- We have several undetermined bugs in our communications. For what appears to be multiple distinct reasons, we are unpairing way earlier than 45 seconds. Sometimes it's 5 seconds, sometimes it's 20. We plan on debugging this a lot in the next few days.
- Put in an order to digikey today. We ordered a 4-way switch, an audio amplifier chip, fuse holders, and several other electronic odds and ends.
May 13th
- Got the steering potentiometer working!
- Still need to do encryption and decryption.
- Found two bugs in communications today:
1. The framework timer on the PIC16F1788 was set to 45000 ms, but was only going for exactly half of that. We realized that we chose the wrong oscillator frequency on the PIC.
2. On the LOBBYIST side, we weren't successfully guarding against other teams that were broadcasting pairing requests. We simply needed to add in an if statement in our pairing state machine to fix this.
- It seems like we still have trouble pairing when there are lots of teams communicating at the same time in SPDL. We are slightly worried that our Xbee is just getting too much traffic and slowing our communications down enough to force us into an unpairing timeout.
- One next big goal is to get the DMC working for checkoff. This entails coding the PIC12F752 in assembly.
- Still need to do encryption and decryption.
- Found two bugs in communications today:
1. The framework timer on the PIC16F1788 was set to 45000 ms, but was only going for exactly half of that. We realized that we chose the wrong oscillator frequency on the PIC.
2. On the LOBBYIST side, we weren't successfully guarding against other teams that were broadcasting pairing requests. We simply needed to add in an if statement in our pairing state machine to fix this.
- It seems like we still have trouble pairing when there are lots of teams communicating at the same time in SPDL. We are slightly worried that our Xbee is just getting too much traffic and slowing our communications down enough to force us into an unpairing timeout.
- One next big goal is to get the DMC working for checkoff. This entails coding the PIC12F752 in assembly.
May 15th
- Got the DMC software working. It is correctly showing team color and pairing status, based on its communication with the big PIC on the LOBBYIST.
- Got encryption and decryption working in communications between PAC and LOBBYIST.
- Paired with two other teams, and were able to control their bots (somewhat).
- Laser cut and assembled the flag-raising module for the DMC. We designed it for a small servo (HXT900), but it seems like we're going to need to do a second iteration with a bigger motor. The '900 is heating up a ton and getting jammed a lot during operation.
- Also, got the final version of our hovering hardware cut and assembled. Soldered the on-board electronics as well. Following photo shows new platform with DMC installed:
- Got encryption and decryption working in communications between PAC and LOBBYIST.
- Paired with two other teams, and were able to control their bots (somewhat).
- Laser cut and assembled the flag-raising module for the DMC. We designed it for a small servo (HXT900), but it seems like we're going to need to do a second iteration with a bigger motor. The '900 is heating up a ton and getting jammed a lot during operation.
- Also, got the final version of our hovering hardware cut and assembled. Soldered the on-board electronics as well. Following photo shows new platform with DMC installed:
May 16th (Checkpoint 2)
- Another successful checkoff! Here's a video of our final hovering platform, (we haven't decorated yet):
- We are able to "control" our hovercraft with a potentiometer and accelerometer, but it's extremely difficult to do accurately. We think this could be partly due to the pot being difficult to turn with precision (this will improve when we couple the pot to a steering wheel). Additionally, we need to improve the logic that maps commands from the PAC to PWM duty cycles to the two thrust fans.
- We still need to implement bi-directional control of the thrust fan motors.
- The main priority now is to design and build the mechanical platform for the PAC. We also need to solder the PAC electronics before the next checkpoint.
- We still need to implement bi-directional control of the thrust fan motors.
- The main priority now is to design and build the mechanical platform for the PAC. We also need to solder the PAC electronics before the next checkpoint.
May 18th
- Solved a minor bug where the thrust fan motors were turning on in quick bursts at seemingly random intervals. Turned out it was caused by periodically referencing an index way outside of our decryption array.
- Did a second iteration of the flag-raiser module for the DMC. Works way better with the bigger servo. Still gets jammed, but way more rarely. We may be able to tweak it further, but it's definitely working sufficiently for check-off.
- Cut the top part of the PAC where we would mount the steering wheel and the rest of the user interface components.
- Got bi-directional drive working for the propeller motors. We ended up having to completely revamp the logic in our code in order to implement backwards drive. Definitely would have saved time to just code for both directions from the beginning.
- Did a second iteration of the flag-raiser module for the DMC. Works way better with the bigger servo. Still gets jammed, but way more rarely. We may be able to tweak it further, but it's definitely working sufficiently for check-off.
- Cut the top part of the PAC where we would mount the steering wheel and the rest of the user interface components.
- Got bi-directional drive working for the propeller motors. We ended up having to completely revamp the logic in our code in order to implement backwards drive. Definitely would have saved time to just code for both directions from the beginning.
May 19th (Project Preview)
- We have the PAC fully built and soldered up! Unfortunately we can't checkoff tonight because there are no more office hours, but we plan to checkoff first thing tomorrow. Picture of PAC:
- The next big thing on our to-do list is decoration. We've decided we want to laser cut a cover for the hovercraft, to cover up the electronics and make the craft look more like a pirate ship. We also want to add a sail in front. Sail might not happen because of airflow concerns for the drive fans.
- Minor to-do: we have to get analog-to-digital conversion working on the PIC16F1788. We also have to solder the circuit to receive our "ID badge" resistor for the final grading session.
- ALSO: don't forget to add the bumper that was supplied to us at the beginning of the quarter.
- Minor to-do: we have to get analog-to-digital conversion working on the PIC16F1788. We also have to solder the circuit to receive our "ID badge" resistor for the final grading session.
- ALSO: don't forget to add the bumper that was supplied to us at the beginning of the quarter.
May 20th
- Yay checkoff! Video:
May 22nd
- Added the bumper to the hovercraft.
- Got analog-to-digital conversion working with the badge resistors. Ended up being easier than we expected!
- Got analog-to-digital conversion working with the badge resistors. Ended up being easier than we expected!
May 24th (Grading Session)
- We passed the grading session! There were a few small hiccups. First, the jolly roger flag on our DMC didn't go all the way down during the demonstration. Second, our hovercraft started rocking back and forth like crazy. We determined right after checkoff that it was because of the double-layered bumper that we had just implemented. Here's a picture of the craft with the bumper (we added the bottom layer so that ping pong balls wouldn't go under our bot):
- We removed the extra bumper and found that we could pull out some of the slack in the skirt to make the craft hover lower. We tested this solution to make sure ping pong balls could no longer get under the bot, and it worked. Picture:
- We haven't made much progress in decorating the LOBBYIST. We're going to work on that tomorrow, before the public demonstration.
- Fully decorated the PAC, though! Photo:
- Fully decorated the PAC, though! Photo:
May 25th: Public Demo!
- We cut out a "second deck" for our ship out of duron today. Unfortunately, it weighed the bot down such that the bumper rubbed against the ground. This means we probably can't use it for the public demonstration.
- Public demonstration was super fun! Here's some footage from it:
- Public demonstration was super fun! Here's some footage from it: