Het is waarschijnlijk een domme vraag maar wanneer je een Atmega328 extern in je schakeling soldeert, wat moet je ook voorzien (buiten de voeding natuurlijk)? Want nu experimenteer ik via de Arduino Duemilanove maar daar zit bv een kristal op dat waarschijnlijk voor de Atmega dient? Volgens de datasheet zit er intern een occilator maar deze werkt volgens mij via het externe kristal van 16kHz. Of heb ik het mis en dient dit bv enkel voor de usb-verbinding?
En om even verder te gaan op dat kristal:
Om met 16kHz bv een wachttijd van 1 seconde te maken gebruikt men volgende code:

delay(1000);

Stel dat er een ander kristal in de plaats gezet wordt, verandert dit dan iets aan die tijd?

De reset zou ik dan wel via een R/C aansluiten. Meestal specificeer je in je makefile ook je kristalwaarde als je die aanpast kloppen je delays weer.

Groeten, Bram

Hier vind je het schema van het arduino board.

http://www.arduino.cc/en/uploads/Main/Arduino-Diecimila-schematic.pdf

Voedingspinnen, kristal en het werkt ;)

En die reset, hoe bedoel je via R/C ? Is dit niet de pin om te resetten zodat het programma terug hernieuw begint dus ook de void setup() ?

Als je de interne oscillator gebruikt, dan heb je geen extern kristal nodig. De interne oscillator is wel niet zo nauwkeurig en stabiel als een extern kristal, dus niet geschikt voor tijdskritische toepassingen. Ook in combinatie met USB heb je een extern kristal nodig dacht ik.

Een R/C combinatie gebruik je om de microcontroller nog even in reset te houden nadat de voedingsspanning is aangelegd, zodat de microcontroller pas begint te werken wanneer de voedingsspanning stabiel is. Tegenwoordig wordt dit echter niet vaak meer gebruikt, de microcontrollers van tegenwoordig hebben hier geen last meer van. In het schema van de Arduino vind je dit ook niet terug dacht ik.

De schema's die ik gezien heb hangt er toch nog 10K naar VCC. Zelfs met moderne processors zijn dit gevaarlijke pinnen om "los" te laten hangen.

Groeten, Bram

Dus het is toch mogelijk een programma te laten lopen zonder extern kristal? Gelukkig, ik had graag dit weekend een klein projectje afgewerkt maar heb geen kristallen in huis.

Je moet dan wel de fuses aanpassen. Zie bijvoorbeeld: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1163418637

Daar worden de fuses aangepast door een nieuwe entry te maken in /hardware/boards.txt, zodat je kunt kiezen welke variant je programmeert.

Pas wel op met de fuses, als je iets verkeerds erin programmeert kun je nog een uitdaging hebben om alles weer goed te krijgen.

Op 17 december 2009 22:08:18 schreef miredox:De interne oscillator is wel niet zo nauwkeurig en stabiel als een extern kristal, dus niet geschikt voor tijdskritische toepassingen.
Ook in combinatie met USB heb je een extern kristal nodig dacht ik.

Nee, de USB van de Arduino's werkt met een FT232RL ic. Die gebruikt niets van dat kristal wat aan de atmel hangt.
Maar voor tijdscritische dingen is het inderdaad niets.

Je kan in dit geval prima de fuses zo zetten dat hij op zijn interne oscillator loopt. Hier heb je dan wel een programmer voor nodig (dit kan niet via de usb poort die normaal op die bordjes zit), maar deze zijn zelfs te maken met wat weerstanden aan je parallele poort.

Op 18 december 2009 11:38:57 schreef Theuno:
[...]
Nee, de USB van de Arduino's werkt met een FT232RL ic. Die gebruikt niets van dat kristal wat aan de atmel hangt.

Ahja, juist, even vergeten :-)

Op 17 december 2009 23:11:11 schreef bprosman:
De schema's die ik gezien heb hangt er toch nog 10K naar VCC. Zelfs met moderne processors zijn dit gevaarlijke pinnen om "los" te laten hangen.

Idd, een pull-up weerstand is sowieso nodig, maar er hoeft geen condensator te staan over de GND-RESET.

Dat met die fuses begijp ik niet goed. Als ik 16kHz wil gebruiken (zonder kristal) moet ik deze niet veranderen? En kan je die fuses niet gewoon terug goed zetten als je mist?

Als je de AVR wil draaien op 16mhz heb je een kristal nodig, daarvoor moet je de fuses veranderen. Je kan hem wel gebruiken zonder de fuses te veranderen alleen draait hij dan op zijn langzamere interne clock. Als je de fuses verkeerd zet dan moet je de manier gebruiken waarin je de fuses hebt gezet om hem weer te kunnen programmeren.

[Bericht gewijzigd door Arne op (20%)]

Maar de AVR zit nu op de Duemilanove, die ook al geschakeld is met een 16kHz kristal. Zijn die fuses dan al niet in orde als ik hem extern ook met 16kHz wil gebruiken?

Ja, dan zijn de fuses al ingesteld om het kristal te gebruiken.

Dus als ik geen kristal steek en ook geen fuses aanpas zal ik geen clock kunnen gebruiken of ook geen interne clock?

Amathanio kan je ophouden met roepen dat je hem op 16kHz wilt laten draaien? Ik krijg kromme tenen.

Het kristal op de duamilenuova is 16 MHz.

Op de interne oscilator kan de voorloper van de 328 (de 168) 1 of 8 MHz draaien. Dat is voor de meeste toepassingen genoeg.

Ik ben NU met een projectje bezig, en de "reset" input hangt gewoon los. Mag volgens Atmel.

Wat je dus nodig hebt is een manier om je '328 te programmeren. Dan zet je de fuses op "interne oscilator" en "deel-door-8 UIT" (DIV8 heet dat of zo).

Daarna kan je je programma er in flashen.

Vervolgens heb je alleen de voeding en de aarde echt nodig, voor de rest zal ie gewoon z'n programma aflopen....

Als de fuses staan op "externe clock" en die is er niet, dan zal de chip gewoon niet reageren. Ook niet meer op pogingen om hem te programmeren! :-(

Op 26 december 2009 14:59:10 schreef rew:
Ik ben NU met een projectje bezig, en de "reset" input hangt gewoon los. Mag volgens Atmel.

HEILIG SCHENNIS. SCHAAM JE.
http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf

Het mag maar het is helemaal niet proper. Zeker als iet of wat schakelde of uw print niet 100% perfect geroute is.

Wat heb je nodig:

1> een stabiel voeding 5V 3,3V....
2> fatsoenlijk reset circuit
3> ontkoppel C's
4> eventueel rekening houden met de ISP lijnen?

[Bericht gewijzigd door robint91 op (12%)]

Atmel raad het aan voor "noisy environments". Er is hier helemaal geen herrie. Alleen goede muziek. :-)

Ik zie dat het printje een externe reset pullup voorzien heeft. Als ik gezeik krijg zal ik hem monteren. En dat is m.i. voor een aantal onderdelen de juiste aanpak. Keep it simple, maar als er problemen ontstaan monteer de probleem-elminieer componenten. P.S. Dat geldt niet voor de ontkoppel condensatoren. Die MOET je monteren, omdat het erg lastig is het probleem te vinden als het fout gaat.....

Ik ga nog een ander printje maken. Ik heb nu een 20pins kabel naar de "powerfets" die de stappenmotoren sturen. Dat zit nu op een ander printje. Ook heeft dit printje nu een hoop wat ik straks niet nodig ga hebben (USB). De pullup op de reset wordt daar gewoon op dat printje ook ontworpen, maar of ie gemonteerd gaat worden weet ik nog niet.

Rew: Bekend met de Wet van Murphy?
Zeker met stappenmotoren moet je oppassen dat zijn vieze dingen. Had ik ook problemen mee. Hoge snelheden geen probleem maar op lage snelheden ging Xtal osc over zijn nek. Overal zonden Ontkoppel C tussen. Ik had ook een fatsoenlijk groundplane. Op het laatste steek ik er een ander lager xtal der in en toen lukte het wel.

Wordt die usb verbinding een USB-AVR of een ftdi gemaakt? Als dat met USB-AVR is dan ga je binnende 5 seconden die R en C gesoldeert hebben!

Als ik gezeik krijg zal ik hem monteren. En dat is m.i. voor een aantal onderdelen de juiste aanpak.

M.i. is de juiste aanpak zodanig ontwerpen dat je achteraf gezeik voorkomt ;-).

Groeten, Bram

Ik heb een printje met een plek voor een FTDI232R. Maar die zit er net als de pullup voor de reset van de AVR niet op. Ik gebruik de USB stekker wel als 5V voedingsplug.