Arduino uno
I will attempt to explain how the hardware works as far as I understand it at the moment.


Like every complex system, it is modular. There is the power system, that chooses between the power jack and the USB power and produces 5v and 3v3 for the rest of the system. There is a USB to the serial controller that contains the bootloader which is used to load programs into the ATMEGA328P.
The Power System

If there is a power supply connected to the power jack. The power supply should be between 9v and 15v. The two chips are voltage regulators that produce 5v. I still don't understand why there are two voltage regulator chips. I would guess to provide enough current.
The Vin is direct;y connected to the power supply.

Vin is connected to the LM385D chip which contains two op-amps. One of the opamps is used as a comparator and the other is not used at all. 3V3 is compared to Vin/2 if Vin/2>3V3 then the output is 5v and that is used to turn off the supply from the USB. The 5v generated is then connected to the LP2985 chip which is a voltage regulator that takes in 5v and outputs 3v3.
If instead Vin/2<3.3, the MOSFET is turned on and the USB power is used instead. USB provides the 5v to the LP2985 chip.
USB to Serial Controller
The USB controller is implemented with the ATMEGA8U2-MU. It is used to load the code unto the ATMEGA328P.

This includes support circuitry like the silicon crystals and the pull-up resistors. There is also the ICSP interface that can be used to program the chip. The ICSP connects to the microcontroller SPI interface.
The ATMEGA328P
This is the main controller. The code you write for the Arduino is executed by this controller. And it is directly connected to the I/O pins. The controller is programmed via the TX, RX pins connected to the USB to a serial controller and contains bootloader code. it can also be programmed directly via the ICSP pins.

And that’s it. This is a relatively high-level explanation.
Features of the Arduino UNO:
- Microcontroller: ATmega328
- Operating Voltage: 5V
- Input Voltage (recommended): 7-12V
- Input Voltage (limits): 6-20V
- Digital I/O Pins: 14 (of which 6 provide PWM output)
- Analog Input Pins: 6
- DC Current per I/O Pin: 40 mA
- DC Current for 3.3V Pin: 50 mA
- Flash Memory: 32 KB of which 0.5 KB used by bootloader
- SRAM: 2 KB (ATmega328)
- EEPROM: 1 KB (ATmega328)
- Clock Speed: 16 MHz
Comments
Post a Comment