Go Down

Topic: Acune domande a seguito workshop Trento. (Read 1 time) previous topic - next topic

simone_G


si mi ricordo di te!

comunque se ne parlava ogni tanto del fatto che il chip non mantenesse la programmazione me non se ne è mai scoperto il motivo razionale.

prova a caricare uno sketch diverso!


Avevo provato in tempo di workshop il primo giorno, durante le prove dei vari sketch per i led, ma continuava a darmi questo problema.

Probabilmente ho il chip sfigato.
Linux per sempre............

leo72


comunque se ne parlava ogni tanto del fatto che il chip non mantenesse la programmazione me non se ne è mai scoperto il motivo razionale.

Se ne è parlato tempo fa e si capì la questione, e cioè che era quello che dicevo, un problema di accoppiamento di bootloader per schede non corrispondenti.
Nel caso specifico, se si usava l'Optiboot su una 2009: l'Optiboot restava in attesa di un carattere in arrivo dalla seriale, che non arrivava e resettava la scheda. Ma era un problema dei vecchi Optiboot. Sulle UNO R3 non dovrebbe esserci.
Ma tu vedi comportamenti strani del led integrato, per caso? Lampeggia di continuo una volta data l'alimentazione?

nid69ita

Hai provato anche con l'IDE 1.0.5 ?   Tanto non hai la Due.
my name is IGOR, not AIGOR

uwefed

#18
Jul 11, 2013, 08:15 am Last Edit: Jul 11, 2013, 08:30 am by uwefed Reason: 1
ciao Simone_G
Visto che Mirco non é intervenuto nella discussione gli ho spedito un email con la richiesa di vedere cosa é da fare.
Visto che l' Arduino che hai ricevuto all'interno del starter kit é uno originale deve funzionare e il fatto che non tiene lo sktech in memoria é un guasto.

Comunque ultimo test.
Quando hai caricato lo sketch avevi collegato per caso un LED al pin 13 SENZA resistenza? Togli tutto da Arduino e riprova.

Altre risposte alle Tue domande.
La 1) Ti ho giá risposto.
2) La memoria FLASH (come anche la memoria EEPROM del Controller ATmega328P montato sul Arduino UNO) hanno un numero di cancellazioni / riscritture garantite dove viene anche garantito per quanto tempo i dati rimangono nella memoria senza alimentazione e senza modificarsi. Queste specifiche le trovi nel datasheet ( http://www.atmel.com/Images/doc8161.pdf ) sulla prima pagina. Non devi leggerlo ma per la completezza dell informazione cito e metto il link del documento. Lí é scritto:
* Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
* Data retention: 20 years at 85°C/100 years at 25°C
Per un uso normale ( qualche decina di Upload durante una sessione di lavoro) arrivi a ca 3 anni se ci lavori ogni giorno.

3) L' elettronica di potenza é un campo piú complicato di quello digitale.
Per alimentare e poter modificare la velocitá di rotazione di grandi motori si usa oggigiorno dei inverter. L' alimentazione 230V viene raddrizzata e con dei transistori/MOSFET o IGBT (un transistore di potenza che viene pilotato da un MOSFET integrato) viene prodotta un sistema di alimentazione trifase che alimenta il motore. Sono circuiti che non ti costruisci ma che compri giá fatti. La modulazione PWM puoi usarla solo con tensione continua. Con tensione alternata usi altri modalitá come phase fired control ( http://en.wikipedia.org/wiki/Phase_fired_controllers ) (si accende il l'alimentazione non quando incomincia la semionda ma piu tardi. é un metodo che produce molti disturbi e percui viene usato con utenza di piccola potenza, centinaia di W) oppure il pilotaggio a treni di pacchetti ( fai passare sempre pacchetti di una o piú semionde complete). Entrambe questi pilotaggi puoi realizzare con Tiristori o Triac. Un tiristore é un diodo che puoi accendere. Si spegne da solo quando la corrente diventa zero. La corrente in un alimentazione 230 alternata diventa zero ogni 10 mS (50Hz). Il Triac sono 2 Tiristori messi insiem in modo da poter funzionare con tensione alternata.

4) com dice yoshi93 il diodo che devi mettere con se piloti induttanze ( motori, relé, valvole elettromeccaniche, elettrocalamite ecc) serve per cortocicuitare la tensione inversa indotta quando spegni l'induttanza. In questo modo questa tensione indotta non puó danneggiare l' elettronica di pilotaggio.

Ciao Uwe


pitusso

#19
Jul 11, 2013, 09:27 am Last Edit: Jul 11, 2013, 12:19 pm by pitusso Reason: 1
Ciao

Quote
Visto che Mirco non é intervenuto nella discussione gli ho spedito un email con la richiesa di vedere cosa é da fare.


il forum è stato più veloce di me a rispondere a tutte le domande a cui avrei potuto contribuire  :smiley-mr-green:
Relativamente invece alla board, ci son degli step da seguire per avere la sostituzione, e ti aggiornerò ovviamente via pm  :)

EDIT
aggiornato

lesto



comunque se ne parlava ogni tanto del fatto che il chip non mantenesse la programmazione me non se ne è mai scoperto il motivo razionale.

Se ne è parlato tempo fa e si capì la questione, e cioè che era quello che dicevo, un problema di accoppiamento di bootloader per schede non corrispondenti.
Nel caso specifico, se si usava l'Optiboot su una 2009: l'Optiboot restava in attesa di un carattere in arrivo dalla seriale, che non arrivava e resettava la scheda. Ma era un problema dei vecchi Optiboot. Sulle UNO R3 non dovrebbe esserci.
Ma tu vedi comportamenti strani del led integrato, per caso? Lampeggia di continuo una volta data l'alimentazione?


un'altra è che sei finito nel "loop del watchdog", anceh questo un problema con vecchie versioni del boot-loader
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

simone_G


ciao Simone_G
Visto che Mirco non é intervenuto nella discussione gli ho spedito un email con la richiesa di vedere cosa é da fare.
Visto che l' Arduino che hai ricevuto all'interno del starter kit é uno originale deve funzionare e il fatto che non tiene lo sktech in memoria é un guasto.

Comunque ultimo test.
Quando hai caricato lo sketch avevi collegato per caso un LED al pin 13 SENZA resistenza? Togli tutto da Arduino e riprova.

Altre risposte alle Tue domande.
La 1) Ti ho giá risposto.
2) La memoria FLASH (come anche la memoria EEPROM del Controller ATmega328P montato sul Arduino UNO) hanno un numero di cancellazioni / riscritture garantite dove viene anche garantito per quanto tempo i dati rimangono nella memoria senza alimentazione e senza modificarsi. Queste specifiche le trovi nel datasheet ( http://www.atmel.com/Images/doc8161.pdf ) sulla prima pagina. Non devi leggerlo ma per la completezza dell informazione cito e metto il link del documento. Lí é scritto:
* Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
* Data retention: 20 years at 85°C/100 years at 25°C
Per un uso normale ( qualche decina di Upload durante una sessione di lavoro) arrivi a ca 3 anni se ci lavori ogni giorno.

3) L' elettronica di potenza é un campo piú complicato di quello digitale.
Per alimentare e poter modificare la velocitá di rotazione di grandi motori si usa oggigiorno dei inverter. L' alimentazione 230V viene raddrizzata e con dei transistori/MOSFET o IGBT (un transistore di potenza che viene pilotato da un MOSFET integrato) viene prodotta un sistema di alimentazione trifase che alimenta il motore. Sono circuiti che non ti costruisci ma che compri giá fatti. La modulazione PWM puoi usarla solo con tensione continua. Con tensione alternata usi altri modalitá come phase fired control ( http://en.wikipedia.org/wiki/Phase_fired_controllers ) (si accende il l'alimentazione non quando incomincia la semionda ma piu tardi. é un metodo che produce molti disturbi e percui viene usato con utenza di piccola potenza, centinaia di W) oppure il pilotaggio a treni di pacchetti ( fai passare sempre pacchetti di una o piú semionde complete). Entrambe questi pilotaggi puoi realizzare con Tiristori o Triac. Un tiristore é un diodo che puoi accendere. Si spegne da solo quando la corrente diventa zero. La corrente in un alimentazione 230 alternata diventa zero ogni 10 mS (50Hz). Il Triac sono 2 Tiristori messi insiem in modo da poter funzionare con tensione alternata.

4) com dice yoshi93 il diodo che devi mettere con se piloti induttanze ( motori, relé, valvole elettromeccaniche, elettrocalamite ecc) serve per cortocicuitare la tensione inversa indotta quando spegni l'induttanza. In questo modo questa tensione indotta non puó danneggiare l' elettronica di pilotaggio.

Ciao Uwe




Per ora ti rispondo a riguardo il led senza resistenza, no quella l'ho sempre messa, forse è l'unica cosa a cui sono stato attentissimo.

Grazie per l'esauriente risposta e per provare il lampeggiamento eventuale all'accensione, provo stasera, grazie a tutti ancora per le risposte.
Linux per sempre............

leo72


un'altra è che sei finito nel "loop del watchdog", anceh questo un problema con vecchie versioni del boot-loader

Anche usando l'Optiboot, che disattiva il watchdog all'avvio, se hai impostato un tempo troppo breve nel ciclo del watchdog ci finisci lo stesso, l'ho sperimentato poco tempo fa  ;)

lesto

ah, pensavo che avessero risolto disattivanto il watchdog all'avvio del boot-loader.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

simone_G

Ciao a tutti, allora sembra che si sia risolto.

Ho creato questo codice per prova:

Code: [Select]

void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);

}

void loop() {
 
  for(int i = 1; i <= 3; i++){
  // put your main code here, to run repeatedly:
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(3000);
  if(i == 3){
    for(int b = 1; b <= 10; b++){
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(500);
    }
  }
  }
}



L'ho caricato e sembra funzionare..............però ho omesso di dire un particolare.

Ci ho ragionato su, e mi son detto, se il chip si può cambiare, magari è messo male o ha qualche contatto con polvere o umidità, può succedere.
Così ho alzato il chip (core), e l'ho riabbassato un paio di volte, premendo bene che non sia alzato in maniera impercettibile, bè, sembra aver funzionato, infatti dopo aver attaccato l'usb, mi è partito col programma che avevo caricato ieri.
Ho caricato questo secondo programma, quello soprascritto, l'ho caricato, e funzionava, ho tolto l'usb, aspettato 10 secondi canonici, e riattaccato, ed è partito col programma caricato, l'ho riprovato altre due volte lo stacco dell'usb, e direi che ora è a posto.

Se avete suggerimenti per provare che non sia un falso positivo, ditemi pure.
Linux per sempre............

simone_G

Ho ricorretto il codice.........  :*


Code: [Select]

void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);

}

void loop() {
 
  for(int i = 1; i <= 3; i++){
  // put your main code here, to run repeatedly:
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(3000);
  if(i == 3){
    for(int b = 1; b <= 10; b++){
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(500);
    }
  }
  }
}



Linux per sempre............

lesto

non è che era appoggiataa qualcosa che gli faceva fare corto circuit, come un tavolo di ferro, una graffetta etc?? sempre meglio avere sotto un ripiano di legno, qualche foglio di carta, o quelle spugne antistatiche che ci sono neelle scatole di componenti elettonici per PC
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

simone_G


non è che era appoggiataa qualcosa che gli faceva fare corto circuit, come un tavolo di ferro, una graffetta etc?? sempre meglio avere sotto un ripiano di legno, qualche foglio di carta, o quelle spugne antistatiche che ci sono neelle scatole di componenti elettonici per PC


No è tutto sulla basetta di legno che c'era nello starter kit, quanto al contatto incidentale, può esserci stato, sinceramente non ti so dire, non me ne sono accorto al tempo del workshop, qui a casa no, sono stato attento.
Linux per sempre............

leo72

Che il chip sembri inserito bene ma che in realtà non lo sia è successo anche a me. Conviene sempre pigiare con un pò di forza, soprattutto se sotto ci sono gli zoccoli a molletta come nel caso dell'Arduino, con cui capitano questi falsi contatti.

Go Up