segnavento

salve a tutti, oggi mi è arrivato l'encoder:

600 P/R (monofase 600 impulsi/R, due fase 4 frequenza raddoppio a 2400 impulsi)
DC5 - 24 V ampia tensione di alimentazione
Velocità: più di 5000 giri/min
Albero: 6 mm/0,6 cm

volevo realizzare un segnavento, che mi desse il dato di angolo del vento rispetto al nord bussola,
siccome devo comprare ancora la scheda arduino volevo sapere se ce ne una piu indicata per encoder o stepper motor, e se posso collegare direttamente l'encoder alla scheda oppure mi serve qualcos' altro tra i due. inoltre volevo alimentare tutto a batteria visto che l'encoder funiona ache a 5v . scusate ma sono proprio a zero con le nozioni tecniche, vorrei fare prima un test di collegamento con dei led per verificare il funzionamento dell'encoder poi iniziare a scrivere il programma per commutare gli spostamenti dell' encoder
in valori angolari. intanto vi ringrazio per la vostra pazienza.

  1. senza che ci dai il datasheet o il modello del encoder non sappiamo risponderti
  2. l' encoder va a 5 o a 24V?
  3. sembra che sia incrementale, Ha un indice di home?
  4. cosa c'entra un motore passo passo?
  5. per la direzione del vneto userei un encoder assoluto e non uno incrementale.

Nessun Arduino ha un interfaccia dedicata a un encoder. Percui vanno ben tutti allo stesso modo.
Ciao Uwe

Descrizione
Nota: il colore dell' articolo può variare leggermente a causa della fotografia e il proprio computer
600 P/R (monofase 600 impulsi/R, due fase 4 Frequenza raddoppio a 2400 impulsi).
Con piccole dimensioni, peso leggero, facile da installare e conveniente Caratteristiche.
Per misurare le merci, l' accelerazione angolare, lunghezza misura e la velocità di rotazione
Applicare a una varietà di controllo intelligente di misurazione spostamento, misura Altezza del corpo scala civili e così via
Connessione:
rosso = una fase, verde = B, bianco = VCC Potenza +, nero = Potenza -
Nota: AB 2phase uscita non deve essere collegato direttamente con VCC, altrimenti, si brucia l' uscita triodo.
Caratteristiche del prodotto:
dc5 - 24 V ampia tensione di alimentazione
Velocità: più di 5000 giri/min
Diametro albero: 6 mm/0,6 cm, 13 mm/1,3 cm Lunghezza
Dimensioni: diametro 39 mm/3,9 cm, 36.5 mm/3,6 cm Lunghezza
Uscita: AB 2phase rettangolare ortogonale Pulse circuito, l' uscita per il tipo di uscita NPN Open Collector
Contenuto della confezione:
1 x encoder rotativo encoder incrementale 600P/R

forse sarebbe meglio il link al inserzione.
Ciao Uwe

https://www.amazon.it/gp/aw/s/ref=nb_sb_noss/259-9612469-7057561?k=ASIN%3A+B00IJ788AA

Da quello che ho capito io funziona sia a 5v che 24v ma credo con modalità differenti

SE il prodotto è QUESTO, allora, nei commenti, c'è uno che ha messo esattamente i collegamenti ed un codice di prova:

Seems to work well. The shaft is very smooth and low-friction. There are several questions about the correct wiring diagram, and the answers seem inconsistent, so I created and have attached a color key obtained using Google Translate -- match these to your unit for correct wiring. I've removed one star for poor documentation.

I found that by using the INPUT_PULLUP mode on a standard Arduino UNO board, I did not need any external pullup resistors. And the unit ran happily using just the USB-provided 5V supply. Another reviewer (Kevin Blasko) of a similar item posted some sample code. I modified it slightly for my unit and repost it here:

Wiring connections for my encoder:

Red : VCC = 5V
Black: 0V = GND
White: OUTA = Digital pin 2
Green: OUTB = Digital pin 3

With these OUTA/OUTB connections and the interrupt code below, clockwise rotation gives positive encoder counts.

const int outA = 2;
const int outB = 3;
volatile long encoder = 0; // declare volatile since modified by interrupt routines
long encoder_save = 0;

void setup() {
// set encoder pins
pinMode(outA, INPUT_PULLUP);
pinMode(outB, INPUT_PULLUP);

// attach interrupts to pins
// call digitalPinToInterrupt(pin) to be compatible with different Arduino boards
attachInterrupt(digitalPinToInterrupt(outA), outAChange, CHANGE);
attachInterrupt(digitalPinToInterrupt(outB), outBChange, CHANGE);

// initialize serial
Serial.begin(9600);
Serial.println("");
Serial.println("Rotary encoder test.");
}

void loop() {
if (encoder_save != encoder) { // only print if new value
encoder_save = encoder;
Serial.println(encoder);
}
delay(100);
}

// interrupt routines
void outAChange() {
// when outA changes, outA==outB means negative direction
encoder += digitalRead(outA) == digitalRead(outB) ? -1 : 1;
}

void outBChange() {
// when outB changes, outA==outB means positive direction
encoder += digitalRead(outA) == digitalRead(outB) ? 1 : -1;
}

Guglielmo

Rimane il fatto che NON ti puo dare l'angolo direzionale del vento, essendo un'encoder incrementale e non assoluto ... un'incrementale ti da un tot di impulsi per giro, ma NON ti dice in quale posizione e' l'albero dell'encoder (a meno che non abbia anche un'uscita "0" per la posizione di start, ed anche in quel caso dovresti calcolartela tu contando da quando passa per lo start) ... mentre un'encoder assoluto ti da esattamente la posizione in cui si trova l'albero, rispetto allo zero meccanico, per cui puo essere usato anche per rilevare posizioni indipendentemente dal punto di partenza o dal passaggio per lo zero ... gli encoder assoluti possono avere l'uscita di due tipi, binaria (tanti fili, uno per ogni bit, dipende dalla risoluzione), oppure digitale (l'elettronica interna da la posizione in forma numerica tramite interfaccia SSI, SPI, I2C, RS485, anche qui dipende dal modello, ce ne sono diversi tipi)

Ok allora dovrei comprare un encoder assoluto, come scheda ho comprato un arduino Leonardo, per collegare l encoder alla scheda o alla millefori senza fare saldature ci sono degli spinotti a pressione o qualcosa del genere? Se esistono ( immagino di sì) come si chiamano? Intanto Nell attesa che mi arrivi la scheda provo a cercare su Amazon per l encoder

provo a cercare su Amazon per l encoder

Costicchiano............

Ultimamente su ebay ci sono un casino di assoluti "usati" intorno ai 40 Euro, ma sono da 256 di risoluzione (1 giro = 256 posizioni), insufficenti per ottenere tutti i gradi precisi (ma si puo fare un'approssimazione, se non serve la precisione del grado, cosa peraltro abbastanza inutile con il vento ... la maggior parte delle indicazioni per la provenienza del vento si limitano a 16 o 32 posizioni massime ... 256 sarebbe gia molto piu preciso di una stazione meteo professionale :smiley:

Nuovi, si parte dai 160 Euro e si sale ...

C'e' forse (e sottolineo FORSE, serve controllare che non abbia scatti meccanici) la possibilita' di usare un "potenziometro ad encoder assoluto" che produceva la ALPS per dei vecchi stereo di fascia alta un po di anni fa ... se li si trovano ancora, perche' e' un po che non li fanno piu ...

EDIT: si potrebbe rischiare con uno di questi della Bourns, dato il prezzo relativamente economico, confrontato con quelli industriali ... sul datasheet e' specificato che l'angolo e' "360 gradi continuo", il che di solito significa che NON ci sono scatti meccanici ... ed avresti 128 posizioni sulla rosa dei venti, comunque parecchie ... poi ovvio, e' un prodotto in plastica, non ci si puo aspettare la stessa qualita' di un'encoder su cuscinetti, ma per quella cifra un tentativo lo si puo anche fare ... :wink:

ASIN: B01HCJGIR0 io ho trovato questo su Amazon, ma quello della Burns costa decisamente meno, una domanda ( come fate a fare il link con la parola "questo"?), per quanto riguarda la precisione mi accontenterei anche di un approssimazione ogni 4 o 5 gradi, I venti principali sono ogni 45°, per quanto riguarda le connessioni senza saldature mi potete dare un consiglio? Ho visto degli spinotti (faston) ma così ad occhio mi sembrano molto grossi per entrare nei buchi della scheda o della millefori.

E' meglio saldare sempre, specie per la roba che rimane all'aperto, evita falsi contatti e malfunzionamenti ...

Per inserire il link, devi mettere i tag "url" ed "/url", fra parentesi quadre ovviamente ... se fai un quote del mio post vedi in che modo sono stati inseriti i link :wink:

Etemenanki:
Per inserire il link, devi mettere i tag "url" ed "/url", fra parentesi quadre ovviamente ... se fai un quote del mio post vedi in che modo sono stati inseriti i link :wink:

Per l'esattezza ...
... [url=http://url_del_sito_da_linkare]TESTO_CHE_APPARE[/url] :wink:

Guglielmo

Le centraline professionali di controllo vento di basano su un potenziometro per la direzione vento ed un "encoder" a 1 oppure 4 impulsi giro per la velocità...
Praticamente materiale economicissimo.
Questo perché la direzione del vento non è MAI stabile sul grado e tantomeno la sua velocità.

Se vai sul sito della DAVIS Instruments vedrai diverse soluzioni, ma tutte più o meno con le stesse soluzioni costruttive.

Ci rimasi male quando vidi che la discesa elettrica dell'anemometro era di 4 fili: un GND, un 5V, un "centrale potenziometro" e un contatto reed (un impulso a giro) per la velocità del vento.

Quindi lascerei perdere il discorso encoder assoluto perché sarebbe uno spreco...

... il potenziometro pero' ha un punto "morto", anche se gli togli il fermo o usi uno di quelli a 360 gradi ...

A quel punto magari si fa prima a prendere un TLE4966, 0 un A3423, o un qualsiasi altro doppio hall, montare una piccola calamitina in fondo all'albero della paletta della direzione, e metterci sotto il sensore hall, che in quel modo ti dara' la direzione della calamita (n-s) in rapporto all'asse del sensore, e quindi la direzione del vento ... e con poca roba, per giunta senza parti mobili o contatti, e pure resinabile (il sensore) per le intemperie, hai gia risolto :wink:

Grazie mille per i consigli, quest'ultima soluzione sembra più semplice da realizzare ( anche se non so cosa sia un doppio hall) ed anche più economica, provo a informarmi e vedere se ci capisco qualcosa.

alternativa (quasi) completamente statica è un anemometro ad ultrasuoni
metti 4 capsule ad ultrasuoni, tipo quelle dei sensori di distanza
in una sorta di gabbietta, 4 gambe e un soffitto
le 4 capsule puntano al soffitto e di rimbalzo, si sentono a coppie
alternativamente mandi un impulso da una capsula, e misuri il tempo, e da li la velocità del suono in un senso
la seconda capsula è a 90 gradi, hai la velocità del suono a 90° dalla prima misura
la terza capsula è quella che faceva la ricevente della prima, ti da la velocità del suono in direzione opposta alla prima
stessa cosa per la quarta e seconda capsula
dalla fisica sappiamo che la velocità di un'onda in un mezzo è pari alla velocità dell'onda più (o meno, somma algebrica) quella del mezzo
in realtà in 2d dobbiamo considerare velocità e somme vettoriali
dalla differenza delle velocità del suono tra capsula 1 e 3 hai la velocità del vento in una direzione
dalla differenza delle velocità tra capsula 2 e 4 hai la velocità del vento a 90 gradi
che sono le due componenti della veloctà del vento intesa come grandezza vettoriale
fai tutti i calcoli complessi (cerca magari geometrie curve e pi greco) e puoi avere sia velocità del vento, intesa come scalare che direzione del vento, inteso come angolo (arcotangente del rapporto tra le due componenti)
ti posso garantire che è più difficile da scrivere che da fare

Scusa, sono del millennio sbagliato, cosa intendi?

quando parti così.... mi mandi fuori di testa :slight_smile:
forse te l'ho gia detto...:smiley: