Programmare un Atmega senza bootloader.....

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 :frowning: ), 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.

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

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

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

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

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

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?

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

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: CYRF6936 pdf, CYRF6936 Description, CYRF6936 Datasheet, CYRF6936 view ::: ALLDATASHEET :::
Datasheet2: http://www.chinaicmart.com/pdf/pdf_down.asp?id=1124551

6200_1.jpg

6200_2.jpg

si comunica in SPI: Serial Peripheral Interface - Wikipedia
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;

lesto:
si comunica in SPI: Serial Peripheral Interface - Wikipedia
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?

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

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

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

Ho provato a fare il circuito che dello schema sopra, ma non funziona :frowning:
Rimane tutto fermo e immutabile =(