Show Posts
Pages: 1 ... 425 426 [427] 428 429 ... 582
6391  Development / Other Hardware Development / Re: ATMEL Mega1284P evaluation board avalible on: May 27, 2011, 10:48:53 pm
I wonder if your drill size problem was that the via "anulars" were too small, ie the copper around the drilled hole. This happens when the hole it too large for the pad according to the rules.

As for making components, I don't even bother to search for them, I just make things as I need them (but I don't use Eagle).
6392  Topics / Product Design / Re: Wanted: Arduino expert for Brisbane based Prototyping Project on: May 27, 2011, 03:36:58 am
I have a friend who got a product written by someone at coders-r-us or whatever, and to be fair the product was delivered at a price that would hardly have paid me for a day.


It took forever, maybe even a year I forget now. And EVERY tiny change takes a month.

Last I heard they had version 2 out, and had been waiting 3 months for the source code.

This probably isn't common (one would hope not) and certainly there are issues with hiring people as well. Just putting another perspective on the "argument".

6393  Community / Bar Sport / Re: Does anybody really know what time it is? on: May 27, 2011, 03:27:14 am
So I guess we'll all be dumping our RTCs and start using ATCs soon.

6394  Using Arduino / Programming Questions / Re: Fast Pulse Counter - High Speed Counter on: May 26, 2011, 09:24:45 am
I hope I haven't got my numbers out by an order of magnitude here smiley

Just looking at the three numbers you've got above


The difference in period between those three is < 1uS.

The "ISR"s you have aren't really ISRs at all, they are functions called by the the real INTx ISR, however as the real ISR doesn't re enable interrupts they are effectively the same thing but with a higher overhead.

Given that these two interrupts are asynchronous with the program and each other I reckon there are two potential issues.

a) The interrupt latency is variable, and with tolerances as tight as you have this could easily make a difference, ie the difference between getting a count of 7.543KHz and 7.530Khz 228nS or about 3-4 processor cycles.

b) If you are in INT0 and get INT1 (or VV) then the second interrupt will be ignored until you finish the first, meanwhile the timer is happily ticking away. Likewise if you are in the millis() interrupt.

I'm not convinced this can be totally overcome, but changing the "ISR" to something that did almost nothing like

volatile byte INPUT1_t;
volatile byte new_count_1;
void INPUT1_ISR()
  INPUT1_t = TCNT0;     
  new_count_1 = true; // set flag for external processing to occur

and doing all the other work in the main loop would have to help. At least then there's less chance of interrupts clashing. But there's still a chance and you have a double whammy, the higher the frequency the more likely to clash and the more affect it has on the count.

Interrupts are fine but they do introduce these sort of issues.

I think for high-speed counts using pulseIn() may be a better option. It is blocking but it sounds like you have known times, say directly after servicing the i2c protocol with the master, where you can afford to concentrate on this.

As pulseIn() does nothing but look at the state of a pin it is very deterministic, I would also kill interrupts around the pulsIn() call, this will affect millis() and maybe other things but you don't need them by the look of the program.

If the gadget is supposed to measure a large range of periods then a two-pronged approach may be the idea. PulseIn() for high speed and the other for low speed. Of course with pulseIn() you would have to measure both mark and space periods and add them together.


6395  Community / Exhibition / Gallery / Re: Greenhouse automation on: May 24, 2011, 07:03:47 pm
Thanks for the links,

I'm experienced in Wed dev and also embedded micros but have never tied the two together and that blog/tute gives me a better idea of how to do it.

I'd like to do this some day before too long, at present I'm designing a monitoring and control network ( and that is taking all my time and will for a while I suspect.

When it's running I'd like to be able to share data on the web like that.

6396  Community / Bar Sport / Re: Angle Trisection Approximation on: May 24, 2011, 06:10:26 am
That's pretty clever, but I know a better way.

Use compass to find straight edge, then use straight edge to hoke out calculator from behind the sofa where it fell the other day.

Then use the calculator smiley

Woops, there's a bug in that algorithm, compass has been defined as type "direction_finding_device", it should be "circle_drawing_device".

6397  Using Arduino / LEDs and Multiplexing / Re: Possible to operate a shift register manually with switches? on: May 24, 2011, 05:14:36 am
Presumably that sort of information is included in an ICs datasheet?
Yep, but it's not always obvious when you're not used to reading data sheets.

Often it's shown as a little triangle on the logic diagram.

Also if anything is called a "clock" you can be 98% sure it's edge triggered.

And the description will often say "on the rising edge of XX" sort of thing.

Then as a last resort there's the timing diagrams.
6398  Using Arduino / LEDs and Multiplexing / Re: Possible to operate a shift register manually with switches? on: May 24, 2011, 04:42:28 am
as the pins need to be kept HIGH for the relevant cycle and then set LOW again
Which pins?

The only one that matters is the clock and it's edge triggered, so whether you give it a short high pulse or a short low pulse as far as the eye is concerned the SR will update the same way.

6399  Development / Other Hardware Development / Re: ATMEL Mega1284P evaluation board avalible on: May 22, 2011, 09:55:12 am
Nice-looking layout, not auto-routed I'm guessing.

I can't read the schematic, are you using an inductor on AVCC?

6400  Community / Exhibition / Gallery / Re: Modular Stackable Microcontroller System (lots of pics) on: May 21, 2011, 09:25:07 pm
Yep I'd stick with a single master.

On my modules I have them report all sorts of "vendor" info such as serial #, SW and HW revision, revision for the system the board is tested for, plain English name for the board, full vendor name, abbreviated vendor hame, unique board type number so a plug in diagnostic device can know exactly what the board should do etc. 

I suppose you will only have one "vendor" so don't need lots of that but I'd certainly add revision numbers etc. If you make lots of these you'll quickly lose track of what's what.

6401  Community / Exhibition / Gallery / Re: Modular Stackable Microcontroller System (lots of pics) on: May 21, 2011, 08:07:24 am
starting another mode in the Processor will clear all addresses on the modules by way of a broadcast to Address 0.
If you only want to reset one board pull all the others before you broadcast this.

OR (and better)

You'll have some form of monitor running on the main processor I assume, so you can see what boards are there etc. And you already have code to get a board to change from 119 to N, can't you just get it to change from N to 119 and do this as a command in the monitor.

6402  Using Arduino / Sensors / Re: ADS1252: Tutorial on High precision (24-bit) ADC on: May 21, 2011, 05:02:50 am
What I would like to know is the accuracy achieved with no obvious ground planes etc.

From everything I've read getting the full 24 bits is a real black art, OTOH all the data sheets just show the chips hooked up and they state an ENOB of 23.5 bits or whatever with no mention of PCB design or anything.

I would like to get some more definitive info about this.

6403  Using Arduino / Microcontrollers / Re: Similar Microcontrollers to Arduino/Atmega?? on: May 21, 2011, 04:02:30 am
So there's more than one way to skin a cat.

I don't think you'll win over many beginners with that code though smiley

6404  Using Arduino / Microcontrollers / Re: Similar Microcontrollers to Arduino/Atmega?? on: May 20, 2011, 10:11:42 pm
That's done it Senso, you've scared joebro right off now smiley

Joe, this is the "bare metal" we've been talking about. The beauty of the Arduino system is that you can start off being protected from all that stuff, for example the above ADC read is simply

x = analogRead(pin_number);

This is very similar to and just as easy as the Picaxe.

As you get more comfortable with the environment you can usually make things more efficient buy working directly with the hardware as Senso has done.
6405  Community / Exhibition / Gallery / Re: Modular Stackable Microcontroller System (lots of pics) on: May 20, 2011, 08:08:09 pm
I've been watching your menu library with interest. I'm currently designing a LCD board (with RS485 for remote displays) and it might be good for that.

Unfortunately I only have room for 4 buttons, is it still a goer without the extra two?

Re HMI, I've just got two 4D Systems 3.2" LCD with touch. Serial interface so they would be easy to use.
Re RS485, if you add RS485 all my modules I'm designing should work with your system and give you access to remote sensors, displays, GPS, accelerometers etc. I would still keep RS232 if possible though because there's a lot of legacy equipment you'll need to talk to.

Pages: 1 ... 425 426 [427] 428 429 ... 582