Show Posts
Pages: 1 2 3 [4] 5 6 7
46  Products / Arduino Due / Re: DUE didn't die after months of 5V on: March 01, 2013, 11:35:45 am
Grumpy,

Okay, I definitely agree with you.  I guess I should redesign my shield to implement a voltage level translator for Channels A and Channels B for the encoders, perhaps in future designs - but it seems like the controller is doing just fine, after months of these pulses.

Ill let you know if something happens.

Daniel
47  Products / Arduino Due / Re: DUE didn't die after months of 5V on: February 27, 2013, 10:42:41 pm
Hello Grumpy_Mike,

I know it is a bit late to reply,

I spoke with a colleage of mine, and his experience with CMOS level micros and TTL level encoders came to a conclusion that as the pulses go by they do not draw enough current to cause any damage.  I appreciate your explanation and simple logic but I want to share with you that on the Arduino DUE site,

Quote
Input and Output
Digital I/O: pins from 0 to 53
Each of the 54 digital pins on the Due can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 3.3 volts. Each pin can provide (source) a current of 3 mA or 15 mA, depending on the pin, or receive (sink) a current of 6 mA or 9 mA, depending on the pin. They also have an internal pull-up resistor (disconnected by default) of 100 KOhm. In addition, some pins have specialized functions:

Usually pull-up resistors are 10K, so if that is the case, the 0.11mA current is insignificant to the 6-9mA sink.  What are your thoughts?  As it stands, my board still receives the 5V pulses and the control seems to be just fine.  My concern is what happens in the long run.

Daniel
48  Products / Arduino Due / L293D and DUE on: February 27, 2013, 10:33:32 pm
Hello Community,

I am having an issue determining if the L293D is safe to use with the Arduino DUE.  Unlike the UNO, the DUE is CMOS level DIO tolerance at 3.3V - which means I need to take into consideration the chips I use with the DUE and how much current is being drawn.

I bring this up because I see some drivers shields with a 3.3V - 5.0V voltage translater for the enable (PWM) and direction pins between the micro and the L29x. I am using a shield is originally suitable for the UNO, but I am running with my DUE.

The L293D data sheet says:
- logic HI is 2.3V - Vcc (check)
- high level input current 0.2 uA: DUE supports 3 - 15 mA current (check)

Is there anything else I need to make sure?  Also the shield is using a shift register but it seems to be compatible as well for the DUE.

Shield
http://yourduino.com/sunshop2/index.php?l=product_detail&p=292

PS: I have been running motors already for a couple of weeks now, and everything seems to be okay, I am a bad engineer for check so late...

Thanks,
Daniel
49  Using Arduino / Motors, Mechanics, and Power / Re: L293D Getting Really Hot, Really Fast on: February 27, 2013, 10:22:25 pm
Hello Community,

First off thank you all for your help.

I recently encountered a couple of issues which lead to me changing my design a little. I would extremely appreciate any comment on my build.

So using L293D I am limited to 0.6 A continuous current, as maximum of 16V motor voltage supply.  I decided to switch the motors, and before I purchase them I was wondering these motors (link below) will cause any same issue (over-heating).

Motor
http://www.pololu.com/catalog/product/1443

These motors run 300 mA free-run with a 5A stall current at 12V voltage supply.  My only issue with using these motors with this shield is the 5A stall current.  I don't think I will stall the motor (in regards to my application), especially with 110 oz-in torque.

BUT, 300mA free-run is still pretty close to 600mA supply.  I always went with a rule of thumb that my driver should at least be 4-5 times current provided over the motor free-run.

Would this driver and motor work nicely together? (I am planning on using 3 of them, if that means anything)

Daniel
50  Products / Arduino Due / Re: Changing PWM that are on Different Timers on: February 22, 2013, 03:48:08 pm
I found a solution, not the greatest and most efficient but it works.

If you are using other PWM pins that aren't 6, 7, 8 or 9 - and want to change the frequency, you can also change the TC timer in the variant.h file.

The SAM is fully customizable and we should be able to change each of the 9 (I believe) timers on the Arduino without changing a bundle of them.

Nevertheless, its solved smiley-grin

Daniel
51  Using Arduino / Motors, Mechanics, and Power / L293D Getting Really Hot, Really Fast on: February 22, 2013, 03:38:49 pm
Hello

I am using a DUE and using the following shield:

Shield
http://yourduino.com/sunshop2/index.php?l=product_detail&p=292

I am controlling a 24V motor.  Because the shield max is 16V, I am operating this motor at 16V.  It seems to be moving, and my current is not limiting at all.  Running both motors I am getting a maximum of 800mA draw from my power source but the driver is extremely hot!

Motor
http://www.faulhaber.com/uploadpk/EN_3863_C_DFF.pdf

For the link above, I am using the 024C version.  Also I configured the timers on the DUE to run the PWM at 36KHz, not sure if this is a useful peice of information.

I am slowly learning about drivers and motors and would like some help on why this is happening and what can I do to fix this?

Thanks,
Daniel

52  Products / Arduino Due / Changing PWM that are on Different Timers on: February 20, 2013, 04:06:49 pm
Hello,

I am trying to change the PWM frequency on some of the pins that are not on a PWM timer.

Looking at the variant.cpp file, (portion shown below)
Code:
  // 2
  { PIOB, PIO_PB25B_TIOA0,   ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM,  TC0_CHA0     }, // TIOA0
  { PIOC, PIO_PC28B_TIOA7,   ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM,  TC2_CHA7     }, // TIOA7
  { PIOC, PIO_PC26B_TIOB6,   ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM,  TC2_CHB6     }, // TIOB6

  // 5
  { PIOC, PIO_PC25B_TIOA6,   ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM,  TC2_CHA6     }, // TIOA6
  { PIOC, PIO_PC24B_PWML7,   ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM),   NO_ADC, NO_ADC, PWM_CH7,     NOT_ON_TIMER }, // PWML7
  { PIOC, PIO_PC23B_PWML6,   ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM),   NO_ADC, NO_ADC, PWM_CH6,     NOT_ON_TIMER }, // PWML6
  { PIOC, PIO_PC22B_PWML5,   ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM),   NO_ADC, NO_ADC, PWM_CH5,     NOT_ON_TIMER }, // PWML5
  { PIOC, PIO_PC21B_PWML4,   ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM),   NO_ADC, NO_ADC, PWM_CH4,     NOT_ON_TIMER }, // PWML4
  // 10
  { PIOC, PIO_PC29B_TIOB7,   ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM,  TC2_CHB7     }, // TIOB7
  { PIOD, PIO_PD7B_TIOA8,    ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM,  TC2_CHA8     }, // TIOA8
  { PIOD, PIO_PD8B_TIOB8,    ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM,  TC2_CHB8     }, // TIOB8

Notice how only channels 6, 7, 8 and 9 have the tag "PWM_CH#".  From my understanding and observations, these pins are dynamic and you are able to change the PWM frequencies of these channels, using the follow portion in variant.h

Code:
/*
 * PWM
 */
#define PWM_INTERFACE PWM
#define PWM_INTERFACE_ID ID_PWM
#define PWM_FREQUENCY 33000
#define PWM_MAX_DUTY_CYCLE 255
#define PWM_MIN_DUTY_CYCLE 0
#define PWM_RESOLUTION 8

Notice that I changed the PWM frequency of the mentioned pins to 33K.

The problem is that this timer only effects channels 6, 7, 8 and 9. 

My concern is, how can I change the other pins?  I want to be able to change the PWM frequencies of channels 11, 3 and 5.  If anyone can help me out with this issue, it is much appreciated.

Thanks,
Daniel
53  Using Arduino / Networking, Protocols, and Devices / Does using ICSP for SPI free up D13, D12 and D11? on: January 25, 2013, 01:22:54 pm
Hello,

I want to use SPI my D11-D13 pins are being used, if I used ICSP and D10 for SS, will this be independent of D11-D13?

Thanks,
Daniel
54  Products / Arduino Due / DUE didn't die after months of 5V on: January 25, 2013, 12:49:39 pm
Hello,

For a couple of months now, I have been using the DUE to read rotary encoders powered at 5V.  The inputs from these encoders are 5V into my DIO. I have just realized this NOW!... It looks like my board is just fine, but it is interesting. 

What interests me is that it is still working just fine after reasoning upon thousands of pulses at 5V > is this a fluke? or can the board tolerate high frequency pulses at 5V?

Daniel

55  Using Arduino / Storage / SdFat seek() and position() functions? on: January 24, 2013, 01:26:25 pm
Hello

My project includes incoming data being processed and logged into an SD card, using the Arduino DUE.  Lets say I have a file.csv with entries looking like A,B,C,D (A,B are ints and C,D are floats).

FILE.CSV

A,B,C,D
A,B,C,D
A,B,C,D
A,B,C,D
A,B,C,D
A,B,C,D
...

Now after logging, I want to read the values of 'D' starting from the buttom going up towards the top of the file. 

I recieved advice regarding seek() and position() as it may help me to do exactly what to do, but <SD.h> is compiling issues with <SdFat.h>.  Because I want fast reads (50Hz), I do not want to use a while() to scroll down each time.  Seek() using pointers which is perfect for my application.

Are there seek() and position() functions in SdFat?
Any other suggestions?

Daniel
56  Using Arduino / Storage / Re: SdFat.h incompatible with SD.h? on: January 24, 2013, 01:16:42 pm
I am having this error as well.  Is there any new versions that make <SdFat.h> (Arduino DUE ver.) compatible with <SD.h>?

Daniel
57  Using Arduino / Programming Questions / Re: LIFO (Last In First Out) retreival from .csv file on: January 24, 2013, 01:06:31 pm
This looks like a great solution and is pretty much what I am looking for, but I am getting a compiling error when trying to use <SD.h> with <SdFat.h>.  Are there any other functions similar to seek() and position() in SdFat? or possibly another solution?

I guess if there isn't I can try and redesign my sketch to write the .csv files using SD.h rather than SdFat.h, but there might be a problem down the road. 

Any suggestions?

Thank you,
Daniel
58  Using Arduino / Programming Questions / Re: LIFO (Last In First Out) retreival from .csv file on: January 24, 2013, 10:46:09 am
I think the SD library supports random access,

I am a little confused about this?  Do you mind expanding on it.

Here is my idea, but I am having trouble implementing it.  Lets say I have a file.csv with entries looking like A,B,C,D (A,B are ints and C,D are floats).

FILE.CSV

A,B,C,D
A,B,C,D
A,B,C,D
A,B,C,D
A,B,C,D
A,B,C,D
...

I want to read the value of 'D' starting from the buttom going up towards the top of the file.  I was thinking of using pointers to address the memory address of these values.  I want to stay away from using a while() to get to the bottom of the file.  The file can is thousands of entries long and I want to be reading these values at least 50 Hz back into the micro.

I am not the greatest in C++ and I have never implemented pointers in the Arduino, but I think it should be the same.

Your suggestions?

Daniel
59  Using Arduino / Programming Questions / LIFO (Last In First Out) retreival from .csv file on: January 23, 2013, 02:50:25 pm
Hello,

In my application I am datalogging (2 ints and 2 floats) into a CSV file.  After logging, I would like to be able to retrieve the entries in a "last-in first-out" fashion.  Are their any libraries, compatible with Arduino or not, that I may look at the code and learn from?

To avoid this, a solution maybe to datalog into the SD card in a reverse manner and read normally, or datalog normally and read in a reverse manner.  I feel like these 2 solutions will require wasted clock cycles, especially if the stack is large.

Any suggestions would be appreciated!

Daniel
60  Using Arduino / Programming Questions / Re: sdin.eof() reading CSV error.. on: January 22, 2013, 02:09:32 pm
Ah!  Stupid me, I appologize for the question... I also have a write in the setup() as a header.  I forget the my reading function only takes care of 2 ints and 2 floats in sequence with commas.

Thank you for leading me to solve my issue.

Daniel
Pages: 1 2 3 [4] 5 6 7