Project

# Title Team Members TA Documents Sponsor
13 Autonomous Gardening Rover
Dhruv Sanagaram
Ryan Thammakhoune
Tanishq Aryan Myadam
Sanjana Pingali design_document1.pdf
proposal2.pdf
proposal1.pdf
# Autonomous Gardening Rover

Team Members:
- dhruvs7
- tmyadam2
- rct4

# Problem

Our group would like to focus on gardening and agriculture. Hobbyists and farmers alike often struggle with monitoring soil quality, as it frequently relies on having accurately placed sensors where they intend to grow crops. This solution does not accommodate the varying intervals in which seeds are planted, causing the sensors to be removed and relocated manually, which can be an arduous process.

# Solution

Our project is a small autonomous rover that can monitor soil quality. The rover can be operated in two steps. The first involves the user configuring the rover’s autonomous movement through a web application. They can configure the plot size and plotting intervals through the app. The second step sees the rover traversing across the plot based on this configuration and creating a soil quality profile that summarizes the pH, humidity, and temperature, amongst other characteristics. This profile will be shown on the web app to inform the user’s treatment of the soil. This solution can be used across home gardens and commercial plots due to its small size and ease of use, which makes it more accessible than existing solutions.

# Solution Components

## User Input Subsystem

This system will allow users to input the following parameters (assuming the field is a perfect rectangle) using a React application accessible through their computer.

Field length, width (m)
Soil monitoring interval(m)
Rover starting point (m,m)

Our code will use the field to create a movement plan, which will be uploaded to a ESP32 microcontroller through a wired Serial connection. The movement plan will be stored on the ESP32 in flash memory, specifically through LittleFS, which is the microcontrollers file system. The rover will execute the movement plan once a button is pressed on the PCB.

The movement plan will consist of splitting the field up into rows according to the soil monitoring interval. The rover will traverse across each row in a snake pattern, turning towards the next row once it reaches the end of a row.

Components:
ESP32 Microcontroller
Button

## Autonomous Movement Subsystem

Given a predetermined path, the rover would use an Ultra-Wideband system to determine its precise location. We will set up anchors around the plot and a tag on the rover. Using the time it takes for signals to travel between the anchors in the tag, we can determine the distance between the rover and the anchors, thus giving us its precise location. Using feedback from an IMU, we would then use a PID algorithm to correct any errors in movement that could be caused mechanically or through the bumpy texture of the soil.

3D Printed Chassis

Wheels and motor dc-geared-motor-and-wheel-kit-3-9v-77rpm

Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout - BNO055
Phoenix America Universal Hub Encoder Kit

Qorvo DWM1000 Module



## Soil Monitoring Subsystem

Another subsystem of the smart gardening rover will focus on soil monitoring. This subsystem will use a combination of moisture, pH, and temperature sensors to assess soil conditions in real time. The data collected will help inform the user’s decisions on how to treat the soil, which can be done through soil distribution, watering, or pesticide disbursement, which the user can do.

We will embed the sensor into the soil using a linear actuator, which will be activated according to the input interval.

Components:

Moisture Sensor: Adafruit STEMMA Soil Sensor - I2C Capacitive Moisture Sensor

pH Sensor: Atlas Scientific GRAVITY ANALOG ISOLATOR

Temperature Sensor: MCP9808 High Accuracy I2C Temperature Sensor
Linear Actuator, Electric Micro Linear Actuator (Stroke 100mm-8mm//s-70N)


## Visual Application Subsystem

Using the data collected by the rover, we will show a heatmap of the plot. The heatmap will distinguish areas of concern and areas that are in a healthy state. Data will be sent over USB connection once the rover is done with its movement plan. The data will be accessible through the file system LittleFS. Our algorithm will use the precise location data along with the soil data to create the heatmap.

Data received on the React application will be used to generate and show the heatmap.


## Power Subsystem

The power subsystem for the smart gardening rover will utilize a rechargeable lithium-ion battery pack that can provide consistent energy to the microcontroller, sensors, motors, and dispensing mechanisms. The battery pack will help ensure that the system lasts for a long period and can be recharged as needed, minimizing the cost and need for frequent battery replacements.

Additionally, to protect the components and manage power distribution effectively, we will create a comprehensive BMS system containing a Battery Management IC to monitor the battery’s health, ensuring that it doesn’t discharge or overcurrent too quickly. A voltage regulator and step-down converters will also be needed to help distribute appropriate battery voltage levels for different components, such as sensors and ESP 32 microcontrollers. Additionally, power from these lithium-ion batteries will be stepped down to a specific voltage for the actuators, motors, and servos we plan to implement.

Components:

Rechargeable Lithium-Ion Battery Pack: 10.8V (11.1V) 3500 mAH 10A Lithium Ion Battery with Wire Leads 3S1P from Liion Wholesale
Battery Management IC: TI BQ769X0
Voltage Regulator/Step down: TI MC34063ADR
Power Switch: Standard 2N2222 NPN TO-92 Plastic-Encapsulate Power Transistors

# Criterion For Success

We will place the rover in a dirt field and set the field size to a small rectangular region. Then, we will set our testing interval to a reasonable amount so that the rover will be able to test the soil multiple times per row for multiple rows.

The React web application will have a two-fold approach:
Control and Configuration: Users can set intervals for soil monitoring and adjust various parameters for the rover’s operation directly from the web interface.
Data Monitoring and Analysis: The application will be able to receive data from the rover, allowing users to monitor soil conditions and other key metrics, providing insights and analysis for better decision-making in gardening tasks for the user.

ATTITUDE DETERMINATION AND CONTROL MODULE FOR UIUC NANOSATELLITES

Shamith Achanta, Rick Eason, Srikar Nalamalapu

Featured Project

Team Members:

- Rick Eason (reason2)

- Srikar Nalamalapu (svn3)

- Shamith Achanta (shamith2)

# Problem

The Aerospace Engineering department's Laboratory for Advanced Space Systems at Illinois (LASSI) develops nanosatellites for the University of Illinois. Their next-generation satellite architecture is currently in development, however the core bus does not contain an Attitude Determination and Control (ADCS) system.

In order for an ADCS system to be useful to LASSI, the system must be compliant with their modular spacecraft bus architecture.

# Solution

Design, build, and test an IlliniSat-0 spec compliant ADCS module. This requires being able to:

- Sense and process the Earth's weak magnetic field as it passes through the module.

- Sense and process the spacecraft body's <30 dps rotation rate.

- Execute control algorithms to command magnetorquer coil current drivers.

- Drive current through magnetorquer coils.

As well as being compliant to LASSI specification for:

- Mechanical design.

- Electrical power interfaces.

- Serial data interfaces.

- Material properties.

- Serial communications protocol.

# Solution Components

## Sensing

Using the Rohm BM1422AGMV 3-axis magnetometer we can accurately sense 0.042 microTesla per LSB, which gives very good overhead for sensing Earth's field. Furthermore, this sensor is designed for use in wearable electronics as a compass, so it also contains programable low-pass filters. This will reduce MCU processing load.

Using the Bosch BMI270 3-axis gyroscope we can accurately sense rotation rate at between ~16 and ~260 LSB per dps, which gives very good overhead to sense low-rate rotation of the spacecraft body. This sensor also contains a programable low-pass filter, which will help reduce MCU processing load.

Both sensors will communicate over I2C to the MCU.

## Serial Communications

The LASSI spec for this module requires the inclusion of the following serial communications processes:

- CAN-FD

- RS422

- Differential I2C

The CAN-FD interface is provided from the STM-32 MCU through a SN65HVD234-Q1 transceiver. It supports all CAN speeds and is used on all other devices on the CAN bus, providing increased reliability.

The RS422 interface is provided through GPIO from the STM-32 MCU and uses the TI THVD1451 transceiver. RS422 is a twisted-pair differential serial interface that provides high noise rejection and high data rates.

The Differential I2C is provided by a specialized transceiver from NXP, which allows I2C to be used reliably in high-noise and board-to-board situations. The device is the PCA9615.

I2C between the sensors and the MCU is provided by the GPIO on the MCU and does not require a transceiver.

## MCU

The MCU will be an STM32L552, exact variant and package is TBD due to parts availability. This MCU provides significant processing power, good GPIO, and excellent build and development tools. Firmware will be written in either C or Rust, depending on some initial testing.

We have access to debugging and flashing tools that are compatible with this MCU.

## Magnetics Coils and Constant Current Drivers

We are going to wind our own copper wire around coil mandrels to produce magnetorquers that are useful geometries for the device. A 3d printed mandrel will be designed and produced for each of the three coils. We do not believe this to be a significant risk of project failure because the geometries involved are extremely simple and the coil does not need to be extremely precise. Mounting of the coils to the board will be handled by 3d printed clips that we will design. The coils will be soldered into the board through plated through-holes.

Driving the inductors will be the MAX8560 500mA buck converter. This converter allows the MCU to toggle the activity of the individual coils separately through GPIO pins, as well as good soft-start characteristics for the large current draw of the coils.

## Board Design

This project requires significant work in the board layout phase. A 4-layer PCB is anticipated and due to LASSI compliance requirements the board outline, mounting hole placement, part keep-out zones, and a large stack-through connector (Samtec ERM/F-8) are already defined.

Unless constrained by part availability or required for other reasons, all parts will be SMD and will be selected for minimum footprint area.

# Criterion For Success

Success for our project will be broken into several parts:

- Electronics

- Firmware

- Compatibility

Compatibility success is the easiest to test. The device must be compatible with LASSI specifications for IlliniSat-0 modules. This is verifiable through mechanical measurement, board design review, and integration with other test articles.

Firmware success will be determined by meeting the following criteria:

- The capability to initialize, configure, and read accurate data from the IMU sensors. This is a test of I2C interfacing and will be tested using external test equipment in the LASSI lab. (We have approval to use and access to this equipment)

- The capability to control the output states of the magnetorquer coils. This is a test of GPIO interfacing in firmware.

- The capability to move through different control modes, including: IDLE, FAULT, DETUMBLE, SLEW, and TEST. This will be validated through debugger interfacing, as there is no visual indication system on this device to reduce power waste.

- The capability to self-test and to identify faults. This will be validated through debugger interfacing, as there is no visual indication system on this device to reduce power waste.

- The capability to communicate to other modules on the bus over CAN or RS422 using LASSI-compatible serial protocols. This will be validated through the use of external test equipment designed for IlliniSat-0 module testing.

**Note:** the development of the actual detumble and pointing algorithms that will be used in orbital flight fall outside the reasonable scope of electrical engineering as a field. We are explicitly designing this system such that an aerospace engineering team can develop control algorithms and drop them into our firmware stack for use.

Electronics success will be determined through the successful operation of the other criteria, if the board layout is faulty or a part was poorly selected, the system will not work as intended and will fail other tests. Electronics success will also be validated by measuring the current consumption of the device when operating. The device is required not to exceed 2 amps of total current draw from its dedicated power rail at 3.3 volts. This can be verified by observing the benchtop power supply used to run the device in the lab.