Go Down

Topic: Some questions regarding standalone arduino mega (Read 186 times) previous topic - next topic

Mark248

I am making a project which contains atmega 2560 as a controller but i am checking out these tutorial and they have some things that are confusing me so please if you can then answer some of my questions.

1) Is it necessary to add 0.1uF to the all the VCCs of atmega?  even if we are using 7805 which regulates the signal already.

2) Is it necessary to add RESET circuit on your pcb? (attaching positive voltage to the RESET Pin and all)?

3) Should i put some sort of DIODE on the input (which is 12V) ? i am using like 15A current for the whole circuit which include Pumps,LED strip etc so which diode should i be using if any?

4) Is it okay to use pin 0,1 (RX,TX) or should i leave them and use other for the input or output? and why are people putting 1k resistor between controller pin and connector?

5) can you please tell me the ways to burn sketch and boot loader into the atmega 2560? i just want names of that process and i will google all of them.

DVDdoug

#1
Mar 19, 2019, 09:05 pm Last Edit: Mar 19, 2019, 10:11 pm by DVDdoug
Quote
1) Is it necessary to add 0.1uF to the all the VCCs of atmega?  even if we are using 7805 which regulates the signal already.
Yes.   You generally need bypass caps physically-close to the chip pins.   That's true with most digital and analog chips.    You might be able to get-away without them but then you might get "unexplained" problems/glitches.  (There might be hundreds of bypass caps on your computer's motherboard and probably  nothing bad will happen if you remove one of them.)

Quote
2) Is it necessary to add RESET circuit on your pcb? (attaching positive voltage to the RESET Pin and all)?
No, but you might need a pullup resistor.   Check the datasheet.

Quote
3) Should i put some sort of DIODE on the input (which is 12V) ? i am using like 15A current for the whole circuit which include Pumps,LED strip etc so which diode should i be using if any?
A series diode with a capacitor on the Arduino-side can make a kind of filter to hold-up the voltage if turning-on a motor (or something like that) temporarily pulls-down the 12V supply.    I'd probably use a ~1000uF capacitor.

Quote
4) Is it okay to use pin 0,1 (RX,TX) or should i leave them and use other for the input or output?
It depends...   If you are not using the USB or otherwise using those pins for programming/communication you can use them for whatever you want.

Quote
and why are people putting 1k resistor between controller pin and connector?
Someone else will have to answer that.

Quote
5) can you please tell me the ways to burn sketch and boot loader into the atmega 2560? i just want names of that process and i will google all of them.
There is some information on this page.    Here are some programmers from Atmel/Microchip.

…If you are going this-far in deviating from the standard Arduino hardware and burning your own bootloader you might  want to skip the bootloader and all of Arduino stuff altogether and use an Atmel programmer and Atmel Studio development environment.   

That's a "big step" but to me the major advantages to the Arduino are the pre-loaded bootloader and the fact that the Arduino board doubles (triples) as the programmer, the development board, and the final product/project (or as the main board in the final project).   If you are not taking advantage those things, maybe you don't need an Arduino.


pert

3) Should i put some sort of DIODE on the input (which is 12V) ? i am using like 15A current for the whole circuit which include Pumps,LED strip etc so which diode should i be using if any?
The Arduino Mega has a diode on the power input from the barrel jack to protect the board in case the user reverses the polarity of the power supply. When sending a product out "into the wild" you have to expect this sort of thing will happen and a diode is an easy way to protect against it. However, in an application where you know for sure that the polarity of the power supply will always be correct, you could skip that diode.

why are people putting 1k resistor between controller pin and connector?
If the pin is used as an output, the resistor will limit the current draw from the IO pin, protecting the ATmega2560 from damage if there was a short circuit.

If the pin is used as an input, the resistor will provide some protection against voltage spikes induced in the line. For details, see this nice article:
https://www.digikey.com/en/articles/techzone/2012/apr/protecting-inputs-in-digital-electronics

There are likely some applications where the resistor would interfere with the intended usage of the pin.

5) can you please tell me the ways to burn sketch and boot loader into the atmega 2560? i just want names of that process and i will google all of them.
Connect an ISP programmer to your ATmega2560. If you don't own an ISP programmer, you can use a spare Arduino board as an "Arduino as ISP": https://www.arduino.cc/en/Tutorial/ArduinoISP

Select the correct board from the Tools > Board menu. If you're running the ATmega2560 at 16 MHz, you can use Tools > Board > Arduino/Genuino Mega or Mega 2560.
Tools > Burn Bootloader. This will set the configuration fuses on the ATmega2560 and upload the bootloader to it.

At this point you have two options for how to upload the program to the ATmega2560:

You can upload it via the ISP programmer by opening the sketch in the Arduino IDE and then doing Sketch > Upload Using Programmer. Note that some ISP programmers are not able to upload to the ATmega2560. The Arduino as ISP will be able to do it. The other popular ISP programmer, named USBasp is able to do it only after installing a custom firmware, which will require a second ISP programmer (which could be an Arduino as ISP). This issue only applies to Upload Using Programmer. There is no problem with Burn Bootloader.

The other option is to put a USB to TTL serial adapter chip, or attach an external cable or board (AKA "FTDI") to Arduino pins 0 and 1 of the ATmega2560. Plug that into your computer and select its port from the Tools > Port menu. Now you can upload sketches using Sketch > Upload. Note that if you do a Sketch > Upload Using Programmer, it erases the bootloader so you always need to do another Tools > Burn Bootloader after Upload Using Programmer before you can do a standard Upload again. Although it takes extra components for this option, it's convenient for development work because often people are printing data over serial to the computer for debug output anyway. This allows you to use that same connection for both debug output and uploading. I recommend studying the "Programming a sketch" section of this tutorial to see how to use the serial interface, especially the auto reset circuit:
http://www.gammon.com.au/breadboard

Mark248

Thank you so much for this information i was desperately looking for it.

Mark248

#4
Mar 20, 2019, 08:45 am Last Edit: Mar 20, 2019, 08:46 am by Mark248
[/qoute] The Arduino Mega has a diode on the power input from the barrel jack to protect the board in case the user reverses the polarity of the power supply. When sending a product out "into the wild" you have to expect this sort of thing will happen and a diode is an easy way to protect against it. However, in an application where you know for sure that the polarity of the power supply will always be correct, you could skip that diode.
[/quote]

If i want to put a diode from the jack barrel to mega what diode should i use? I just want to clear about how to put it, should i just put it between input voltage and arduino vcc? There is nothing to do about the ground? Sorry diode is somewhat confusing for me

Watcher

#5
Mar 20, 2019, 08:58 am Last Edit: Mar 20, 2019, 09:04 am by Watcher
Quote
I am making a project which contains atmega 2560 as a controller....
If you dont really need all that flash memory and all those IO pins but still need more than the UNO or micro, do consider an ATMEGA 1284p instead.

Much easier to solder 44 TQFP. than 64 pins!


Here's my design along with some additional peripherals:

Go Up