Project

# Title Team Members TA Documents Sponsor
14 PocketScope
Aaron Holl
Caleb Peach
Rohan Nagaraj
Lukas Dumasius design_document1.pdf
final_paper1.pdf
photo1.jpg
presentation1.pptx
proposal1.pdf
video
# Team Members:
- Rohan Nagaraj (rohan14)
- Aaron Holl (amholl2)
- Caleb Peach (calebrp2)

# Problem

Most signal generators and oscilloscopes are limited to large laboratory instruments. They are also very costly and usually reserved for universities and company labs. Currently, there is no cheap, pocket-sized, convenient, and compact signal generator/oscilloscope designed for electricians, hobbyists, and engineers to use in the field while troubleshooting electrical problems.

# Solution

With advancements in microcontroller technology (specifically cheaper, smaller, and more powerful devices) our team can create a handheld, pocket-sized, two-in-one oscilloscope and signal generator. It will include an OLED screen to display a user interface with a time-versus-voltage/current plot, options for generated signals, and other features for quick measurements such as a voltmeter and ohmmeter. It will also include software based analysis tools such as FFT, curve-fitting, and the ability to export data as a CSV to a computer.

Software, ADC, and DAC functionality can be handled through an ESP32 or a similar microcontroller. Basic circuit design using op-amps and voltage dividers can be used to scale larger input signals down to ranges acceptable for the microcontroller’s ADC. The user interface software can be implemented using C and Python.

# Solution Components

## Subsystem 1: Voltage and Current vs Time

This subsystem will take a real-world signal ranging from [-20 V, 20 V] and scale it down to a 0 to 3.3 V range since this is the typical input range for a microcontroller’s ADC. We can easily do this mathematically by dividing the function by a scaling factor (implemented in a circuit with a voltage divider) and adding an offset (using an op-amp adder circuit) to get it in the suitable range. We will use a LM741 op amp to do this since it is one of the most popular and widely used op-amps in circuit design.

Our microcontroller will be an ESP-32 or STM-32 since it has an onboard ADC that can read voltages in the 0 to 3.3 V range. It also has the computing ability for small scale graphics for the waveforms vs time and can handle other DSP intensive threads.

## Subsystem 2: LCD Touchscreen

This subsystem will display our application code written in C, Python, and possibly Arduino. It will display the voltage/current waveforms, show menus for signal generation, display spectrogram readings, show analysis tool details, and provide major control over the device. We will use a LCD capacitive touch bare display which communicates with our microcontroller over SPI. Adafruit provides a suitable display (https://www.adafruit.com/product/2090) that can be used for this.

## Subsystem 3: USB-C Charging and Computer Exportability
- USB-C PCB mount on our custom PCB will allow for microcontroller programming, battery re-charging, and allow the microcontroller to export a .CSV file to a connected computer
- USB-C will support USB 2.0 at 12 Mbps since this is fast enough to import CSV data and machine code data to the microcontroller without having to worry about impedance controlled traces on D+ and D- lines.
- The UJ20-C-H-C-4-SMT-TR (USB-C PCB mount) will allow us to have this connectivity
- USB-C also natively supports a 5V power supply over the VBUS terminal, so we can use this to charge a rechargeable lithium ion battery that allows the device to be mobile

## Subsystem 4: Time varying FFT (Spectrogram) of input signal
- In software, we will implement a short time Fourier Transform algorithm to show a real-time spectrogram of the input signal
- We do this by sampling the signal in short windows and taking the FFT of the instantaneous waveform, displaying it, and then repeating the process in real time such that the user can accurately see how the frequency components of the signal change over time

## Subsystem 5: Waveform Signal Generation
User will be able to choose between the following pre defined waveform shapes we support:
- Rectangle Wave
- Triangle Wave
- Sine Wave
- Sawtooth Wave
- Pulse Signal
- Gaussian Noise function

This will be generated by the microcontroller (ESP-32 or STM32) via PWM through a GPIO pin and amplified to a 0 to 5 V range through an op-amp amplifier (again using the LM741). The frequency, phase, duty cycle, and amplitude of the waveforms can be fully customizable by the user.

## Subsystem 6: Machine Learning Algorithm for Input Waveform Analysis
- Implement a machine-learning-based parameter estimation algorithm using gradient descent to fit mathematical models to measured input waveforms
- We will base our algorithm on a Nth order polynomial fit (where N is a parametrized by the user, giving more accuracy on the fit)
- This can be used to characterize transient behavior, dynamic response, and system properties related to impulse and frequency response

# Criterion For Success
- The device needs to be portable such that the entire structure can fit comfortably in your hand and ideally within a pants or jacket pocket.
- The device needs to have a battery system that can support at least a couple hours of use, in order to serve the needs of the users who may be unable to plug the device into an outlet while using it.
- The device needs to be able to read any arbitrary signal within a -20 V to +20 V range and display them accurately on the screen.
- The screen needs to be easy to read and the interface must be concise and unobtrusive. Also the screen should be sturdy enough to be used frequently without fear of damage.
- The device needs to have an overvoltage protection system that prevents the circuits from burning out if a high voltage signal is put across the input pins.
- The metal pins that read the voltage signal must be adjustable in gap width and/or compatible with a set of detachable probes that can be placed on any two points of a target circuit.

# Alternatives
Small oscilloscopes have already been implemented and manufactured. Our solution is unique as we will implement our ideas in a cost efficient, energy efficient, space efficient manner for low voltage inputs, which is not currently available (current solutions are too big, too expensive, or too energy efficient for low voltage systems).

https://www.digikey.com/en/products/detail/owon-technology-lilliput-electronics-usa-inc/HDS1021M-N/10667422?gclsrc=aw.ds&gad_source=1&gad_campaignid=20228387720&gbraid=0AAAAADrbLlg8c4vRvwakbVmhST4aZ3Gqw&gclid=Cj0KCQiA4eHLBhCzARIsAJ2NZoIiJi_xpcOgqdLhCqINMhACTyUvaBxYUS1mqWpOtyJXAPze3dIfL64aAkQHEALw_wcB

Antweight Battlebot Project

Jeevan Navudu, Keegan Teal, Avik Vaish

Antweight Battlebot Project

Featured Project

# Antweight Battlebot

Team Members:

- Keegan Teal (kteal2)

- Avik Vaish (avikv2)

- Jeevan Navudu (jnavudu2)

# Problem

In order to compete in Professor Gruev’s robot competition, there are many constraints that need to be met, including:

- Maximum weight (2lbs)

- Allowed materials (3D-printed thermoplastics)

- Locomotion system and fighting tool

- Wireless control via Bluetooth or Wifi

The main goal of this competition is to design a Battlebot that is capable of disrupting the functionality of the other Battlebots with our fighting tool while maintaining our own functionality.

# Solution

For the project, we plan to build a battlebot with a custom electronic speed controller (ESC) that can independently control three brushless motors: two for the drive system, and one for the fighting tool. This ESC will be controlled by an STM32 microcontroller, to which we will add a Bluetooth module to connect to it and specify how much power we want to send to each motor. To communicate with our robot, we will use a laptop that can connect to Bluetooth.

# Solution Components

## Vehicle Controller

The main subsystem of the robot will be a combined vehicle control board and ESC. This subsystem will contain an STM32 Microcontroller that will serve as the brain for the whole robot. With this MCU, we’ll be able to flash our whole software package that will be able to control the speed and direction of the robot, the robot’s weapon, and the Bluetooth communication.

## Power Module

This subsystem includes the battery, the voltage regulators/converters needed to power the electronics, and the necessary battery monitoring circuitry. Specifically, for the battery, we will use a 14.8V 4S2P LiPo pack to power all the components. There will also be a voltage short detection circuit for the battery that will shut down the robot in case of a short to ensure safe practices. This subsystem also contains a 5V linear regulator and 3.3V linear regulator to power the low voltage electronics.

## Drivetrain/Powertrain

This subsystem includes the motors and H-bridges needed to control both the wheels and weapon of the robot. The H-bridges will be made with regular N-MOSs that will be controlled by a PWM signal sent from the STM32 MCU. This H-bridge setup will be able to control the voltage and polarity sent to the motors, which will be able to control the speed of the wheels or weapon. This subsystem will also include the mechanical wheels of the robot and actual hardware of the weapon, which will be a spinning object. Since all the wheels and the weapon have the same mechanical motion, they can all use the same hardware and software electronically, with minor adjustments in motor selection and the actual mechanical hardware/peripheral.

## Bluetooth Module

One big requirement for this project is the ability for the robot to be controlled wirelessly via laptop. The STM32 MCU has bluetooth capabilities, and with additional peripheral hardware, the robot will be able to communicate over bluetooth with a laptop. The goal for the laptop is to be able to control the speed, direction, and weapon of the robot wirelessly and also have a display for live telemetry.

## Mechanical Design

The last part of our project would be the mechanical design of the robot chassis and weapon. For the chassis and weapon material, we decided to go with PLA+ as it offers a blend of being strong and robust but not being too brittle. The drive system will be a 2-wheeled tank style drive with one motor controlling each side of the robot. For the weapon, we are looking to utilize a fully 3D-printed drum that will have a 100% infill to maximize the rotational inertia which can lead to bigger impacts.

## Criterion for Success

We would consider our project a success if we are able to communicate with the robot from our computer as in sending throttle and steering commands to the robot, if those commands are then processed on the robots microprocessors and the motors are sent the according power needed to move and behave in the way that we want during a match.

## Alternatives

The most commonly used electronics in current antweight battlebots consist mostly of RC drone parts. We plan to create a very similar ESC to those on the market but it will have an integrated Bluetooth wireless capability as well as telemetry monitoring. We also want to focus on minimizing packaging size to lower weight and increase flexibility as much as possible.

Project Videos