Pages: [1]   Go Down
Author Topic: Programmare un Atmega senza bootloader.....  (Read 1886 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti, la domanda probabilmente trova già risposta con una ricerca nel forum, ma questa che voglio porvi è un po' più complessa.
Allora, io avrei necessità di questo modulo: http://store.diydrones.com/product_p/br-ppme.htm
Però, visto che mi scoccia ordinarlo in America (e sembra che esista solo li smiley-sad ), e visto che mettono a disposizione lo schema, il software e alla fine monta un Atmega, volevo capire se posso prendermi un Atmega 328 senza bootloader e NON SMD e spararci dentro il software che mettono a disposizione.
Quindi, alla fine le domande sono:

- C'è compatibilità tra Atmega 328 (come quello che c'è su Arduino Uno/2009) e il 168 SMD?
- Con cosa posso compilare il programma che loro mi forniscono? (io conosco solo l'ide di Arduino ma non credo vada bene)
- Come posso alla fine programmare l'Atmega se non ha il bootloader di Arduino? (credo che con l'IDE non si possa fare)

Grazie.
Ciao.
Logged


Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 764
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per l'ultima domanda, qui la risposta: http://arduino.cc/forum/index.php/topic,57671.0.html
Logged

Gianfranco

Offline Offline
Full Member
***
Karma: 0
Posts: 182
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

innanzitutto ciao
voglio premettere che c'è perfetta compatibilità tra Atm168 e Atm328 Inoltre dovrebbero fornirti il programma in file hex che è poi quello da caricare
Per il caricamento puoi seguire questo tutorialhttp://www.geocities.jp/arduino_diecimila/bootloader/index_en.html solo caricando il programma in hex al posto del bootloader Attenzione però a come setti i fuses quelli per l'atm328 li puoi trovare in fondo alla pagina!!!!!!
i pin della porta x3 di arduino vanno a:
x3 n°1------- atmega pin digital12 (pb4)
       2--------atmega pin digital13 (pb5)
       3--------atmega pin digital11 (pb3)
       4--------atmega pin reset     (pc6)

Ricorda però l'alimentazione e il QUARZO collegato ai pin x1 e x2
ciao niko
Logged

Non possiamo pretendere che le cose cambino, se continuiamo a fare le stesse cose(albert Einstein )

0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@GianfrancoPA: Grazie, ottima guida.

@ Nikone: Non ho l'hex, mi danno direttamente i sorgenti, quindi dovrei capire con cosa posso generare l'hex.
Se guardi sul link che ho messo, vedi che c'è la possibilità di scaricare il sorgente.
Logged


0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10463
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

se puoi scaricarti i sorgenti, e magari sono pure in C, fai prima a portarli in wired.. Credimi, creare il PPM non è per nulla difficile, si tratta di un segnele lungo 20 millis, ogni canale ha circa 2 millis, in cui all'inizio è alto e poi si abbassa proporzionalmente al valore i output. Di solito il segnale alto dura dai 500 ai 1500 microsecondi, quindi per la precisione è necessario l'uso di interrupt sul timer
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

se puoi scaricarti i sorgenti, e magari sono pure in C, fai prima a portarli in wired.. Credimi, creare il PPM non è per nulla difficile, si tratta di un segnele lungo 20 millis, ogni canale ha circa 2 millis, in cui all'inizio è alto e poi si abbassa proporzionalmente al valore i output. Di solito il segnale alto dura dai 500 ai 1500 microsecondi, quindi per la precisione è necessario l'uso di interrupt sul timer

Ehm!!! Non sarà per niente difficile, però mi hai già tirato fuori un sacco di cose che dovrei approfondire o studiare da zero (vedi interrupt sul timer) ed io avrei bisogno dell'aggeggio prima del 2020 smiley-grin
Logged


0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Riprendo la discussione perchè è rimasta una domanda senza risposta.......
Come faccio a compilare questo codice: http://api.ning.com/files/toNFL9lROPG-iLp7wAd9iGooq2-7cxV-TT8ySr27XDec7izkvejX8EL9KwNSViiZTHfL3vPEjB0dUgCGpR8YUDFnOLTzXGSE/ap_ppm_encoder.zip per un Atmega senza bootloader?
Logged


0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi rispondo da solo, perchè forse ho già trovato la risposta  smiley-kiss
Rovistando del file zip dove ci sono i sorgenti ho visto che c'è anche un file .hex.
Credo sia quello che serve a me smiley
Ciao.
Logged


0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Riprendo ancora la discussione perchè forse ho trovato una soluzione ancora più semplice, però io ho provato a guardare ma non ci capisco na mazza.
Praticamente, ho bisogno di questo convertitore che prende il segnale da una ricevente per RC e lo conferte in PPM SUM.
Mi è stato detto che in alcune riceventi basta collegarsi direttamente al pin giusto del chip perchè comunque i segnali arrivano in PPM SUM e poi vengono divisi, quindi io dovrei prendere il segnale prima che venga diviso.
Allora, io ho aperto una delle mie riceventi ed ho trovato due integrati, di cui allego le foto.
Cercando ho anche trovato i datasheet, ma onestamente non ne ho capito molto.
Spero che qualcuno più esperto di me in materia mi possa illuminare.
Grazie.

Datasheet1: http://pdf1.alldatasheet.com/datasheet-pdf/view/200287/CYPRESS/CYRF6936.html
Datasheet2: http://www.chinaicmart.com/pdf/pdf_down.asp?id=1124551




* 6200_1.jpg (70.3 KB, 640x480 - viewed 11 times.)

* 6200_2.jpg (84.03 KB, 640x480 - viewed 11 times.)
Logged


0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10463
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si comunica in SPI: http://it.wikipedia.org/wiki/Serial_Peripheral_Interface
esistono delle librerie già fatte, ma comunque dovrai sfugulare il datasheet

il PPM SUM è il segnale di tutti i canali miscelati. per farlo puoi fare;
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si comunica in SPI: http://it.wikipedia.org/wiki/Serial_Peripheral_Interface
esistono delle librerie già fatte, ma comunque dovrai sfugulare il datasheet

il PPM SUM è il segnale di tutti i canali miscelati. per farlo puoi fare;


Davvero basta una cosa così banale?
Ma quei diodi, sono generici o ci vuole un tipo specifico?


Logged


0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10463
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

van bene generici, però ti danno una caduta di tensione di 0.7V
Se usi i diodi Schottky hai una caduta di tensione più bassa, di solo 0.4V

in pratica se dalla ricevente i segnali escono a 5V, usando dei diodi normali ti ritrovi il segnale completo a 4.3V
però il circuito successivo ai diodi serve
1. le prime 2 resistenze ad avere 0V se tutte le uscite sono a 0V, altrimenti per effetto dei diodi avresti un pezzo di cavo scollegato che si comporta da antenna
2. il resto del circuito riporta il voltaggio in uscita a 5v, altrimenti sarebbe più basso
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E rieccomi, stavo guardando cosa ho in casa per fare il primo test, ed avrei questi transistor:

Quote
BC413B
BC547B
BC238C
BC556B
BC237B
BC307A
BC558B

Guardando i datasheet, mi sembra che il BC547B sia quello che si avvicina di più (non solo come sigla smiley-grin ) al BC548B richiesto per il circuito che mi hai linkato.
Però, non capendone quasi una mazza di queste cose, volevo una conferma se posso usarlo al posto del 548b.
Grazie.
Logged


0
Offline Offline
Sr. Member
****
Karma: 1
Posts: 443
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato a fare il circuito che dello schema sopra, ma non funziona smiley-sad
Rimane tutto fermo e immutabile  smiley-cry
Logged


Pages: [1]   Go Up
Jump to: