NEW Wastewater Treatment

Team NEWater has the goal of developing an autonomous mixing and inject system to help aid the current N-E-W Tech(TM) BioChar Filtration System.

Design Task
The Injection system must be capable of autonomously and accurately inject a biochar iron mixture. The unit must also be scalable and can be monitored so that injection amounts can be altered.

Design Goals and Deliverables
1. Inject BioChar solution at rates from 0.25-10g/L of water and examine further scalability issues.

2. Meter rates of injection to within 10%.

3. Automated control of BioChar production and injection that can vary in solution to suit water under changing conditions.

4. System must be safe to operate and able to be mobile with existin container/vehicle combination.

Sub Frame
The frame is constructed principally from extruded aluminum beams to which the various other components will be secured. The battery packs and the control system of the sub will be enclosed respectively in two waterproof cylinders. The external sensors and motors of the sub will be attached to the frame. All connections between power, control, and sensors will be done with cables running through through waterproof ports.

Thrusters
The sub is outfitted with six thrusters which will be able to control all movement in the xyz plane as well as roll (rotating around forward axis) and pitch/yaw (incline from fore to aft). The thrusters will be directly controlled by the microcontrollers based on commands sent from the PC.

Sensors
The sub is outfitted with numerous sensors including audio (three hydrophones), visual (four cameras), accelerometer, magnetometer (compass), thermometer, depth sensor, gyroscope. All sensors other than visual/audio, which feed directly into the PC, will be polled by a microcontroller at regular intervals. The microcontroller will create a packet with the sensor reading and device information which will be sent to the PC.

Grabbing Arms
The sub has two grabbing arms, each of which is controlled with a stepper motor; one in front and one on the bottom. The front claw also functions as the marker dropper. As the marker dropper tasks will be completed before the grabbing tasks, the arm will being at fully open and then as it closes will drop the first and then the second marker before closing fully. By telling the arm to close only a certain amount the dropping of the first and second markers can be controlled.

Torpedo Launchers
The sub has two pneumatically controlled torpedo launchers pointing forward. They are actuated by signals from one of the microcontrollers. The compressed air canister that powers the launchers is situated so that it can be quickly and easily replaced.

Control System
All sensor and motor functions within the sub are managed by PIC32 microcontrollers, with the exception of the visual and audio sensors which are fed directly to the PC. The PIC32 polls each sensor in series at times based on timer interrupts, packages the data with an identifying header and sends it to the PC through an I2C connection. The PC processes the data and the AI software identifies which motor commands are required. The command packet is sent to the PIC32s over in I2C bus. The packet contains a header specifying the target devices so that the microcontroller will know where to send it.

Movement Module Prototype
The movement module prototype is required to do the following to be useful to the system that was previously described:
 * Gather key events from a keyboard, including single key events, or a polling event in the case of a continuously held key.
 * Regulate the amount of events processed and data broadcasted as to not overload the socket communication module with too many requests. This feature is required to share the broadcaster and socket communication with the other parallel executing modules.
 * Evaluate the appropriate movement logic to execute a maneuver effectively.
 * Produce the required data to be broadcasted back to the micro-controller which will control the thrusters by providing a values to activate each thruster and the its power level.

User Input Movement Module: Tested
The user input movement module has been rewritten to integrate with the other python modules and the updated architecture.
 * Movement is now handled as X,Y,Z values over three fields: location, orientation, and velocity
 * The updated architecture has removed the broadcaster and now relies on inter-module communication handled by 0MQ and

a message process called the "grapevine" which communicates messages to the new logging module and others.
 * The new X,Y,Z values are contained within Python dictionaries with the intent of being more friendly to future implementation of automated movement and AI integration.