Go Down

Topic: Questions about the Due (Read 4185 times) previous topic - next topic

Macnerd

Why does the Due run on 3.3 Volts instead of 5 volts? I assume that it's because the microprocessor runs at 3.3 volts, right?

What is the over & under voltage range? That is, 3.3 volts + or - how many volts.

Suppose that I want to use a shield that runs at 5 volts? How do I adapt it to run on the Due?

Should I consider Arduino-compatible Due boards? They are less expensive, but would I save money or would spend extra money because they keep failing?

Has anybody built a Beowulf cluster of Due boards because ethernet shields are available?

promacjoe

The operating voltage is 3.3 V, +/-.3 V . . DO NOT EXCEED THIS VOLTAGE. many Arduino shields are dual voltage. Make sure that your shield will work at 3.3 V. Do not use any shield that is strictly 5 V. The shield voltage should come from the I/O reference pin from the Arduino board itself.

Repeat, Do not exceed this voltage for any I/O pin. you will damage your board.

MorganS

A Beowulf type cluster would be extremely inefficient unless you just wanted to use it as room heater.
"The problem is in the code you didn't post."

Macnerd


A Beowulf type cluster would be extremely inefficient unless you just wanted to use it as room heater.
I know that a microprocessor like a Raspberry Pi can be hooked up to form a Beowulf cluster. I understand the basics of the Beowulf cluster. I know that all of the Raspberry Pis are connected together with network cable. I suppose that an OS is required to control all of the microprocessors. For what purpose, then, is an ethernet shield on an Arduino?

If 2 or more shields are stacked on top of the Due, how is each one addressed?

MarkT

#4
Feb 25, 2015, 12:27 am Last Edit: Feb 25, 2015, 12:28 am by MarkT
The Due is a microcontroller, not a computer, it doesn't have the resources needed to
do this by many orders of magnitude.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

promacjoe

Many years ago, I believe the magazine circuit cellar, had an article in it about using the 8051 microcontroller in the same manner. For the time they achieved some pretty impressive results. But that was many years ago. So it can be done.

Unfortunately compared to today's computers, it would take hundreds of  Arduino due's to do the same task as one desktop computer. I don't think it would be viable. nor would it be cost-efficient.

You would be better off Buying 2 or 3 good desktop computers and interconnecting them instead.

alternatively, if you needed a microcontroller platform, there are much faster Platforms.

Macnerd

alternatively, if you needed a microcontroller platform, there are much faster Platforms.


Such as?

promacjoe

alternatively, if you needed a microcontroller platform, there are much faster Platforms.


Such as?
INTEL GALILEO "400MHz 32-bit Intel Pentium".

INTEL EDISON "Dual Core Atom CPU @ 500MHz".

Raspberry Pi - Model B+ "700 MHz ARM1176JZF-S core CPU".

pcDuino2 "1GHz ARM Cortex A8 CPU".

Beaglebone Black - Rev C "AM3358 1GHz ARMĀ® Cortex-A8 Processor".


there are others out there, but I don't want to spend the time looking up the specs . If you need a faster processor, do the research and find one that will suit your needs.

you could also link to an android or iPhone and use it To do all the processing work.

Macnerd

Are the powers-that-be at Arduino planning to transition to 32-bit controllers? There's the Due & the Edison & the Galileo & the Yun.

How are logic level shifters or whatever they are called incorporated into the Arduino board?

promacjoe

Time moves forward only, and progress moves with it. The 16-bit Microcontroller is going the same way as the 8-bit Microcontroller. It will be replaced with the 32-bit and sometime in the future maybe a 64-bit Microcontroller.

Arduino has incorporated a power reference pin, which can supply the proper voltage to a dual voltage shield. Otherwise output pins can normally drive 5V logic as long as it does not exceed the Current limit. For input pins, you need to use logic shifters for the due, to prevent it from being damaged.

However there are certain Microcontrollers that are 5V tolerant. Such as leaf lab Maple, and the panda II "discontinued". Both are Arduino shield compatible, with only a few exceptions because of pin designation. Both runs at 72 MHz.

you need to pay attention to the voltage requirements and current limits of the platform that you are using. This is not a new problem. it existed when they went from tubes to transistors, And it has existed ever since. As the speed of the microcontroller increases the voltage will decrease. it is just something you have to deal with.


Macnerd

For input pins, you need to use logic shifters for the due, to prevent it from being damaged.

Do they come on a shield or are they discrete components? Input & output pins?

promacjoe

For input pins, you need to use logic shifters for the due, to prevent it from being damaged.

Do they come on a shield or are they discrete components? Input & output pins?
There have been shields made to do this, but I have not seen one lately.
Your best bet is to do a search for "Logic shifters". spark fun carries them and I'm sure that adafruit carries them as well. make sure you get one that is bidirectional, they are the easiest to use.

Macnerd

OK. I have more questions.

The following is copied from "AnalogWriteResolution":

"analogWriteResolution()

Description

analogWriteResolution() is an extension of the Analog API for the Arduino Due.

analogWriteResolution() sets the resolution of the analogWrite() function. It defaults to 8 bits (values between 0-255) for backward compatibility with AVR based boards.

The Due has the following hardware capabilities:

12 pins which default to 8-bit PWM, like the AVR-based boards. These can be changed to 12-bit resolution.
2 pins with 12-bit DAC (Digital-to-Analog Converter)
By setting the write resolution to 12, you can use analogWrite() with values between 0 and 4095 to exploit the full DAC resolution or to set the PWM signal without rolling over.

Syntax

analogWriteResolution(bits)

Parameters

bits: determines the resolution (in bits) of the values used in the analogWrite() function. The value can range from 1 to 32. If you choose a resolution higher or lower than your board's hardware capabilities, the value used in analogWrite() will be either truncated if it's too high or padded with zeros if it's too low. See the note below for details.

Returns

None.

Note

If you set the analogWriteResolution() value to a value higher than your board's capabilities, the Arduino will discard the extra bits. For example: using the Due with analogWriteResolution(16) on a 12-bit DAC pin, only the first 12 bits of the values passed to analogWrite() will be used and the last 4 bits will be discarded.

If you set the analogWriteResolution() value to a value lower than your board's capabilities, the missing bits will be padded with zeros to fill the hardware required size. For example: using the Due with analogWriteResolution(8) on a 12-bit DAC pin, the Arduino will add 4 zero bits to the 8-bit value used in analogWrite() to obtain the 12 bits required."

Why does the "bits" value go from 1 to 32 when the DAC has a 12-bit value? What point is there in having a "bits" value greater than 12?

I'm asking because I read on the internet that an LED's brightness is linear, but the eye's response is not linear. I read about Gamma correcting the brightness of an LED to correspond to the eye's response.

The PWM default is 8-bits. In order to Gamma correct the brightness there would have to be jumps from 0 to 255. It wouldn't be linear from 0 to 255. There would be gaps. However, with 4096 brightness values, maybe the brightness would be more like the eye's response.

promacjoe

Basically you're working with either a 8 or 16-bit Unsigned integer. you can then type in the direct number value that you need without worrying about a binary number. And in my opinion, it's a waste of time and program space to try to work with a 12 bit binary number. the overflow is simply ignored. You should enter code to limit the value to either the highest possible value, or a value that is determined by you.

PCWorxLA

Has anybody built a Beowulf cluster of Due boards because ethernet shields are available?
Why would you possibly do that?  :smiley-confuse:

Seriously, even when buying Due & Ethernet shield clone in China direct, you get "more bang for the buck" if you go with a cluster of Raspberry Pi's, specially now that the rPi 2 is out!!!!

Ralf

Go Up