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