WEEK 9 - OUTPUT DEVICES
hero shot
final working
this week i am planning to start with my final project.i need to find and test the motor need to be used for my #SLOT-MACHINE.options in mind are stepper motor or dc motor with encoder. i am building a motor driver board ot test both dc and stepper, make a comparison about it this week
assignment
individual assignment
- add an output device to a microcontroller board you've designed, and program it to do something
group assignment: - measure the power consumption of an output device
about the motors
dc motor
A DC MOTOR IS AN ELECTRIC MOTOR THAT USES A DIRECT CURRENT TO GENERATE TORQUE. IT HAS A ROTOR THAT SPINS INSIDE A STATOR, AND THE ROTATION IS CAUSED BY THE FLOW OF ELECTRICAL CURRENT THROUGH THE MOTOR.
difference between brushed and brushless dc motors
dc motors are more EFFICIENT compared to stepper motors.
stepper motor
stepper motor is one most identifiable motor i saw on on fablabs. because they are avidly used in cnc and 3d printers. they are heavy and high TORQUEY can CONTROL steps or angles.
BUT STEPPERS CAN'T REVOLVE FAST AND AREN'T EFFICIENT.
making the board
i am using two a4953 with a attiny 1614 to make a MOTOR DRIVER board that can control both dc and stepper motor. thsi design is inspired from #NEILGERSHENFELD board
neil's hello stepper board
i made a schematics usig kicad which documented in WEEK 8 - ELECTRONICS DESIGN.
final schematics
then i routed the board.while routing the board i have give 0.6mm traces for 12 v lines to avoid potential short circuits and electrical breakdown.
in order to do this you need to add sizes in PREDEFINED sizes in board settings.
bill of materials exported from kicad
after routing i milled the board after several tries of not getting milled properly because of bed level issues. milling is documented in WEEK 4 - ELECTRONICS PRODUCTION
milled board. i named it "dumotod"
i made a mistake by removing pad under a4953 chip to ease routing but now i have to insulate the tracks under it.
insulating track to avoid shorting
and i soldered the board.
connecting the stepper
SerialUPDI
UPDI programming for Arduino using a serial adapter
Based on pymcuprog, with significant modifications
By Quentin Bolsee and Spence Konde
Version 1.2.3 - Jan 2022
Using serial port /dev/cu.usbmodem413B84523 at 57600 baud.
Target: attiny1614
Set fuses: ['0:0x00', '1:0x00', '2:0x02', '5:0b11000100', '6:0x04', '7:0x00', '8:0x02']
Action: write
.10/tools/libs/pymcuprog/serialupdi/link.py", line 44, in init_datalink
raise PymcuprogError("UPDI initialisation failed")
pymcuprog.pymcuprog_errors.PymcuprogError: UPDI initialisation failed
Failed to burn bootloader: uploading error: exit status 1
debugging the board
the board had many issues including
- I had to place a jumper and a diode between the voltage regulator to avoid interference and ensure smooth operation.
- I removed the ground under-padding behind the A4953 motor driver and rewired underneath it. To prevent shorting, I had to add insulation between the motor driver and the board.
- I initially forgot to include pull-up resistors for the I2C lines, which I later added to the board.
- I also forgot to connect a power wire to the motor driver, so I had to use a zero-ohm resistor to bridge it.
This board earned the distinction of being the "ugliest" board I've made so far. However, I learned a lot from the experience. [Saheen]((https://fabacademy.org/2021/labs/kochi/students/saheem-palayi/about_me.html) was incredibly helpful throughout this journey, assisting me with debugging the board.
group assignmnet
You can find our group page here and this week is here
power consumption pattern analysis of stepper motor
To determine the power consumption of the NEMA 17 stepper motor, we adjusted the voltage and current settings on the DC power supply, recorded the power consumption (Power = Voltage * Current), and observed how power varied with changes in voltage and current. This involved careful observation, documentation, and calculation of efficiency based on operational modes, speeds, and loads.
final result
the ocde generated using chat gpt by modifying niels output week code and is added in files.programming is done using updi and DOCUMENTED by adrain in QUENTORRES
dc motor test
the setup
finally stepper motor is working













