I was watching the video and see that at around 8:15 into the video the chap replaces the 16MHz crystal with a 20MHz crystal and states that the arduino exactly behaves the same with the 20MHz as with the 16MHz.
Does he mean it continues to run at 16MHz and therefore behaves the same or does he mean it's now running at 20MHz and behaving the same - the delay statements in his blink sketch delaying the same amount of time with the 20MHz as they previously delayed with the 16MHz?
I am just as confused about it before. If the delay is based on a prescale value and the timer, how does the blinking not get effected without a change in software?
I am interested in doing the exact same thing as Derek Malloy did in his video.
I will be making a custom board using the SAM chip as my microcontroller, and I would like to use the Arduino IDE to compile onto the chip. Since the Arduino Due is not a DIP package, and I am not able to just flash and take the chip out of the board, what are my options?
I essentially want to do sometihng like this (link below) with the Due, and not resort to ARMStudio or other ARM IDEs (i really enjoy Arduino IDE).
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.
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,
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.
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.
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).
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)
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!
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
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?
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?