Go Down

Topic: Atmega88/8 in standalone (Read 2243 times) previous topic - next topic

matrix_77

come mio solito procedo alla cannabilizzazione del post!!!!(mi scuso come sempre con il proprietario del post...).

In questi giorni sto affrontando anche io l'annosa questione del mio primo stand alone.

Il mio circuito dovrebbe semplicemente accendere un led (o una serie) e un buzzer alla pressione di un tasto e spegnerlo al passaggio di un laser su LDR (o tramite IR + in là)...

Ho cominciato a leggere la guida (che trovo semplicemente fantastica) e altro materiale in giro e penso di aver capito le differenze tra un 328, un 168 ed un 88 in termini di ram e flash...

La mia domanda è questa: se uso un atmega8 (dal costo molto più contenuto) che problemi ci possono essere con uno sketch semplice come quello sopra esposto?

Grazie mille....

P.s: al momento la realizzazione sarà su millefori...mi consigliate di saldare l'atmega o di utilizzare una base estraibile?

leo72

Ho spostato il tuo post, la domanda non era pertinente con l'Atmega2560.

Allora, intanto facciamo chiarezza: cosa userai?? Un Atmega88 o un Atmega8? Sono differenti.

Michele Menniti

Grazie per i complimenti :)
Il tipo di sketch che vuoi implementare non ti creerà alcun problema di memoria flash, si tratta davvero di poche righe di codice. Come dice Leo 8 e 88 sono differenti, ma solo per ciò che concerne la programmazione e qualche altro paramentro hardware, la memoria flash è comunque 8k. NON conviene MAI saldare gli integrati direttamente, salvo particolari necessità, quindi decisamente prevedi uno zoccolo.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

matrix_77

#3
Feb 26, 2013, 09:00 am Last Edit: Feb 26, 2013, 09:51 am by matrix_77 Reason: 1
Mi scuso per il disguido....e ringrazio Leo per il Moving.
A questo punto ne approfitto per "allargarmi" verso altri quesiti.

Detto questo spiego meglio la mia idea:
devo realizzare qualkosa di molto piccolo (deve essere tascabile), molto semplice come funzionamento (quello descritto nel primo post), molto semplice da realizzare (ne devo creare una 30ina) e soprattutto poco costoso.

Non ho la minima intenzione di prendere cloni di Arduino per una mia filosofia di vita per cui o mi compro tanti Arduino mini (ma il costo sale) o mi alzo le maniche di camicia e comincio a lavorare sui circuiti. Ho optato per la seconda scelta.

Ho letto la guida di Michele e che dire semplice, chiara ed asauriente sul profilo della connessione e del caricamento utilizzando una mia Board (la mega) e una breadboard su cui predisporre il collegamento ISP.

Naturalmente ho cominciato a farmi 2 conti sui costi...
quarzi, resistenze, led, millefori....li ritengo costi diciamo così "marginali".
Il costo principale (come è normale che sia) è dato dall'atmega.
Mi sono fatto 2 conti e ho visto che potrei abbatterli notevolmente con un acquisto stock di atmega8-16PU.

1)Però la mia ignoranza mi frena e devo a questo punto scegliere se optare per il costo minore e lo sbattimento maggiore (dovrò sicuramente rivedere la guida per capire cosa bisogna fare) o il costo maggiore e lo sbattimento minore (visto che trovo semplicissima la guida per il 328P).

2)Altra domanda:Problema caricamento sketch. Sempre partendo dalla guida e immaginando una configurazione con quarzo da 16Mhz mi è chiaro come procedere immaginando di voler programmare prima i 50 chip su breadboard.
Immaginiamo però che io proceda (anche se Michele me l'ha sconsigliato) a saldare i chip su millefori...a quel punto o realizzo su ogni millefori il collegamento ISP o niente....
Ho capito male o potrei, se immagino di caricare il bootloader sui chip, utilizzare un modulo usb-ttl per far funzionare le mie millefori come arduino indipendenti (cioè non usare + la mia mega come programmatore ISP)?


3)Altro dubbio: al momento ho immaginato un circuito a 5V da alimentare con l'ausilio di un 7805.Per la batteria sceglierò tra una 9v (il circuito verrà posizionato in un contenitore dotato di sportellino per pila). Qualora scegliessi di alimentare il tutto a 3,3 utilizzando la tecnica descritta da Michele (eliminazione del quarzo da 16Mhz) vista la funzionalità del mio circuito (un loop che verifica se è stato premuto il pulsante o se è stato passato il laser) mi sembra di capire che il funzionamento del clock ad 8 Mhz non vada a inificiare nulla (non ho bisogno di delay, di controlli con millis etc) è giusto da un punto di vista teorico?

FINALE:
procederò a prendere il materiale per una serie di test e sono sicuro che vi scoccerò ancora.

PER MICHELE:
una curiosità:quando spieghi il funzionamento del cavetto ISP su BREADBOARD utilizzi un cavo con un filo nero in + vero? è il primo da sx e che non è collegato ad alcunchè sulla BREADBOARD....ho visto bene o mi sfugge qualkosa? Nello schema dei fili colorati è il viola che dovrebbe andare sul reset del programmatore...a cosa serve?
RISPONDO DA SOLO: non ricordavo il discorso del condensatore...rileggendo la nota ora è tutto chiaro Pardon!!!

Ps: analisi dei costi (liberi di non rispondermi... :D):il minor costo per 50 atmega328 che ho trovato (ma solo acquistando in cina) è circa 100 euro ( e a questa cifra tra l'altro mi preoccupano i rischi dogana)...per 50 atmega8 siamo sui 30 euro circa. Quale può essere un giusto compromesso?Non so se ho cercato male io ma gli atmega88 e 168 costano pressapoco come un 328....




leo72

Risposta stringata: non potrebbe bastarti un altro tipo di microcontrollore?
Un Attiny ad esempio? Ci sono gli Attiny25/45/85 con rispettivamente 2/4/8 kB di Flash, 5 pin di I/O utilizzabili.


Il mio circuito dovrebbe semplicemente accendere un led (o una serie) e un buzzer alla pressione di un tasto e spegnerlo al passaggio di un laser su LDR (o tramite IR + in là)...


Facciamo i conti:

1) accensione led: 1 out
2) lettura pulsante: 1 in
3) lettura sensore iR (eviterei il laser su fotoresistenza, influenza della luce e problema di collimazione del raggio): 1 in

3 pin totali, te ne restano 2 liberi.

Un Tiny85 da RS costa € 1,20+IVA
http://it.rs-online.com/web/p/microcontroller/6962327/

PaoloP

Inoltre potresti prenderti uno zoccolo zif e crearti un minicircuito per la programmazione: Zoccolo, quarzo (se non usi quello interno) e connessione ISP.
Metti il micro nello zif, lo programmi, lo estrai, lo monti sulla schedina... e avanti per altre 30 volte. Senza sbattimenti vari.

Madwriter

gli atmega8 li trovi a 1$(non so perchè li stanno buttando praticamente via) io ne ho presi una decina hanno la stessa pedinatura dei 328 si programmano facilmente e sono compatibili con tutte le librerie(ovviamente se usi un clock esterno a 16mhz ;) )
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

leo72

Se il dispositivo deve essere tascabile e necessitare di 3 pin, è inutile usare un Atmega8.
Poi è una scelta che deve fare lui, ma con un DIP8 riduci di 3 volte la dimensione del circuito rispetto all'uso di un DIP28.
Inoltre elimina quarzo esterno e condensatori, riducendo anche il costo. Un Tiny85 può infatti essere calibrato per lavorare a 16 MHz con il suo PLL interno. Ammesso che gli servano davvero i 16 MHz.

Madwriter


Se il dispositivo deve essere tascabile e necessitare di 3 pin, è inutile usare un Atmega8.
Poi è una scelta che deve fare lui, ma con un DIP8 riduci di 3 volte la dimensione del circuito rispetto all'uso di un DIP28.
Inoltre elimina quarzo esterno e condensatori, riducendo anche il costo. Un Tiny85 può infatti essere calibrato per lavorare a 16 MHz con il suo PLL interno. Ammesso che gli servano davvero i 16 MHz.

sono d'accordo con te sulla questione dimensioni semplicemente non ero d'accordo sulla questione pricing :D
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

PaoloP

Una veloce ricerca ed ho trovato questo: http://www.ebay.it/itm/ATTINY85-20PU-Atmel-Microcontroller-AVR-Tiny-DIP-8-/160949916700?pt=Bauteile&hash=item25795cd41c&_uhb=1#ht_748wt_1167
1 euro a micro + 5 per la spedizione.
Il venditore parrebbe affidabile, ma io ho preso pacchi anche da chi aveva il 100% ed invece filato tutto liscio con venditori al 97%.  :smiley-red:

leo72


sono d'accordo con te sulla questione dimensioni semplicemente non ero d'accordo sulla questione pricing :D

No sapevo degli Atmega8 ad 1$

cece99



sono d'accordo con te sulla questione dimensioni semplicemente non ero d'accordo sulla questione pricing :D

No sapevo degli Atmega8 ad 1$

Sisi, è vero, ha cominciato electrodragon e poi a ruota ebay, io ne ho una bella scorta :)
Il Vero Programmatore non ha bisogno di manuali sull'assembler, sono
  sufficienti i data sheet dei microprocessori.

leo72

Non ho mai usato l'Atmega8 né mai penso che lo userò. Se proprio mi serve un micro con meno memoria, prendo l'Atmega88.

Madwriter


Non ho mai usato l'Atmega8 né mai penso che lo userò. Se proprio mi serve un micro con meno memoria, prendo l'Atmega88.

è comodo per il formato io ho un programmatore usbasp e dei pcb con i connettori già prestabiliti quindi non devo cambiare niente nella pedinatura :D
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

matrix_77

come detto nella mia analisi dei costi avevo pensato all'atmega8 per i seguenti  motivi:

1)50 unità spedite a 31 euro....quindi circa 60 centesimi a chip
2)avevo visto guide simili a quelle per 328 in giro sulla realizzazione di arduino standalone
3)le mie uniche conoscenze in termini di pic ed elettronica le ho con arduino per cui già so preparare sketch etc....

in + con l'atmega8 avrei la possibilità un domani di allargare il progetto (magari una bella microsd e un rtc che mi fanno da datalog...anche se non so se sono utilizzabili con lo standalone...sul mega vanno una favola....).

Non conoscevo l'atmega88, l'ho cercato ma come prezzi siamo là con il 328P

Go Up