centralina accensione motore

leo72:
Il chip è acquistabile da Mouse o Digikey ma poi ti serve l'attrezzatura per saldarlo.
Non ho trovato nessuna breakout board, però.

io ho visto che ci sono un sacco di siti che fanno la realizzazione di pcb (anche in singolo pezzo) compreso il montaggio dei componenti
si potrebbe disegnare la breakout board, comprare qualche chip e farsi realizzare pcb e farsi saldare il micro sopra in fabbrica...

magari ci sono anche altri interessati e potremmo provare ad aprire un topic per sviluppare il progetto e farcene fare più di una o due abbassando i costi :slight_smile:

nel caso io sarei anche disposto a accollarmi l'impegno di acquistare i pezzi, mandarli e farmeli realizzare e poi spedirli a chi li vuole (ovviamente solo su prenotazione e acconto, anche se li ridarei allo stesso identico costo di realizzazione, perchè non voglio rischiare di rimetterci del grano :D)

che ne dite??

Va valutata quant'è la spesa per la saldatura del componente.
Hai dei link sottomano? Per i PCB io mi servo solo da un fabbricante ma non mi pare che faccia anche il servizio di saldatura.

leo72:
Va valutata quant'è la spesa per la saldatura del componente.
Hai dei link sottomano? Per i PCB io mi servo solo da un fabbricante ma non mi pare che faccia anche il servizio di saldatura.

a casa ho del materiale... più tardi do un occhio!!

che dici proviamo a fare un topic apposta o aspettiamo un attimo di avere le idee più chiare??

Per esempio su questo sito ho provato a calcolare al volo il montaggio di un chip sulla schedina
Se se ne fa un pezzo costa 95 euro fecendone 10 costa 10.60
Ho usato pin <1.27 mm e piu di 28 pin
Ho fatto al volo dal cellulare...

Guarda anche http://www.mdsrl.it/

leo72:
Non ho trovato nessuna breakout board, però.

--> SMD Adapters

Pighixxx ha una pick & place. :grin: --> http://blog.fablabassano.org/

il problema è
secondo voi è umanamente possibile saldare a mano i il micros li sopra?
:grin: :grin:

@Paolo:
per breakout board intendo una scheda con GIA' saldato il chip sopra :wink:
Io non so saldare quel chip :sweat_smile: :sweat_smile:

@Lucaleo:
il problema è la saldatura di un chip con uno spazio fra pin e pin di mezzo millimetro :sweat_smile:

leo72:
@Paolo:
per breakout board intendo una scheda con GIA' saldato il chip sopra :wink:
Io non so saldare quel chip :sweat_smile: :sweat_smile:

@Lucaleo:
il problema è la saldatura di un chip con uno spazio fra pin e pin di mezzo millimetro :sweat_smile:

infatti era quello che intendevo ahaha

però magari si può vedere se si trova qualche azienda che ci salda il chip su quelle basette a dei prezzi umani
oppure magari conviene farsele fare e saldare direttamente che comprare quelle e farsi fare le saldature li sopra

ma credete che ci possano essere un po' di penrsone interessate?
realizzare una arduino due standalone credo che permetterebbe di fare un sacco di cose interessanti!!

@Leo, io saldo male anche un PDIP. :sweat_smile:

Ma al FabLab dovrebbero avere anche il fornetto reflow. Quindi mette e salda. Servizietto completo. :grin:

PaoloP:
@Leo, io saldo male anche un PDIP. :sweat_smile:

Ah ah ah :stuck_out_tongue_closed_eyes:
Beh anch'io non sono un mostro nelle saldature :wink:

Ma al FabLab dovrebbero avere anche il fornetto reflow. Quindi mette e salda. Servizietto completo. :grin:

Sì ma non posso farmi 450 km fra andata/ritorno per saldare un componente :sweat_smile:
I componenti SMD sono stati inventati per far dannare gli hobbysti all'acqua di rose ]:smiley:

leo72:

PaoloP:
@Leo, io saldo male anche un PDIP. :sweat_smile:

Ah ah ah :stuck_out_tongue_closed_eyes:
Beh anch'io non sono un mostro nelle saldature :wink:

Ma al FabLab dovrebbero avere anche il fornetto reflow. Quindi mette e salda. Servizietto completo. :grin:

Sì ma non posso farmi 450 km fra andata/ritorno per saldare un componente :sweat_smile:
I componenti SMD sono stati inventati per far dannare gli hobbysti all'acqua di rose ]:smiley:

comunque ragazzi secondo me ce la si fa pure a "mano" :smiley:
se monto un saldatore con una punta molto molto fine sulla struttura di un trapano a colonna (per far salire e scendere il saldatore senza vibrazioni ecc) io penso di poterci riuscire :smiley:
poi sposto la basetta dal di sotto per allineare il pin che vglio saldare (stile carrelli di una fresa)

certo non è semplice e non è veloce ma secndo me si può fare ahaha

lucaleo:

leo72:

PaoloP:
@Leo, io saldo male anche un PDIP. :sweat_smile:

Ah ah ah :stuck_out_tongue_closed_eyes:
Beh anch'io non sono un mostro nelle saldature :wink:

Ma al FabLab dovrebbero avere anche il fornetto reflow. Quindi mette e salda. Servizietto completo. :grin:

Sì ma non posso farmi 450 km fra andata/ritorno per saldare un componente :sweat_smile:
I componenti SMD sono stati inventati per far dannare gli hobbysti all'acqua di rose ]:smiley:

comunque ragazzi secondo me ce la si fa pure a "mano" :smiley:
se monto un saldatore con una punta molto molto fine sulla struttura di un trapano a colonna (per far salire e scendere il saldatore senza vibrazioni ecc) io penso di poterci riuscire :smiley:
poi sposto la basetta dal di sotto per allineare il pin che vglio saldare (stile carrelli di una fresa)

certo non è semplice e non è veloce ma secndo me si può fare ahaha

:fearful: spettacolare questa della saldatura a colonna :stuck_out_tongue_closed_eyes: ricordati però di metterlo il saldatore e non lasciare la punta da trapano da 12 :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

diciamo che dopo molti tentativi senza risultati potrei mettercela la punta... ma da 24 ahahah

michele visto che tu sei molto ferrato (vista la tua guida) che dici, sarebbe molto difficile far funzionare quel micro onboard una volta montato su una basetta che renda i pin umani? :smiley:

Non c'è niente di difficile, c'è solo da fare pratica, se lavori con componenti smd ti serve un saldatore con punta finissima per i componenti passivi e per gli integrati a passo SOIC; dal TSSOP in poi (pin molto più ravvicinati) si usa una punta più larga ed il flussante, esistono su YT migliaia di video che spiegano come si salda.Se anche usi l'adattatore la saldatura smd la devi fare comunque, tanto vale salradrlo direttamente sul PCB.

beh fare un pcb con quelle piste potrebbe essere complicato per me :smiley:

sono indeciso se passare al 1284 o fare un enorme balzo al SAM3X8E...
credo che partirò acquistando una board arduino 2 (che sono sei mesi che mi trattengo dal comprare visto che non so manco sfruttare la uno ahaha)
voglio vedere di iniziare a integrare un controllo del carico per l'anticipo
e questo potrei farlo col 1284
ma poi non potrei provare a fare un sistema di iniezione, che con il SAM3X8E ci starebbe alla grande con tutta quella ram e le prestazioni decisamente superiori (avrò bisogno di calcoli più complessi)
è vero non ha eeprom ma pazienza, ce ne metto una esterna o una sd, posso iniziare con la flash in ogni caso ne ha tantissima :smiley:

ho ottimizzato il codice, più tardi vado a provarlo ma andrà quasi di sicuro
ora nella eeprom metto i valori dell'anticipo che sono molto più leggibili

#include <EEPROM.h>

  byte arrayMappatura[]={  //array per mappatura






25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 
23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 
13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 
12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 
9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  
8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  
7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  
6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  
5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  
4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  
3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  
2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  
1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  



                               
              };

void setup()
{ }

void loop()
{
 for (int i=0; i < 1000; i++){                         //per ogni valore della mappa
  
      EEPROM.write(i, arrayMappatura[i]);                   //inserisci valore 0 mappatura in posizione 0 eeprom fino a valore 999 in posizione 999

      delay(10);
   } 
  
}

e il programma della centralina lo trasforma in ritardo in setmapping
ho anche inserito il limitatore di giri alla fine della mappa

#include <StopWatch.h>
#include <EEPROM.h>

const byte bobina1 = 7;    // output bobina1 su pin7
const byte pin2 = 2;       // interrupt startt
const byte pin3 = 3;       // interrupt stopp

volatile int statestartt = HIGH;    // stato normale startt
volatile int statestopp=HIGH;       // stato normale stopp

StopWatch sw_micros(StopWatch::MICROS);    // timer durata dente
StopWatch sw_micros1(StopWatch::MICROS);   // timer attesa

byte mappatura[1000];      //dichiaro array mappatura
byte ritardo=90;           //dichiaro ritardo
byte cut=0;                //per limitatore rpm
long time = 0;             //valore durata dente microsecondi
long tritardo1 = 0;        //valore durata ritardo in microsecondi

void setup() {
  pinMode(bobina1, OUTPUT);  //bobina
  pinMode(pin2, INPUT_PULLUP);
  pinMode(pin3, INPUT_PULLUP);
  attachInterrupt(0, startt, FALLING);   //interrupt in inizio dente
  attachInterrupt(1, stopp, RISING);     //interrupt fine dente
  SetMapping();                          //compila mappatura[] copiando la eeprom interna
}

void loop()
{

  if(statestartt == LOW){                //se il dente è iniziato
    sw_micros.start();                   //avvia timer durata dente
    statestartt=HIGH;                    // reimposta startt
  }


  if(statestopp == LOW) {                //se il dente è finito
    time=sw_micros.elapsed();            //memorizza durata dente in "time"
    sw_micros1.start();                  //avvia timer attesa
    statestopp = HIGH;                   //reimposta stopp
    sw_micros.reset();                   //azzera timer durata dente

    if(time<250){                        // se il dente dura meno di 250 micros, rpm maggiore di 6666
      cut=1;                             //disabilita accensione candela
    }                                            
    else
      cut=0;                             // se rpm minore di 6666 abilita accensione candela
    if(time>1250){                       // se il dente dura più di 1250 micros, rpm minore di 1333                  
      ritardo=90;                        // anticipo fisso 0°btdc  
    }  
    
    else ritardo=mappatura[time-250];    // se la durata del dente è tra 250 e 1250 micros assegna il valore di ritardo in mappatura
                                         // time-250 trasla time alla posizione esatta in mappa, time=250  250-250=0, verrà usato mappatura[0]

      tritardo1=(time*ritardo)/10;       //calcola durata ritardo in microsecondi, è importante che la moltiplicazione avvenga prima della divisione, genera un errore più piccolo
  }

 
  if(cut==0){                               // se rpm minore di 6666
    if(sw_micros1.elapsed() >= tritardo1){  //se il tempo che è passato dalla fine del dente è maggiore della durata del ritardo
      sw_micros1.reset();                   //azzera timer ritardo

      digitalWrite(bobina1, HIGH);          //scocca scintilla
      
      delayMicroseconds(10);                //attendi

      digitalWrite(bobina1, LOW);           //carica condensatore
      
    } 
  }


} // End Loop

void startt()//interrupt startt
{
  statestartt = !statestartt;  //inverti startt
}

void stopp()//interrupt stopp
{
  statestopp = !statestopp;    //inverti stopp
}

void SetMapping()                          //per copia mappatura da eeprom a ram in setup
{
  for (int x; x<1000;x++)                  //per ogni valore della mappatura
  {
    mappatura[x] = 90- EEPROM.read(x);     //converti mappatura anticipo eeprom in mappatura ritardo rispetto a fine dente
                                           // questo solo perchè la mappatura anticipo è più leggibile di quella ritardo
  }                                       
}

Io salderei il chippettino con solder cream e aria calda. Un bel chinotto e un adattatore professionale.

Non è la tecnica giusta , devi fare dei movimenti specifici con il saldatore e non puramenti perpendicolari al pcb

Mi piace questo tuo lavoro, soprattutto per la velocità con il quale fai le modifiche, sembra che non stai pensando ad altro in questo periodo :smiley:

icio:

[quote author=lucaleo ]
se monto un saldatore con una punta molto molto fine sulla struttura di un trapano a colonna (per far salire e scendere il saldatore senza vibrazioni ecc) io penso di poterci riuscire :smiley:
poi sposto la basetta dal di sotto per allineare il pin che vglio saldare (stile carrelli di una fresa)
certo non è semplice e non è veloce ma secndo me si può fare ahaha

Non è la tecnica giusta , devi fare dei movimenti specifici con il saldatore e non puramenti perpendicolari al pcb

Mi piace questo tuo lavoro, soprattutto per la velocità con il quale fai le modifiche, sembra che non stai pensando ad altro in questo periodo :smiley:
[/quote]

in effetti è così ahaha
complice il fatto che il lavoro quest'anno purtroppo è poco e che il posto di lavoro è lo stesso posto in cui cazzeggio con sta roba :smiley: