Design decisions and Bonus Task:
1. Power Supply:
○ I have used most common DC jack for 12V DC input
○ I have used buck converter ICs MP2359 to get various voltage levels of 3.3v, 5v
and 7.4V which is capable to provide 1.2Amp current.
2. μController Components:
○ I have used 16MHz crystal oscillator as a external clock which is very common
for such processing.
○ Decoupling Capacitors are used at every power pin.
○ Microcontroller section kept away enough from other components so it's
functionality won't get affected by other components.
○ Analog power pins are filtered with low pass LC filter.
3. Geared DC Motor:
○ I have used very generic L298 motor driver IC to drive motor upto 2Amp of
current.
○ I kept enough space behind IC package so Heatsink/radiator can be mounted if
needed.
○ The current sense out pins are connected to MCU so we can control the current
as per our requirement i.e 1.75A.
○ Motor speed and direction can be controlled by MCU.
○ Encoder inputs from motor are channeled to the MCU at interrupt pins.
○ Some tracks which may face high current flow are kept exposed so extra
soldering metal can be filled on them.
4. DC Servo Motor
○ DC input to these motors is provided by dedicated buck converter set to 7.4V.
○ A separate current sensor IC(ACS712) is used to get current consumed by the
servo motor and control it as per our requirement i.e 800mA.
○ Logic level conversion circuit (using BSS138) is designed to control 7.4V PWM
signal with our 3.3V MCU.
○ All PWM pins are assigned to dedicated timer channels.
5. Sensors
○ For most of Gyroscope and Accelerometer sensors (MPU) we need I2C bus to
communicate so, I have used Multiple parallel I2C connectors for connection.
○ A current sensor IC(ACS712) is connected to MCU to measure input current
constantly with 66mV/A accuracy and its frequency is in terms of microseconds.
6. Safety
○ PCB layout is covered with multiple ground vias, Ground copper areas at bottom
and top layers and also, I have created stack of 3.3V and ground plane as an
internal layers. Multiple ground area and layer causes the low impedance
towards the ground terminal which helps Static charges to get discharged
without affecting PCB components.
○ Additionally, USB buses are sensitive towards static charges so I have used
USBLC6 IC which helps in low capacitance ESD protection for USB ports.
7. Connections
Multiple connectors are used to connect external peripherals to the PCB like,
○ 2 connectors for Geared DC motors (1 extra for back up)
○ 6 connectors for servo motors(2 extra for back up)
○ 6 connectors for MPU sensor(2 extra for back up)
○ A JTAG connecter for Programming via st-link programmer
○ A micro-USB port for programing through USB
○ A DC jack for 12V input.
Comentários