Homework 2

advertisement
ECE 477: Digital Systems Senior Design
Last Modified: 1-20-2016
Functional Specification
Year: 2016 Semester: Spring
Creation Date: January 16, 2016
Member: John Busch Jr.
Member: Caitlin Cowden
Member: Lauren Heintz
Member: Dave Reazin
Team: 7
Project: A Helping Hand
Last Modified: January 20, 2016
Email: jbuschjr@purdue.edu
Email: ccowden@purdue.edu
Email: lheintz@purdue.edu
Email: dreazin@purdue.edu
Assignment Evaluation:
Item
Assignment-Specific Items
Functional Description
Theory of Operation
Expected Usage Case
Design Constraints
Writing-Specific Items
Spelling and Grammar
Formatting and Citations
Figures and Graphs
Technical Writing Style
Total Score
5: Excellent 4: Good
Score (0-5)
Weight
Points
5
5
5
5
x3
x3
x3
x3
15
15
15
15
5
4
5
5
x2
x1
x2
x3
10
4
10
15
Notes
Passive Voice
99
3: Acceptable 2: Poor
1: Very Poor 0: Not attempted
General Comments:
Great technical content! Adding specific numbers to your constraints makes them much more
concrete and easy to design for.
The biggest issue I found was your use of passive voice. I pointed out several instances, but
there are many more within the document. While passive voice is acceptable in some rare
instances, such as when the doer is not known, or the object is more important than the actor,
active voice is usually the best option. If you find a passive sentence that includes “by <noun>”
at the end, that noun should be the subject of the sentence. It makes you writing much more
engaging and easy to read. Microsoft Word has tools in its grammar check that will highlight
passive voice for you. I saw many more instances of passive voice than the ones I pointed out.
https://engineering.purdue.edu/ece477
Page 1 of 7
ECE 477: Digital Systems Senior Design
Last Modified: 1-20-2016
1.0 Functional Description
A Helping Hand is both a learning and translating tool for the American Manual Alphabet
(AMA). Its primary feature is a mechanical hand capable of signing all letters in the alphabet.
This tool allows users to test themselves in identifying AMA letters at different levels of
difficulty (ex. response time is constrained more at higher difficulty levels). In addition, users
can request a translation letter by letter, through continuous input, or via data stored externally.
To support the final method, the device will also contain an SD Card slot.
The user-facing panel will contain an LCD, two push buttons, a rotary encoder, and an LED
matrix. The user navigates the device’s interaction modes and receives the inputted text via a
menu on the LCD screen. The user can input text by rotating the encoder until the desired letter
is displayed and then pressing the select button. The final push button serves as a “back” button
in menu navigation. The LED matrix will show a magnified view of the letter currently being
signed (as compared to the size on the LCD).
2.0 Theory of Operation
A user interface will provide the user physical access to control of the device as well as show the
currently signed letter on an LED matrix. An LCD display will allow the user to navigate
through different modes of operation and select the one that best suits the needs of their use case.
A Helping Hand relies on slowly increasing the user’s familiarity with AMA, beginning with a
simple exposure method through the demo mode. This increases to paired learning through
repetition in the translate modes of operation. These modes allow the user to input characters
and strings in various ways while indicating which letter is currently displayed in both written
and signed languages. Finally, the user can utilize the quiz mode to solidify their learning
experience by recalling AMA signed letters.
The main microcontroller will communicate to the LED matrix and LCD display via I2C with
the peripherals as slave devices in order to output instructions for displaying proper menu strings
and the currently signed letter. For file reading, the main microcontroller will communicate with
an SD card utilizing SPI. Text files will be read out of storage and translated into system
commands that display the contained strings on the device. The main microcontroller’s GPIO
interface will read the user interface pushbuttons and rotary encoder. Possible expansions of the
project may utilize a USB keyboard to enhance the user interface. In this case, a USB to serial
adapter circuit will interface to the microcontroller.
SPI will also join the main microcontroller to the hand microcontroller. This co-processor will
be slave to the main controller and control the mechanical actuation devices on the robotic hand.
PWM will control the hand’s servos and GPIO will drive transistor-based switches to control the
linear actuators. Given the large number of PWM signals required, an additional integrated
circuit will receive instruction from the hand controller over I2C and will control the servo
https://engineering.purdue.edu/ece477
Page 2 of 7
ECE 477: Digital Systems Senior Design
Last Modified: 1-20-2016
motors directly to minimize the PWM requirement on the microcontroller itself. The linear
actuators provide position feedback as an analog signal to the hand microcontroller.
Servos will be used as the primary actuation device in the mechanical hand, used to pull
“tendons” in the fingers to create curl while springs serve as a counter-force to open the finger
under lack of power. Additionally, each finger will utilize a cantilevered linear actuator in order
to create a bend in the finger without bending the second knuckle. For the thumb and pointer
finger, which require an extra degree of freedom, a second linear actuator will provide the
needed motion. The entire hand will be mounted on dual-servos to serve as a mechanical wrist,
providing rotational motion and wrist flex correspondingly.
3.0 Expected Usage Case
A Helping Hand is intended to be used in well-controlled, indoor environments. As a teaching
device, it will cater specifically towards individual adults or teenagers who would benefit from
observing a physical display of AMA signs and receiving feedback on their understanding of
said signs. As a translation device, the project will be designed to accommodate an individual
user (providing the option to input text and play it repeatedly for comprehension) or by a group,
with a single user inputting text (in a continuous manner) which the hand will display to the
group on a regular basis.
All users of the device are expected to interact with the device via external interfaces only, and
not directly with the mechanical hand. While technically small enough to be considered portable,
the device is not intended to be used while in transport, and will rely on a hardline power
connection to a wall outlet for operation. The device assumes no technical ability on a user’s
part, and plugging the device in and using the included interface with prompts should be
sufficient to utilize the full capabilities offered.
4.0 Design Constraints
4.1 Computational Constraints
The primary computational tasks of A Helping Hand are:
● Queuing input data from SD card
● Queuing input data from a rotary encoder and potentially a USB keyboard
● Interfacing the LCD to display relevant information
● Issuing proper commands to electromechanical devices
● Comparing the user’s input against the displayed sign
As the microcontroller reads data from the SD card, the LCD will display the next characters to
be signed on one of its four rows. This creates a “preview” for the user to follow as A Helping
Hand signs the information physically. The device also includes a Record and Play mode in
which the user can type a small paragraph of information for translation. To accommodate this,
the device must be able to buffer at least 500 characters for the LCD preview and read from a
https://engineering.purdue.edu/ece477
Page 3 of 7
ECE 477: Digital Systems Senior Design
Last Modified: 1-20-2016
basic filesystem. The maximum capacity of the SD card utilized and computational constraints
from the host filesystem will limit the maximum file size of an input file, using 512 character
sections to read the data when needed.
An appropriate delay will be included between each letter signed on A Helping Hand. For nonalphabet characters, the device will modify the delay to an intuitive length that conveys their
meaning or skipped altogether. This allows the user time to interpret and comprehend each letter
before the device moves to its next position.
4.2 Electronics Constraints
In addition to the central microcontroller and its task-specific corresponding microcontroller (for
mechanical control), the major electrical components to be utilized in this project include: 2
general purpose pushbuttons, a rotary encoder, a 20x4 segment LCD display, an LED array, 5
linear actuators, 9 servos, an SD card interface, and a USB interface (for potential future
expansion). The components interface to the microcontrollers in the manner described by Figure
1.
Figure 1 - Hardware Interface Diagram
Based on this diagram, the main microcontroller utilized in this project will be required to
support a minimum of 5 GPIO pins, a single I2C bus, a single UART bus, and a single SPI bus.
The hand microcontroller will require, at minimum, 15 GPIO pins and a single I2C bus. Utilizing
a single SPI bus for the SD card reader and communication to the hand microcontroller limits the
speed with which either can operate, but given the delay inherent in moving physical
https://engineering.purdue.edu/ece477
Page 4 of 7
ECE 477: Digital Systems Senior Design
Last Modified: 1-20-2016
components this speed is not a concern. However, if excess SPI modules are present on the
microcontroller, the SD card read will get its own bus for stability.
Realistically, we do not expect to be able to find a reasonably priced microcontroller with nine
PWM channels. Therefore, we have decided to utilize a purpose-built component [1] to translate
a single I2C bus to the needed number of PWM channels.
One constraint imposed by the interfaces in this design is that SD card protocol requires 3.3V
logic. When used in conjunction with the rest of our components, this will likely require logic
level translation. Additionally, the servos and linear actuators on the hand will require large
current draw and subsequently large busses and electrical isolation.
4.3 Thermal/Power Constraints
A Helping Hand is intended to serve as a personal learning device, so its primary use is in the
home and/or classroom. The user will plug in the device for power at all times and therefore it
will consume no more than 10W. It should never rely on battery power. When all
electromechanical devices are in use, the product could draw as much as 2A of current at 5V. If
all electromechanical devices are in stall condition, the product could draw up to 11A of current
[2][3]. In this scenario, it is ideal to have a breaker or fuse to prevent the device from drawing
too much current or causing mechanical failure. The heat will be controlled using heat sinks or
thermal padding where appropriate.
Users will be interacting directly with the device’s interface and, although not intended, could
potentially interact with the mechanical hand itself. Therefore, the temperature of the device
should never reach a point where it could injure a user if he/she were to touch any point on its
surface. Furthermore, the melting point of the Acrylonitrile Butadiene Styrene (ABS) plastic that
forms the body of the device is 221°F, so the device should never exceed that temperature.
4.4 Mechanical Constraints
A Helping Hand is intended to serve as a personal learning device. Therefore, it should be of an
appropriate size and weight to fit comfortably in an average sized home and be carried by one
individual. The intended dimensions of the design are not to exceed 15” in any direction. The
intended weight of the design is not to exceed 10lbs.
Appropriately priced electromechanical components exceed the size of average knuckles and
joints. Therefore, the size of the mechanical hand will slightly exceed the size of an average male
hand.
The device will be sturdy enough for regular in-home use, however it is not intended for regular
use in rough environments. The device should be handled with care due to the fragile nature of
the ABS plastic and mechanical components. A casing will be included to protect the mechanical
hand when not in use.
https://engineering.purdue.edu/ece477
Page 5 of 7
ECE 477: Digital Systems Senior Design
Last Modified: 1-20-2016
4.5 Economic Constraints
Most technologies similar to A Helping Hand were created within a research context. Therefore,
there are no obvious commercial market competitors for a product of this type and no
precedential market prices. Based on component and manufacturing pricing, the target cost for
this device is currently $595. Although this price might be infeasible for most single family
homes, it would be within the means of a school, medical facility, or group of families. However,
the cost is still within the same range as a laptop or personal computer which many homes have,
so it would be within a viable range for a single family to purchase for personal use.
4.6 Other Constraints
The LulzBot Taz 5 3D printer used to manufacture the base of the device is capable of creating
components as large as 298x275x250mm [4]. Therefore, all individual subcomponents in the
base and hand must not exceed this size (or must have relevant assembly plans to be constructed
of multiple parts which each meet the size constraints).
5.0 Sources Cited:
[1] Adafruit (2015). Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685.
[Online]. Available: https://www.adafruit.com/product/815
[2] FeeTech RC Model Co., “6V 6kg. cm Analog Servo,” FS5106B datasheet. [Online].
Available: http://cdn.sparkfun.com/datasheets/Robotics/FS5106B%20specs.pdf
[3] Firgelli, “Miniature Linear Motion Series,” PQ12 series datasheet, 2014. [Online].
Available: http://www.firgelli.com/Uploads/PQ12_datasheet.pdf
[4] LulzBot (2015). LulzBot TAZ 5. [Online]. Available:
https://www.lulzbot.com/store/printers/lulzbot-taz-5
https://engineering.purdue.edu/ece477
Page 6 of 7
ECE 477: Digital Systems Senior Design
Last Modified: 1-20-2016
Appendix 1 Functional Block Diagram
https://engineering.purdue.edu/ece477
Page 7 of 7
Download