Nic Cywinski, Nick Sandahl
DESCRIPTION and BACKGROUND
The purpose of this project is to expand the Broadly Reconfigurable and Expandable Automation Device(BREAD) framework. The Mass Output and Logging Device(MOLD) is our new addition to the BREAD framework that will communicate the mass of an object to the user, Loaf, and other devices for deployability in a factory setting. The original idea for MOLD and the basis of our project is to create an open source cheaper alternative to the industry standard inline checkweigher. These inline checkweighers can cost anywhere between a couple hundred dollars upwards of tens of thousands of dollars. Through the use of the BREAD open source framework, which is tailored to providing an open source cheaper alternative to the production line environment, the addition of the MOLD slice as a competitor to the inline checkweigher seems like a natural addition to the BREAD ecosystem.
BREAD is an open source project that uses ‘Slices’ to provide information to the centralized ‘Loaf.’ There are many different configurations that BREAD can operate in including single Slice operation, single Loaf usage, or multi Loaf usage. As the number of Slices for the BREAD framework increases, the number of applications for BREAD also increases. Therefore, by incorporating a Slice to measure the mass of an object into the BREAD framework the usefulness of this open source solution is increased and BREAD is able to understand the world in a new way.
The purpose of this device is to allow production line products to be weighed and assessed throughout the production process. This Slice will be able to communicate the weight of the measured object in a variety of ways including: communicating the weight to the parent Loaf, through a display for the user, and will allow for easy integration for any other information delivery method.
FUNCTIONAL REQUIREMENTS and COMMENTS
The entire device will have design files originated entirely from free and open source software.
All of the software and resources used for this project are all free to use, and open source. For this project we used Arduino, KiCAD, and FreeCAD all of which are open source.
The slice will read in a scale’s value.
Using load cells and an amplifier/converter the Arduino is able to interpret the scale reading within a reasonable and predetermined percent error.
The slice will compare the input of the scale to a range
The user will be able to set a range of acceptable weight values with the idea that MOLD could be used in quality control applications involving mass.
The slice will have a display and externally controlled input device to set a range.
We will develop a user interface such that the user will be able to specify a mass range without the need to interact with the software directly.
A board will be designed to hold the hardware for the slice.
While adhering to the BREAD design specifications, a 3d printed case and printed PCB will be developed to contain the hardware for the MOLD Slice.
The device is compatible with BREAD.
The design and hardware/software considerations were chosen such that the slice could be integrated into the BREAD framework.
The slice is built with commonly available methods and parts.
All of the hardware components and overall slice design were chosen because of the readily available documentation that is all free to access and open source.
The slice will store its readings.
The slice will store its readings to provide an average and standard distribution of masses which is similar to that of the industry standard inline checkweighers.
The slice will have timestamps to its readings.
With the addition of timestamps, a user could look back at the logs to see when a certain error occurred.
The slice will store the readings as a csv file in removable storage.
With the addition of the two preceding goals, a storage solution will allow the user to take the csv file containing the readings and timestamps, plug it into a computer and easily trace back when a problem occurred.
The display will have user friendly architecture and be easily navigable.
This will allow the user to use and interact with the slice fully through the user interface without having the need to plug into an external computer.
- When the device is powered by the LOAF, it will start its boot process. It will wait a few seconds for the HX711 board to stabilize for operation.
- Then the device will calibrate the scale. The display will ask the user to clear the scale and click the rotary encoder’s button when it is.
- Then it will ask the user to place a known mass on the scale, using the rotary encoder to increase or decrease the weight and hit the button to enter it.
- After the scale is calibrated, the device will open its main menu where the seen weight is displayed and the comparison of the weight vs. goal is displayed as a percentage.
- To navigate to other menus the user uses the rotary encoder button.
- A single press will navigate the screen to edit the goal of the scale. The rotary encoder is used to increase or decrease the goal. Hitting the button again will return to the main menu with the new goal.
- Pressing and holding the button from the main menu will navigate to the recalibration screen. At the calibration screen the user can press one to return to the main menu or press and hold again to enter the same calibration seen at boot.
*At the time of writing this report we are continuing to work and improve MOLD. Between the time of writing this report and the end of the semester, some of the goals outlined below may be met which will alter our future work expectations.
In the future, should MOLD continue to be developed, our first focus would be continuing to improve the user interface and menu navigation for the Slice. Our next step would be to fully implement MOLD with the Loaf and ensure that communication can be achieved with reliability. Once these problems have been solved, we can be reasonably confident that all of the necessary hardware and software is/can be implemented and we can work to develop a PCB for the slice. With the PCB comes new challenges such as finding a way to connect the external scale and the user interface portion of the slice. Our next consideration would then be to work on increasing the accuracy of the measurement. This may include altering the software or finding hardware solutions including a more robust base and platform for the scale, or purchasing and integrating higher quality load cells and components. The inaccuracies in our measurements could also be a result of many outside factors which may be reduced by the development of some of the steps outlined above. Besides the goals outlined here, we would also like to improve upon our “Value added goals” as it will increase the usefulness of MOLD without compromising the functionality.
REPLICATION OF WORK
This section of the report will outline the steps necessary inorder to reproduce the MOLD slice to its current state. All of the hardware can be found in the Bill of Materials table below and the schematic and software for the project can be found in the MOLD OSF repository which is linked at the end of this section.
The current state of the project doesn’t have a fully designed PCB but the schematic that has been uploaded to the OSF repository shows the components required for single slice operation.
Using the schematic and the components outlined below in the Bill of Materials, construct the circuit shown in the schematic on a breadboard. As stated before, at the time of writing this report, the final PCB design has not been finalized in compliance with the design rules of the BREAD framework. The design rules and a more complete description of the BREAD framework can be found at the following link:
Upload the Arduino sketch to the on-board Arduino Nano using the Arduino IDE.
OSF REPOSITORY LINK
The BREAD MOLD OSF Repository can be found at the following link:
All current board files and code can be found in the repository. And the slice operation was outlined in a previous section of this report titled “Device Operation.”
BILL OF MATERIALS
|Cost per Unit
|I2C LCD Interface Adapter