Warren / Adams / Molle | Arduino Robotics | E-Book | sack.de
E-Book

E-Book, Englisch, 621 Seiten, eBook

Warren / Adams / Molle Arduino Robotics


1. Auflage 2011
ISBN: 978-1-4302-3184-4
Verlag: APRESS
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 621 Seiten, eBook

ISBN: 978-1-4302-3184-4
Verlag: APRESS
Format: PDF
Kopierschutz: 1 - PDF Watermark



This book will show you how to use your Arduino to control a variety of different robots, while providing step-by-step instructions on the entire robot building process. You'll learn Arduino basics as well as the characteristics of different types of motors used in robotics. You also discover controller methods and failsafe methods, and learn how to apply them to your project. The book starts with basic robots and moves into more complex projects, including a GPS-enabled robot, a robotic lawn mower, a fighting bot, and even a DIY Segway-clone. Introduction to the Arduino and other components needed for robotics  Learn how to build motor controllers Build bots from simple line-following and bump-sensor bots to more complex robots that can mow your lawn, do battle, or even take you for a ride Please note: the print version of this title is black & white; the eBook is full color.
Warren / Adams / Molle Arduino Robotics jetzt bestellen!

Zielgruppe


Popular/general

Weitere Infos & Material


1;Title Page;2
2;Copyright Page;3
3;Dedication Page;4
4;Contents at a Glance;5
5;Table of Contents;6
6;About the Authors;20
7;About the Technical Reviewers;22
8;Acknowledgments;23
9;Introduction;25
9.1;Prerequisites;25
10;CHAPTER 1 The Basics;26
10.1;Electricity;27
10.1.1;Electrical Analogy;28
10.1.2;Electrical Basics;29
10.1.3;Circuits;31
10.1.4;Measuring Electricity;32
10.1.5;Multi-Meters;32
10.1.6;Measuring Voltage;33
10.1.7;Measuring Amperage;34
10.1.8;Measuring Capacitance;34
10.1.9;Measuring Resistance;35
10.1.10;Calculating Resistor Power Using Ohm’s Law;36
10.1.11;Oscilloscope;37
10.1.12;Loads;38
10.1.12.1;Inductive Loads;38
10.1.12.2;Resistive Loads;38
10.1.13;Electrical Connections;39
10.1.13.1;Series Connections;39
10.1.13.2;Parallel Connections;39
10.1.13.3;Series and Parallel Connection;40
10.2;Electronics;40
10.2.1;Semi-Conductors;41
10.2.2;Datasheets;41
10.2.3;Integrated Circuits;42
10.2.3.1;Packages;43
10.2.4;Through-Hole Components;43
10.2.4.1;IC Sockets;44
10.2.4.2;Surface-Mount Components (SMT or SMD);44
10.3;Arduino Primer;45
10.3.1;Arduino Variants;45
10.3.1.1;Standard Arduino;46
10.3.1.2;Arduino Mega;47
10.3.1.3;Clones;47
10.3.2;Arduino IDE;48
10.3.3;The Sketch;49
10.3.3.1;Variable Declaration;49
10.3.3.2;The Setup Function;49
10.3.3.3;The Loop Function;50
10.3.4;Signals;51
10.3.4.1;Digital Signals;52
10.3.4.1.1;Digital Inputs;52
10.3.4.1.2;Digital Outputs;52
10.3.4.1.3;Special Case: External Interrupts;53
10.3.4.2;Analog Signals;55
10.3.4.2.1;Analog Inputs;55
10.3.4.2.2;Analog Outputs (PWM);56
10.3.4.2.3;Duty-Cycle;57
10.3.4.2.4;Frequency;58
10.3.4.2.5;Homemade PWM Example;59
10.4;Building Circuits;60
10.4.1;Circuit Design;60
10.4.2;Schematics;61
10.4.3;Prototyping;65
10.4.3.1;Breadboard;65
10.4.3.2;Perforated Prototyping Board (Perf-Board);66
10.4.3.3;Printed Circuit Boards;67
10.4.3.4;Soldering;68
10.4.3.4.1;Soldering Shortcuts;70
10.5;Building a Robot;71
10.5.1;Hardware;71
10.5.1.1;Basic Building Tools;71
10.5.2;Materials;73
10.5.3;Work Area;73
10.6;Summary;74
11;CHAPTER 2 Arduino for Robotics;75
11.1;Interfacing Arduino;75
11.1.1;Relays;76
11.1.1.1;Types of Relays;76
11.1.1.2;Relay Configurations;77
11.1.1.3;Uses;79
11.1.1.4;Calculating Current Draw;79
11.1.1.5;Back-EMF Considerations;81
11.1.1.6;Solid-State switches;81
11.1.2;Transistors;82
11.1.2.1;Bipolar Junction Transistor (BJT);82
11.1.2.1.1;Mosfets;84
11.1.2.1.1.1;Logic-Level vs. Standard;85
11.1.2.1.1.2;Mosfet Capacitance;85
11.1.2.1.1.3;On-State Resistance—Rds(On);86
11.1.2.1.1.4;Calculating heat using Rds(On) and amperage of DC motor;86
11.1.2.1.1.5;Parallel Mosfets;87
11.1.2.1.2;Photo-Transistors;88
11.1.3;Interfacing a Motor-Controller;89
11.1.3.1;Motor-controller ICs;89
11.1.3.1.1;Electronic Speed Controllers (ESCs);90
11.2;User Control;92
11.2.1;Tethered (Wired) Control;92
11.2.2;Infrared Control (IR);92
11.2.3;Radio Control Systems;93
11.2.3.1;Amplitude Modulation (AM);94
11.2.3.2;Frequency Modulation (FM);94
11.2.3.3;Spread Spectrum 2.4gHz;95
11.2.3.4;Xbee;95
11.3;Sensor Navigation;96
11.3.1;Contact Sensing;96
11.3.1.1;Bump Switch;96
11.3.2;Distance and Reflection Sensing;97
11.3.2.1;IR Sensor;97
11.3.2.2;Ultrasonic Range Finder;99
11.3.2.3;Laser Range Finder;99
11.3.3;Orientation (Positioning);100
11.3.3.1;Accelerometer;100
11.3.3.2;Gyroscope;101
11.3.3.3;Inertial Measurement Unit (IMU);101
11.3.3.4;Global Positioning Satellite (GPS);102
11.3.3.4.1;Real Time Kinetic (RTK) GPS;102
11.3.4;Non-Autonomous Sensors;103
11.3.4.1;Camera;103
11.3.4.2;Current Sensor;104
11.4;Summary;105
12;CHAPTER 3 Let’s Get Moving;107
12.1;Electric Motors;107
12.1.1;Brushed DC Motor (Permanent Magnet Type);108
12.1.2;Brushless Motors;109
12.1.3;Stepper Motors;110
12.1.4;Gear Motors;112
12.1.5;Servo Motors;112
12.1.5.1;Continuous Rotation;114
12.1.6;Linear Actuators;114
12.1.7;Calculating Power;115
12.1.8;Driving;115
12.1.9;Finding the Right Motor;116
12.2;The H-Bridge;116
12.2.1;Generating a Brake;117
12.2.2;Implementation;118
12.2.2.1;Method 1: Simple Switches;119
12.2.2.2;Method 2: DPDT Relay with Simple;120
12.2.2.3;Method 3: P-Channel and N-Channel Mosfets;121
12.2.2.4;Method 4: N-Channel H-Bridge;122
12.2.3;H-Bridge ICs;122
12.2.4;Changing PWM Frequencies;123
12.2.5;Back EMF;125
12.2.6;Current Sensing;127
12.2.7;Commercial H-Bridges (Motor-Controllers);128
12.2.7.1;Small (Up to 3amps);128
12.2.7.2;Medium (Up to 10amps);129
12.2.7.3;Large (Over 10amps);130
12.2.7.3.1;The Open Source Motor Controller (OSMC);130
12.3;Batteries;131
12.3.1;Nickel Cadmium (NiCad);131
12.3.2;Nickel Metal Hydride (NiMH);132
12.3.3;Lithium Polymer (LiPo);133
12.3.4;Lead-Acid;134
12.3.5;Charging;137
12.4;Materials;138
12.4.1;Wood;138
12.4.2;Metals;138
12.4.3;Nuts and Bolts;139
12.4.4;Plastics;140
12.4.5;Chain and Sprockets;140
12.4.6;Wheels;140
12.5;Summary;140
13;Chapter 4 Linus the Line-Bot;142
13.1;Parts List for Linus;143
13.2;How Linus Works;145
13.2.1;The Track;146
13.3;Building the IR Sensor Board;146
13.4;Modifying a Servo for Continuous Rotation;155
13.4.1;Method 1: Direct DC Drive with External Speed Controller;156
13.4.2;Method 2: Servo Pulse Drive with Internal Motor Driving Circuitry;158
13.5;Fitting the Drive wheels;160
13.6;Making a Frame;164
13.7;Making Connections;171
13.8;Installing Batteries;173
13.8.1;Install Power Switch;173
13.9;Loading the Code;173
13.10;Making the Track;179
13.11;Testing;180
13.12;Add-ons;181
13.12.1;LED Lights;181
13.12.2;Painting;183
13.12.3;Adding Speed Regulator (Potentiometer);187
13.13;Summary;190
14;CHAPTER 5 Wally the Wall-Bot;191
14.1;How Wally Works;192
14.2;Parts List for Wally;194
14.3;The Motor-Controller;195
14.3.1;The High-Side Switches;196
14.3.2;The Low-Side Switches;196
14.3.3;Building the Circuit;198
14.4;Building the Frame;204
14.5;Installing the Sensors;209
14.6;Installing the Battery and Power Switch;212
14.6.1;Installing a Power Switch;213
14.7;The Code;214
14.7.1;Code Objectives;215
14.8;Summary;223
15;CHAPTER 6 Making PCBs;224
15.1;PCB Basics;224
15.2;What You Need to Get Started;225
15.3;Circuit Design;227
15.3.1;Searching for Open-Source Designs;228
15.3.2;Making Your Own Designs;229
15.3.2.1;Schematics;229
15.3.2.2;Board Layouts;229
15.3.3;Working with the Schematic Editor;232
15.3.4;Working with the Board Editor;237
15.4;Transferring the Design;247
15.4.1;Let’s Make an Arduino Clone: the Jduino;248
15.4.2;Making the Transfer;249
15.5;Etching;257
15.5.1;Measuring the Solution;258
15.5.2;Etching: Method 1;259
15.5.3;Etching: Method 2;260
15.5.4;Removing the Toner;263
15.6;Drilling;266
15.7;Soldering;267
15.7.1;Building the Arduino Clone;268
15.7.2;Building the BJT H-Bridge;271
15.8;Testing;274
15.9;Summary;277
16;CHAPTER 7 The Bug-Bot;278
16.1;Reading a Switch with Arduino;279
16.2;How the Bug-bot Works;280
16.2.1;Antennae Sensors;280
16.2.2;Bumper Sensors;281
16.3;Parts List for the Bug-bot;281
16.4;The Motors;282
16.4.1;Modifying the Servo Motors;282
16.4.2;Controlling the Servo Motors;285
16.4.3;Converting the Pulse Value to Degrees;286
16.4.4;Mounting the Wheels to the Servos;287
16.5;Building the Frame;288
16.5.1;Marking the PlexiGlass;288
16.5.2;Cutting the PlexiGlass;290
16.5.3;Mounting the Motors;292
16.5.4;Mounting the Caster Wheels;293
16.5.5;Mounting the Arduino;295
16.5.6;Installing the Battery;296
16.6;Making the Sensors;298
16.6.1;The Front Antennae Sensors;298
16.6.2;The Rear Bump Sensors;299
16.7;Making Wire Connections;302
16.8;Loading the Code;304
16.8.1;Creating a Delay;304
16.8.2;Variables;305
16.8.3;The Code;306
16.9;Making a Top Hat;313
16.10;Summary;315
17;CHAPTER 8 Explorer-Bot;316
17.1;How the Explorer-Bot Works;317
17.1.1;R/C Control;317
17.1.2;Powerful Motors;318
17.1.3;Current Sensing;318
17.1.4;Video-Enabled;318
17.1.5;Xbee-Enabled;318
17.2;Parts List for the Explorer-Bot;319
17.3;Building the Frame;321
17.3.1;Specs;321
17.3.2;Adding Battery Bracket;322
17.3.3;Cut Top Frame Brackets;324
17.3.4;Cut Top Frame Braces;324
17.3.5;Cut and Bend Main Frame Piece;325
17.3.6;Add Crossbar and Mount Caster Wheel;327
17.3.6.1;Plexiglass Deck (Optional);329
17.4;Building the Motor Controller;329
17.4.1;Current Sensing and Limiting;330
17.4.2;H-bridge Design;330
17.5;Setting Up the Arduino;334
17.5.1;Connecting the H-Bridges;335
17.6;Setting Up Xbee;336
17.6.1;Testing the Xbees;338
17.7;Adding a Camera;339
17.7.1;Pan and Tilt;340
17.7.2;Make First Bracket;340
17.7.3;Make Second Bracket;342
17.8;Loading the Code;342
17.9;Summary;350
18;CHAPTER 9 RoboBoat;352
18.1;Some Words in Advance;353
18.2;Parts List for the RoboBoat;353
18.2.1;Polystyrene Foam;356
18.2.2;Epoxy Resin;357
18.2.3;Gloves;357
18.2.4;Fiberglass Fabric;357
18.2.5;Glue;359
18.2.6;Styrofoam Cutter and Razor Knife;359
18.2.7;Miscellaneous;359
18.3;The RoboBoat Design;359
18.4;Assembling the Boat;361
18.4.1;The Templates;361
18.4.2;Gluing the Templates on the EPS/XPS Board;363
18.4.3;Cutting Out the Segments;364
18.4.4;Gluing the Segments Together;367
18.4.5;Inserting the Foam Anchors;368
18.4.6;The Coating;369
18.4.7;Applying the Finish;371
18.4.8;The Fins;371
18.4.9;Painting;372
18.4.10;The Deck;372
18.4.11;Completing the Assembly;373
18.5;The Propulsion Assembly;377
18.5.1;The Baseplate;378
18.5.2;The Pivot;379
18.5.3;The Tube;380
18.5.4;The Rudder Horns;381
18.5.5;The Motor;381
18.5.6;The Servo;382
18.5.7;The Pushrods;382
18.6;Electronics;382
18.6.1;The Heart of the System: The ArduPilot PCB;383
18.6.2;The GPS Module;384
18.6.3;The Electronic Speed Controller (ESC);385
18.6.4;The Motor;386
18.6.5;The Rudder Servo;386
18.6.6;The Battery Pack;386
18.6.7;Assembling the Electronics;386
18.6.7.1;The Programming Adapter;388
18.7;Software and Mission Planning;389
18.7.1;GPS Receivers;389
18.7.2;The Software;390
18.7.2.1;AP_RoboBoat Module;391
18.7.2.2;Debug Module;393
18.7.2.3;Init Module;395
18.7.2.4;Navigation Module;396
18.7.2.5;PID_control Module;403
18.7.2.6;Servo_control Module;405
18.7.2.7;Header Files;407
18.7.3;Installing the Software;408
18.7.3.1;Installing the Arduino IDE;408
18.7.3.2;Configuring the Arduino IDE;409
18.7.3.3;Compiling and Uploading the Code;410
18.7.3.4;Customizing the Code;411
18.7.3.4.1;Customizing the Rudder Control;412
18.7.3.4.2;Customizing the PID Constants;412
18.7.3.4.3;Customizing the Motor Speed;412
18.7.3.4.4;Customizing the Waypoint Timeout;413
18.7.3.4.5;Customizing the Waypoint Radius;413
18.7.3.4.6;Customizing the Rudder Extents;413
18.7.4;Mission Planning;413
18.7.4.1;Employing Google Earth for the Coordinates;414
18.8;Putting It All Together;417
18.8.1;Integrating the System;418
18.8.2;Ships Ahoy!;420
18.9;Troubleshooting;421
18.9.1;The Thrust of the Motor/Propeller Is Not Sufficient;421
18.9.2;The Motor Does Not Start;422
18.10;Summary;423
19;CHAPTER 10 Lawn-Bot 400;424
19.1;How the Lawn-bot 400 Works;425
19.1.1;Lawn Mower Deck;426
19.1.2;High-Capacity Batteries;427
19.1.3;Steel Frame;427
19.1.4;Dump-Bucket;427
19.1.5;Pneumatic Tires;427
19.1.6;Headlights;427
19.1.7;Failsafe;428
19.2;Tools and Parts List;428
19.2.1;Lawnmower;428
19.2.2;Parts Lists;428
19.3;The Wheels;429
19.3.1;Front Caster Wheels;430
19.3.2;Rear Drive Wheels;430
19.3.3;Installing Sprockets;431
19.4;The Frame;433
19.5;The Drive-Train;441
19.5.1;Motor Mount Brackets;441
19.5.2;Installing the Chain;445
19.6;The Motor Controller;448
19.6.1;Buying a Motor Controller;448
19.6.1.1;Sabertooth 2x25;448
19.6.2;Cooling Fans;450
19.6.3;Motor Controller feedback;450
19.6.3.1;Current sensor IC;451
19.7;The Arduino;451
19.7.1;Securing Connections for a Bumpy Ride;452
19.7.1.1;Building a Breakout Board;452
19.8;The Failsafe;456
19.8.1;R/C Toggle Switch;457
19.8.2;Power Relays;460
19.8.3;Avoiding an R/C Failsafe;461
19.9;Making Connections;462
19.10;The Code;463
19.11;Adding Cosmetics and Accessories;468
19.11.1;Painting;468
19.11.2;Headlights;469
19.11.3;Dump Bucket;470
19.11.4;Lawnmower Kill-Switch;472
19.12;Summary;472
20;CHAPTER 11 The Seg-Bot;474
20.1;How the Seg-Bot Works;476
20.1.1;Inertial Measurement Unit;476
20.1.2;Steering and Gain;476
20.1.3;Engage Switch;476
20.2;Parts List for the Seg-Bot;477
20.3;Selecting the Right Sensors;478
20.3.1;3.3v Power;480
20.3.2;Accelerometer;480
20.3.3;Gyroscope;482
20.3.3.1;Cycle Time;483
20.3.3.2;Gyro Starting Point;483
20.3.3.3;Gyroscope Drift;483
20.3.4;Gyroscope Versus Accelerometer Summary;484
20.3.5;Filtering the Angle;484
20.3.5.1;Weighted Average;484
20.4;Making the IMU Adapter Board;485
20.5;Selecting the Motors;486
20.5.1;Electric Brake Removal;488
20.5.2;Motor Mounting Position;492
20.6;Selecting the Motor Controller;493
20.6.1;SoftwareSerial Library;494
20.6.2;Sabertooth Simplified Serial;495
20.7;The Batteries;496
20.7.1;Sealed Lead-Acid;496
20.7.2;Charging;497
20.7.3;12v Supply;497
20.8;The Frame;498
20.8.1;Frame Design;499
20.8.2;Building the Frame;500
20.9;Inputs;504
20.9.1;Steering;504
20.9.2;Gain;504
20.9.3;Engage Switch;504
20.9.4;Level-Start;504
20.9.5;Mounting the Inputs to the Frame;505
20.10;Installing the Electronics;509
20.10.1;Soldering the Inputs;512
20.10.2;Wiring the Connections;513
20.11;Reviewing the Code;514
20.11.1;Checking the Angle Readings;517
20.11.2;The read_pots() Function;518
20.11.3;The auto_level() Function;519
20.11.4;The update_motor_speed() Function;520
20.11.5;The time_stamp() Function;522
20.11.6;The serial_print_stuff() Function;523
20.11.7;The Full Code;524
20.12;Testing;530
20.13;Summary;532
20.14;References;532
21;CHAPTER 12 The Battle-Bot;533
21.1;Robotic Combat Is Born;535
21.1.1;Battle-Bot Rules and Regulations;535
21.1.2;No Price Limit!;536
21.1.2.1;Is This Going to Be Expensive?;537
21.2;Parts List for the Battle-Bot;537
21.3;Input Control;540
21.3.1;Fly Sky CT-6: The $32, 5-ch*, 2.4GHz Radio Alternative;540
21.3.1.1;Attention Hackers;543
21.4;The Electronics;543
21.4.1;The Arduino;543
21.4.2;The Motor Controllers;544
21.5;The Frame;545
21.5.1;To Buy or Build?;546
21.5.2;Modifying the Wheels;547
21.5.3;Building the Frame;548
21.6;The Drive Train;552
21.6.1;Gearing;553
21.6.1.1;Calculating Gear Ratio;553
21.6.1.2;Modifications;553
21.6.2;Chain Tensioning Nut;554
21.6.2.1;Threading Sequence;555
21.6.2.2;Measuring the Chain;556
21.6.2.3;Adding Spacers;557
21.7;Batteries;558
21.8;Securing Electronics;560
21.8.1;Protecting Your Brains;561
21.8.2;Making Connections;562
21.9;The Code;565
21.10;Armor;570
21.11;Weapons;572
21.12;Additional Information;581
21.13;Summary;582
22;CHAPTER 13 Alternate Control;583
22.1;Using Processing to Decode the Signals;583
22.2;Parts List for Alternate Control;584
22.3;Selecting the Input;585
22.4;Processing Prerequisites;586
22.5;Following Protocol;586
22.6;Examining the Processing Sketch;587
22.6.1;Explanation;590
22.6.2;Testing Processing;592
22.7;Examining the Arduino Sketch;594
22.8;Summary;599
23;Index;601


JD is an electronics hobbyist, builder, and relentless tinkerer. As a child, he took apart everything he owned to figure out how it worked. Since then he has built many different projects ranging from anelectric fishing pole to a remote-controlled lawn mower, which was featured on the cover of MAKE magazine in April 2010. Having worked as a builder doing carpentry, plumbing, and electrical work for 8 years, his knowledge is founded in real world experience rather than textbook recitation. In addition to building robots and remote controlled toys, he enjoys automating everyday tasks, blinking LEDs, designing and etching PCBs, and lots of random things in between. Much of his time has been spent researching, building, and testing various motor-controllers to make his bots move. As a self-proclaimed poor man's roboticist, he will always try to find the cheapest way to do something usually by building it himself. JD graduated from the University of Alabama in Birmingham with a degree in Business Management. He currently lives in Birmingham, Alabama with his beautiful wife Melissa and their growing flock of animals.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.