Atmega88/8 in standalone

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?

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.

Grazie per i complimenti :slight_smile:
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.

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....

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.

matrix_77:
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

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.

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 :wink: )

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.

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.

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

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%. :blush:

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

No sapevo degli Atmega8 ad 1$

leo72:

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

No sapevo degli Atmega8 ad 1$

Sisi, è vero, ha cominciato electrodragon e poi a ruota ebay, io ne ho una bella scorta :slight_smile:

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

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.

è comodo per il formato io ho un programmatore usbasp e dei pcb con i connettori già prestabiliti quindi non devo cambiare niente nella pedinatura :smiley:

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

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....

L'Atmega8 non è del tutto uguale ad un Atmega88/168/328.
Ha 3 PWM contro 6, non ha PCINT, non ha il core PicoPower (minor consumi).

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....).

Con 8 kB di Flash una SD non la gestisci, oppure la gestisci con una libreria minimale come la Petit FatFs ma ci fai poco altro.

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

Costa la metà di un 328P

la discussione si è allargata :sweat_smile: la programmazione dell'ATmega8 è IDENTICA a quella del 328, anche la pinature è perfettamente compatibile, la board virtuale te la fornisco io, quando ti servirà, l'ho creata tempo fa per un altro amico che aveva difficoltà iniziali. Se devi lavorare a batterie, per il tipo di uso che ne fai, ti conviene assolutamente lasciare il clock a 1MHz (interno), consumi molto meno, visto che peraltro puoi lavorare a 3V invece che a 5V, MOLTO meglio due batterie DURACELL HIGH POWER AA in serie, che una batteria 9V con un regolatore a 5V, hai spreco di energia e minore autonomia; l'ideale sarebbe una LiPo di nuova generazione, ma ti devi attrezzare per la ricarica (serve un caricabatterie specifico).
A tale proposito NON trascurare quanto ti ha detto Leo, i micro con la sigla P finale appartengono alla generazione dei PicoPower, cioè a basso consumo e, in condizioni di non utilizzo, possono esssere messi in stand-by consumando correnti ridicole, cosa che non vale per l'8. E' vero che hai problemi di costi iniziali ma è altrettanto vfero che se ciò che vai a realizzare è su larga scala e la gestione resta a tuo carico (costo batterie), forse converrebbe spendere qualcosa in più e prendere il mega88P invece del mega8 non P.
La programmazione ISP è qualcosa che con Leo (lasciamo per un attimo da parte la modestia :grin:) abbiamo reso estremamente semplice ed efficace, per cui non devi farti problemi a pensare di programmare altri tipi di micro, finora abbiamo programmato davvero di tutto, quindi valuta bene cosa devi fare e cosa potenzialmente potresti dover fare in futuro e scegli il micro giusto (ti aiutiamo noi) per le tue esigenze, il prezzo è importante, anzi fondamentale, ma un'analisi di costi non si fa sulle sole spese di acquisto del materiale, ma anche considerando (come dicevo prima) i costi della eventuale successiva gestione del circuito: oggi risparmi 2 euro per un micro, ma se devi lavorare a batterie e non puoi usare i modelli ricaricabili, due euro te li "spari" in un paio di sostituzioni :wink:
Quindi fai bene i tuoi conti..... noi siamo qui a disposizione :slight_smile:

Parole sante.

grazie davvero...

Per le lipo...noi le usiamo come il pane.
Usiamo lipo 7,4 e 11,1 (valori nominali ma che in realtà sono 8,4 e 12,6 a pieno carico).
I caricabatterie ne abbiamo a quantità e a 4 uscite simultanee.

In verità era la nostra prima idea ma l'avevamo scartata per l'ingombro maggiore, ipotizzando l'utilizzo di 7,4.
Certo poter prendere delle 3,7 e lavorare con l'atmega a 3 v è un altra storia.

Ho solo dubbi sul buzzer , per i led forse è pure meglio...
A proposito ho una domanda totalmente diversa:
ho usato sui miei vari sketch un buzzer per la pressione dei tasti etc e il volume per quanto si cambi valore del PWR è sempre limitato, questo immagino dovuto al fatto che viene "alimentato" sempre dal piedino di arduino a 5v.
Ricordo i vecchi allarmi a magnete "cinesi" che con sole 3 pilette da orologio arrivavano a db incredibili...cos'hanno un circuito amplificatore? E' facilmente realizzabile? Sarebbe proprio l'ideale...

esistono buzzer che lavorano anche ad un paio di volt, o meglio è più corretto definirli cicalini, visto il range di frequenze in cui operano; alcuni di questi modelli sono passivi, ossia devi inviargli tu una frequenza affinché emettano un suono, altri invece sono attivi, emettono una frequenza fissa (tipicamente 2-3KHz) appena li alimenti; personalmente preferisco i buzzer veri, cioè quelli che vibrano, ma non mi pare si trovino di piccole dimensioni ed in genere lavorano a 12V. Comunque i buzzer/cicalini attivi non sono male. Per l'alimentazione devi leggere il datasheet, se si accontentano di 30mA puoi usare direttamente un pin di Arduino altrimenti devi aggiungere un banalissimo transistor NPN per l'amplificazione in corrente.