Through our initial meeting with the residents of the Cerebral Palsy Research Foundation we gained a perspective of the desire for disabled individuals to be independent in their day to day lives.  Simple tasks like holding a camera steady, getting into and out of bed, and reaching items in upper cabinets were everyday struggles without help for most of the residents we met with.  

       Our decision to design an automated shelf was agreed upon due to a reoccurring desire of most of the wheelchair bound individuals we spoke with to be able to access the upper cabinets in their kitchen.  This idea also seemed to resonate with many others that suffered motor control issues in their arms.  It was an idea presented to previous classes so we felt it was an important idea to pursue.

First Semester Work:

     With three electrical engineering and one computer science majors, we felt pretty confident with the circuitry and microcontroller programming aspect of the project.  The mechanical requirements, though, were not well anticipated.  That being the case, most of our work at this stage revolved around determining how to build the shelving unit itself, what type of motor to use, and how to mount it.  

     It became clear pretty quickly that with our limited knowledge, building the actual shelf would be too error prone and require too much time.  The alternative we decided upon was to purchase a premanufactured shelf with the capability to be manually lowered from and raised into the cabinet.  None of the team were aware of these type of shelves and, after finding them commercially available, wondered if this solution would work and automating it would be overkill and cost prohibitive.  After a second meeting with some of the CPRF residents, we learned that for most this shelf would offer no or little benefit as they cannot even reach the base of the cabinet to retrieve items, so we pressed on.

     A linear actuator was chosen to control the shelf’s movement due to it’s ease of use, strength, and the lack of requiring external gears and linkage.  Even with the simpler solution the actuator provided, mounting it to the shelf took most of our efforts in the first semester.  We felt retaining the shelf’s full range of motion was a must, but mounting the actuator so that it would not reach it’s maximum or minimum stroke before the shelf was in it’s down or up position proved problematic.  To provide the arcing motion the shelf required the actuator also needed to be a few degrees outside of perpendicular when up and outside of parallel when down or the actuator would simply pull straight in against the shelf providing no motion.  This process was largely trial and error and produced a number of misplaced bolt holes. 

     As the semester came to a close, we finally got a working design by installing a piece of sheet metal to the shelf arm to extend where the desired pivot point was located and a piece of an inch thick aluminum rod was used to reinforce the attaching bolt as the torque would cause it to bend over time.  While the gas piston and spring were removed from the actuator side, we decided to leave them in place on other side to provide added stability.  Pressed for time, the control unit was simply made from a dual rocker switch to swap the polarity of the 12VDC power supplied by an Arduino and motor shield to the actuator.


Second Semester Work:

     With the automation of the shelf working, we began developing ideas on how to improve the shelf’s usability, and safety:

  • Provide cheaper more robust solution than an Arduino motor shield to supply the actuator power
  • Operate with a single click of a button, so as to not require a button to be held down through it’s range of motion
  • User interface is wireless and simple
  • Clean up wiring
  • Provide collision detection for objects under shelf within it’s range of motion

     The Arduino’s 40mA max current I/O pin limitation would not be enough to drive the actuator or the relay used for polarity swapping either.  While a motor shield would provide this capability, it is relatively expensive and still proved somewhat problematic with higher current draws when the shelf was under additional load.  This was easily solved by using two of the Arduino’s digital I/O pins to turn on and off separate transistors that act as a switch to allow current to flow from either the 12VDC for the actuator or 5VDC for the relay.  

      One click operation would require the Arduino to be able to monitor the shelf’s position.  This was achieved by using a set of push button switches installed so as to be depressed by the shelf’s arm when either up or down.  This input was used by the Arduino to switch the 12VDC transistor switch off.

     We were excited to find a simple and inexpensive 315MHz 4 button keyfob transmitter and receiver to utilize for the user interface.  It not only met our needs of wireless and simple, but it can also be used to control up to four shelves independently.  The Arduino monitors the receivers output to track the current/last direction of the shelf and to reverse the direction when desired.  An external transistor switch is used by the Arduino to turn on and off a 5VDC supply to a relay used for polarity swapping of the 12VDC actuator power.

     For collision detection we decided on using ultrasonic distance sensors instead of a mechanical switch mechanism so as to alleviate the need for the shelf to come into contact with an object.  Originally we wanted to use five of these sensors but were limited to three because there was not enough I/O pins left on the Arduino Uno to install two more.  While the sensors will halt motion of the shelf when objects come within 6″ of the shelf base, a workaround was needed so the shelf would ignore the base of the cabinet.  This situation was remedied by setting a threshold between 6″ and 5″ as to where the shelf would logically detect and halt the shelf.  We felt this would not compromise safety as there would be little chance an object other than the cabinet would suddenly be detected less than 5″. 

      The final unit had quite a bit of wiring to clean up for both aesthetic purposes and to avoid pinch points.  Some simple wire wraps and adhesive backed cable hooks were used to loop the wiring on one side and down an arm to the control unit along the back of the shelf.   The actuator and switch wiring were fairly simple to contain as they were close to the control unit and were immobile so the wires did not have to track with the shelf as it moved.


     We were pleased with the successful accomplishment of our goals in the final product but the positive reception from the CPRF residents, whom we demoed the shelf with in their apartments, was especially rewarding as they were the original motivation behind this project.