Project

# Title Team Members TA Documents Sponsor
28 Universal PoE Stepper Motor Driver for Argonne National Lab
Armando Rodea
Bryan Monk
Putra Firmansyah
Evan Widloski design_document4.pdf
final_paper1.pdf
photo2.jpg
photo1.jpg
presentation1.pptx
proposal1.pdf
# Universal PoE Stepper Motor Driver for Argonne National Lab

Team Members:
- Bryan Logan Monk (blmonk2)
- Putra Derindra Firmansyah (pdf2)
- Armando Rodea (rodea3)

# PROBLEM

We are working with Argonne National Laboratory in the Advanced Photon Source. In the beamline where they conduct x-ray diffraction experiments, they use countless stepper motors for alignment, automation, etc. However, the drivers they use are bulky, expensive, and somewhat outdated. There is also a limited number, so they have to use ports sparingly. A compact, scalable driver would be ideal, but current solutions would require a power supply for each added driver in addition to wiring for serial communication.

# SOLUTION

We plan to create a driver that uses power over ethernet (PoE) to communicate with a stepper driver and to power it as well. There will be an input to the ethernet port then a circuit will separate the power and the data being transmitted. Afterward, we will use a voltage step-down circuit to input an appropriate amount of power into the stepper motor. The ethernet data will then be interpreted by an MCU that interfaces with a Motion Controller IC. This will produce step/dir signals for a driver IC which drives a MOSFET stage to properly drive the motor. We intend to make this module universal to stepper motors with different current requirements while being relatively low cost.


# SOLUTION COMPONENTS

## Subsystem 1: PoE Interface

This first consists of a PoE input through an RJ-45 port. The PoE control interface needs to be set up and communicate which power standard we are using (for example PoE++ which provides 60W), so we will use a power delivery controller IC such as the Analog Devices LT4293. Next, the ethernet data will be routed to an Ethernet PHY which communicates with the central MCU, and the power will be routed to the step-down circuit.

## Subsystem 2: Central MCU

A central microcontroller will be used to interpret the data from the Ethernet PHY and convert it to SPI commands to send to the driver circuit. This should also be able to allow the user to program different current values and set a static IP address. We might also need some external memory to store settings, although we are unsure of this at this time. As far as a specific MCU, we are currently looking at the STM32F107 which has integrated ethernet MAC, but still requires an external PHY IC.

## Subsystem 3: Voltage Step Down Circuit

PoE typically uses 48VDC to transmit power. To drive the stepper motors, we will need to step down this voltage to 12V, and further step it down to 3.3V for the digital logic.

## Subsystem 4: Stepper Motor driver circuit

This subsystem consists of three components. The first is a motion controller IC that the MCU sends commands to over SPI. This generates step/dir pulses which is the standard communication protocol for stepper motors. Additionally, this chip accepts inputs from limit switches which are used to stop the motor if they are activated. A tentative chip to use for this would be the Trinamic TMC429.

Next is the actual stepper motor driver IC, such as the Trinamic TMC262. This takes the input step/dir pulses and converts them into signals to drive the MOSFET bridge, limiting the current to a specified amount. A bridge of 8 MOSFETs is used to drive the four wires used in bipolar stepper motors.


# CRITERION FOR SUCCESS

The main goal of this project is to ensure that the driver works perfectly between an input that controls the motor as well as making sure the motor takes the appropriate direction and that it can be powered accordingly. Hence, we will measure its accuracy as well. To measure its accuracy, we will micro-step the motor and see if it moves correctly. E.g for a stepper motor with 200 steps for every revolution then, it should only move by 1.8 degrees per micro step. We will also test this for multiple stepper motors ranging in size and current requirements as well to make sure that the driver is indeed universal. Finally, reliability is key for use in a scientific lab, so the ethernet communication should never drop out and response should be quick.

Electronic Mouse (Cat Toy)

Jack Casey, Chuangy Zhang, Yingyu Zhang

Electronic Mouse (Cat Toy)

Featured Project

# Electronic Mouse (Cat Toy)

# Team Members:

- Yingyu Zhang (yzhan290)

- Chuangy Zhang (czhan30)

- Jack (John) Casey (jpcasey2)

# Problem Components:

Keeping up with the high energy drive of some cats can often be overwhelming for owners who often choose these pets because of their low maintenance compared to other animals. There is an increasing number of cats being used for service and emotional support animals, and with this, there is a need for an interactive cat toy with greater accessibility.

1. Get cats the enrichment they need

1. Get cats to chase the “mouse” around

1. Get cats fascinated by the “mouse”

1. Keep cats busy

1. Fulfill the need for cats’ hunting behaviors

1. Interactive fun between the cat and cat owner

1. Solve the shortcomings of electronic-remote-control-mouses that are out in the market

## Comparison with existing products

- Hexbug Mouse Robotic Cat Toy: Battery endurance is very low; For hard floors only

- GiGwi Interactive Cat Toy Mouse: Does not work on the carpet; Not sensitive to cat touch; Battery endurance is very low; Can't control remotely

# Solution

A remote-controlled cat toy is a solution that allows more cat owners to get interactive playtime with their pets. With our design, there will be no need to get low to the ground to adjust it often as it will go over most floor surfaces and in any direction with help from a strong motor and servos that won’t break from wall or cat impact. To prevent damage to household objects it will have IR sensors and accelerometers for use in self-driving modes. The toy will be run and powered by a Bluetooth microcontroller and a strong rechargeable battery to ensure playtime for hours.

## Subsystem 1 - Infrared(IR) Sensors & Accelerometer sensor

- IR sensors work with radar technology and they both emit and receive Infrared radiation. This kind of sensor has been used widely to detect nearby objects. We will use the IR sensors to detect if the mouse is surrounded by any obstacles.

- An accelerometer sensor measures the acceleration of any object in its rest frame. This kind of sensor has been used widely to capture the intensity of physical activities. We will use this sensor to detect if cats are playing with the mouse.

## Subsystem 2 - Microcontroller(ESP32)

- ESP32 is a dual-core microcontroller with integrated Wi-Fi and Bluetooth. This MCU has 520 KB of SRAM, 34 programmable GPIOs, 802.11 Wi-Fi, Bluetooth v4.2, and much more. This powerful microcontroller enables us to develop more powerful software and hardware and provides a lot of flexibility compared to ATMegaxxx.

Components(TBD):

- Product: [https://www.digikey.com/en/products/detail/espressif-systems/ESP32-WROOM-32/8544298](url)

- Datasheet: [http://esp32.net](url)

## Subsystem 3 - App

- We will develop an App that can remotely control the mouse.

1. Control the mouse to either move forward, backward, left, or right.

1. Turn on / off / flashing the LED eyes of the mouse

1. keep the cat owner informed about the battery level of the mouse

1. Change “modes”: (a). keep running randomly without stopping; (b). the cat activates the mouse; (c). runs in cycles(runs, stops, runs, stops…) intermittently (mouse hesitates to get cat’s curiosity up); (d). Turn OFF (completely)

## Subsystem 4 - Motors and Servo

- To enable maneuverability in all directions, we are planning to use 1 servo and 2 motors to drive the robotic mouse. The servo is used to control the direction of the mouse. Wheels will be directly mounted onto motors via hubs.

Components(TBD):

- Metal Gear Motors: [https://www.adafruit.com/product/3802](url)

- L9110H H-Bridge Motor Driver: [https://www.adafruit.com/product/4489](url)

## Subsystem 5 - Power Management

- We are planning to use a high capacity (5 Ah - 10 Ah), 3.7 volts lithium polymer battery to enable the long-last usage of the robotic mouse. Also, we are using the USB lithium polymer ion charging circuit to charge the battery.

Components(TBD):

- Lithium Polymer Ion Battery: [https://www.adafruit.com/product/5035](url)

- USB Lithium Polymer Ion Charger: [https://www.adafruit.com/product/259](url)

# Criterion for Success

1. Can go on tile, wood, AND carpet and alternate

1. Has a charge that lasts more than 10 min

1. Is maneuverable in all directions(not just forward and backward)

1. Can be controlled via remote (App)

1. Has a “cat-attractor”(feathers, string, ribbon, inner catnip, etc.) either attached to it or drags it behind (attractive appearance for cats)

1. Retains signal for at least 15 ft away

1. Eyes flash

1. Goes dormant when caught/touched by the cats (or when it bumps into something), reactivates (and changes direction) after a certain amount of time

1. all the “modes” worked as intended

Project Videos