Show Posts
Pages: 1 ... 387 388 [389] 390 391 ... 663
5821  International / Generale / Re: controllare 2 servi con 2 potenziometri! on: March 20, 2012, 03:53:53 am
wow grazie 6 stato chiarissimo!! che potenziometri mi consigli? i 2 servi dovranno azionare lo zoom e il fuoco di una reflex, per cui mi occorrono movimenti lenti e fluidi, ma modulabili...

Come potenziometri va bene un valore compreso tra 5k e 10k, fai attenzione a prenderli con variazione lineare e non logaritmica.
Per la tua applicazione il vero problema sono i servo che devono essere di alta qualità se vuoi ottenere un movimento preciso e realmente fluido.
Sarebbe consigliabile modificare lo sketch con il controllo in microsecondi invece che in gradi, ottieni una risoluzione 11 volte maggiore su i 180° della corsa, sopratutto se usi servo digitali da 12 bit (= $$$) che offrono una risoluzione effettiva di 0.1° contro i 0.3 - 0.4 dei modelli a 10 bit.

Lo sketch modificato con il controllo in microsecondi diventa così:
Code:
// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

#include <Servo.h>
 
Servo myservo;  // create servo object to control a servo
Servo myservo2; // secondo servo
 
int potpin = 0;  // analog pin used to connect the potentiometer
int potpin2 = 1;  // secondo potenziometro collegato a A1
int val;    // variable to read the value from the analog pin
 
void setup()
{
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.attach(10); // secondo servo al pin 10
}
 
void loop()
{
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
 //val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
 // myservo.write(val);                  // sets the servo position according to the scaled value
 myservo.writeMicroseconds((val*2)+510); // 180° di escursione con risoluzione del comando di 0.18°

  val = analogRead(potpin2);            // secondo servo
  //val = map(val, 0, 1023, 0, 179);
 // myservo2.write(val);
 myservo2.writeMicroseconds((val*2)+510);

 delay(15);                           // waits for the servo to get there
}
5822  International / Generale / Re: controllare 2 servi con 2 potenziometri! on: March 20, 2012, 03:31:39 am
Questo è lo sketch knob, è tra gli esempi di Arduino, modificato per gestire due servo tramite due potenziometri, le modifiche sono le righe con commenti in Italiano.
Il primo servo è collegato al pin 9 e il secondo al pin 10, ovviamente puoi cambiarli a tuo piacere, il primo potenziometro a A0 e il secondo a A1, il potenziometro deve essere collegato con il centrale all'ingresso ADC e i due laterali a +5V e GND.

Code:
// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

#include <Servo.h>
 
Servo myservo;  // create servo object to control a servo
Servo myservo2; // secondo servo
 
int potpin = 0;  // analog pin used to connect the potentiometer
int potpin2 = 1;  // secondo potenziometro collegato a A1
int val;    // variable to read the value from the analog pin
 
void setup()
{
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.attach(10); // secondo servo al pin 10
}
 
void loop()
{
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
  val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
  myservo.write(val);                  // sets the servo position according to the scaled value

  val = analogRead(potpin2);            // secondo servo
  val = map(val, 0, 1023, 0, 179);
  myservo2.write(val);

  delay(15);                           // waits for the servo to get there
}
5823  International / Generale / Re: Velocità lettura sd eth shield on: March 20, 2012, 03:24:41 am
scaricare da web un file da 6Mb prelevato dalla SD ci mette circa 6 minuti .... facciamo un mega al minuto smiley

Sono poco meno di 17 kBs, insomma siamo sempre li  smiley
5824  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 20, 2012, 02:20:55 am
Capisco ciò che dici ma se non si risolve con un'opzione perché il bug è segnato come "fixed"?

Per me non è assolutamente fixed, e poi gli unici che possono dire fixed sono i ragazzi di GNU.org se parliamo del loro avr-gcc non modificato.
5825  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 20, 2012, 02:19:25 am
Però già sarebbe una buona cosa: in questo modo se riesco a compilare la toolchain con le patch Ateml, posso infilarla nell'albero dell'IDE e risolvo il problema.

Il problema è proprio questo, a quanto pare non sono disponibili tutti i sorgenti di Atmel, quindi non puoi ricompilare la loro toolchain, puoi solo usare i loro eseguibili già compilati.
La questione 256k non la risolvi con l'avr-gcc ufficiale, per esempio c'è l'issue sul bug eicall oltre i 128k che non è ancora risolta, e solo questa basta a invalidare la compilazione oltre tale limite.
5826  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 20, 2012, 02:13:57 am
Aggiungo anche che pare risolto anche il bug degli sketch compilati per micro con più di 128k
che è dato per risolto.

Non si risolve con una opzione da riga di comando, il problema è insito nel compilatore ed è un suo limite, però questa cosa conferma che l'Arduino team è a conoscenza del problema almeno dal Novembre 2011, quindi non capisco come mai Massimo ne ha negato l'esistenza.
Allo stato attuale delle cose pare che solo la Toolchain di Atmel è in grado di compilare correttamente per micro con più di 128k di flash.


5827  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 20, 2012, 02:06:17 am
Forse questo risolve il problema del thread che ho aperto. Ora scarico questa beta e provo subito

Non credo, questo è quello che c'è scritto nel readme per la toolchain, non mi pare che sia quella Atmel, semplicemente forzano l'IDE ad usare quella posta nella sua cartella invece di quella presente nel sistema, esattamente come avviene in Windows.

Code:

VR Toolchain for 32 bit Linux (i486-linux-gnu)

This toolchain was created by extracting the Debian gcc-avr and binutils-avr
packages from Ubuntu 9.04 (Jaunty Jackalope).  These versions closely match
the toolchain Arduino bundles on Mac and Windows.

AVR libc 1.6.4 was compiled compiled from source on Jaunty and then and
copied to the avr/lib/avr directory.  The eeprom.h file was replaced by
Arduino's modified copy.

Ubuntu libraries libgmp and libmpfr were copied to avr/lib.  The main
gcc binaries avr-gcc, avr-g++ and avr-cpp were moved to avr/bin.gcc, and
scripts were placed in the avr/bin directory to run these with
LD_LIBRARY_PATH set to use libgmp and libmpfr from the avr/lib directory.

A patch was applied to the Arduino IDE to use this toolchain if the
tools/avr/bin directory is present.  If this directory is removed, Arduino
will attempt to use the AVR toolchain provided by your system.

Finally, this readme file was added.
5828  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 20, 2012, 01:28:36 am
Anche io.
Inoltre, qualcuno ha il link per l'IDE 1.0.1 beta che ha indicato Massimo Banzi?

Trovi i vari link qui.
5829  International / Generale / Re: Velocizzare compilazione sketch.......... on: March 20, 2012, 01:20:40 am
Non ho Windows ma mi pareva che questo problema riguardasse l'apertura del menu per la scelta della porta a cui è agganciato l'Arduino.

Si, il bluetooth attivo, sopratutto sui notebook, può creare problemi con l'enumerazione delle porte seriali presenti e rallentare moltissimo l'IDE a livello di menù o addirittura bloccare l'upload sul micro, però non mi pare che crei problemi durante la compilazione.
5830  International / Generale / Re: Velocità lettura sd eth shield on: March 20, 2012, 01:00:40 am
Mi chiedevo, qual'è la velocità di lettura dalla sd card sulla ethernet shield ufficiale?
Utilizzo la eth shield come web server e per l'sd log ed ho notato che un file di log da 64k viene giù a 5k al secondo. Un po' lentino. E' normale?

Il collo di bottiglia è Arduino, più di tanto non può fare, la lettura della SD e la gestione della ETH avvengono entrambe attraverso la SPI che deve essere condivisa tra questi due device.
Prima Arduino legge la SD 512 byte per volta, un blocco dati, e deve fare vari accessi solo per leggere la fat, poi deve accedere al file vero e proprio per poterlo inviare, sempre 512 byte per volta, ogni blocco dati va inviato alla ETH che a sua volta deve inviarlo in rete con tutte le latenze del caso.
Alla fine anche se Arduino può dialogare con la ETH e la SD a circa 250 kBs reali, da non confondersi con la velocità massima della SPI, per via delle varie operazioni intermedie e le latenze della rete ecco che difficilmente vai oltre i 5/10 kBs come transfer rate reale sul network.

5831  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 19, 2012, 02:22:09 pm
Quasi sicuramente domani arriva anche la versione per la 1.0, ho capito da cosa dipendono gli ultimi problemi.

5832  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 19, 2012, 01:48:45 pm
Ma il compilatore che andremo ad usare è contenuto nella toolchain?

La toolchain è il compilatore più tutti i programmi accessori e le sue librerie.
La nuova versione è avr-gcc 4.5.1 release Atmel, ovvero è modificato/corretto da loro rispetto alla versione ufficiale.
5833  International / Generale / Re: capacimetro per condensatori on: March 19, 2012, 01:27:23 pm
.... sbaglio ??

Si, e pure tanto  smiley-grin
5834  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 19, 2012, 01:23:57 pm
e vorrei installare sulla mia 0022 (ditemi se tutto va anche sulla 0023) le ultime versioni di ogni cosa che avete lavorato, per fare un super aggiornamento, è possibile?

Io sto provando con la 0023, BB con la 0022, quindi è confermato che funziona con tutte e due le versioni, per la 1.0 ci sono ancora delle cose da sistemare e avrà una sua installazione differenziata.

Quote
Domanda @ BB: il tuo AVRDUDE che scrive anche sulle lapidi si può piazzare alla fine sopra il lavoro di Astro o non c'entra niente?

Avrdude è solo un programma di servizio, viene invocato dall'IDE e non dal compilatore, quindi non ci sono problemi per aggiornarlo all'ultima versione visto che ora prevede anche il supporto all'autoreset.



5835  International / Megatopic / Re: MINI-GUIDA: Aggiornare il compilatore dell'IDE alla versione 4.3.3 (jan2010) on: March 19, 2012, 12:54:15 pm
@Astro che ne dici di pakkare il tutto in una cartella che si chiama già avr così basta rinominare la vecchia cartella in avr_OLD

Avevo già valutato questa soluzione, però non sono sicuro che la toolchain Atmel si possa ridistribuire in toto senza violare qualche copyright, devo controllare per bene con quali licenze è distribuita.
Pages: 1 ... 387 388 [389] 390 391 ... 663