ilPistone.com

Free Time => Fai da te => Topic iniziato da: pasquale83 su Febbraio 01, 2016, 16:56:11 pm



Titolo: Arduino
Post di: pasquale83 su Febbraio 01, 2016, 16:56:11 pm
chi ha avuto piacere di giocarci?  ;D ;D ;D

esperienze?



Titolo: Re: Arduino
Post di: niu su Febbraio 01, 2016, 17:47:33 pm
troppo per me


Titolo: Re: Arduino
Post di: alura su Febbraio 01, 2016, 18:26:12 pm
Citato da: pasquale83 su Febbraio 01, 2016, 16:56:11 pm
chi ha avuto piacere di giocarci?  ;D ;D ;D

esperienze?




Chiedi pure, lo conosco come le mie tasche, anzi, probabilmente meglio... usiamo tantissimo il mega ed il micro...


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 01, 2016, 18:37:48 pm
Citato da: alura su Febbraio 01, 2016, 18:26:12 pm
Chiedi pure, lo conosco come le mie tasche, anzi, probabilmente meglio... usiamo tantissimo il mega ed il micro...
ho in mente un'idea, forse utilizzerà l'1% delle sue potenzialità, ma non mi frega :D

voglio controllare, con un controllore PID, l'acceleratore di un motocompressore :D


Titolo: Re: Arduino
Post di: alura su Febbraio 01, 2016, 18:52:58 pm
perfetto ! ;D :P


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 01, 2016, 19:11:18 pm
Citato da: alura su Febbraio 01, 2016, 18:52:58 pm
perfetto ! ;D :P
:P

saranno poche righe di comando credo (e spero :D )

un piccolo quadro comando per "impostare" la modalità automatica o manuale con 2 pulsanti ed 1 interruttore
i pulsanti serviranno per comandare il "+" ed il "-" manualmente e l'interrutore servirà per attivare la modalità automatica

ci sarà un trasduttore di pressione sulle bombole

e sto pensando di usare un servocomanda da modellismo come attuatore

chissà cosa ne uscirà fuori :D


si può dire che come raccolta di informazioni sto ancora a zero...
ma come logica di programmazione è simile ad un PLC oppure si programma con più libertà?

simulatori gratuiti ce ne sono? per la serie: faccio lo schema d'impianto, scrivo le 4 righe di comando,  implemento e vedo se funziona, simulando la variazione della pressione con un potenziometro


Titolo: Re: Arduino
Post di: alura su Febbraio 01, 2016, 19:55:19 pm
Arduino si programma in c/c++. Puoi usare l'ide di arduino che e' abbastanza basica, oppure l'ide di atmel (che si basa invece su visual studio). Per i pid ci sono delle librerie gia' fatte. Controllare qualche uscita digitale e leggere gli analogici (a patto siano 0-5vdc) e' molto semplice, pero' qualche base di c e' necessaria. Per i servo da modellismo ci sono delle librerie già fatta se non vuoi imparare a lavorare con le uscite pwm (se non ricordo male i servo da modellismo si controllano in frequenza).

Se vuoi lavorare in ladder (come plc, a me fa cagare :P) c'e' qualcosa di terzi, tipo http://autoware.com/autoware-ladder-tool-it/


Titolo: Re: Arduino
Post di: ChB su Febbraio 01, 2016, 20:03:40 pm
Io andavo, in Veneto, da un grande barbiere a farmi fare la barba che si chiama Arduino ... ;D


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 01, 2016, 21:29:07 pm
Citato da: alura su Febbraio 01, 2016, 19:55:19 pm
Arduino si programma in c/c++. Puoi usare l'ide di arduino che e' abbastanza basica, oppure l'ide di atmel (che si basa invece su visual studio). Per i pid ci sono delle librerie gia' fatte. Controllare qualche uscita digitale e leggere gli analogici (a patto siano 0-5vdc) e' molto semplice, pero' qualche base di c e' necessaria. Per i servo da modellismo ci sono delle librerie già fatta se non vuoi imparare a lavorare con le uscite pwm (se non ricordo male i servo da modellismo si controllano in frequenza).

Se vuoi lavorare in ladder (come plc, a me fa cagare :P) c'e' qualcosa di terzi, tipo http://autoware.com/autoware-ladder-tool-it/
il linguaggio ladder lo trovo macchinoso, anche se per problemi semplice sembra immediato...
la programmazione del PLC l'ho cmq fatta in AWL

però è proprio la logica del plc che è un po' ruvida :D


come trasduttore ho trovato questo:
http://www.ebay.it/itm/WOW-TRASDUTTORE-di-pressione-Sensor-150-PSI-PER-OLIO-COMBUSTIBILE-ARIA-ACQUA-/252027766801?hash=item3aae068811:g:q90AAOSwT6pVpgMB

dalle caratteristiche sembra poter andare bene



Titolo: Re: Arduino
Post di: J. C. su Febbraio 01, 2016, 21:36:35 pm
Citato da: ChB su Febbraio 01, 2016, 20:03:40 pm
Io andavo, in Veneto, da un grande barbiere a farmi fare la barba che si chiama Arduino ... ;D


Prima o poi dovrò raccontarti del barbiere di Asiago... ;D


Titolo: Re: Arduino
Post di: Emi su Febbraio 01, 2016, 21:51:13 pm
Se volete vi parlo del barbiere di Siviglia ;D


Titolo: Re: Arduino
Post di: alura su Febbraio 01, 2016, 22:33:12 pm
Citato da: pasquale83 su Febbraio 01, 2016, 21:29:07 pm
dalle caratteristiche sembra poter andare bene



si


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 01, 2016, 23:54:02 pm
ma per un segnale digitale di ingresso, quale può essere un pulsante o un interruttore,
immagino che non è corretto piazzare un semplice interruttore o pulsante direttamente all'ingresso, gli va messa in serie una resistenza per abbassare la corrente, giusto?


Titolo: Re: Arduino
Post di: ChB su Febbraio 02, 2016, 06:48:16 am
Citato da: Emi su Febbraio 01, 2016, 21:51:13 pm
Se volete vi parlo del barbiere di Siviglia ;D


... vediamo se la racconti giusta :P 8) ;D


Titolo: Re: Arduino
Post di: alura su Febbraio 02, 2016, 08:24:45 am
Citato da: pasquale83 su Febbraio 01, 2016, 23:54:02 pm
ma per un segnale digitale di ingresso, quale può essere un pulsante o un interruttore,
immagino che non è corretto piazzare un semplice interruttore o pulsante direttamente all'ingresso, gli va messa in serie una resistenza per abbassare la corrente, giusto?


Tu devi mettere una resistenza di pull-up oppure un pull-down, da 10k va bene.... esempio

(https://cdn.sparkfun.com/assets/6/f/b/c/7/511568b6ce395f1b40000000.jpg)

In realtà l'atmega puo' puo' farlo internamente su buona parte dei pin, quindi a te basta il pulsante.

https://www.arduino.cc/en/Tutorial/DigitalPins

Il pulsante puo' essere interessante collegarlo ad un digitale che permette di essere configurato come interrupt...


Titolo: Re: Arduino
Post di: Nick85 su Febbraio 02, 2016, 11:09:22 am
non ci crederai ma sto facendo esattamente quello che vuoi tu per modellismo.
Sto comandando dei servi con arduino mega con un tasto.

In pratica sto cercando di fare un plastico ferroviario utilizzando i servi al posto dei motori x scambio e gestendo il pannello con arduino.

Dopo ti posto lo sketch che ho scritto


Titolo: Re: Arduino
Post di: Nick85 su Febbraio 02, 2016, 11:18:07 am
ecco qui, questo è ancora work in progress, cambierà molto




#include <Servo.h>
#include <SoftwareSerial.h>
#include <program.h>


Servo myservo;              //Classe servi
#define LED 13                // LED collegato al pin digitale 13
#define BUTTON 7              // pin di input dove è collegato il pulsante
int val = 0;                  // si userà val per conservare lo stato del pin di input
int vecchio_val = 0;          // si userà vecchio_val per conservare lo stato del pin di input al passo precedente
int stato = 0;                // ricorda lo stato in cui si trova il led, stato = 0 led spento, stato = 1 led acceso
int maxpos = 170;            // max pos servo
int minpos = 10;              // min pos servo
int currpos =10;              //posizione corrente
int passo =2;
int i;

void setup() {
  pinMode(LED, OUTPUT);      // imposta il pin digitale come output
  pinMode(BUTTON, INPUT);    // imposta il pin digitale come input
  myservo.attach(8,700,2300);          //imposta il servo sulla porta nr 9
  Serial.begin(9600);
  myservo.write(currpos);
}
void loop() {
  val = digitalRead(BUTTON);  // legge il valore dell'input e lo conserva

  // controlla se è accaduto qualcosa
  if ((val == HIGH) && (vecchio_val == LOW)){
    stato = 1 - stato;
  }

  vecchio_val = val;            // ricordiamo il valore precedente di val
 
  Serial.print("stato ");
  Serial.println(stato);
 
 
  Serial.print("servo pos ");
  Serial.println(myservo.read());
 
 
  if (stato == 1){
    if (currpos <  maxpos) {
      currpos = currpos+passo;
      if (myservo.read() != currpos){
        myservo.write(currpos);
        }
    }
  digitalWrite(LED, HIGH);  // accende il led 
  delay(100);
  digitalWrite(LED, LOW);    //spegne il led
   
  } else{
    if (currpos >  minpos) {
      currpos = currpos-passo;
      if (myservo.read() != currpos){
        myservo.write(currpos);
      } 
    } 
  } 
  //myservo.write(currpos); 
  //delay(5);
Serial.print("currpos ");
Serial.println(currpos);
//Sleep(10);
delay(100);
}

void Sleep(int Time){
  Serial.println("TIME");
  for (i =0;i==Time;i+=1){
    if (stato == 1) {
      digitalWrite(LED, HIGH);  // accende il led 
      delay(100);
      digitalWrite(LED, LOW);    //spegne il led
      //myservo.write(currpos);
      Serial.println("blink "+i);
    }
  }
 
}


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 02, 2016, 15:14:02 pm
La mia idea è quella di riuscire a tarare il PID  in modo tale da avere un'apertura di farfalla proporzionale all'assorbimento

Il quadro comandi sarà ridotto all'osso:
Interruttore  on-off
Pulsante  +
Pulsante  -
Interruttore auto

Per quanto riguarda l'alimentazione, in fase di test posso alimentarlo con una Powerbank tramite usb?


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 02, 2016, 15:19:37 pm
Citato da: alura su Febbraio 02, 2016, 08:24:45 am
Tu devi mettere una resistenza di pull-up oppure un pull-down, da 10k va bene.... esempio

(https://cdn.sparkfun.com/assets/6/f/b/c/7/511568b6ce395f1b40000000.jpg)

In realtà l'atmega puo' puo' farlo internamente su buona parte dei pin, quindi a te basta il pulsante.

https://www.arduino.cc/en/Tutorial/DigitalPins

Il pulsante puo' essere interessante collegarlo ad un digitale che permette di essere configurato come interrupt...
aspe' che mi sono appena affacciato alla programmazione in C reale...

Ho dato una veloce letta al link da te postato,
In pratica scelgo il Pin , gli dico che è un ingresso e gli do valore alto, così l'altro estremo dell'interruttore invece che collegarlo al 5V, lo collego al gnd ?


Titolo: Re: Arduino
Post di: alura su Febbraio 02, 2016, 15:30:50 pm
Citato da: pasquale83 su Febbraio 02, 2016, 15:19:37 pm
aspe' che mi sono appena affacciato alla programmazione in C reale...

Ho dato una veloce letta al link da te postato,
In pratica scelgo il Pin , gli dico che è un ingresso e gli do valore alto, così l'altro estremo dell'interruttore invece che collegarlo al 5V, lo collego al gnd ?


si esatto  ;)


Titolo: Re: Arduino
Post di: Raven su Febbraio 02, 2016, 16:07:26 pm
io avevo una fidanzata che abitava in piazzale Arduino


Titolo: Re: Arduino
Post di: THE KAISER su Febbraio 02, 2016, 16:27:38 pm
wow, un intero thread di cui ignoro totalmente l'argomento della discussione...ma per curiosità, di cosa parlate?! ;D
è un linguaggio di programmazione o cosa?


Titolo: Re: Arduino
Post di: &re@ su Febbraio 02, 2016, 16:28:41 pm
Lo ignoravo anche io, comunque --> https://it.wikipedia.org/wiki/Arduino_%28hardware%29

https://www.arduino.cc/


Titolo: Re: Arduino
Post di: Nick85 su Febbraio 04, 2016, 08:39:34 am
ma quel sensore come funziona?

è una resistenza variabile?

Se così fosse ti consiglio di prendere spunto da qua

http://www.mauroalfieri.it/elettronica/tutorial-arduino-led-rgb-e-potenziometri.html

nel caso in cui fosse un interruttore ti consiglio invece questo:
http://www.mcmajan.com/mcmajanwpr/?p=769

che spiega bene le resistenze di pull up e pull down


Titolo: Re: Arduino
Post di: alura su Febbraio 04, 2016, 09:05:41 am
Citato da: Nick85 su Febbraio 04, 2016, 08:39:34 am
ma quel sensore come funziona?



quel sensore esce con una tensione proporzionale alla pressione... lo puoi collegare direttamente ad un analogico.


Titolo: Re: Arduino
Post di: jimb0 su Febbraio 04, 2016, 09:16:35 am
Citato da: &re@ su Febbraio 02, 2016, 16:28:41 pm
Lo ignoravo anche io


ti facevo piu' nerd!


Titolo: Re: Arduino
Post di: &re@ su Febbraio 04, 2016, 09:34:00 am
Sono pieno di contraddizioni :P

Il fatto è che mi piace passare il tempo a smanettare sulle cose che fanno brum brum, l'elettronica è stata un "errore di gioventù" che non ha avuto seguito. Non nutro nessun interesse in queste cose.


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 04, 2016, 17:11:21 pm
Citato da: Nick85 su Febbraio 04, 2016, 08:39:34 am
ma quel sensore come funziona?

è una resistenza variabile?

Se così fosse ti consiglio di prendere spunto da qua

http://www.mauroalfieri.it/elettronica/tutorial-arduino-led-rgb-e-potenziometri.html

nel caso in cui fosse un interruttore ti consiglio invece questo:
http://www.mcmajan.com/mcmajanwpr/?p=769

che spiega bene le resistenze di pull up e pull down
il trasduttore ha 3 connessioni, 2 per l'alimentazione (5V e GND), e la terza da in uscita un valore di tensione proporzionale, in questo caso, alla pressione,
0V a 0bar e 5V a fondo scala

che, se ho capito bene per quel po' che sto leggendo, arduino interpreta, sull'ingresso analogico,  con valori che vanno da 0 a 1024
Citato da: alura su Febbraio 04, 2016, 09:05:41 am
quel sensore esce con una tensione proporzionale alla pressione... lo puoi collegare direttamente ad un analogico.
stavo pensando di sostituire i 2 pulsanti per il comando manuale, con un potenziometro, così da avere una programmazione più pulita (alias: un buon copia e incolla ;D )

dovrei uscirmene con un semplice if/else

del tipo:
se l'interruttore "auto" è down applica il controllo automatico dell'acceleratore
altrimenti leggi il potenziomentro e "sposta" il servocomando


altra fulminata di genio: (o fumata?!  :D )
durante i test userò il pc per leggere i valori in uscita al potenziometro per "tarare" il controllore, quindi l'alimentazione sarà fornita dal pc

ma una volta terminato il tutto, vorrei alimentare arduino con una dinamo di una bicicletta collegata alla cingha che collega il motore al compressore  ;D
ovviamente dovrò raddrizzare e stabilizzare l'uscita della dinamo (che in realtà è un alternatore a 4 bobine) e qui mi servirà un bel aiuto  :-\
so che ci vuole un ponte di greatz ed un condensatore di sicuro... ma dopo?  :-\
che condensatore? che capacità? ci vuole qualche resistenza per "aiutare" il condensatore? ???


Titolo: Re: Arduino
Post di: jimb0 su Febbraio 04, 2016, 17:21:40 pm
Citato da: pasquale83 su Febbraio 04, 2016, 17:11:21 pm
ma una volta terminato il tutto, vorrei alimentare arduino con una dinamo di una bicicletta collegata alla cingha che collega il motore al compressore  ;D
ovviamente dovrò raddrizzare e stabilizzare l'uscita della dinamo (che in realtà è un alternatore a 4 bobine) e qui mi servirà un bel aiuto  :-\
so che ci vuole un ponte di greatz ed un condensatore di sicuro... ma dopo?  :-\
che condensatore? che capacità? ci vuole qualche resistenza per "aiutare" il condensatore? ???


ma che marrazzo vi danno da fumare laggiu'?!? C'hai la 12 volt gia' in continua, no? Ti basta portarla a 5, che marrazzo te ne fai di una dinamo per bicicletta?!?!?!?


Titolo: Re: Arduino
Post di: alura su Febbraio 04, 2016, 17:25:50 pm
Citato da: pasquale83 su Febbraio 04, 2016, 17:11:21 pm
ma una volta terminato il tutto, vorrei alimentare arduino con una dinamo di una bicicletta collegata alla cingha che collega il motore al compressore  ;D
ovviamente dovrò raddrizzare e stabilizzare l'uscita della dinamo (che in realtà è un alternatore a 4 bobine) e qui mi servirà un bel aiuto  :-\
so che ci vuole un ponte di greatz ed un condensatore di sicuro... ma dopo?  :-\
che condensatore? che capacità? ci vuole qualche resistenza per "aiutare" il condensatore? ???


A me pare un po' una cazzata questa  :P


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 04, 2016, 18:11:04 pm
Citato da: jimb0 su Febbraio 04, 2016, 17:21:40 pm
ma che marrazzo vi danno da fumare laggiu'?!? C'hai la 12 volt gia' in continua, no? Ti basta portarla a 5, che marrazzo te ne fai di una dinamo per bicicletta?!?!?!?
no, non ho la 12V
il motore è di quelli con avviamento a corda, ha l'accensione(intesa come "scintilla" ;D ) elettronica, ma chissà con che cappero di tensione lavora
Citato da: alura su Febbraio 04, 2016, 17:25:50 pm
A me pare un po' una cazzata questa  :P
lo so :D
ma la dinamo lavora a 6V alternata... quindi voglio provarci
anche perchè su arduino se alimento tramite il "jack tondo" posso andare, in continua, dai 6V ai 12V e si regola onboard


Titolo: Re: Arduino
Post di: alura su Febbraio 04, 2016, 18:39:03 pm
Citato da: pasquale83 su Febbraio 04, 2016, 18:11:04 pm
lo so :D
ma la dinamo lavora a 6V alternata... quindi voglio provarci
anche perchè su arduino se alimento tramite il "jack tondo" posso andare, in continua, dai 6V ai 12V e si regola onboard


se e' per divertimento ok, altrimenti e' senza senso. Probabilmente anche tu, come tutti, hai un alimentatore di un vecchio cellulare da usare.


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 04, 2016, 19:27:25 pm
Citato da: alura su Febbraio 04, 2016, 18:39:03 pm
se e' per divertimento ok, altrimenti e' senza senso. Probabilmente anche tu, come tutti, hai un alimentatore di un vecchio cellulare da usare.
e dove lo attacco?! :D


Titolo: Re: Arduino
Post di: alura su Febbraio 04, 2016, 20:28:17 pm
Citato da: pasquale83 su Febbraio 04, 2016, 19:27:25 pm
e dove lo attacco?! :D


Il compressore e' a pedali ?


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 04, 2016, 22:54:01 pm
Citato da: alura su Febbraio 04, 2016, 20:28:17 pm
Il compressore e' a pedali ?
è un motocompressore

ovvero, c'è un piccolo motore monocilindrico a benzina con avviamento a corda/strappo



Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 04, 2016, 23:28:12 pm
leggendo qui http://www.mauroalfieri.it/elettronica/tutorial-usare-la-eeprom-di-arduino.html

mi sembra di capire che se carico un programma e stacco l'alimentazione,
quando ridò corrente arduino non se ne ricorda!? :o cioè carica il programma sulla RAM?

c'è modo renderlo "autonomo"?
del tipo:
metto in moto il motocompressore
la dinamo inizia a produrre
commuto l'interruttore su ON
arduino si avvia  ed esegue il programma

???


Titolo: Re: Arduino
Post di: alura su Febbraio 05, 2016, 07:30:35 am
Ahahah allora si. Certo che se lo ricorda... il tuo programma lo tiene in flash. Poi hai almeno 1kb di eeprom per i tuoi dati.


Titolo: Re: Arduino
Post di: Nick85 su Febbraio 05, 2016, 08:32:24 am
uhm.... attento però che arduino è stronzo, ha il maledetto vizio di bruciarsi in quanto non regge assorbimenti elevati.

Quanto assorbe quel sensore?

Arduino eroga al max 50mA infatti io i servi (saranno 8 ) li alimenterò esternamente
qui vedi le specifiche del mega https://www.arduino.cc/en/Main/ArduinoBoardMega2560

Tranquillo che una volta caricato il programma se lo ricorda e funziona anche solo attaccando l'alimentazione (senza pc connesso).
Quello che perdi è la valorizzazione delle variabili, se tu vedi il mio sketch all'inizio inizializzo le variabili ed ad alcune assegno un valore (ad esempio l'integer i non lo ha, le altre si).



Citato da: Nick85 su Febbraio 02, 2016, 11:18:07 am
ecco qui, questo è ancora work in progress, cambierà molto




#include <Servo.h>
#include <SoftwareSerial.h>
#include <program.h>


Servo myservo;               //Classe servi
#define LED 13                // LED collegato al pin digitale 13
#define BUTTON 7              // pin di input dove è collegato il pulsante
int val = 0;                  // si userà val per conservare lo stato del pin di input
int vecchio_val = 0;          // si userà vecchio_val per conservare lo stato del pin di input al passo precedente
int stato = 0;                // ricorda lo stato in cui si trova il led, stato = 0 led spento, stato = 1 led acceso
int maxpos = 170;             // max pos servo
int minpos = 10;               // min pos servo
int currpos =10;               //posizione corrente
int passo =2;
int i;





Questo vuol dire che appena attacchi l'alimentazione le variabili hanno quei valori, se però tu nel corso del programma cambi le valorizzazioni o ad esempio crei un file di testo con dentro un log, lo perdi.
Se vuoi salvare i dati devi collegare una memoria e nel programma devi salvarci i dati dentro.
Un modo può essere una sd card

http://www.ebay.it/itm/Lettore-SD-card-reader-writer-pic-arduino-shield-ART-CL05-/230946319527?hash=item35c5792ca7:g:G2YAAOSw7hRWOdKb



Titolo: Re: Arduino
Post di: alura su Febbraio 05, 2016, 08:50:58 am
Citato da: Nick85 su Febbraio 05, 2016, 08:32:24 am
uhm.... attento però che arduino è stronzo, ha il maledetto vizio di bruciarsi in quanto non regge assorbimenti elevati.

Quanto assorbe quel sensore?

Arduino eroga al max 50mA infatti io i servi (saranno 8 ) li alimenterò esternamente



No, non e' vero, il pin 5v che arriva dal regolatore ti da 800 mA teorici, immagino che puo' assorbire tranquillamente 500mA.... i 50 mA che dici tu sono sui 3.3v, perche' i digitali in uscita sono limitati a 20mA (come tutti i digitali di un micro). Infatti se vuoi accendere un led devi mettere una resistenza di limitazione sul led. Se vuoi eccitare un rele' minimo minimo ti ci vuole un transistor.

Cioe', non e' la casa delle libertà, i pin sono collegati direttamente al micro atmel, ci sono delle regole ben precise. Arduino non ha fatto altro che mettere un bootloader comodo (che noi in genere sostituiamo :P), un alimentazione regolata e dei comodi pin.


Titolo: Re: Arduino
Post di: Nick85 su Febbraio 05, 2016, 09:35:48 am
hai ragione, non trovavo nel datasheet il massimo erogato dal pin 5V quindi ho dato x assunto che fosse uguale al 3.3V

In ogni caso x 8 servi + 16 led preferisco non accedere nel mio caso, anche se i led li farò blinkare uno alla volta. Voglio fare qualcosa di duraturo...


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 05, 2016, 15:52:40 pm
allora ricapitolando:

non posso alimentare il trasduttore da una fonte esterna che eroga più di 5V se no mi sballa la lettura sul pin analogico (come segnale, avendo un volore proporzionale alla tensione di alimentazione...)

quindi devo alimentarlo per forza dalla 5V di arduino

il servocomando posso alimentarlo esternamente? se lo alimento con 6V (valore accettato dal servo),  il posizionamento non cambierà, giusto? perchè il posizionamento è legato solo al segnale digitale in ingresso, giusto?


Titolo: Re: Arduino
Post di: Nick85 su Febbraio 05, 2016, 16:17:52 pm
la posizione del servo dipende solo dalla frequenza del segnale pwm, infatti se usi il comando writeMicroseconds puoi impostare direttamente la frequenza invece dell'angolo in gradi.
Non so se il voltaggio maggiore può dare problemi al gnd di arduino.


Titolo: Re: Arduino
Post di: alura su Febbraio 05, 2016, 16:53:14 pm
Citato da: pasquale83 su Febbraio 05, 2016, 15:52:40 pm
non posso alimentare il trasduttore da una fonte esterna che eroga più di 5V se no mi sballa la lettura sul pin analogico (come segnale, avendo un volore proporzionale alla tensione di alimentazione...)


Il regolatore che hai scelto consuma memp di 10 mA, lo puoi alimentare dal pin 5V dell'arduino. I servo non li conosco abbastanza, ma immagino che serva un bel po di birra... qui si parla di ampere...

https://www.pololu.com/blog/16/electrical-characteristics-of-servos-and-introduction-to-the-servo-control-interface

Ma che tipo di dinamo vorresti usare ? Secondo me per fare le cose fatte bene dovresti valutare di mettere un pacco batterie... la dinamo ricarica il pacco batterie ed il pacco batterie ti da tutta l'energia che ti serve (soprattutto di spunto) ed e' una sorgente stabile per l'arduino.


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 06, 2016, 13:47:23 pm
allora allora...

mi sa che userò 2 trasduttori di pressione (sto cercando di affinare l'algoritmo...)

quindi dovrò alimentare:
2 trasduttori
1 servocomando
1 potensiometro
1 interruttore

se ho capito bene, il servo lo alimento esternamente
i 2 trasduttori ed il potenziometro dalla 5V
l'interruttore, per evitare di mettere resistenze varie, lo userò collegato al negativo (come si dice tecnicamente? :-\ :-[ ) ...

ho un dubbio sull'interruttore e sul potenziometro
il potenziomentro in posizione tutto.chiuso(0V) avrà un assorbimento irrisorio (se non erro è un 10kOhm) ma in posizione tutto.aperto(5V) avrà un assorbimento maggiore, giusto? devo limitarlo? come? col comando "map()" posso "tararlo" a piacere, quindi posso fargli dare in uscita una tensione di 1V e farla "interpretare" ad arduino come posizione di tutto.aperto (stessa cosa che farò con i trasduttori)

poi, l'interruttore sarà sì "alimentato" dal pin, ma che assorbimento avrà? sarà cmq un corto circuito fino al pin, arduino come limita l'assorbimento sul pin?


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 06, 2016, 16:04:20 pm
Citato da: alura su Febbraio 05, 2016, 16:53:14 pm
[CUT]

Ma che tipo di dinamo vorresti usare ? Secondo me per fare le cose fatte bene dovresti valutare di mettere un pacco batterie... la dinamo ricarica il pacco batterie ed il pacco batterie ti da tutta l'energia che ti serve (soprattutto di spunto) ed e' una sorgente stabile per l'arduino.


una dinamo da bicicletta, di tipo "classico", non le moderne incorporate nel mozzo ruota

tipo questa per intenderci:
http://www.ciclimolinari.it/products.php?product=Dinamo-Alluminio-Owlet

ne ho una in garage recuperata da una vecchia graziella :D

se ha 4 bobine, il ripple dovrebbe essere abbastanza ridotto (non ricordo il calcolo considerando il ritardo dei diodi)

la batteria "tampone" avevo gia pensato di metterla,
pensavo ad una batteria al pb 6V 4Ah di quelle sigillate


l'intenzione è quella di dare il moto alla dinamo mettendola a contatto con la puleggia del compressore, che essendo più grande, varierà di meno il numero di rpm al variare del numero di rpm del motore

di solito sono tutte 6V 3W


Titolo: Re: Arduino
Post di: alura su Febbraio 06, 2016, 18:24:06 pm
Per il potenziometro ristudiati i partitori che ti rispondi da solo, vale anche per l'interruttore... l'atmega ha un pullup da almeno 20kohm, quindi con l'interruttore premuto circolano massimo 0.25 mA, direi che puoi stare tranquillo.


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 06, 2016, 18:51:10 pm
Citato da: alura su Febbraio 06, 2016, 18:24:06 pm
Per il potenziometro ristudiati i partitori che ti rispondi da solo, vale anche per l'interruttore... l'atmega ha un pullup da almeno 20kohm, quindi con l'interruttore premuto circolano massimo 0.25 mA, direi che puoi stare tranquillo.


scusa, ma un potenziometro, posizionato sul fondoscala, non si comporta come un c.c.? (quindi come un interruttore chiuso)


Titolo: Re: Arduino
Post di: alura su Febbraio 06, 2016, 20:08:19 pm
I due rami del potenziometro, qualunque sia la posizione del cursore, come somma fanno il valore del potenziometro. Il centrale va sul pin analogico dell'arduino, che e' naturalmente ad alta impedenza, non circola corrente.


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 07, 2016, 01:06:25 am
Ah ecco! Non sapevo che il pin  è ad alta impedenza


Titolo: Re: Arduino
Post di: pasquale83 su Febbraio 09, 2016, 16:44:00 pm
con fritzing ho buttato uno schemino
a livello hw non dovrebbe mancare niente  :-\

ovviamente non ci sono dei trasduttori di pressione nel programma è li ho sostituiti con dei potenziometri, tanto elettricamente si comportano alla stessa maniera  ;D

poi ho collegato la batteria al Vin, è sbagliato, ma nel programma non c'è la connessione con jack tongo ... che programma di cacca  :-X


ilPistone.com | Powered by SMF 1.0.2.
© 2001-2004, Lewis Media. All Rights Reserved.