Vai al contenuto
PLC Forum


Quadrature to voltage


theking0

Messaggi consigliati

Salve, sto cercando raccogliere informazioni per creare una interfaccia di conversione da un encoder a un'uscita variabile da 0 a 24v DC.

In pratica dovrei sostituire una dinamo tachimetrica da 24v con un encoder, la dinamo è calettata direttamente sull'albero di un motore DC a spazzole gestito dal suo driver.

Il motore alla sua velocità massima (2800 rpm) erogava 24v dalla dinamo.

Avevo pensato di leggere l'encoder con un Arduino Nano e gestire poi tramite PWM un DAC esterno che comandi il driver.

 

Cosa ne pensate ? 

Quale DAC potrei utilizzare ? 

 

Tutti i consigli sono bene accetti 

 

Modificato: da theking0
Link al commento
Condividi su altri siti


Livio Orsini
14 minuti fa, theking0 ha scritto:

Avevo pensato di leggere l'encoder con un Arduino Nano

 

Per leggere l'encodere devi fare una conversione F/V e poi generare impulsi in quadratura, se vuoi ti metto lo schema di un convertitore che realizzai circa 20 anni fa, allo scopo di simulare un encoder.

Però ti sconsiglio questa procedura, meglio fare un partitore in modo che 24V ==> 5V e leggere direttamente dall'D/D di arduino, evitando tutti gli errori di conversione e non linearità del convertitore F/V e, soprattutto, eviti i ritardi di misura.

Link al commento
Condividi su altri siti

Ma ci sono modulini weidmuller siemens ecc che fanno proprio quello che hai bisogno.

Basta settare la frequenza massima per ottenere la tensione desiderata.

Altrimenti ai tempi li facevo con LM331 o il 2907/17 che sono dei frequenza/tensione. In questo caso basta solo una fase a meno che hai bisogno anche il senso

Link al commento
Condividi su altri siti

2 ore fa, max.bocca ha scritto:

Ma ci sono modulini weidmuller siemens ecc che fanno proprio quello che hai bisogno.

Basta settare la frequenza massima per ottenere la tensione desiderata.

Altrimenti ai tempi li facevo con LM331 o il 2907/17 che sono dei frequenza/tensione. In questo caso basta solo una fase a meno che hai bisogno anche il senso

Quei moduli costano un botto, preferisco provare a farmi qualcosa di equivalente.

 

Riesci a girarmi uno schema con il LM331 o 2907/17 ?

Link al commento
Condividi su altri siti

Livio Orsini

Ti metto lo schema del mio simulatore di encodercche sta funzionando da un ventennio; però ribadisco quanto ti ho scritto da subito: è una complicazione inutile che ti fa solo perdere in precisione ed in tempo di risposta, meglio leggere direttamente la tachimetrica.

 

enc_sim_1.thumb.jpg.7b4ecab4ab6d5c1f34e83c986193cac0.jpg

 

enc_sim_2.thumb.jpg.0cb71ecd50c0ca0bd77385402852cc38.jpg

 

 

Il primo foglio è lo schema del generatorevero e proprio,nel secondo, invece, c'è la parte per generare gli impulsi in quadratura, CD4013, e la circuitazione per avere sia l'interfaccia line driver, SN65HVD485, sia quellaopen collector.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Basta prendere application note sul sito del costruttore, poi al limite fai qualche aggiustamento. 

Prova a scaricarli.. 

Link al commento
Condividi su altri siti

Guardando il datasheet dell'LM2907 penso faccia proprio a caso mio, addirittura potrei utilizzare solo quello senza Arduino, gli do in ingresso direttamente una fase dell'encoder.

Mi trovo però in difficoltà' con il dimensionamento di R1 e C1: 

 

la formula di riferimento per l'LM2907:

 

lagrida_latex_editor.png.a42aac8087dd98892964a4c546e9d6b6.png

 

quindi, sapendo che il motore gira al massimo a 2800 rpm, supponendo di usare un encoder da 600ppr:

 

lagrida_latex_editor(1).png.4a3b425f4904bf58d5bbf6697f183b73.png

 

 

ora, considerando la caduta di tensione dell'integrato stesso, che se alimentato a 24 V riesco a avere una tensione di uscita massima di 20.4V, la frequenza rapportata per ogni volt in uscita sarebbe:

 

lagrida_latex_editor(2).png.ec0b6cc4c2a79a077deeb5bd31d1ac59.png

 

 

mi risulta:

lagrida_latex_editor(3).png.386723c87d885a96f7cdf718def27e13.png

 

 

quindi dovrei usare una R1=3k e C1=0.01uF ??? :roll:

ma dalla simulazione con proteus questi valori non sono corretti.
Dove sbaglio ? #-o

Link al commento
Condividi su altri siti

Dovrei rileggere il data sheet, forse non puoi ottenere 24V,

Prova ottenere 10V, poi mettine o.a. con guadagno 2,4 e ottieni 24V

Link al commento
Condividi su altri siti

Livio Orsini

Perbacco chiedo scusa ma ho preso una cantonata gigantesca.😒

Chissà perchè, leggendo il primo messaggio, mi ero convinto che si cercasse di fare l'esatto contrario, cioè generare una frrequenza partendo da un segnale analogico. Sarà l'halzheimer incipinete.😧.

 

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...