Go Down

Topic: Arduino on breadboard problems (Read 7561 times) previous topic - next topic

kntx

Sep 25, 2010, 02:12 pm Last Edit: Sep 25, 2010, 02:19 pm by kntx Reason: 1
Hello guys!

I'm a newbie in the Arduino world, and I made a choice I'm starting to regret: building my arduino on a breadboard.


I bought 2 AtMega328 preloaded with bootloader and a USB to Serial with FT232R chip, and followed the standalone instructions from http://arduino.cc/en/Main/Standalone

I also added  the autoreset feature by using a 0.1uF capacitor between DTR and reset pin of the AtMega328.

After setting all up, the led connected to PB5 (arduino pin 13) blinks.

The problem is that I can't get a connection between the Arduino IDE and the atmega, neither using the manual switch to reset nor the autoreset. Also this happens with both the AtMega328.

WITH UBUNTU 10.04
Fresh install, unistalled brltty and installed the arduino package from the ppa as stated in the ubuntu instructions.

This is what happens:
Code: [Select]
Binary sketch size: 896 bytes (of a 30720 byte maximum)
avrdude -v -v -v -v -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/tmp/build7017198197249163195.tmp/Blink.cpp.hex:i


avrdude: Version 5.10, compiled on Mar 23 2010 at 15:03:00
        Copyright (c) 2000-2005 Brian Dean
        Copyright (c) 2007-2009 Joerg Wunsch

        System wide configuration file is "/etc/avrdude.conf"
        User configuration file is "/home/ubuntu/.avrduderc"
        User configuration file does not exist or is not a regular file, skipping

        Using Port                    : /dev/ttyUSB0
        Using Programmer              : arduino
        Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.


WITH VISTA

Installed the newest ftdi drivers from the website. Donwloaded latest arduino (0019). Disabled antivirus and firewall.

This is what happens every time:
Code: [Select]
avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
        Copyright (c) 2000-2005 Brian Dean

        System wide configuration file is "C:\Users\...\arduino-0019\hardware/tools/avr/etc/avrdude.conf"

        Using Port            : \\.\COM3
        Using Programmer      : stk500v1
        Overriding Baud Rate  : 57600
avrdude: ser_open(): setting dtr
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: Send: Q [51]   [20]
avrdude: Recv:
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude done.  Thank you.



I tried everything i could find in the forum, but without success. (yeah, the port is the right one, and i tried all the possible boards)

Does someone have any advice?

Thank you!!!

Gabriele



mpeuser

#1
Sep 25, 2010, 02:35 pm Last Edit: Sep 25, 2010, 02:35 pm by mpeuser Reason: 1
Quote
I'm starting to regret

You shouldn't...

There are around 20 different USB to TTY adapters on the market, with different pin-out. XMT/RCV reversed, no DTR, but DSR or even a handy RST, with build in cap.

What exactly have you got? Best check with the serial monitor (or any TTY program) whether you can send something that makes an LED on the RCV line blink...

kntx

Thank you for the reply!

I'm using this serial adapter: http://www.robot-italy.com/product_info.php?cPath=13_43&products_id=827

It has a led wich blinks when receiving data throught the serial monitor. Also, when I try to upload sketches it blinks (and then nothing else happens :( )
Now the adapter is connected to +5V and ground, DTR to reset via 0.1uF capacitor and TX - RX to the atmega. I think i checked the connections a milion times..

mpeuser

#3
Sep 25, 2010, 03:00 pm Last Edit: Sep 25, 2010, 03:01 pm by mpeuser Reason: 1
Well - expensive, but very versatile!
So we have:
- chip is working (blinking LED 13, you said)
- data is coming in (blink RCV LED on converter board)
- no answer (NO even short blink of XMT LED on converter board.

This does look like a wiring problem...

- ground?
- reset? When you start or finish the Serial Monitor: Does the Arduino reset? (blink LED 13, then stop for a short time and restart the BLINK program? BTW does it do it, when you press the RESET buttom?)
- Is RCV really to pin0?
- Is XMT really to pin1?

Grumpy_Mike

Quote
neither using the manual switch to reset nor the autoreset.


Using manual reset is a bit tricky. Hold down the reset button, click the up load button. When it comes up with the information about how many bytes to load then wait about 1 second and the release the reset button. It works about 80% of the time but I find you can go on a run where it doesn't work.

kntx

#5
Sep 25, 2010, 03:32 pm Last Edit: Sep 25, 2010, 03:33 pm by kntx Reason: 1
@Grumpy_Mike Actually I've seen a lot of forum threads about this, and I tried with all the delays combinations I could come up with, on both the OS ('cause they have really different compilation time for me), but nothing happens anyway...

@deSilva
-yeah blink on arduino pin 13
-blink led on convertor
-no trasmission blinks...

Anyway, maybe here it's the issue: while starting or stopping the serial monitor it doesn't reset (is it supposed to activate the autoreset?)
If i press the reset button, the led 13 is not blinking as long as i press it. When i release, it just starts the blink program again, can't notice a short time of stop.
Could it be a bootloader problem? This happens with both the atmega.

I think that the connections should be good..anyway i'm going to check everything again.


Anyway thanks for the replies!

mpeuser

#6
Sep 25, 2010, 03:38 pm Last Edit: Sep 25, 2010, 03:40 pm by mpeuser Reason: 1
Reset: Try something quite drastic: Shortcut the cap with a wire!
Now the DTR is controlling the RESET directly: Does this work?

Bootloader: There is the remote possibility that your chip has a wrong Fuse Setting ("No Bootloader") and maybe does not even contain a bootloader.


mpeuser

#7
Sep 25, 2010, 03:45 pm Last Edit: Sep 25, 2010, 03:45 pm by mpeuser Reason: 1
When you release the RESET switch:
- After around 0.1 second the LED13 should blink once for 0.1 second
- after another 0.1 second the XMIT LED should blink for around 0.05 second.

This is the Bootloader's action...

kntx

Reset:
Hmm, now the DTR is directly connected to the reset pin. Led on pin 13 doesn't blink anymore. Uploading a sketch just gives the same old problem.

What's going on...?

mpeuser

The check should (obviously!) be: The Arduino is in reset when the Serial Monitor is running, and the Program is running when the Serial Monitor is closed. So Auto-Reset should work - after you re-install that 100nF cap again. It is a 10 or 100nF isn't it?

You answered very fast - also see my last posting above.

kntx

Yes, it is a 100nF cap. Anyway, I'm not really getting what's going on...
The situation is this:
Direct connection between DTR from serial converter and reset pin. Nothing happens on pin 13. Doesn't matter if Serial Monitor is running or not. I'm not sure this is ok..
If the cap is back in place, everything is back as before.

Bootloader: After I manually reset, led on 13 immediatly starts blinking with the same behaviour as before (long pause-short light-long pause...) and goes on forever like this..
About the XMIT LED.. do you mean I should connect a LED to the TX pin to check if something happens on reset and understand if there is a bootloader?

Thank you for all the efforts trying to help me!  :)

mpeuser

#11
Sep 25, 2010, 04:23 pm Last Edit: Sep 25, 2010, 04:25 pm by mpeuser Reason: 1
I think there is a XMT LED on the FTDI board? If not - yes, try to connect your own LED (though a 1k resistor or such).

But it is a bad sign, that there is not this typical 1/4 second pause with a short blimb of LED 13 before it restarts the BLINK program...

When you close the Serial Monitor, the TTL signal DTR should go HIGH, un-resetting the chip.

Do you have a multimeter to check this level? It might only go up to 3.3 volts.. In that case, you have selected the wrong voltage at your FTDI board....

kntx

#12
Sep 25, 2010, 06:01 pm Last Edit: Sep 25, 2010, 06:02 pm by kntx Reason: 1
Hmm I tried to understand what's going on in the DTR using a led (and a resistor)
I used the Parallax Serial Terminal which has a checkbox to enable/disable DTR and RTS..
RTS starts lightning the LED and if using the program I enable the checkbox, the led goes off. I'm not sure if this is normal or it should be the other way around..

On the DTR line nothing happens using the checkbox. Also when trying to upload a sketch or using serial monitor, nothing happens...

I'm not sure if all of this means something......................
Is this normal or there is kind of problem with the converter outputs?

ThatBozGuy

Im going to hazard a guess from the symptoms. You built the standalone on the breadboard, there is a pull UP resistor that is connected to pin one on the chip. what is the other end connected to.

1. If you don't have the resistor, pin 1 is floating and could cause the issue.

2. If you have the resistor connected to ground, instead of to 5v, I made this mistake out of habit, because I was always connecting resistors as pull DOWN in blink circuits, I automatically did it  in my first one even though its supposed to be a pull UP connected to 5v,    pin 1 would settle into reset constantly

3. You might have a misplaced wire somehow connected or bridged with pin 1? Maybe a rx to 1 instead of 2 on the chip?

Just some guesses to check, can you post a picture of your layout.

kntx

Thanks for the reply!

I checked pin 1, there are 3 connections there:
1)to the manual reset button
2)the cable to the 100nF cap for the autoreset
3)a 10K resitor to +5V

I think it should be ok...anyway I'm gonna take a picture!


Go Up