Joel Meisinger Harout Hedeshian Frankie Ning Dominic Boiko Ching-Han Tseng 1.
-
Upload
berenice-quinn -
Category
Documents
-
view
217 -
download
1
Transcript of Joel Meisinger Harout Hedeshian Frankie Ning Dominic Boiko Ching-Han Tseng 1.
Joel MeisingerHarout HedeshianFrankie NingDominic BoikoChing-Han Tseng
1
Design of a 3D printer for affordable prototyping.
Prints each cross section of a 3D object layer by layer
Three axis motion in a 2x2 feet chassis for large scale modeling
Use of accurate stepping motors for high precision printing
Network communication
Job File
User Controls
3D prototype
Status
Inputs Outputs
Low Level: Position printer head
from basic raw commands
Layout material Display printer status
Mid Level: Print Simple 3D
objects Position Feedback
High Level: Print objects base on
STL job files Independent power
system
Printer Objective Resolution 25mm/s linear write
speed 0.5mm deposition
resolution 5mm3/s (0.3 in3/s) Capable of printing a
10cm3 object Capable of printing
functional prototypes
3
4
Stepper Motor
Controller
Position Sensing
Controller
Material DepositionContr
oller
RS422 Bus
Interrupt
I/O
Command and Data Handling
Electrical PowerSystem
PowerRS422
InterruptGPIO
Electrical Power System
5
Provide each sub-system with appropriate power levelIsolated Power System
Reduced Shock Hazard Continuity of power Noise Reduction
Open and short circuit protectionFunction DecompositionTransformer Design
Wall Outlet120VA
C
5V Forward
converter (Isolated)
CDH
MDC
PSC
SMC
12V Forward
converter (Isolated)
Rectifier Bridge
FPS
EMI Filter
Transformer/Reset Winding
Metallic Enclosure For GroundingRelay(Enable)
Feedback
Isol
ated
•Open CircuitSnubber Circuit will be implemented by the transformer and output to prevent “inductive kick” effect.Bleed Resistor for discharging capacitor and prevent OC.
•Short Circuit (FPS IC)Latch Mode Protection: FPS shuts down SMPS till AC power is reconnectedAuto Restart Mode Protection: Under Voltage Lockout(UVLO)
•OtherOverload ProtectionOver Voltage/Current ProtectionMetallic enclosure grounding
Module EMI FilterInputs 120VAC from Wall outletOutputs 120VAC to RectifierFunctionality The process that filters out high frequency noises comes in from the wall outlet.
EMI dedicates a return-path especially for noises, and therefore greatly reduces the unwanted spike when proceeds.
Module Full-Wave Rectifier BridgeInputs EMI FilterOutputs 170VDC with approximated voltage ripple to FPSFunctionality The function that generates full positive waves. The smoothing capacitor, locates
at the output of the rectifier, converts the full-wave rippled output of the rectifier into a smooth DC output voltage.
Module FPS (Power Switch)Inputs 170VDC from Rectifier, Isolated Feedback from outputOutputs Primary, Reset, Vcc and Secondary windings on the transformerFunctionality The FPS has the internal switching frequency of 67KHz on MOSFET to makes DC-DC
converter. It requires about 15VDC on Vcc winding to drive the chip and startup various functions.
Module TransformerInputs FPSOutputs 5VDC, 12VDC ConverterFunctionality Base on the turn ratio on the windings, this module may step up or down on
voltage
Module DC-DC converterInputs TransformerOutputs 5VDC, 12VDC rail to each subsystemsFunctionality With manipulations on passive parts, these modules output desired voltage rail
and current.
Module FeedbackInputs 5VDC, 12VDC railsOutputs FPSFunctionality This module supplies or reduce amount of gains to stabilize the output in case of
any drastic changes.
Primary risk:•Hand-made Transformers might not operate as ideal as the calculation•Fall back to more detailed analysis, calculation, component upgrade, and proper circuit protection•Over-current/short current protection, metallic enclosure grounding and isolation are part of considerations to prevent this hazard
Goal•Redesign Transformer and find the better ferrite core•Fully test out the circuits on the perf-board •Power management•Proper debug/Test procedures documented•PCB
Command and Data Handling
14
Coordinate all events on printer
Communications interface for daughter boards
Provide a physical human interface for high level control
Platform independent and driverless communications to host computer
ARM Cortex M3(Stellaris
LM3S6965)Main CPU
SPI4Mb
6-DIN
6-DIN
6-DIN
RS232
DEBUG
Reset linesEthernet
USB->RS232
LCD Buttons
Buzzer
RS232
I2C
GPIO
GPIO
EPS
5V 5->3.3 Buck
5->2.5 Buck RS42
2 Drive
rRS42
2 Drive
rRS42
2 Drive
r
Power Sequenci
ng
CY8C9560AGPIO
Expander
AVR MCU(ATXMEGA128A1
)IO Hub
Not populated on Rev A
Not populated on Rev A
SRAM Data Buffer
Module Buck ConvertersInputs 5VDCOutputs 3.3VDC, 2.5VDCFunctionality
Take 5V from the power bus and step it down to 3.3V and 2.5V noting the correct power up sequence.
Module ARM Cortex M3 LM3S9595Inputs USB, Ethernet, COM from AVROutputs LCD, COM to AVRFunctionality
Primary processor on 3DP responsible for interfacing 3DP to the real world. Process vectors and coordinate subsystems.
Module SRAM BufferInputs Address, DataOutputs DataFunctionality
Space to store circular buffers of packet data for relay and transmission, and retransmission
Module AVR MCUInputs COM from CDH, I2C from CY8C9560A, COM(0-3)Outputs COM to CDH, I2C to CY8C9560A, COM(0-3)Functionality
Responsibly for ensuring reliable message packet delivery between all subsystems. Also relay button presses and sends back to CDH
Module CY8C9560AInputs I2C from AVR MCU, ButtonsOutputs I2C to AVR MCU, BuzzerFunctionality
Encodes buttons and drives buzzer. I wanted to play with this chip.
Stellaris: FreeRTOS uIP Web server Using a highly
modified Telnet server implementation to provide raw TCP socket for communication.
• XMEGA:–Mostly interrupt
driven custom firmware
– Simple functionality acting as a “smart” I/O controller.
– Nobody has ported an RTOS to the XMega?!
RTOS Kernel Managed TasksRTOS Kernel Managed Tasks InterruptsInterrupts
System Tick
Ethernet
USB/UART
COM
MAC Manageme
ntHTTPDTELNE
T
uIP
Shell/Protocol
Event Dispatch
LCD Messag
e Queue
Lots ofCool
Blinking LEDs
Main LoopMain Loop InterruptsInterrupts
System Tick
COM1
COM2
COM3
COM4
LED Management
MessageRouting
Keypad
COMV1AVR
Management
Original risks from PDR:Primary risk: Ethernet non-functional
WorkingSecondary Risk: USB-UART non-
functional▪ Working New risks:▪ Getting bored and making LEDs blink in funny
patterns
Material Deposition Controller
23
Joel Meisinger
Objective Keep constant print head tip temperature Keep constant torque on fed printing material
Requirements Supply consistent material delivery to the
printing area(.5mm diameter +/- .1mm) Be able to start and stop printing material
reliably. Notify CDH(main system) when print head is
up to temperature and ready to print or when the printer out of material.
24
25
26
XMEGA MCU
CDH
Deposition Motor
Driver
EPS
3.3V DC/DC convert
er
12V
MDCRS422 Driver5V
Deposition
Thermal Driver
Print headThermalFeedba
ck
5V DC/DC convert
er
RS232Debug
Micro data lines
Power
Print head control
27
Module 3.3V DC/DC ConverterInputs 5V supplied from EPS, DGNDOutputs 3.3V Functionality Provides power for Xmega MCU and
drive signal to motor driver controller. Low current requirement.
Module 5V DC/DC ConverterInputs 12V supplied from EPS, AGNDOutputs 5V Functionality Provides power to motor driver
controller/stepper motor. High current requirement.
Module RS422 DriverInputs Xmega TX and PC TX, DGNDOutputs Xmega RX and PC RXFunctionality Communication driver between
CDH and XMEGA for drive commands.
Module RS232 DriverInputs Xmega TX and PC TX, DGNDOutputs Xmega RX and PC RXFunctionality Debug port for Xmega and
development environment.
Module XMEGA MCU
Inputs 3.3V, DGND, RS422 TX(CDH), Thermal feedback
Outputs RS422 RX(CDH), Motor Driver, Thermal driver
Functionality Controller for the material deposition unit/print head. Regulates temperature and constant torque for the material feed.
Module Motor DriverInputs 5V, AGND, drive signalOutputs Stepper motor driving signal.Functionality Drives the motor to feed the
deposition material.
Module Thermal DriverInputs 12V, AGND, drive signalOutputs PWM Power to the print head
nozzle.Functionality Drives the heater on the print
head.
28
MDCMain
Init_sys()Packet
HandlersLED
Init_CLK()Init_IO_PIN()Init_USART_RS232Init_USART_RS422Init_Timer0( )
read_packet(…)write_packet(…)
LED_On(…)LED_Off(…)
Temp Sensor
adc_read(…)
MotorDrive
PWM Temp Drive
PWM_Rate(.)
SM_Drive(…)QDEC_EVSYS(…)QDEC_Index(…)
Print-head is completely custom.
Thermal controlled brass tip heated by NiChrome wire at temperatures 221°F - 300°F
ABS plastic: Possesses outstanding impact strength and high mechanical strength making it well suited for working mechanical parts.
Stepper motor with feed gear that will supply constant torque(TBD).
Compact having the ability to adapt to most 3d axis systems. 12 square inches.
29
• ABS not working for dependable deposition
• Nozzle tip temperature not constant1.Use other material type such as a PVC or
epoxy resin. Also try a variable torque routine that will be suited for changing speed and direction of the print-head when moving from one vertices to another.
2.Use other tip sizes, apertures and heater materials.
30
Position Sensor Controller
31
Frankie Ning
Objective Keep track of extruder head location Keep track of motor movements and
provide limit warnings Keep track of temperature on stepper
motors and motor driver heat sinks Requirements
Supply CDH Controller with 3 axis position of the extruder within 1/200th of a rotation
Supply motor status to CDH Controller Supply limit warnings and movement
verification to Stepper Motor Controller
32
33
SMC
CDH
Encoder X
Encoder Y
Encoder Z
EPS
3.3V DC/DC convert
er5V
RS422
6 GPIO
PSC
34
RS422 Driver
ISPRS23
2
RS232 Driver
XMEGA MCU
2 Limit X
2 Limit
Z
2Limit Y
MotorTemp XYZ
5V3.3V
GPIOADC
USART
35
Module XMEGA MCUInputs 3.3V, GND, RS232 TX(PC), RS422 TX(CDH), Encoder
A,B, index signals from Encoder X,Y,Z, ISPOutputs ISP, RS232 TX(PC), RS422 TX(CDH)Functionality
Gathers data from limit, temperature, and encoder sensors. Controls the RS232 and RS422 driver to communicate with the PC or CDH. Also includes GPIO to SMC for temperature and limit warnings
Module Encoder X,Y,ZInputs Rotary disc in encoderOutputs Quadrature A and B, 90o off phaseFunctionality
keep track of motor movement and position
Module Limit X,Y,ZInputs Limit flagOutputs Quadrature A and B, 90o off phaseFunctionality
keep track of motor movement and position
Module Motor Temp X,Y,ZInputs Temperature sensor mounted on
stepper motorOutputs Analog output 200mV – 1.75V at
10mV/oCFunctionality
keep track of motor temepratures
Module ISPInputs PDI_CLK, PDI_RESET, power, groundOutputs PDI_Data,Functionality AVRISP MkII Programming module for Xmega
Module RS422 DriverInputs Xmega TX and CDH TXOutputs Xmega RX and CDH RXFunctionality
Communication driver between CDH and PSC, command and data is sent using the RS422 driver
Module RS232 DriverInputs Xmega TX and PC TXOutputs Xmega RX and PC RXFunctionality Communication driver between PC RS232 and
XMEGA UART
Module 3.3V DC/DC ConverterInputs 5V Outputs Regulated 3.3V Functionality
supply power to on board ICs
36
PSCMain
Init_sys()Packet
HandlersLED
Init_CLK()Init_IO_PIN()Init_USART_RS232Init_USART_RS422Init_QDEC( )Init_Timer0( )
read_packet(…)write_packet(…)
toggle_heartbeat(…)
Temp Sensor
adc_read(…)
Encoder Limit
Limit_detect(…)
QDEC_Direction(…)QDEC_EVSYS(…)QDEC_Index(…)
US-Digital E5Optical Rotary Encoder IndexQuadrature512 CPR (cycles per revolution)2048 PPR (pulses per revolution)Max detectable rpm = 11718Fits ACME threaded rod
2mm – 10mm or 1/8” – 3/8” shaftMax Frequency Response 100kHz
37
Limited Funding Remove Encoders, reduce cost▪ Not critical to design/ Good to have feedback▪ Stepper motors with fine resolution
Minimum cost PSC would include▪ Temperature Sensor ▪ Track temperature of motors and drivers
▪ Photointerrupt Sensor ▪ Detect when print head moves to a X, Y, or Z axis limit
Apply to EEF Personal donation
38
Stepper Motor Controller
39
Objective Control motion of extrude head along 3 axis
(X,Y,Z) Control speeds of motors using constant current
motor drivers Accurate positional translations using high
resolution stepper motors as opposed to simple DC motors
Requirements Drive steppers motors based on instructions given
by CDH controller Provide current motor status when queried by CDH Able to drive motors accurately with enough
torque to control extrude head position
40
XMEGA MCU
PSC
CDH
Linear Actuator
X
Linear Actuator
Y
Linear Actuator Z
EPS
3.3V DC/DC convert
er5V
RS422
6 GPIO
SMC
RS422 Driver
ISPRS23
2
RS232 Driver
Motor Driver
Motor Driver
Motor Driver
Legend12V5V3.3VGPIOIsolated SignalsUART
Module RS232 DriverInputs Xmega TX and PC TXOutputs Xmega RX and PC RXFunctionality Communication driver between PC RS232 and
XMEGA UART
Module ISPInputs PDI_CLK, PDI_RESET, power, groundOutputs PDI_Data,Functionality AVRISP mkII Programming module for Xmega
Module XMEGA MCUInputs 3.3V, DGND, RS232 TX(PC), RS422 TX(CDH), ISP,
PSC limit sense GPIOOutputs ISP, RS232 TX(PC), RS422 TX(CDH), Motor Driver
Control SignalsFunctionality Communication driver between PC RS232 and
XMEGA UART, Configure motor driver operation
Module Motor driver TB65605AHQInputs 5V, 12V, AGND, motor driver control signalsOutputs PWM current waveform for 2 phase stepper
motorFunctionality Take digital control signals and drive a single
stepper motor and defined torques, speeds, and resolution.
Single 2-phase bipolar motor driver chip Controllable current for torque
management Capable of half stepping and
microstepping Digital control inputs Stepping speed determined by input
clock Success!!!
44
45
SMCMain
init_sys()Packet Handler
Motor controlle
r
Init_CLK()Init_IO_PIN()Init_USART_RSxxx()Init_Timer0( … )
read_packet(…)write_packet(…)execute(…)
Check limitsSet control signals
Module MainInputs None.Outputs None.Functionality Call init_sys() to bring XMEGA online. Call
read_packet() and write_packet() for interboard communications. Call execute() on commands received from CDH. Call the motor driver handling functions.
Module Init_sys()Inputs None.Outputs None.Functionality Initializes the clock, IO pins, USARTs, and timers.
Module Packet HandlerInputs Packet by serial (see struct for packet)Outputs Response packetFunctionality The packet handler will read bytes from the serial
communication and construct a packet based off our defined protocol. Also execute any commands sent in the packet.
Module Motor ControllerInputs Limit sense GPIO from PSC. Motor axis states for
control signals (see motor_driver struct)Outputs Control signals to the motor drivers.Functionality Sets the control signals to the motor drivers based
on each motor axis current state as defined by the motor_driver struct. Stop motion and alert CDH when limits of motors have been reached.
// Packet structtypedef struct{
uint8_t to;uint8_t from;uint8_t size;uint8_t proto_ver;uint8_t reserved_byte_4;uint8_t payload[32];
} packet;
// motor_driver structtypedef struct{
uint8_t tq1;uint8_t tq2;uint8_t dcy1;uint8_t dcy2;uint8_t m1;uint8_t m2;uint8_t cw_ccw;//uint8_t clk; //possibly implemented as a single line to all motorsuint8_t reset;uint8_t en;
} motor_driver;
Schedule Maintaining with schedule SMC is ahead of schedule▪ Original goal: have flashing LEDs (complete)▪ Current status: stepper motor driving capability
tested and working▪ Most configuration signals tested (need to test decay mode)
Current goal: ▪ establish packet handling (started)▪ Design motor driver handling firmware
51
Task Ching Dominic Frankie Harout Joel
CDH Secondary
Secondary
Primary
EPS Primary Secondary
Secondary
MDC Secondary
Secondary
Primary
PSC Secondary
Secondary
Primary
SMC Primary Secondary
Secondary
Mechanical
Secondary
Primary Secondary
Primary Primary
User Interface
Primary Secondary
Secondary 52
CDH LCD display RS422 USB Ethernet
EPS First Sage AC Power and
EMI Filter Second stage Rectifier
working (not transformer)
MDC Blinking LEDs
PSC Timer interrupt driven
LEDs RS422 Temperature sensor data
sent to PC Limit Sensor (toggle LED)
SMC Blinking LEDs Driving stepper motors RS422
53
Gant chart
54
Item Name Description Unit Price
Quantity
Total Amount
STR-MTR-17048 Stepper Motors 19.00 3 57ATSTK600 STK 600 development kit 206.96 1 206.96ATSTK600-TQFP64-2 STK600 socket adapter 102.96 1 102.96LM3S6965 CORTEX MCU 15.29 2 30.58ATXMEGA128A1-AU XMEGA MCU 10.2 2 20.40ATXMEGA64A-AU XMEGA MCU 8.21 8 65.68MCP9700A-E/To Temperature Sensors 0.34 5 1.70GP1S53VJ000F Photo-interrupt Sensors 0.85 3 2.55E5 USDIGITAL Optical Encoders 62.32 3 62.32LTV-846S Optocouplers 0.73 25 18.25FAN8303 DC/DC Converter 1.12 25 28.00B230A Schottky Diodes 0.413 14 5.78DN759x Inductors 2.73 5 23.76ASV-xxxxxMHZ Oscillator 2.63 10 26.30TB6560 Stepper Motor Driver 4.73 5 23.65ADM3071EARZ RS422 Driver 3.4 10 34.00DMN601DMK N-CH MOSFET 0.61 20 12.32GBU6J-BPMS Rectifier bridge 1.4 3 4.20FS7M0880YDTU PWM Switching Reg 3.64 4 14.56ACM9070-701 Common Mode Choke 1.58 2 3.16598-8710-307F LED 2.17 10 21.701N400xDICT-ND Rectifier 0.31 8 10.52WK6249 Fuseholder 1.88 2 3.76FOD817A High power Optocoupler 0.5 4 2M9975 High power Inductor 3.47 3 10.41ASM69AC Linear slide 766.00 1 766.00C0816X7R1Cxxxx Passive Capacitors 0.03 1000 30ERJ-3GEYxxx4V Passive Resistors 0.03 1000 30161-2306 Mini-DIN connectors 0.93 10 9.3A35109 DB9 Connectors 0.95 4 3.8Cat5e/ PS2/ DB9/ USB Cables 41.53 1 41.53EE80251S3-0000 Fan 3.27 1 3.27EPS/SMC/PSC/MDC 2 Layer PCB 33 8 264CDH 4 Layer PCB 66 2 132
Total 2175.52255
Expense Breakdown
Subsystem TotalCDH 246
SMC 273
PSC 251
MDC 250
EPS 200
Mechanical 151
Development Kits 310
Board Order 495
Total 2176
Financial SupportUROP 1000
Halleck Willard Inc.
826
ECEE Department
367
Total : 2193
MILESTONE 1
Blinking (naked eye) LEDs on SMC, MDC, PSC, CDH
Display functional interboard communication on RS422
Display one temperature reading on Realterm through RS232
Display one limit sensor by turning off LED when limit sensor is triggered
Drive one motor via command from CDH
Ready for Revision B board orders
MILESTONE2
Display Encoders data via RS232 or CDH Direction Position
Display valid C3DP defined protocols via logic analyzer for SMC, MDC, PSC, CDH
56
57