Go Down

Topic: 32mHz ARDUINO PROJECTS.. ATMega328P etc... (Read 12940 times) previous topic - next topic

westfw

Huh?  http://www.microchip.com/wwwproducts/en/atmega2560
Don't be fooled by the "new and popular" listing you get on the AVR landing page.

Budvar10

#46
Mar 12, 2018, 07:48 pm Last Edit: Mar 12, 2018, 08:05 pm by Budvar10
Aha! :o
Anyway, there is no direct path from PRODUCTS to ATmega2560. I had to choose any ATmega from offered "new and popular" and then simlar products.
Wrong!

I don' understand why the ATmega2560 isn't popular according their list. Personally, I think It is 2nd most popular ATmega. :)
Arduino clone with ATmega1284P   http://forum.arduino.cc/index.php?topic=277260.0

alans7077

hello guys,
reviving the post, for need for help
I've ran out of clock with my apa102 POV toy with nano

Just set your low fuse from 0xFF to 0xF7 (full swing oscillator) and any reasonable crystal up to 32-something works fine.

As far as writing flash or eeprom, since those writes are timed by the internal R/C oscillator, the clock speed is irrelevant. Have you ever actually TRIED what you posted?
@krupski , can I ask if I do that " 0xFF to 0xF7",
would I know what speed am I in?
or I just randomly falls to  22.1184 to 29.952 Mhz depends on voltage,crystall and luck?

Can I possibly get a 1000ms delay with delay(1000)?
Or am I getting speed without accuracy ?

thanks


Budvar10

Quote
can I ask if I do that " 0xFF to 0xF7",
would I know what speed am I in?
No, CKSEL3=0 bit just says that full swing oscillator is used. The frequency is given by crystal. If you want to use a crystal for higher frequency, you should use full swing osc. and Vcc = 5V. In the datasheet see 31.2 speed grades - safe operating area graph.

Quote
Can I possibly get a 1000ms delay with delay(1000)?
Or am I getting speed without accuracy ?
The delay function and all stuff around is designed with regard to frequency (wiring.c), but up to 24MHz (20MHz in older SW versions). The precision is decreasing for higher frequencies or if the frequency does not fit to exact value defined in  wiring.c. The solution is to modify the wiring.c according your needs.
Arduino clone with ATmega1284P   http://forum.arduino.cc/index.php?topic=277260.0

krupski

#49
Jun 14, 2018, 11:45 pm Last Edit: Jun 14, 2018, 11:52 pm by krupski
hello guys,
reviving the post, for need for help
I've ran out of clock with my apa102 POV toy with nano

@krupski , can I ask if I do that " 0xFF to 0xF7",
would I know what speed am I in?
or I just randomly falls to  22.1184 to 29.952 Mhz depends on voltage,crystall and luck?

Can I possibly get a 1000ms delay with delay(1000)?
Or am I getting speed without accuracy ?

thanks


The low fuse setting controls the oscillator MODE, not it's frequency.  Using "0xF7" simply sets the crystal oscillator circuit to "full swing".  To change the fuse setting, go into boards.txt and edit the value for the low fuse.  If you put an oscilloscope on the crystal, you would see this (click pics for full size):

(small swing)



(full swing)



As far as getting correct timing, you need to edit your boards.txt file and change xxx.build.f_cpu=16000000UL  to  xxx.build.f_cpu=22118400UL  (or whatever frequency you use).
Gentlemen may prefer Blondes, but Real Men prefer Redheads!

alans7077

@budvar10
@krupski

thanks, I took a in the datasheet pages about full-swing
so the stats full-swing drives the crystall with higher voltage and more currency,
and should be more stable from noise, am I correct?

Did the #1 @mcnobby uses 0xff and still met no problem?

btw, I use usbasp to upload my program
does that still takes settings in "boards.txt" ?

I've just ordered my crystall with 20&24&32 Mhz is and waiting for test :)
 thank for your kind replies , wait for my results soon

alans7077

#51
Jun 19, 2018, 01:05 pm Last Edit: Jun 19, 2018, 01:06 pm by alans7077
okay, heres are my results with 24 , 27.12 and 32Mhz

My hardwares:
atmega328p(tqfp32) + crystall (w/o 20pf)
2 SPI devices (apa102, SD)
4.2V Lithium battery power supply with extra 100uF cap(yes, for ultimate laziness!)
"bootloader.txt" modified for full swing and proper timing.

results:

32Mhz : burnable but not working, prorably due to no 20pf cap or low voltage
27.12Mhz :works, and I have to try many settings to let SPI devices work, but still unstable and resets randomly after minutes.
24Mhz: good, with default code(SPI) settings they worked well for my desired 12 minutes, and repeatable b2b. All the way down to 3.3V (battery's empty) and still fine.
16->24Mhz that's a 50% extra speed fore me, enough :)

Thanks for the post, guys.

Budvar10

I had the best results with 24MHz also. The 328P and similar will have problems with the frequency above 25MHz. All interfaces which use clock signal which is derived from main clock are out of range for reliable run. On the other hand the VCC should be 5V. If you are using less than 5V, you should expect problems.
Arduino clone with ATmega1284P   http://forum.arduino.cc/index.php?topic=277260.0

Go Up