250 likes | 528 Views
What You Will Learn. You can build many types of sensors that don't come in the Lego kits. For example:Rotation sensors for robot armsExtra switches and knobs to control your robotProximity sensorsThis presentation describesHow the HiTechnic protoboard worksHow to build sensors with the prot
E N D
1. Leveraging the HiTechnic Prototype Board for FTC Team 2875 - MITiBot
CT Robot Rally
07 November 2009
2. What You Will Learn You can build many types of sensors that dont come in the Lego kits. For example:
Rotation sensors for robot arms
Extra switches and knobs to control your robot
Proximity sensors
This presentation describes
How the HiTechnic protoboard works
How to build sensors with the protoboard
How to program with protoboard sensors
3. Motivation Last year was rookie season
Interested in Electrical Engineering
Mentors with EE backgrounds
Interested in basic sensor design
Sponsored by MIT Lincoln Laboratory
One of two teams to utilize HiTechnic prototype board
Within MA, CT and Atlanta competitions
6. Motivation ROBOTC drivers were not well supported
Found on Xander Soldaats blog
Not official sponsored by Lego, FIRST, or HiTechnic
Attempted to become driver developer
Contacted Xander
Contacted HiTechnic
HiTechnic already officially sponsoring Xanders driver
Now available on HiTechnic website!
7. Outline The prototype board
Designs with the prototype board
Programming the prototype board
FTC rules for the prototype board
8. HiTechnic Prototype Board Options Three possible options to purchase
Solderless
Solderable
Experimenters Kit
9. Breadboard vs Solderable Bread boarding is great for experiments
Rapidly design and test circuits
Traces are built into the bread board
Soldering components allows for permanent installation
Components will not fall off
Usually looks nicer
Traces do not exist
10. HiTechnic Prototype Board Features 1 sensor port
NXT voltages (3.3v, 4.3v, 9v, 5v)
6 digital lines
Configure as input or output
5 analog to digital converts
10 bit, 0v 3.3v
Allows NXT to understand sensor readings
11. Power 3.3v
Most important
Full scale of A/D converters
12. Digital Lines Six digital lines
Can be only on On or Off, like a switch
Configured for input or output
Each line is configured independently
Internal pull-up resistors
no connection = logic HIGH
13. Analog to Digital Converters Five analog to digital converter lines
Can read a range of values
0v 3.3v operation
makes 3.3v very important
Circuits feeding A/D should use 3.3v for full A/D resolution
10 bit resolution
Counts range from 0 1023
0 counts = 0v input
1023 counts = 3.3v input
14. Magnetic Proximity Sensor Use a magnet as a sensor
Magnet mounted on an arm comes in close proximity to Hall-effect sensor
Hall-effect sensor switches on
15. DIP Switch Robot Control Toggle input of a digital line
Flip a switch of on or off
Reading input with software
Can enable or disable features
16. Rotation Sensor Provides one-to-one positioning
Position remains after power reset
Allows for software limits
17. Trim Potentiometer for shooting power Tune shooting power in real time
Allows power adjustment without changing code
Scaling issue
A/D scale is 0 1023
Motor power scale is 0 100
Find scaling factor
1023 / 100 = 10.23 is scale divisor
Samples
1023 counts / 10.23 = 100.0
767 counts / 10.23 = 75.0
1 count / 10.23 = .097
What happens with 0 counts?
18. Programming with NXT-G NXT-G
1. sensor port number
2. action (read analog, read or write digital)
3. analog channel number
4. six bit value to output on digital lines
5. six bit control for writing digital lines
Setup for output or input
6. output of read analog action
7. output of read digital action
19. Programming with LabView
20. Programming with ROBOTC HTPBreadIO()
Read digital input lines defined by the given bit mask
HTPBwriteIO()
Write the value of digital lines defined by the given bit mask
HTPBsetupIO()
Configure the lines or input or output
0 = input 1 = output
HTPBreadADC()
Read the value of the specified analog channel
HTPBreadAllADC()
Read the value of all the analog channels
HTPBsetSamplingTime()
Set the time between samples
4ms 100ms range
21. Programming Concepts
22. FTC Rules Regarding Prototype Board No external power
Any design is restricted to power on the prototype board
Can only connect circuits to the labeled connections
Communication must be through NXT connection
Sensors can be physically separated from proto-board
Additional circuit boards are allowed
Prototype board processor cannot be reprogrammed
Sensors created cannot cause interference with other sensors or robots
Only visible light LEDs may be connected
Soldering circuit components is allowed
23. Thank you Team 2875 MITiBot
Programming and assembling demos
HiTechnic
Provided many images and concepts
Brian Shucker for help assembling ideas for this talk
Xander Soldaat
Creator of ROBOTC drivers for HiTechnic parts
The Kingswood-Oxford School
Hosting a great event
24. Questions Please feel free to ask any questions
Please feel free to share any experiences
25. ROBOTC IR Seeker HTDIRsetDSPMode()
Set the DSP mode of AC carrier wave detector
For FTC we want 1200 Hz (carrier of the IR beacon)
Write a 1 to DSP_MODE register
HTDIRreadACDir()
Read the value of the AC direction register
HTDIRreadACStrength()
Read the value of one AC sensors
HTDIRreadAllACStrength()
Read the value of all 5 AC sensors
26. Protoboard Sensors for IR Beacon The IR Beacon works at 1200 Hz
The IR spectrum used is 940nm
Need a Photodiode to detect IR signal
Turn IR light into voltage or current
Possibly have greater range over IR Seeker V2
We apologize for not having a demo for this