I moduli del sistema Theremino
Questa pagina è dedicata ai commenti e alle idee per i moduli Master e Slaves
Alcuni utenti hanno chiesto come applicare una alimentazione esterna
La soluzione più semplice è usare un HUB USB con presa per i 5 Volt e alimentatore da 5 Volt esterno. Alcuni di questi HUB possono arrivare anche fino a 3 Ampere e oltre. Ma noi consigliamo di non esagerare con la corrente massima, per non rischiare di bruciare i delicati contatti delle prese USB.
Nel caso che il sistema sia composto da Master e Slaves si potrebbero usare gli adattatori visibili in fondo a questa pagina: www.theremino.com/hardware/actuators
Gli adattatori possono interrompere, e alimentare, tutta la catena di Slaves oppure possono essere usati su un singolo attuatore, interponendoli tra il Pin di InOut e l’attuatore con una prolunga standard.
Queste considerazioni valgono per disporre di più corrente sui pin di InOut e NON per alimentare il modulo master dall’esterno.
In tutti i casi si consiglia di non esagerare con la corrente massima e di usare alimentatori protetti contro i corto-circuiti. Fare anche attenzione che non producano disturbi ed extratensioni esagerate quando li si collegano al 220 Volt.
In caso di attuatori con forte corrente di spunto prima di passare alla alimentazione esterna provare con un condensatore da 4700 uF tra +5V e Massa. Il condensatore può essere saldato al master, oppure si possono usare i pin rimasti liberi per accedere al +5 e alla massa e collegare il condensatore con un piccolo connettore femmina.
Nel caso sia proprio necessario alimentare i PIN del master dall’esterno fare come indicato in questa immagine.
——————————————
Led del Master che non si accende
Se il led del Master non si accende non andate a cercare guasti nel sistema USB o nei driver di Windows, è più probabile che sia il led stesso.
——————————————
Ciao Livio sono Gianni (cnc modificato) mi sono arrivati i driver :TB6600 Upgraded Version 32 Segments 4A 40V 57/86 Stepper Motor Driver
Ma non riesco a farli funzionare.
Hai qualche indicazione da darmi sui collegamenti master e driver?
Grazie molte
Non dovrebbero esserci avvertenze speciali, colleghi GND con GND, poi colleghi il segnale STEP e il segnale DIR e dovrebbe funzionare.
Avrai mica scambiato i fili dei motori? Vanno collegate le coppie giuste.
Avrai mica i numeri di slot sbagliati nella applicazione HAL o nella app CNC?
Stai tenendo la applicazione HAL avviata?
Nella applicazione CNC tieni i due tasti “IN OUT enabled” e “HAL enabled” (in alto a destra) accesi?
Non ho provato personalmente quei driver per cui non so se c’è anche una abilitazione da dargli, in tal caso devi dargli una massa o un +5 al filo di abilitazione.
Se non riesci scrivimi a “engineering chiocciola theremino punto com” e ci sentiremo per telefono o skype.
Ciao Livio.. questa mattina ho fatto qualche prova e ho trovato:
master — driver
gnd — dir –
dir — dir +5v
step — pulse –
+5v — pulse +5v
notare che la stampa sulla copertura dei driver non è corretta rispetto allo stampato interno:
le diciture delle uscite dei motori sono invertite tra a e b ma le polarità sono rispettate, quindi non si sono problemi particolari se non l’inversione della direzione.
i driver vanno benissimo e sono passato da vel 800 e acc 25 a vel 2000 e acc 1500 il tutto con 3,2 ah….posso aumentare fino a 4 ah
Grazie Livio delle dritte
Il collegamento dovrebbe essere così:
master ......... driver
-----------------------
gnd ............ dir -
dir ............ dir +
gnd ............ pulse -
step ........... pulse +
avevo provato così come dici ma i motori andavano solamente in una direzione soltanto anche con comandi contrari
La parte DIR (che determina la direzione) la avevi collegata come nella mia tabella. Per cui eventuali differenze potrebbero essere sui passi di movimento e non sulla direzione del movimento.
Quindi probabilmente il problema del mancato cambio di direzione era dovuto ad altro.
Collegando secondo la tua tabella hai gli impulsi di step (passi del motore) al contrario.
Lavorare con impulsi al contrario non dovrebbe comportare problemi perché abbiamo curato il firmware in modo da poter lavorare indipendentemente sia con impulsi negativi che positivi (in altre parole facciamo in modo di finire ogni movimento con il fronte giusto e quindi evitiamo di perdere un passo ad ogni fine movimento).
Però alcuni driver dei motori potrebbero non lavorare bene con impulsi che hanno la parte alta più larga di quella bassa. Ti consiglio di collegare come da tabella e se non funziona scoprire il perché.
Mi sta venendo un dubbio….
Non è che internamente al driver i due ingressi marcati +5V sono collegati insieme?
Hai uno schema del driver?
Sono andato a cercare lo schema e sembra essere questo:
http://www.sainsmart.com/zen/documents/20-019-209/ST-M5045%20Instruction%20manual.pdf
Si direbbe che i tre fotoaccoppiatori siano totalmente isolati uno dall’altro, quindi dovrebbe andare.
Non è che hai unito Dir+ e Pul+ con un filo come indicano nella immagine “Typical connection”?
Altra possibilità è che hai aggiunto i resistori “R” e che quindi i nostri 3.3 volt non bastino più. I resistori “R” esterni vanno eliminati di sicuro.
Non riesco a trovare le caratteristiche di tensione minima. So che in molti li hanno usati con 3.3 volt e quindi dovrebbero andare. Eventualmente, per essere sicuri di pilotarli con abbastanza corrente, andrebbero ridotti anche i resistori interni da 240 ohm a 100 ohm o anche meno (il nostro master ha già i resistori sulle uscite).
scusa il ritardo nella risposta… non ho collegato nessun resistore,.. sono andato a ricontrollare i collegamenti:
5v+………pulse 5v+
pulse…….pulse –
dir………..dir 5v +
gnd………dir –
funziona tutto perfettamente..adesso devo ordinare l’ultimo driver e devo trovare un inverter per il motore…….ti domanderò consiglio più avanti.
grazie livio
http://www.ebay.it/itm/TB6600-Upgraded-Version-32-Segments-4A-40V-57-86-Stepper-Motor-Driver/162083474000?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649
qui è dove li ho comperati
Sorry, posted in the wrong location. Please delete.
Marco ci ha scritto:
… Cosi’ facendo, con Arduino create una brutta copia del Master che però fa delle cose che il Master non sa fare. Questo fa fare brutta figura al Master, perché mette in evidenza dei suoi presunti limiti…
Risposta:
Il nostro sistema è un InOut per PC usabile anche da chi non sa programmare. Se lo complichiamo troppo perde la sua caratteristica di minimalismo. Quindi ha per forza dei limiti.
Marco ha scritto:
… e presenta comunque Arduino come qualcosa di molto più limitato di quello che è, quasi denigrandolo, quando invece esistono Arduino, e compatibili ,molto più potenti del Nano e dell’Uno …
Risposta:
Le schede Arduino, per quanto potenti, quando usate come In Out per PC, risentono inevitabilmente del collo di bottiglia causato dalla seriale virtuale.
Applicazione -> O.S. -> Seriale -> USB -> CH340 (o simili) -> Arduino -> CH340 -> USB -> Seriale -> O.S. -> Applicazione
In tutti questi passaggi qualche millisecondo lo si perde per forza. E non è tanto l’Arduino a perderlo, ma il driver della seriale virtuale e il sistema operativo del PC. Il kernel che assegna i task sul PC (ma anche su Linux e Mac), lavora con granularità di un millisecondo, per cui si perde più o meno un millisecondo ad ogni conversione.
E’ già un miracolo che il master arrivi quasi a 1000 scambi al secondo. Sono 1000 scambi completi, andata e ritorno, per tutti i Pin contemporaneamente.
Ed è inevitabile che una seriale virtuale, con tutti i passaggi che deve fare, perda almeno quattro millisecondi e che quindi abbia un limite intorno ai 250 scambi al secondo. Per cui non si tratta di denigrare. Per le applicazioni stand alone Arduino va benissimo, ma come modulo di InOut sarà sempre inferiore al Master.
Potrebbe sembrare che 1000 o 250 scambi al secondo non siano una grande differenza. Ma per gran parte delle nostre applicazioni lo sono. Con 1000 scambi si ha una banda passante di 500 Hz e quindi si vede fino alla decima armonica del 50 Hz. Questo rende possibile applicazioni come il FlickerMeter e il Wave Analyzer per analizzare la qualità del 50Hz.
Invece 250 scambi al secondo fanno una banda passante di poco più di 100 Hz, che sono proprio il minimo sindacale. Vanno ancora bene per applicazioni di automazione, ma se si scende ancora di poco non si possono nemmeno più muovere bene i motori, o fare una retroazione che non dondoli e vada a scatti.
Riguardo al Post precedente ci hanno scritto:
Tutto il ragionamento fila se nel trasferimento sei obbligato a mettere un solo valore per volta, vuoi per limiti di campionamento della periferica, vuoi per limiti del canale di comunicazione tra PC e periferica.
Ma se, per esempio, una periferica riuscisse a campionare internamente con una frequenza 10 volte maggiore di quella di trasferimento e riuscisse a trasferire in una sola volta i valori dei 10 campioni al PC perché il canale di comunicazione glielo permette, e il PC fosse così potente da poter fare in una volta sola i calcoli di ognuno dei 10 nuovi valori, ripetendo il calcolo 10 volte includendo uno solo dei 10 nuovi campioni per volta, non si otterrebbe una banda passante effettiva di 10 volte superiore? Il ritardo nella elaborazione e nella fruizione dei risultati, pari al tempo di trasferimento dei dati, sarà sempre costante, tanto vale trasferire più dati che si può ad ogni trasferimento.
Se ho capito bene ciò che ho descritto permetterebbe un aumento della banda passante, da non confondere con il sovracampionamento che aumenta il rapporto segnale/rumore, e si svolge esclusivamente lato periferica.
Risposta:
Quello che descrivi non è più lavorare in tempo reale ma in “batch”, cioè su lotti di campioni. Si deve quindi aspettare che tutti i campioni del batch siano arrivati prima di poter rispondere e si perde la possibilità di intervenire se, ad esempio, dopo il terzo campione si vede che è ora di modificare i dati di uscita.
Inoltre.
Fino allHAL si potrebbe inviare un pacco, ad esempio, di cento campioni. Ma poi dovrebbe lui stesso elaborarli e quindi si dovrebbe modificare l’HAL per ogni nuovo compito. Non si possono mandare 100 campioni alle altre applicazioni (attraverso il nostro meccanismo degli slot) se non con tecniche di sincronismo incasinate e comunque non più di un campione ogni due o tre millisecondi.
E c’è anche un terzo aspetto che impedirebbe comunque di inviare troppi dati ad ogni scambio.
Il massimo pacchetto USB per i dispostivi HID è limitato e basta appena per inviare i dati di tutti i Pin del Master e dell’Adc. Per inviare pacchetti più grandi si dovrebbe utilizzare un metodo non HID. E quindi si perderebbe una delle prestazioni più importanti del nostro sistema, cioè di collegare il Master e vederlo funzionare subito, su tutti i Windows, senza problemi di driver.
——————————
Luigi ci ha chiesto
—————————–
Come posso collegare più di 6 pulsanti capacitivi?
—————————–
Risposta
—————————–
I Master possono leggere 6 tasti capacitivi. Gli Slaves potrebbero leggerne 8, ma con complicazioni aggiuntive, per cui non li consigliamo. In alcuni casi si potrebbero usare più master, e collegarli con un HUB USB, per avere un solo cavo che va al PC.
OnOff
Si potrebbero collegare 12 tasti capacitivi OnOff ad ogni Master, con l’adattatore spiegato qui:
https://www.theremino.com/hardware/inputs/sensors#caponoff
Se si dispone ogni adattatore vicino al suo sensore, poi i fili verso il Master potranno essere di qualunque lunghezza.
Questi adattatori sono acquistabili su eBay per circa un Euro.
Usare Arduino
Si potrebbe anche usare un ArduinoNano, collegato alla nostra applicazione ArduHAL. ArduHAL invierà i dati agli Slot e quindi da li in poi è come se avessimo utilizzato un nostro Master. Attraverso gli Slot si potranno collegare tutte le nostre applicazioni.
L’Arduino andrebbe programmato con la libreria per i tasti capacitivi
http://playground.arduino.cc//Main/CapacitiveSensor
Non abbiamo provato, ma probabilmente con un Arduino Nano si possono leggere fino a 21 tasti capacitivi.
Attenzione che i fili devono essere corti (massimo una decina di centimetri), e distanti uno dall’altro per non influenzarsi.
Fabio ci ha chiesto
Ho un problema con Hal, ogni tanto, senza motivo apparente, si disconnette impedendo la lettura delle sonde e quindi blocca l’esecuzione del programma. Qualche idea?
Risposta
I moduli Master interrompono la comunicazione USB quando ricevono un tensione superiore a 3.3 volt su un Pin di Input.
Basta che la tensione superi i 3.6 volt, con almeno 100 uA di corrente, per un brevissimo istante (pochi microsecondi) e la USB si blocca.
Purtroppo è un, diciamo difetto, dei Micro utilizzati, i PIC prodotti da Microchip.
Il modulo Master ha buone protezioni, per cui non si rompe niente, ma la USB si blocca e si deve premere Riconosci.
Questo può succedere per i seguenti motivi:
– Un sensore è alimentato a cinque volt e in alcuni momenti genera tensioni superiori a 3.3 volt.
– Collegamenti lunghi e non schermati, che prendono disturbi capacitivi da altri cavi vicini.
– Collegamenti di massa instabili, che toccano male o che sono lunghi e piccoli.
– Disturbi sui collegamenti di massa, provocati dalla accensione di forti carichi o di alimentatori.
– Alimentatori aggiuntivi collegati alla rete e con le masse cablate in modo errato.
Ci sono varie soluzioni
– Alimentare i sensori a 3.3 volt, invece che a 5 volt.
– Utilizzare i Pin 7,8,9 che tollerano anche i 5 volt.
– Aggiungere un resistore in serie all’ingresso (decine di Kohm) in modo da limitare la corrente a 50 uA o meno.
– Non utilizzare collegamenti lunghi e non schermati.
– Curare bene la distribuzione delle masse (robuste e a stella).
– Non utilizzare alimentatori aggiuntivi, ma solo il 5 volt della USB.
– Se si utilizzano alimentatori aggiuntivi, la loro massa (GND) va collegata a quella PC e non al Master.
Una soluzione estrema (da applicare solo se non si può mettere a posto l’hardware).
– Le ultime versioni di HAL scrivono nello Slot zero il numero di Master collegati.
– Si utilizza un software apposito, o si modifica uno dei nostri.
– Il software legge periodicamente lo Slot zero.
– Se il valore dello Slot zero è uno, o maggiore di uno, tutto bene.
– Altrimenti il software manda all’HAL un comando “Riconosci” (leggere le istruzioni dell’HAL).
– Dopo un comando “Riconosci” Il software attende un secondo prima di ricontrollare.
Vedere anche queste pagine:
– https://www.theremino.com/technical/connection-cables#long
– https://www.theremino.com/technical/communications#pullup
– https://www.theremino.com/technical/pin-types
– https://www.theremino.com/hardware/devices
Giorgio ci ha scritto
Per una centrale termica dovrei misurare le temperature. Normalmente in termoidraulica si usano le NTC (per risparmiare) o le PT100 – PT1000. Le ultime sono più affidabili e ci si può allontanare di parecchi metri.
Risposta
Ti consiglio di usare gli LM35 per tutte le sonde da -55 a +150 gradi.
Guarda in questa pagina come collegarli:
https://www.theremino.com/hardware/inputs/meteorology-sensors#temperature
Le PT1000 non sono più precise, hanno il solo vantaggio di poter leggere fino a 500 – 700 gradi
In compenso le PT1000, e ancor peggio le PT100, sono più difficili da leggere (ci vorrebbe lo Adc24 con collegamento a 3 o 4 fili e funzione di linearizzazione) e se non le leggi bene sono notevolmente più imprecise degli LM35.
Per lunghe distanze devi utilizzare un cavo schermato con due fili interni.
Con sonde LM35 la resistenza del cavo non conta niente e, se il cavo è schermato, puoi andare lontano anche centinaia di metri. L’unica preoccupazione sono i fulmini, quindi prima di arrivare alla centralina dovresti collegare la calza del cavo schermato a terra.
Per renderle stagne prendi un tubetto di plastica chiuso in fondo, che ci stia bene lo LM35 più connessioni e cavetto schermato. Poi lo riempi di resina bi-componente o anche solo di silicone. Ti posso assicurare che potrà stare alla pioggia e al gelo per decenni (prima di sigillare prova che funzioni bene, cioè che sia ben collegata e che non ci siano corti).
Giorgio ci ha scritto
Dovrei misurare con precisione la frequenza di rete, come posso fare?
Risposta
Per leggere la frequenza di rete procurati un piccolo trasformatore da 220 a 6, 12 o 24 volt (con uscita in alternata) poi collegalo al master con il circuito per misurare la tensione che vedi in questa pagina: https://www.theremino.com/hardware/adapters#powermeter
Il circuito è però adatto a misurare la tensione con un ingresso ADC, mentre nel tuo caso dovrai avere un segnale più alto e adatto per un ingresso “Period”. Quindi il circuito va modificato dimezzando R1
Il valore di R1 dovrà essere:
– 330K se il trasformatore è da 24 volt alternata
– 150K se il trasformatore è da 12 volt alternata
– 82K se il trasformatore è da 6 volt alternata
Attenzione che il trasformatore deve essere “puro”, senza componenti (diodi o condensatori), e quindi deve dare in uscita 6, 12 o 24 volt in alternata.
Poi il Pin di ingresso lo devi configurare come “Period” e gli devi abilitare il quadratino “Converti in frequenza”
A questo punto nello Slot associato troverai il valore di frequenza in Hz preciso fino ai millesimi di Hz. Se la frequenza è instabile puoi fare la media nel tempo abbassando la velocità di risposta nell’HAL, e anche premendo il pulsante “Velocità di risposta” (“Response speed” se hal è configurato in inglese).
Buongiorno Livio, sarebbe possibile usare un master per connettere un wired MPG al software MACH3?
usando eventualmente la simulazione della pressione su tastiera come si fa con un Joystick e Keygrabber o similari.
Saluti.
Vincenzo
No, mi dispiace, MACH3 funziona solo con la porta parallela e solo come è stato progettato.
Quindi se usi Mach3 non potrai collegarlo a nulla del nostro sistema, non comunica con i nostri software e nemmeno con i nostri moduli hardware.
Ok, pensavo che si potesse associare un evento elettronico in ingresso del master in simulazione pressione tasto del PC.
Non conosco bene Mach3 ma mi sembra che abbia molte opzioni. Quindi credo che possa lui stesso leggere i tasti del PC.
Se non può farlo allora dovresti vedere che informazioni puoi inviargli attraverso l’unica sua via di comunicazione hardware, cioè i fili della porta parallela.
Se (nelle istruzioni del Mach3) trovi uno filo della parallela (o più fili) che, alzati o abbassati, facciano qualcosa di utile, allora poi potresti collegarli alle uscite del Master e pilotarli con tasti della tastiera. Non potrai fare gran che ma qualcosa forse ne viene fuori. Tutto dipende da cosa può fare Mach3 in risposta ai fili della parallela.
Ciao, quello che fai con un click del mouse su mach3 ha una corrispondente azione da tastiera.
Usando Xpadder ho configurato un joystick che agisce sui comandi associati alla tastiera e funziona.
ecco perchè pensavo che si potesse inviare tramite la combinazione master/hal/software un’azione pressione tasto come fa xpadder.
saluti
===================================================================
ENGLISH
===================================================================
When the micro is overloaded the Servo pins of the Master module lose precision
and may be unstable (little movements), mainly in the following cases:
– When many Servo Pins are configured
– When using Stepper type Pins
The Servo Pins can be replaced with PWM-Fast which are completely accurate
but the frequency generated cannot be less than 250 Hz (while in normal servos it is 60 Hz)
Furthermore, there are only five PWM-Fast for each Master and their most complex configuration.
To use the master module Pins PWM-Fast as Servo, set these values in the HAL:
– Max value = 1750
– Min value = -250
– Frequency = 250
– Duty cycle from Slot = Enabled
By slightly modifying the 1750 you can adjust the max position (when the slot is = 1000)
By slightly modifying the -250 you can adjust the min position (when the slot is = 0)
=== CAUTION ===
The Servo drive frequency becomes 250 Hz instead of 60 Hz
So only digital servos can work and maybe not all.
Some analog servos can heat and burn.
===================================================================
ITALIAN
===================================================================
I pin di tipo Servo del modulo Master perdono precisione quando il micro è sovraccarico,
e possono essere instabili (piccoli movimenti) principalmente nei seguenti casi:
– Quando si configurano molti Pin di tipo Servo
– Quando si utilizzano anche Pin di tipo Stepper
I Pin di tipo Servo possono essere sostituiti con i PWM-Fast che sono totalmente precisi
ma la frequenza generata non può essere minore di 250 Hz (mentre nei servo normali è 60 Hz)
Inoltre i PWM-Fast sono solo cinque per ogni Master e la loro configurazione più complessa.
Per usare i Pin PWM-Fast del modulo Master come Servo si impostano questi valori nell’HAL:
– Max value = 1750
– Min value = -250
– Frequency = 250
– Ciclo da slot = Abilitato
Modificando leggermente il 1750 si può regolare la posizione max (quando lo slot è = 1000)
Modificando leggermente il -250 si può regolare la posizione min (quando lo slot è = 0)
=== ATTENZIONE ===
La frequenza di pilotaggio dei Servo diventa 250 Hz al posto di 60 Hz
Per cui solo i servo digitali possono funzionare e forse non tutti.
Alcuni servo analogici possono scaldare e bruciarsi.
Claudio ci ha chiesto:
Quando hai scritto “instabilità” cosa intendi?
Come si notano queste instabilità e quanto possono influire sui movimenti?
Risposta
Con “instabilità” intendevo piccoli scattini quando invece dovrebbero stare fermi.
Per notarle si deve fermare tutto, non muovere i valori negli slot, stare in un ambiente silenzioso e fare attenzione a cosa fanno i motori per un po’ di tempo.
Ogni tanto i motori dovrebbero fare dei leggeri “tick”
ma sono “tick” così brevi che quasi tutti i modelli di servo non si muovono nemmeno.
Questi scattini possono far tremare la penna quando si disegna una linea dritta
ma in tutti gli altri casi non dovrebbero dare problemi.
salve Livio,
voglio legare il modulo master ad un alimentatore esterno per l’acquisizione di 100 T-sensori (LM35) tramite 10 moduli “slave”;
…. due domande da parte mia:
i) poiché il modulo “slave” non è esplicitamente nominato su questo sito, sarebbe possibile usare 10 unita’ theremino-“servo” con 0-9 ingressi/uscite?
i) dove posso trovare entrambi i moduli (attualmente il modulo “servo” non viene offerto su sito ebay)?
grazie
Piero
Ti sconsiglio di usare i moduli servo, la comunicazione seriale con 10 servo sarebbe troppo inaffidabile, inoltre i servo sono ormai praticamente abbandonati perché hanno pochi tipi di PIN e un firmware di dieci anni fa.
Utilizza invece dei Master (che hanno 12 PIN invece dei 10 dei servo) e collegali con un Hub USB.
I Master li trovi su eBay (venditore maxtheremino) o su store.ino (https://www.store-ino.com/) ma in questo ultimo caso ti arrivano dalla Cina e ci vuole più tempo.
ottimo, grazie
Attenzione ai cavetti che si usano per alimentare lo ESP32 !!!
Proprio oggi provando i Power Bank ho scoperto che i cavetti contano molto.
La tensione che partiva dal PowerBank era di circa 5 volt
– Con cavetto nero rotondo, lungo un metro, la tensione sullo ESP32 era di 4.74 V
– Con cavetto bianco piatto, lungo 30 cm, la tensione sullo ESP32 era di 4.2 .. 4.4 V
Mi aspettavo che il cavetto corto andasse meglio invece no,
va così male che lo ESP32 ogni tanto si scollega.
Dopo un ora il PowerBank si era un po’ scaricato e dava solo 4.8 V
La tensione con il cavetto corto si abbassava fino a circa 4 volt,
e naturalmente lo ESP32 si scollegava e non andava proprio più.
Allora ho provato a cambiare cavetto e mettere quello nero.
La tensione sullo ESP32 è risalita a 4.6 V
E adesso sono ore che va !
Per cui prima di dare la colpa ai PowerBank o alle batterie che durano poco.
Cercate i cavetti giusti!!!
—
Per essere sicuri che il cavo sia buono
l’unico modo è misurare il 5V sullo ESP32 in funzione e collegato allo IotHAL
E la tensione sullo ESP32 deve essere almeno di 4.7 volt
E meglio ancora se si riesce ad averla da 4.8 o 4.9 volt
No se si es el sitio adecuado, perdonarme.
Estoy intentando montar un Theremino maestro pero no condigo que funcione.
Lo programo con el Pickit2 y no me da ningon error pero el Led no funciona y el Theremino_HAL no me lo detecta
Podeis ayudarme?
Saludos
———————————————————————————
PARA TRADUCIR UTILIZA EL BOTÓN DERECHO DEL RATÓN
———————————————————————————
Se il LED non lampeggia c’è qualche errore hardware.
Probabilmente il quarzo non oscilla o non è del valore giusto.
Hai seguito i consigli di questa pagina ?
https://www.theremino.com/technical/pic-programming#pic
Stai utilizzando il MasterFirmware_V5.0 che si scarica da qui?
https://www.theremino.com/technical/schematics
Il quarzo è da 8 MHz ?
Hai messo i due condensatori da 27 pF accanto al quarzo?
Ti sei ricordato di aggiungere il resistore R11 da zero ohm che porta la alimentazione?
Hai messo i condensatori di alimentazione C3, C4, C5 da 10 uF ?
Il regolatore IC2 fornisce i 3.3 volt al processore ?
(misura con un tester per essere sicuro)
Lo primero, gracias por contestarme, muy amable.
He leido los consejos .
He utilizado los MasterFirmware_V5.0, V3.2 y V2.0. con cuarzo de 4Mhz.
El cuarzo funciona, medido con un osciloscopio.
La resistencia esta puesta, como viene en el esquema.
Condensadores, todos puestos.
Regulador medido y con 3.3 v.
El C.I es en capsula SOIC montado en un circuito impreso que lo pasa a DIL.
El circuito PIC24FJ, funciona, probado con el programa tipico de encender un LED. Eso si , con oscilador interno porque es lo que encontre a mano( no se muy bien programar).
Lo que si me ha sucedido es que no puedo programar el Pic por PGED3,PGEC3 pines 1 y 2 ;lo he programado por PGED1,PGEC1 pines 4 y 5 con el Pickit2 y no me da error, de hecho el programa del Led funciona.Esto lo digo por si influye en algo.
Probado en W10 y Xp y Net 3.5 cargado de nuevo.
Saludos y agradecido por su respuesta
Non riesco proprio a capire cosa potrebbe essere.
Proverò altri suggerimenti:
– Il PIC è un 24FJ64GB002 ?
– Il quarzo va da 8 MHz, se lo metti da 4 MHz devi modificare il firmware.
– W10 e Xp e Net 3.5 sono OK
– Forse che il LED è difettoso (ci è già successo)
– Forse il circuito di RESET è sbagliato o non funziona bene?
(se non si sblocca dal RESET poi non cammina)
Ricontrolla tutto, ci deve per forza essere un errore, ne sono stati costruiti decine di migliaia da costruttori diversi e in alcuni casi anche con mezzi artigianali e funzionano sempre tutti.
Che sia il PIC difettoso ?
Che sia il programmatore PIC KIT 2 difettoso?
Hai utilizzato la applicazione PIC KIT 2 da noi migliorata?
Stai utilizzando le definizioni giuste per il PIC 24FJ64GB002?
Non so cosa altro pensare…
Saluti
Por cierto soy español, pensionista de 69 años con algo de conocimiento en electronica y vivo en Toledo , capital
Si, el PIC es un 24FJ64GB002 en capsula SOIC montado en un circuito impreso que lo pasa a DIL.
El cuarzo es de 8 MHz y puse uno de 4 MHz para probar con el Hex del firmware V2.0 sin tocarlo.
El Led esta probado y de hecho funciona con el programa tipico de encender un LED. Eso si , con oscilador interno y en las salidas RA0,RA1 Y RA2 pines 2,3 y 4.
El pin 1 del Reset esta siempre a nivel alto.
Tengo 2 Pic montados y los dos actuan igual.
El Pickit 2 esta bien ,pues me graba sin problemas.
Si, utilizo el PIkit 2 mejorado y he probado con otra version.
En las definiciones correctas, si te refieres a la grabacion, el Pickit me reconoce perfectamente el Pic.
Yo tambien no se que hacer, le he dado mil vueltas al circuito y no encuentro nada mal.
Estoy intentando buscar algun programa en el que intervenga el USB, a ver si funciona.
Por cierto el Led del Theremino parpadea nada mas brabarlo o necesita que detecte señal por el USB.
Saludos y siempre agradecido.
Il LED deve lampeggiare veloce appena dai tensione al PIC.
Posso solo consigliarti di costruirne uno esattamente come da nostri progetti, oppure di fartelo spedire già completo.
Poi potresti tenere sul banco i due alimentati uno vicino all’altro e misurare e confrontare le tensioni su tutti i PIN.
Sicuramente quando scoprirai cosa c’è di sbagliato sarà una banalità.
E qualcosa di sbagliato c’è di sicuro, altrimenti appena arriva il 3.3 volt al processore il led inizierebbe a lampeggiare.
Se proprio non trovi l’errore potresti spedirmelo e te lo troverò io gratuitamente. Poi per rispedirtelo indietro dovremo utilizzare Lello (venditore maxtheremino su eBay) e dovrai inviargli qualche euro con PayPal per la spedizione.
E se fosse che stai sbagliando qualcosa col PicKit2 ?
Ti sei ricordato di togliere la spunta che tiene il PIC in reset? O di staccare il programmatore in modo che non tenga il PIC in reset?
Mi preoccupa anche quello che scrivi che i PIN 1 e 2 non funzionano… perché hanno sempre funzionato per tutti.
L’ultima possibilità che mi viene in mente è che i tuoi PIC siano diversi da quelli che abbiamo sempre usato. Forse potrebbero essere con la stessa sigla ma con differenze dovute a una nuova e molto recente versione che non abbiamo mai visto.
Riguardo al programma USB dovresti usare il nostro Theremino_HAL, ma prima dovrebbe lampeggiare anche senza USB altrimenti è inutile provarci.
El Pickit2 lo desconecto despues de grabarlo y lo conecto con el cable USB para probar.
He puesto un pulsador entre masa y el pin 1, para resetear.
Sigo dandole vueltas e investigando al asunto.
De todas formas, pediré uno montado y programado.
Saludos y gracias.
He introducido en su programa Master.hex, las lineas del codigo de el encendido del Led y funciona el Led en los pines 2,3, pero el resto del programa no; curioso
Seguire investigando y les cuento.
Saludos
Creo que ya se donde esta el fallo,el chip que yo tengo es el 24fj64ga y este no tiene USB y el 24fj64gb si, y no me di cuenta del detalle, cuando reciba el correcto lo probare y les cuento, seguro que funciona.
Saludos.
Buongiorno a tutti.
Volevo sapere se qualcuno ha avuto esperienza con strain gauge. Io ho provato ad usare l’applicazione Theremino Balance con celle di carico e funziona molto bene (con ADC24)
Per leggere gli strain gauge è necessario un amplificatotore?
Per leggere gli strain gauge non è necessario un amplificatore.
Li puoi collegare direttamente all’adc24 ma devi imparare un po’ di cose su come si usano e quindi collegarli in un modo che abbia senso.
Le celle di carico contengono gli Strain Gauge, di solito ne contengono quattro collegati a ponte https://en.wikipedia.org/wiki/Load_cell
Le celle di carico potrebbero avere anche due soli Strain Gauge e in questo caso si userebbero due resistori di valore fisso per completare il ponte.
Si potrebbe pensare anche di fare un ponte con un solo StrainGauge e tre resistori fissi, ma si perderebbe totalmente la compensazione della temperatura.
Per minimizzare i componenti si potrebbe anche utilizzare un solo resistore (dello stesso valore dello Strain Gauge) e poi misurare la resistenza dello Strain Gauge collegando il partitore come si vede a pagina 21 del file di istruzioni dell’Adc24. Ma anche in questo caso non si avrebbe la compensazione della temperatura.
In conclusione ti consiglierei di:
– Utilizzare come minimo due Strain Gauge uguali tra loro.
– Uno dei due può anche stare fisso e serve solo per compensare in temperatura.
– Completare il ponte con due resistori fissi di valore resistivo uguale agli Strain Gauge.
– Usare il tutto esattamente come si usano le celle di carico.
Ok grazie mille, il problema è proprio la mia scarsa conoscenza di questi sensori.
Farò delle prove, ora cerco qualche estensimetro da acquistare. Hai consigli di dove acquistare?
Non so dirti dove acquistare, io compro sempre su eBay perché accetta PayPal.
Puoi prendere ad esempio queste:
https://www.ebay.it/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=402791020603
Oppure queste:
https://www.ebay.it/itm/322535661736?hash=item4b189fa0a8:g:ttMAAOSwblZZLMS0
Arrivano quasi tutte dalla Cina, se le vuoi in fretta cerca qualcuno in Italia, ma costeranno di più, ad esempio qui:
https://www.ebay.it/itm/402196715567?hash=item5da4cad82f:g:5r4AAOSwJrBehFWN
Ti consiglio poi di leggere qualche sito che spiega come incollarli:
http://www.valentiniweb.com/piermo/sistemi/doc/estensimetri/incollaggio%20estensimetri.pdf
Grazie mille! grazie anche per la dritta per l’incollaggio lo stavo giusto cercando !
Ciao Livio.
Volevo attaccare al ADC24 un sensore di pressione (per circuiti oleodinamici), tempo fa ne usavo uno vecchio con ingresso 12 volt e uscita 0-5 Volt (con piccolo ripartitore di tensione in uscita per limitare la tensione) che ora però si è rotto. A questo punto però dato l’uso di theremino pensavo che sarebbe comodo usare un sensore alimentato a 5 Volt in modo tale da evitare alimentazioni esterne.
Pensavo a un sensore tipo questo https://it.farnell.com/telemecanique-sensors/xmep400bt11f/trasmettitore-pressione-400bar/dp/2914997 al quale potrei poi sempre mettere a cascata un ripartitore per portare il segnale a 3.3 volt. Quello che non ho capito è se il 5 volt di theremino è sufficientemente stabilizzato per questa tipologia di sensori o se è necessario aggiungere qualcosa (non ho trovato sensori di pressione oleodinamica alimentabili con il 3.3 V stabilizzato)
Ciao Geofaber.
Il data sheet del prodotto https://www.farnell.com/datasheets/2642557.pdf specifica un range di tensione di alimentazione tra 4,5 e 5,5 V, consumo 7 mA.
Non credo che ci saranno problemi, aspettiamo anche il parere di Livio.
La massima pressione permissibile è di 1200 bar, e la pressione distruttiva di 2400 bar, quindi a meno che tu non lo metta su un impianto con colpi d’ariete enormi dovrebbe essere molto resistente.
La tensione in uscita è nel range tra o,5 e 4,5V, tienine conto per la lettura.
Buon lavoro
Maurizio
Si più che altro mi interessa sapere se con la 5 volt di theremino ho una buona precisione
I 5V prelevabili sui connettori di ingresso del master sono collegati direttamente alla presa USB, quindi la precisione della tensione è affidata alla presa USB del computer al quale è collegato il master.
Le USB più vecchie forniscono 500 mA, per arrivare a 3 A nelle nuove 3.0.
Sono correnti molto più elevate dei 7 mA assorbiti da sensore, quindi la presa non viene di certo sovraccaricata.
Il range 4,5-5,5V del sensore garantisce l’immunità da eventuali fluttuazioni, che comunque ritengo davvero improbabili.
In sintesi, non vedo problemi per l’impiego di questo sensore.
Ciao
Maurizio
Il datasheet non specifica se il valore misurato resta costante al variare della tensione di alimentazione. Molti sensori del genere hanno un fondo scala che dipende fortemente dal valore di alimentazione. Forse questo ha uno stabilizzatore interno ma non lo dicono.
Consiglierei di provare ad alimentarlo con un alimentatore da laboratorio e vedere se la tensione misurata rimane stabile variando la tensione da 4.5 a 5.5 volt.
Poi, se necessario potresti facilmente stabilizzare il 5 volt in arrivo dalla USB, come spiegato qui:
https://www.theremino.com/hardware/adapters#stab5v
Ciao
Livio
Ciao Livio.
Per l’esperienza fatta con questo tipo di sensori, di solito l’uscita è indipendente dall’alimentazione in ingresso.
Ma in effetti in questo caso mi hai messo il dubbio… Quelli che uso io hanno range esteso 10-30V per alimentazione industriale. Questo con range così ridotto in effetti potrebbe comportarsi diversamente.
Meglio provare, come dici tu.
Al limite, se serve, Geofaber può sempre comprare una schedina stabilizzatrice per passare dai 12V che usava prima ai 5V che usa adesso…
Ciao
Maurizio
Ottimi consigli grazie, per prima cosa provo a prendere quello a 5 volt e faccio il test, se vedo che varia, comprerò la schedina stabilizzatrice.
I vostri consigli sono sempre preziosi vi farò sapere.
Dalle misure fatte il sensore di pressione sembra avere una discreta stabilità anche senza schedina stabilizzatrice, comunque io per sicurezza l’ho utilizzata e funziona tutto molto bene.
Grazie mille
Ciao Livio.
Chiedevo un chiarimento. Oltre al sensore di pressione di cui sopra sto usando dei trasduttori di spostamento potenziometrici da 1 kohm attaccati con un cavo di 2 metri e il segnale è stabile e sono riuscito a fare una buona taratura mV/mm.
Ho provato ad attaccare gli stessi sensori ad un cavo di 8 metri (awg24) e ho notato una notevole caduta di tensione e instabilità nel segnale.
Immagino che sia legato al fatto che i mA messi a disposizione dal ADC24 siano insufficienti per il cavo. Se io come alimentazione usassi una batteria esterna con a valle lo stabilizzatore 3.3 V che ho preso da Lello risolvo la questione ?
Non si tratta assolutamente di “mA messi a disposizione” e nemmeno può essere qualcosa di “insufficiente” dell’Adc24. La corrente dell’adc24 è notevolmente maggiore del necessario.
Aggiungere alimentatori non cambierà nulla, e nemmeno si può pensare che la resistenza del filo possa influire perché l’Awg24 ha 82 milliohm per metro che con 8 metri (16 andata e ritorno) fanno circa 1.3 ohm, che rapportati ai 1000 ohm sono niente.
Quindi il tuo problema deriva da altro:
– O che i connettori non toccano bene e provocano instabilità
– O che stai usando cavi non schermati e gli otto metri raccolgono disturbi dall’impianto elettrico.
Se il cavo non può essere schermato aggiungi un condensatore da un po’ di micro tra segnale e massa, se lo metti grande eliminerà ogni disturbo ma se è troppo grande rallenterà le variazioni.
Se non riesci chiamami su Skype o per telefono (eventualmente chiedi a Lello)
Il cavo è schermato. La schermatura devo collegarla a qualche massa ? Però a questo punto è altamente probabile che il problema sia nei connettori (le mie saldature sono uno scandalo). Faccio una prova e ti aggiorno, grazie
La schermatura non è collegata a niente ?
Certo che va collegata, e va collegata a GND dell’ADC24.
Se non è collegata abbiamo trovato il difetto.
Altrimenti cercheremo ancora.
Good day Livio,
I’ve been using Arduino for some projects and would like to upgrade to a more professional architecture. Theremino appears to be just that. However, I need a large amount of I/O ports, and the “slave” modules that are supposed to facilitate this don’t appear to be purchasable on store-ino.com. All the other purchasing options seem to be gone.
-Are there places other than store-ino.com where I can buy built up Theremino modules?
-Can I buy “slave” modules somewhere?
-hardware/devices page says that “SERVO modules are no longer used”, if so, what would be the alternative then to gain a large number of I/O ports? (Speed is not crucial)
Slaves are old projects… very old…
Use many masters, they are absolutely batter than slaves.
You can buy them from Lello (maxtheremino on ebay)