Meeting Log Spring 2009

From MARS Wiki

Jump to: navigation, search

Contents

February 11th, 2009

At today's meeting we discussed plans for this semester of MARS. This semester, the circuit board for T101 needs to be redesigned, as the current control board is broken and a new, more professional control board is desired. Designing a new board also provides an opportunity to change the microcontroller powering the board. (The current board uses an Atmel AVR while the new board could possibly use an 8- or 16-bit PIC microcontroller.)

Tools of the Trade

PCB Layout Program

In order to design the circuit board for T-101, a PCB (printed circuit board) layout program is needed. This program allows the user to layout the components of a circuit board in a virtual setting in a manner very similar to most CAD programs. Currently, there are 2 good free PCB programs available: expresspcb by ExpressPCB and EagleCAD by CadSoft. Of the 2 programs, EagleCAD will be used as it is more flexible and allows the user to send files to any PCB-making service (as opposed to expresspcb, in which you must use the ExpressPCB service for board creation). To help learn EagleCAD, SparkFun Electronics has hosted several very useful tutorials on EagleCAD (along with a wide range of other topics), so check them out for lessons on schematic creation, PCB layout, and custom part creation in EagleCAD.

Microcontroller Development Environment

A big part of robot design is the firmware and software. Without it, the robot is more or less nonfunctional. Therefore, a PC/laptop-side development environment for microcontroller firmware is needed. The development environment used depends heavily on the microcontroller being used for a project. Currently, it is planned for T-101 to make use of a PIC microcontroller. To develop software for the Microchip PIC series, MPLAB IDE is necessary.

By default, MPLAB IDE compiles code into the assembly language, which is nice most of the time. Sometimes, however, it is desirable to be able to use higher level languages like C to simplify the software development process. For this, C Compiler extensions to MPLAB are needed. Microchip includes a number of C Compilers, all of which are available as student versions for free.

The MARS wiki includes a number of tutorials to help introduce MPLAB and Microchip PICs to the novice user. Tutorials on PICs and the assembly language can be found here.

February 18th, 2009

At this meeting, a high-level discussion of T-101's basic functionality was discussed. Like any system, T-101 can be broken down into a few functional blocks. These functional blocks are:

  • Power Circuitry
  • Motors
  • Microcontroller
  • Sensors

Each of the functional blocks is described below.

Power Circuitry

The power circuitry functional block consists of the power source (a pair of RC car batteries), a decoupling capacitor, and a voltage regulator (the original version of T-101 makes use of a linear voltage regulator known as the 7805. The power circuitry provides necessary power to the rest of the robot. However the upgraded T-101 power block consists of a switching power supply which is also known as a Buck regulator

Motors

The motors functional block provides the robot with a means of locomotion. The block consists of the motors, as well as an H-Bridge which allows the microcontroller to control T-101's motors. T-101 has 4 motors, with the 2 pairs of side motors controlled together in a differential drive configuration. This allows T-101 to move in much the same way as a tank. The H-Bridge provides the microcontroller with the ability to control the direction that each pair of motors turn, and through the use of Pulse Width Modulation (PWM), the speed of each set of motors can be independently controlled.

Microcontroller

As the name suggests, the microcontroller functional block consists of a microcontroller, which provides the robot with user-programmable control. User-defined programs can be written and uploaded into the microcontroller, allowing T-101's behavior to be configured for a specific scenario. The original version of T-101 features an Atmel AVR microcontroller, although the second version will feature a PIC microcontroller.

Sensors

The sensors functional block provides T-101 with a means to gather data from it's surroundings. So far, T-101's sensors consist of 4 infrared sensors and 2 ultrasonic sensors. Sensors can be interfaced to the microcontroller in a variety of ways, the most popular of which are UART/USART, SPI, and I2C

February 25th, 2009

In order to provide T-101's control circuitry with power, a voltage regulator is required. For the new version of T-101, a Buck voltage converter was designed. A schematic of the Buck regulator can be found here.

March 4th, 2009

Parts for T-101 were ordered. The parts list can be downloaded here.

March 25th, 2009

The Parts for T-101 that we ordered have come in The following link is the H-bridge that was designed for T101. Because this H-bridge was not in our eagle library, it needed to be designed.H-Bridge Save the link in your eagle library. Over the next few weeks we'll be creating a schematic, and making a pcb layout for all the circuitry involved with T-101.

Being that we can basically start the coding portion of this project, and we will be doing it in C, a helpful link to look at would be this: Getting Started (C18). This is a basic tutorial on using C18. It is also a good refresher on simply using MPLAB IDE.

Edit: To assist in the learning curve on the MPLAB C18 Toolsuite, a sample C program is available for your viewing pleasure.

April 1st, 2009

The PCB for T-101 is coming along and will hopefully be done next week. In the meantime, however, datasheets for the components of T-101 are provided on the T101 datasheets page.

April 8th, 2009

The latest version of the Eagle Library for Image:IEEEMARS.lbr is online and available for download. Please download this and save it in your Eagle libraries folder.


For the first steps of our attempts to program T-101, see our T101 Radar Tutorial.

April 15th, 2009

The T101v2 pcb was routed out, and after a few tweaks were made, T101v2rev0 board was ordered. That board (along with its related schematic) can be downloaded here:

In the meantime, progress was made on the prototype radar code. See the T101 Radar tutorial for more details.

April 29th, 2009: Board Mistakes and Fixes

The T101v2 pcb arrived, only to have a series of design flaws which rendered it useless for our purposes. The following flaws were found, along with suggested improvements:

  • The pins on the LM7805 Regulator were assigned incorrectly in the Eagle Model of the component. They will have to be changed and the part updated in the board model.
  • The holes for the board power terminals were placed too closely together. They must be spaced out.
  • The holes for the fuseholder pins were too small. They will be widened for the next board revision.
  • 2 feedback resistors critical to the operation of the switching regulator were omitted. They must be included in the next board revision.
  • Some of the traces connected to the H-bridge modules are unnecessarily wide. They will be corrected in the next board revision.
  • Additional silkscreen should be use to make the board easier to manufacture. This will be included in the next board revision.
Personal tools