Поиск:  
  
Видеотека
Доска объявлений
Работа
Гостевая книга
Старая версия сайта
Карта сайта
Контакты

  





  ***

15.07.2005 - Fred Martin. The 6.270 Robot Builder


РобоКлуб/Книжная полка/Научно-техническая литература/Главы из книг/15.07.2005 - Fred Martin. The 6.270 Robot Builder




Fred Martin. The 6.270 Robot Builder

These notes were first written for the students of an experimental class at the Massachusetts Institute of Technology, the LEGO Robot Design Competition. They were compiled into the current book form and distributed to the students of the 1992 class. This second version of the Robot Builder's Guide contains some minor corrections and reorganization from the first edition, intended to make the work more suitable for perusal by both robotic enthusiasts and teachers interested in robot design as an educational activity. Appendix A of this edition explains the organization of the month-long course and also contains the 1992 contest specification. If the reader is interested in either of these two topics, it may be worthwhile to scan through this section first.

Chapter One presents assembly directions for all of the hardware in our robot building kit. Interspersed throughout the assembly information are brief introductions to each of the components. It's probably the case that most readers won't have the physical hardware in front of them when they read this section. Nevertheless it seemed the most appropriate chapter to introduce the materials. The reader may wish to skip over Section 1.1, which just discusses standard electronic components. Of course, if the reader has obtained a kit of materials, reading all of this chapter to learn how to assemble the kit seems like a good place to start!

The work documented in this manual is the result of contributions from many persons and in particular from a collaboration with two other individuals: Randy Sargent and Pankaj Oberoi. Most of the hardware described herein was co-designed with Randy, and he is the main author of the “Interactive C" environment described in Chapter 7. Pankaj has contributed to the project in many ways, including having played a steadfast organizational and motivational role. The enthusiastic participation of past students has also contributed to the development of both the technology and our ideas about how to best use it in an educational setting.

During the past year, the M.I.T. Department of Electrical Engineering and Computer Science and the M.I.T. Media Laboratory, who sponsored the development of the class technology, agreed to unrestricted and free distribution of the robotics technology described herein, including the printed circuit board artwork and software programming environment. While the material hasn't been placed in the public domain (it's still copyrighted), this means that any individual or organization can use the works for whatever purposes they desire. Our hope is that people will use this work in the spirit of GNU software, which is distributed freely and is supported largely by a community of interested users.

The 1992 class used version 2.1 of the robot controller board; this manual is based on a newer version 2.11, which fixes several minor wiring bugs that were discovered in the 2.1 design. The two designs are identical in terms of functionality; version 2.11 is a replacement for the older design. Information on obtaining plans and/or kits for the board set may be obtained from cherupakha.media.mit.edu (Internet address 18.85.0.47), an anonymous FTP file server maintained at the M.I.T. Media Laboratory that is used to distribute this work, among other things. This information may also be obtained by writing to the author at the address provided on the copyright page.

The LEGO Robot Design course is an on-going educational experiment. The 1993 class is being organized mainly by undergraduates who were students of prior classes. They are taking on the tasks of upgrading the hardware designs and re-writing much of the course notes to suit their own sense of what's best for the next generation of students. To me this represents an important step in the evolution of the class. In attracting such dedicated leaders, the class is keeping alive the creative excitement that marked the years in which I was involved.

Fred Martin
December 1, 1992

 

Preface

Michael B. Parker, an undergraduate in MIT's Electrical Engineering and Computer Science (Course Six) department, had just taken MIT's famous “Introduction to Design" class (course number 2.70) in the Mechanical Engineering department. In 2.70, undergraduates use scrap parts - metal, plastic, and wood - to build machines that go on to compete in a head-to-head contest at the end of the course.

Mike liked the course so much that he was jealous: why should there be a course like this for Mechanical Engineering students, but not for the students in his department?

So in 1987, Mike organized the first 6.270 contest, as “Course Six's answer" to the 2.70 course. The contest was a programming competition in which students wrote programs to control computer-simulated robots. In the first two years of the contest, the goal was to design a simulated robot that tried to find and destroy other robots.

A couple years later, Mike saw a project at MIT's Media Laboratory (where I was working) called \LEGO/Logo," in which children build robots and other mechanized devices out of LEGO bricks, motors, and electronic sensors, and then write programs to control them using a special version of the Logo programming language. Mike wanted to provide the 6.270 students with similar technology, so they could build real robots, not just the computer-simulated robots that been done in the past.

Along with me, Mike recruited Randy Sargent, a fellow student of his, to be the technical consultants to the upcoming 6.270 contest (which was starting in just a few weeks). It sounded like a fun way to spend IAP (MIT's “Independent Activities Period" is a one-month break between the fall and spring semesters).

Randy and I spent most of our holiday break designing an interface board that connected to a PC or Macintosh computer, controlling motors and providing input from a few simple sensors. The budget was tight and time was short as we scurried about the local Radio Shack stores, buying electronic parts for the twenty teams of students who had preregistered for the course.

Everything went wrong that month: the LEGO parts showed up late; we were unable to obtain approval to use campus Athena workstations; mix-ups in room scheduling forced us, a group of students wielding soldering irons, to wander about campus looking for available classrooms. It was only the students' excitement that carried us through the month and into a competition at the end of IAP. The contest lasted about four hours - it was a long, drawn-out affair - but the students enjoyed it.

In October of the next year, Pankaj (“P.K.") Oberoi, who had been a student in the class, called a meeting of interested past participants. P.K. thought the class had great potential and wanted to help organize it for the upcoming year.

P.K. had already worked on key administrative aspects, like recruiting corporate sponsors. Microsoft had donated some money to the course previously and was willing to up the ante for another year. P.K. also got the support of Motorola, which agreed to donate valuable semiconductor parts.

So Randy and I again teamed up to develop technology for the course. We laid out artwork for a custom printed circuit board that used a new Motorola microprocessor with lots of control features. P.K. and I wrote handouts for the students, telling them how to build sensors, a battery charger, and other robotics components.

Eighty students took the course that year (organized into thirty teams). Even before the contest that year, it was evident that the course was a success. As students carried their robot kits around campus, interest and excitement spread. The contest itself was a hit. By the end of that year, I was interested in the course not only from a technical perspective, but from a special educational perspective. Students at MIT were choosing to pull all-nighters building robots rather than taking ski trips. In doing so, they were learning about engineering design and robotic technologies from first-hand, experiential involvement in a project-based course. The course seemed to fill a gap in the students' education, providing them with a complement to the theoretical orientation of many MIT classes.

The course's approach to learning also fits closely with the educational ideas of the research group I am part of at the Media Laboratory. Seymour Papert, Director of the Epistemology and Learning Research group, has developed an educational philosophy called \constructionism." According to constructionism, learning and the acquisition of knowledge are active processes engaged in by the learner; i.e., knowledge is constructed by the learner. Also, this process can be greatly facilitated when the learner is building something real in the world, in addition to building knowledge inside his or her own head.

By providing the tools and materials for students to work with complex electronic, mechanical, and software ideas, 6.270 gives the students a place to explore and learn about key ideas in technology, engineering, and design. Teamwork, learning-by-doing, and learning from one's peers is primary. 6.270 provides a constructionist-style learning experience for MIT students.

The 1990 class was a big success but we wanted to make the class even better. The class was hampered by a controller board that had to be programmed in assembly language and only had a small amount of memory. Afterward, we began work on a robotic technology that would be more powerful and more useful to 6.270 students, allowing them to get even deeper into robot design and other technological issues.

By the time of the 1991 class, we had developed a robot-building kit with the high degree the power and exibility we had wanted. Students were able to develop software for their robot using the C programming language. The new embedded controller board we developed had numerous features, including a small display screen that could be used to print debugging messages. Students were able to use powerful Unix workstations (the MIT Athena network), located all across campus, to develop programs for their robots.

We put a lot of thinking into how to organize the class to maximize the students learning potential. We scheduled the class activities so that students would have all the pieces of a robot functioning as early as possible into the course. At this point, students would be able to take charge of their projects, and enjoy themselves as they saw their robots become more and more functional.

This document, the course notes for the 1992 6.270 class, is the result of several years of work. They have evolved from a couple of pages of wiring charts in the first year, to a collection of diagrams and other assembly notes handed out in a piecemeal fashion, into this document.

I was motivated to transform the notes based on my observations from last year's class: it seemed that many of the students wanted more in-depth discussion of the class's technology and more theory than lectures alone could provide. I hope that these course notes satisfy this intellectual curiosity.

Fred Martin
January 3, 1992

 

Contents
1 Assembly Manual : : : : : : : : : : : : : : : : : : : : : :: : : : : : : : : : : 1
1.1 Electronic Assembly Technique : : : : : : : : : : : : : : : : : : : : : 1
1.1.1 Soldering Technique : : : : : : : : : : : : : : : : : : : : : : : 2
1.1.2 Desoldering Technique : : : : : : : : : : : : : : : : : : : : : : 4
1.1.3 Component Types and Polarity : : : : : : : : : : : : : : : : : 4
1.1.4 Component Mounting : : : : : : : : : : : : : : : : : : : : : : 9
1.1.5 Component Value Markings : : : : : : : : : : : : : : : : : : : 10
1.2 The Microprocessor Board : : : : : : : : : : : : : : : : : : : : : : : : 11
1.2.1 Assembling the Microprocessor Board : : : : : : : : : : : : : : 12
1.2.2 Testing the Microprocessor Board : : : : : : : : : : : : : : : : 20
1.2.3 After Board Checkout : : : : : : : : : : : : : : : : : : : : : : 22
1.3 The Expansion Board : : : : : : : : : : : : : : : : : : : : : : : : : : : 22
1.3.1 Assembling the Expansion Board : : : : : : : : : : : : : : : : 22
1.3.2 Testing the Expansion Board : : : : : : : : : : : : : : : : : : 26
1.3.3 After Board Testing : : : : : : : : : : : : : : : : : : : : : : : 28
1.4 The LCD Display : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28
1.5 The Battery System : : : : : : : : : : : : : : : : : : : : : : : : : : : 28
1.5.1 The Battery Charger : : : : : : : : : : : : : : : : : : : : : : : 29
1.5.2 Battery Pack Construction : : : : : : : : : : : : : : : : : : : : 31
1.6 The Infrared Transmitter : : : : : : : : : : : : : : : : : : : : : : : : : 33
1.6.1 Assembly Instructions : : : : : : : : : : : : : : : : : : : : : : 34
1.7 The Motor Switch Board : : : : : : : : : : : : : : : : : : : : : : : : : 36
1.7.1 Assembly Instructions : : : : : : : : : : : : : : : : : : : : : : 36
1.8 Cable and Connector Wiring : : : : : : : : : : : : : : : : : : : : : : : 39
1.9 Sensor Wiring : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39
1.9.1 Touch Sensors : : : : : : : : : : : : : : : : : : : : : : : : : : : 43
1.9.2 Photocell Light Sensor : : : : : : : : : : : : : : : : : : : : : : 44
1.9.3 Infrared Reectance Sensor : : : : : : : : : : : : : : : : : : : 45
1.9.4 Single Bend Sensor : : : : : : : : : : : : : : : : : : : : : : : : 46
1.9.5 Dual Bend Sensor : : : : : : : : : : : : : : : : : : : : : : : : : 47
1.9.6 Sharp Infrared Sensor : : : : : : : : : : : : : : : : : : : : : : 48
1.9.7 Potentiometer : : : : : : : : : : : : : : : : : : : : : : : : : : : 48
1.9.8 Slotted Optical Switch : : : : : : : : : : : : : : : : : : : : : : 49
1.9.9 Hall Efiect Sensor : : : : : : : : : : : : : : : : : : : : : : : : : 50
1.10 Motor Wiring : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 51
1.10.1 The Polaroid Motor : : : : : : : : : : : : : : : : : : : : : : : : 51
1.10.2 Servo Motor : : : : : : : : : : : : : : : : : : : : : : : : : : : : 54
1.11 Computer Cable Wiring : : : : : : : : : : : : : : : : : : : : : : : : : 56
2 Motors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :  : : : 59
2.1 DC Motors   : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 59
2.1.1 Ratings and Specifications : : : : : : : : : : : : : : : : : : : : 59
2.1.2 Measuring Motor Torque : : : : : : : : : : : : : : : : : : : : : 61
2.1.3 Speed, Torque, and Gear Reduction : : : : : : : : : : : : : : : 62
2.1.4 Pulse Width Modulation : : : : : : : : : : : : : : : : : : : : : 63
2.2 Stepper Motors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 64
2.3 Servo Motors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 64
2.3.1 Control : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 64
2.3.2 Application : : : : : : : : : : : : : : : : : : : : : : : : : : : : 65
3 Batteries : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 67
3.1 Cell Characteristics : : : : : : : : : : : : : : : : : : : : : : : : : : : : 67
3.1.1 Voltage : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 67
3.1.2 Capacity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 67
3.1.3 Power Density : : : : : : : : : : : : : : : : : : : : : : : : : : : 68
3.1.4 Discharge Curve : : : : : : : : : : : : : : : : : : : : : : : : : : 68
3.1.5 Internal Resistance : : : : : : : : : : : : : : : : : : : : : : : : 68
3.1.6 Rechargeability : : : : : : : : : : : : : : : : : : : : : : : : : : 69
3.1.7 Cost : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 70
3.2 Battery Packs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 70
3.3 6.270 Battery Charger : : : : : : : : : : : : : : : : : : : : : : : : : : 71
4 LEGO Design 73
4.1 Fundamental LEGO Lengths : : : : : : : : : : : : : : : : : : : : : : : 73
4.2 LEGO Gearing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 76
4.2.1 Gear Reduction : : : : : : : : : : : : : : : : : : : : : : : : : : 78
4.2.2 Chain Drives : : : : : : : : : : : : : : : : : : : : : : : : : : : 79
4.2.3 Testing a Geartrain : : : : : : : : : : : : : : : : : : : : : : : : 79
4.2.4 Low-Force Geartrains : : : : : : : : : : : : : : : : : : : : : : : 79
5 Sensor Design : : : : : : : : : : : : : : : : : :: : : : : : : : : : : : : 81
5.1 Sensors as Tranducers : : : : : : : : : : : : : : : : : : : : : : : : : : 81
5.1.1 Analog and Digital Sensors : : : : : : : : : : : : : : : : : : : : 81
5.2 Sensor Inputs on the 6.270 Board : : : : : : : : : : : : : : : : : : : : 82
5.2.1 Analog Inputs : : : : : : : : : : : : : : : : : : : : : : : : : : : 82
5.2.2 Digital Inputs : : : : : : : : : : : : : : : : : : : : : : : : : : : 82
5.2.3 Connector Plug Standard : : : : : : : : : : : : : : : : : : : : 83
5.2.4 Sensor Input Wiring : : : : : : : : : : : : : : : : : : : : : : : 84
5.2.5 The Voltage Divider Circuit : : : : : : : : : : : : : : : : : : : 84
5.3 Tactile Sensors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 85
5.3.1 Touch Switch : : : : : : : : : : : : : : : : : : : : : : : : : : : 86
5.3.2 Bend Sensor : : : : : : : : : : : : : : : : : : : : : : : : : : : : 88
5.3.3 Potentiometer : : : : : : : : : : : : : : : : : : : : : : : : : : : 89
5.4 Light Sensors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 89
5.4.1 Photocell : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 91
5.4.2 Infrared Reectance Sensor : : : : : : : : : : : : : : : : : : : 91
5.4.3 Infrared Slotted Optical Switch : : : : : : : : : : : : : : : : : 93
5.4.4 Modulated Infrared Light Detector : : : : : : : : : : : : : : : 94
5.5 Other Sensors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 94
5.5.1 Magnetism Sensor : : : : : : : : : : : : : : : : : : : : : : : : 94
5.5.2 Motor Current Sensor : : : : : : : : : : : : : : : : : : : : : : 95
6 Robot Control 97
6.1 Basic Control Methods : : : : : : : : : : : : : : : : : : : : : : : : : : 98
6.1.1 Feedback Control : : : : : : : : : : : : : : : : : : : : : : : : : 98
6.1.2 Open-Loop Control : : : : : : : : : : : : : : : : : : : : : : : : 100
6.1.3 Feed-Forward Control : : : : : : : : : : : : : : : : : : : : : : 101
6.1.4 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 102
6.2 Sensor Calibration : : : : : : : : : : : : : : : : : : : : : : : : : : : : 102
6.2.1 Manual Sensor Calibration : : : : : : : : : : : : : : : : : : : : 102
6.2.2 Dealing with Changing Environmental Conditions : : : : : : : 103
6.2.3 Using Persistent Global Variables : : : : : : : : : : : : : : : : 104
6.3 Robot Control : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 104
6.3.1 Sensor Unreliability : : : : : : : : : : : : : : : : : : : : : : : : 105
6.3.2 Task-Oriented Control : : : : : : : : : : : : : : : : : : : : : : 106
6.3.3 Coordination of Tasks : : : : : : : : : : : : : : : : : : : : : : 110
7 IC Manual 115
7.1 Getting Started : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 116
7.2 Using IC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 117
7.2.1 IC Commands : : : : : : : : : : : : : : : : : : : : : : : : : : : 117
7.2.2 Line Editing : : : : : : : : : : : : : : : : : : : : : : : : : : : : 118
7.2.3 The main() Function : : : : : : : : : : : : : : : : : : : : : : : 119
7.3 A Quick C Tutorial : : : : : : : : : : : : : : : : : : : : : : : : : : : : 119
7.4 Data Types, Operations, and Expressions : : : : : : : : : : : : : : : : 121
7.4.1 Variable Names : : : : : : : : : : : : : : : : : : : : : : : : : : 121
7.4.2 Data Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : 121
7.4.3 Local and Global Variables : : : : : : : : : : : : : : : : : : : : 122
7.4.4 Constants : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 123
7.4.5 Operators : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 124
7.4.6 Assignment Operators and Expressions : : : : : : : : : : : : : 125
7.4.7 Increment and Decrement Operators : : : : : : : : : : : : : : 126
7.4.8 Precedence and Order of Evaluation : : : : : : : : : : : : : : : 126
7.5 Control Flow : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127
7.5.1 Statements and Blocks : : : : : : : : : : : : : : : : : : : : : : 127
7.5.2 If-Else : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127
7.5.3 While : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127
7.5.4 For : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 128
7.5.5 Break : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 128
7.6 LCD Screen Printing : : : : : : : : : : : : : : : : : : : : : : : : : : : 128
7.6.1 Printing Examples : : : : : : : : : : : : : : : : : : : : : : : : 129
7.6.2 Formatting Command Summary : : : : : : : : : : : : : : : : : 129
7.6.3 Special Notes : : : : : : : : : : : : : : : : : : : : : : : : : : : 130
7.7 Arrays and Pointers : : : : : : : : : : : : : : : : : : : : : : : : : : : : 130
7.7.1 Declaring and Initializing Arrays : : : : : : : : : : : : : : : : 130
7.7.2 Passing Arrays as Arguments : : : : : : : : : : : : : : : : : : 131
7.7.3 Declaring Pointer Variables : : : : : : : : : : : : : : : : : : : 131
7.7.4 Passing Pointers as Arguments : : : : : : : : : : : : : : : : : 132
7.8 The IC Library File : : : : : : : : : : : : : : : : : : : : : : : : : : : : 133
7.8.1 Output Control : : : : : : : : : : : : : : : : : : : : : : : : : : 133
7.8.2 Sensor Input : : : : : : : : : : : : : : : : : : : : : : : : : : : : 135
7.8.3 Time Commands : : : : : : : : : : : : : : : : : : : : : : : : : 140
7.8.4 Tone Functions : : : : : : : : : : : : : : : : : : : : : : : : : : 141
7.9 Multi-Tasking : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 141
7.9.1 Overview : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 141
7.9.2 Creating New Processes : : : : : : : : : : : : : : : : : : : : : 142
7.9.3 Destroying Processes : : : : : : : : : : : : : : : : : : : : : : : 143
7.9.4 Process Management Commands : : : : : : : : : : : : : : : : 144
7.9.5 Process Management Library Functions : : : : : : : : : : : : : 144
7.10 Floating Point Functions : : : : : : : : : : : : : : : : : : : : : : : : : 144
7.11 Memory Access Functions : : : : : : : : : : : : : : : : : : : : : : : : 145
7.12 Error Handling : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 146
7.12.1 Compile-Time Errors : : : : : : : : : : : : : : : : : : : : : : : 146
7.12.2 Run-Time Errors : : : : : : : : : : : : : : : : : : : : : : : : : 146
7.13 Binary Programs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 147
7.13.1 The Binary Source File : : : : : : : : : : : : : : : : : : : : : : 147
7.13.2 Interrupt-Driven Binary Programs : : : : : : : : : : : : : : : : 150
7.13.3 The Binary Object File : : : : : : : : : : : : : : : : : : : : : : 154
7.13.4 Loading an icb File : : : : : : : : : : : : : : : : : : : : : : : 154
7.13.5 Passing Array Pointers to a Binary Program : : : : : : : : : : 154
7.14 IC File Formats and Management : : : : : : : : : : : : : : : : : : : : 155
7.14.1 C Programs : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155
7.14.2 List Files : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155
7.14.3 File and Function Management : : : : : : : : : : : : : : : : : 156
7.15 Configuring IC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156
A Introduction to 6.270 157
A.1 Registration Policy : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158
A.2 Kit Fee and Toolkit Fee : : : : : : : : : : : : : : : : : : : : : : : : : 158
A.3 Team Organization : : : : : : : : : : : : : : : : : : : : : : : : : : : : 159
A.4 6.270 Alumni : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 160
A.5 Credit Guidelines : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 160
A.6 Schedule : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 162
A.6.1 Important Dates : : : : : : : : : : : : : : : : : : : : : : : : : 163
A.6.2 Detailed Schedule of the Month's Activities. : : : : : : : : : : 165
A.7 Robo-Cup Contest Rules : : : : : : : : : : : : : : : : : : : : : : : : : 169
A.7.1 Object : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 169
A.7.2 Balls : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 169
A.7.3 The Goal : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 172
A.7.4 Period of Play : : : : : : : : : : : : : : : : : : : : : : : : : : : 172
A.7.5 Control : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 173
A.7.6 Infrared Beacon : : : : : : : : : : : : : : : : : : : : : : : : : : 173
A.7.7 The Contest Playing Table : : : : : : : : : : : : : : : : : : : : 174
A.7.8 Structure : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 175
A.7.9 The $10 Electronics Rule : : : : : : : : : : : : : : : : : : : : : 176
A.7.10 Scoring : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 177
A.7.11 Organizers : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 177
A.8 Parts List : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 177
B 6.270 Hardware 183
B.1 The Microprocessor and Memory : : : : : : : : : : : : : : : : : : : : 183
B.1.1 Multiplexing Data and Address Signals : : : : : : : : : : : : : 184
B.2 Memory Mapping : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 185
B.2.1 Memory-Mapping the RAM : : : : : : : : : : : : : : : : : : : 187
B.2.2 Memory-Mapping with the 74HC138 Chip : : : : : : : : : : : 188
B.2.3 System Memory Map : : : : : : : : : : : : : : : : : : : : : : : 191
B.2.4 Digital Inputs : : : : : : : : : : : : : : : : : : : : : : : : : : : 191
B.2.5 Digital Outputs : : : : : : : : : : : : : : : : : : : : : : : : : : 191
B.2.6 6811 and Memory Schematic : : : : : : : : : : : : : : : : : : : 193
B.3 The Motor Drivers : : : : : : : : : : : : : : : : : : : : : : : : : : : : 193
B.3.1 The H-Bridge Circuit : : : : : : : : : : : : : : : : : : : : : : : 195
B.3.2 The H-Bridge with Enable Circuitry : : : : : : : : : : : : : : 195
B.3.3 The SGS-Thomson Motor Driver Chip : : : : : : : : : : : : : 196
B.3.4 Power Considerations : : : : : : : : : : : : : : : : : : : : : : : 199
B.3.5 Expansion Board Motor and LED Circuitry : : : : : : : : : : 201
B.4 Analog Inputs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 201
B.4.1 Motor Current Monitoring Circuit : : : : : : : : : : : : : : : : 202
B.4.2 Analog Input Multiplexing on the Expansion Board : : : : : : 203
B.5 The Serial Line Circuit : : : : : : : : : : : : : : : : : : : : : : : : : : 204
B.5.1 Serial Output : : : : : : : : : : : : : : : : : : : : : : : : : : : 204
B.5.2 Serial Input : : : : : : : : : : : : : : : : : : : : : : : : : : : : 206
B.6 Battery-Backing the Static RAM : : : : : : : : : : : : : : : : : : : : 207
B.6.1 Powering the Memory Chip : : : : : : : : : : : : : : : : : : : 207
B.6.2 The Power-Of Interrupt : : : : : : : : : : : : : : : : : : : : : 207
B.6.3 The Power-Up Delays : : : : : : : : : : : : : : : : : : : : : : 208
B.7 The Infrared Transmission Circuit : : : : : : : : : : : : : : : : : : : : 209
B.7.1 The IR Beacon : : : : : : : : : : : : : : : : : : : : : : : : : : 211
B.8 The LCD Display : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 212
B.9 The Low-Battery Indicator : : : : : : : : : : : : : : : : : : : : : : : : 214
C Printed Circuit Layouts 215
C.1 Microprocessor Board : : : : : : : : : : : : : : : : : : : : : : : : : : : 216
C.2 Expansion Board : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 217
C.3 Battery Charger Board : : : : : : : : : : : : : : : : : : : : : : : : : : 218
C.4 Motor Switch Board : : : : : : : : : : : : : : : : : : : : : : : : : : : 218
C.5 Infrared Beacon Board : : : : : : : : : : : : : : : : : : : : : : : : : : 219
D Electronic Suppliers 221
D.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 221
D.1.1 Retail Suppliers : : : : : : : : : : : : : : : : : : : : : : : : : : 221
D.1.2 Surplus Suppliers : : : : : : : : : : : : : : : : : : : : : : : : : 222
D.1.3 Ordering Catalogs : : : : : : : : : : : : : : : : : : : : : : : : 222
D.2 The Surplus Companies : : : : : : : : : : : : : : : : : : : : : : : : : 223
D.2.1 Surplus Company Listing : : : : : : : : : : : : : : : : : : : : 223
D.3 The Retail Companies : : : : : : : : : : : : : : : : : : : : : : : : : : 228

Вы можете ЗАГРУЗИТЬ (щелкните по ссылке правой кнопкой мыши и выберите "Сохранить как")
отдельные главы электронной версии этой книги в формате PDF (размер файла – 3,2Мб).