Go Down

Topic: please add a jumper to disable auto reset (Read 43704 times) previous topic - next topic

guns22

I read online someone speaking about calling a shell to disable it, probably was you.

Im unemployed and bored, so im building a home automation system, one step at a time. I havnt programmed C since 2 classes in college, and i have not used a micrcontroller since highschool 8 years ago. So i thought slow would be good.


Right now the thermostat checks the tempature, displaying the current, and goal tempatures, displays the time and day, as well as turns a LED on and off which simulates a relay to control my furnace.

Right now it sends current tempature data to php, and i can update the goal tempature, the time, and manually turn furnace on and off with the web interface.

Eventually i wish to add controls, and readouts for a signicant number of things.

Out side lights, window AC units, water/gas/electricity usage monitoring, among others.

Right now, im building it in steps, getting things functional. At this time i do not care about things looking pretty, and im happy to take my time, doing one goal at a time, if i need to change stuff later to accomodate new additions that is fine.

This whole thing im using as a re-learning experience anyway.

Sorry if my stuff is hard to read or follow, i've been up for 20 hours straight and the caffeine is wearing off all the sudden.

mrmeval

You could put a cut point on the board. Two through hold pads with a trace between them. Remove the trace if needed. If reset is then desired you either put a jumper header in or solder a wire between the holes.

If it was designed by man it can be repaired by man.

sciguy

What about just bringing back the solder jumper?  
For users who wanted, they could remove it and disable autoreset.
For other users, it would not complicate things at all, they could completely ignore the tiny blob of solder.
Soundcloud page: http://soundcloud.com/beefinator-2
Youtube channel: http://www.youtube.com/user/beefinator14
Old soundcloud page (ran out o

bperrybap

#48
Jun 28, 2010, 06:32 am Last Edit: Jun 28, 2010, 06:34 am by bperrybap Reason: 1
IMHO A solder jumper is no good.
Because sometimes you want auto reset and sometimes you don't.

For example, you want auto reset for downloading because avrdude was not modified to create an arduino device that handled reseting the MCU specially so reseting the MCU to the bootloader  depends on a hardware kludge to get the MCU reset pin automatically momentarily driven when the port is opened.

However, after burning the code and using the code in "normal operation" , you then may want to bring up an application to connect to the serial port to get status information from the Arduino board or send commands to the running board *without* resetting it.

So for this real-world use case, a solder jump is not good enough.

A switch works great. It is is very simple, and users can't really mess things up. There are only two options for a switch and users should be able to figure it out especially if the board is labeled. At a minimum they will be able to tell which switch controls reset operation and flip it both ways until it works the way they want it to.

Some of the "arduino" board makers have already seen the need for this capability and have incorporated it into their "arduino" boards:
http://www.seeedstudio.com/blog/seeeduino-and-its-pals/
http://www.nkcelectronics.com/seeeduino-fully-assembled--arduino-compatible.html

BTW,
It is also possible to disable the arduino auto reset hardware kludge in s/w on many operating systems.
Part of the problem with this is that some OSes screw up their implementation of DTR and RTS so there can be issues.

On Ubuntu linux you can use the stty command with the hup/-hup options to control whether DTR is driven or not, which is what affects the RESET signal to the MCU when the port is opened/closed.

On windows, (at least some versions) you can set the advanced property setting for the com port "Set RTS on close"
which affects the DTR line (go figure).

While these OS settings can work for certain OSes,
there is nothing as simple and as reliable as a switch; especially
since it is not always possible to ensure that the OS has
the needed functionality or has been properly configured to not play with the DTR line when the port is opened/closed.

--- bill

natman3400

#49
Jul 11, 2010, 01:19 am Last Edit: Jul 11, 2010, 01:21 am by natman3400 Reason: 1
Cant you just cut the trace inbetween the two soilder pads next to the words "RESET-EN" and just bridge the pads with soulder if you need it agin?

sciguy

Yes, but modern arduinos lack this solder jumper.
Soundcloud page: http://soundcloud.com/beefinator-2
Youtube channel: http://www.youtube.com/user/beefinator14
Old soundcloud page (ran out o

natman3400

Strange, my 2009 has the trace in question.

jeffob

how about just turning off RTSCTS flow control, seems to work just fine here. i'm running ubuntu 9.10 linux with an ftdi cable

natman3400

quote form the 2009's page:
The Duemilanove contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details.

laxman

Yes, but modern arduinos lack this solder jumper.

natman3400

#55
Jul 19, 2010, 10:57 pm Last Edit: Jul 19, 2010, 11:05 pm by natman3400 Reason: 1
No they dont.
A: The RESET-EN trace is on the schematic.
B: Check your arduino between the usb port and the ftdi chip.
C: Its a trace between two soilder pads, not a jumper.
D: Here is a picture, and besides the circle, not edited( you can check the 2009's page) The circle shows the trace.

TiePie

Just my 2 cents:
Place a capacitor of 1 or 2 microfarad between reset and ground.
You don't have to try different resistors.
The reset from the ftdi chip is disabled and the reset button works normally without the "huge" current of 40 mA.
Remove the cap and everything is normal.

pluggy

For the record, the latest versions of the Duemilanove don't have the solder pads with the trace between them.  Earlier ones do, the later ones don't.  Most compatibles and knock offs have the pads as per the early original boards.

Late model genuine Duemilanove :


http://pluggy.is-a-geek.com/index.html

Erac

How can I remove the autoreset feature of my microcontroller ( http://mcukits.com/2009/03/12/assembling-the-freeduino-serial-v20-board-max232/) ?

What capacitor will I remove?

Or do I need to:

The Freeduino MaxSerial serial port can be connected with any standard serial cable to the serial port on the router.
The Freeduino MaxSerial uses serial pin 4 - DTR (data terminal ready) to reset the microcontroller and allow it to download new code. Under normal PC operation this pin is either +10V or -10V depending on whether the serial port is connected or not. However, this pin is grounded on the router serial port and isn't active. When the router serial port starts sending data, the MaxSerial resets. That's no good for us. We are going to pull-up the DTR pin to +9V. With this quick hardware modification, it basically adds a program-locked mode so that new code can't be uploaded and the microcontroller can't be reset by the serial port. If you need to reprogram it, just flip the switch. +9V is a pin with easy access on the Freeduino MaxSerial.

Pls help..

retrolefty

Quote
What capacitor will I remove?


The one labled C4 in the schematic drawing.

Lefty

Go Up