Project

# Title Team Members TA Documents Sponsor
31 AUTONOMOUS DRIVEWAY SALT DISPENSER
Arya Tyagi
Candy Gao
Mayura Kulkarni
Koushik Udayachandran design_document2.pdf
final_paper1.pdf
photo1.jpg
photo2.webp
photo3.webp
presentation1.pdf
proposal2.pdf
video
**Team Members:**
- Mayura Kulkarni (mayurak2)
- Candy Gao (junyig4)
- Arya Tyagi (aryat2)

**Problem**

Freezing rain and extremely low temperatures during the winter season cause slippery driveways and sidewalks which make it difficult for people to walk and drive. Current methods of dispensing salt in these areas are done manually and are not very efficient. This is because salt is thrown randomly across these areas which results in wastage of salt and sometimes less salt in very icy areas. Also, these methods have safety risks as ice covering these areas makes it harder for people to walk to dispense the salt. It also increases the burden on homeowners to salt their driveways manually.

**Solution**

To solve this issue, we want to create a fully autonomous salt dispenser. Our solution would be a self-driving car that would dispense salt evenly across driveways and sidewalks. This would solve the issue of having slippery ice on the sidewalk/driveway when trying to leave your house. Also, allowing the car to only dispense salt on driveways and sidewalks will help to reduce the amount of salt that is wasted from randomly dispensing salt manually. The dispenser will consist of two main components. The first component is the autonomous steering of the car which will prevent the car from driving out of bounds, such as on the grass or outside of the driveway. Also, the second component is the dispensing of the salt using motors to allow the salt to be spread evenly across the surface.

**Solution Components**

Our Solution is made up of 2 components.
1. The Autonomous driving
2. Salt Dispensing

**Subsystem 1: Autonomous Boundary Detection**
For the first part of the project, we are trying to create autonomous driving for the car. To ensure that the car stays on the driveway, the car will need to be able to detect that the edge of the driveway has been reached and turn around. The way we are planning on doing this is by using a multitude of sensors to correctly analyze if the car has reached the edge of the driveway. This will include the detection of a color difference in where the robot is now versus what is in front of the robot, and we were going to use the difference in acoustic properties of grass and pavement to tell them apart using ultrasonic sensors. After testing the sensors we will create a threshold for what “reaching the end of the driveway” entails.

We will also need to determine when the end of the driveway (the part that attaches to the sidewalk) has been reached and stop the car from moving further. We are handling this in a different way than we are handling the driveway/grass boundary because there is no guaranteed terrain change for the edge of the driveway which connects to the sidewalk. We are planning to use sensors (infrared or ultrasonic) to mark a boundary line for the car. The sensors will be attached to a wireless module and once it has detected that an object (the car) has crossed the set boundary, it will send a signal to the microcontroller and stop the car.

**Components:**
- Infrared Sensor
- Color Sensor
- Ultrasonic Sensor/ Air Transducer?
- Wireless module

**Subsystem 2: Salt dispenser and motion**
For the second part of the project, we are going to create a salt dispenser. The salt dispenser will have a similar mechanism to current salt spreader products on the market. Specifically, the dispenser will consist of a container to hold the salt. At the bottom of the container, there will be a small hole in which the salt will fall through which will be initially closed. By pressing a ‘Start,’ button on the PCB, the hole will open which will allow the salt to fall and start the motors of the car. A rotating disk with multiple blades will be placed below the container to allow the falling salt to be projected out of the disk to the ground. The rotation speed of the disk will be controlled by the speed of the car. The front two wheels of the car will each have one motor in order to control the direction and motion of the car. The motors must also have sufficient power to move the car with the weight of the salt. The motors will be controlled using a microcontroller.

**Components:**
- Microcontroller
- Motor Control Module:
- Power supply
- Start button on PCB for opening the hole at the bottom of the container
- Body of the Car
- 2 motors to control the front two wheels of the car
- 4x wheels
- Disk for salt dispensing
- Container to hold salt


**Criterion For Success**

- The car will be able to open the hole within the salt container and start the motors once the ‘Start,’ button has been pressed.
- The car will be able to travel across the driveway without crossing onto the grass
- The car will dispense salt evenly onto the driveway
- The car will stop and shut off once it reaches the end of the driveway

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.