Blog

Scrivete qui domande, commenti, consigli e nuove idee. Per scrivere basta il nome o un soprannome come “io” o “pippo”, lasciando vuote le altre caselle.

Aggiungere anche la “Email” serve solo per distinguersi con certezza. Se volete aggiungere la mail fatelo con fiducia, noi abbiamo di meglio da fare, che raccogliere indirizzi a scopo di spam.

Il Blog non è tutto in questa pagina, andate sul menu “Blog” e scegliete un argomento.

Se non riuscite a trovare una sezione del blog appropriata, scrivete in questa pagina e provvederemo noi, a trovare la sezione giusta, oppure a crearne una nuova.


Inserire immagini e evidenziare i messaggi del blog

Inserire una immagine:

<img src="https://www.xxxx.yyyy.zzzz.jpg" alt="Image description"/>

Evidenziare una parte del testo:

<span style="background-color: #ffff99;">TESTO DA EVIDENZIARE</span>

Sentitevi liberi di fare errori e esperimenti nei post. Se qualcosa va storto, basta scrivere un secondo post, con le correzioni da fare. Faremo noi le correzioni e infine cancelleremo i messaggi di servizio.

  1. Livio says:

    Abbiamo aperto una sezione di Blog apposta per la Biometria e spostato tutti i post nella nuova sezione: https://www.theremino.com/blog/biometry

  2. Livio says:

    La discussione sulle librerie LTSpice è stata spostata nella pagina Tips&Tricks
    https://www.theremino.com/blog/tips-and-tricks#comment-3809

  3. Livio says:

    La domanda di Paolo Frediani sul Theremino Geiger è spostata qui:
    https://www.theremino.com/blog/geigers-and-ionchambers#comment-7809

  4. Livio says:

    La domanda di Claudio sul rivelatore a scintillazione SPP-2-NF è spostata qui:
    https://www.theremino.com/blog/gamma-spectrometry#comment-3794

  5. Salve,

    per la nostra applicazione dobbiamo utilizzare 8 paralleli di strip led da 45 moduli ognuna. Dai nostri calcoli ci risulta che ogni singola strip da 45 assorbe circa 1.7 A.

    Potreste suggerci una soluzione per alimentare questi 8 paralleli da 45 con un unico modulo che fornisce circa 15A (1.7×8) avente anche un ingresso per un segnale PWM esterno generato da una nostra scheda in modo da poter dimmerare i LED?

    Grazie per l’attenzione.
    Cordiali Saluti

    • Livio says:

      Si potrebbe usare lo “Adattatore tra il sistema Theremino e le strisce di led” che si trova circa a metà di questa pagina: https://www.theremino.com/hardware/outputs/light-control-systems

      I Mosfet IRLB8721 consigliati sono i migliori per questo genere di applicazioni perché hanno una caduta di tensione bassissima e quindi la minore dissipazione possibile. Se li si monta come abbiamo indicato noi (senza dissipatore) possono sopportare circa 10 Ampere ciascuno. Ma in queste condizioni scalderebbero abbastanza.

      Per alimentare i vostri 15 Ampere userei l’intero modulo mettendo in parallelo le quattro uscite e anche i quattro ingressi. In questo modo la caduta di tensione sarebbe minore di quello che potrebbe fare un Mosfet da solo e i Mosfet, dividendosi poco più di 3 Ampere a testa, resterebbero appena tiepidi.

      Per spendere meno si potrebbe usare anche uno solo dei Mosfet che però andrebbe avvitato su un dissipatore metallico (attenzione ai corti circuiti) Se il dissipatore fosse enorme un solo Mosfet IRLB8721 potrebbe sopportare anche più di 40 Ampere.

      Se serve altro sono qui apposta.
      Saluti
      Livio

  6. Livio says:

    Vito ha fatto una domanda che potrebbe interessare a molti e dice:

    Ho fatto una “scoperta” interessante, cosa dovrei fare, brevettarla?
    Cercare qualcuno che la compri?

    Difficile rispondere ma ci provo:

    Scoperte
    ————————————————————————————-
    Mi dispiace deluderti ma sono certo al 99.999% che ogni “scoperta” è già stata inventata varie volte negli ultimi 50 anni. Io ci metto in media un mesetto per ogni nuova scoperta e pochi minuti per trovare i brevetti su Google Patents.

    Brevetti
    ————————————————————————————-
    Per una vita intera ho cercato di fare soldi con l’elettronica ma ho brevettato solo le idee migliori, dato che costano migliaia di euro all’anno. Come conclusione devo dirti che avrei guadagnato di più se non avessi brevettato nulla (non avrei perso i soldi dei brevetti)

    I brevetti valgono solo se tu sei una grande ditta che ha miliardi da spendere per gli avvocati, altrimenti valgono meno della carta su cui sono scritti.

    I brevetti sono anche il modo migliore per spiegare ai concorrenti “come si fa” e cosa fare per non avere problemi con te e con la tua scoperta.

    Valore delle idee
    ————————————————————————————-
    Le idee valgono poco o niente se non sono accompagnate da un contorno commerciale che le trasforma in denaro. Anzi direi che non c’è proprio nessuna relazione tra la bontà di una idea e i soldi che ci puoi tirare fuori. Ho avuto molte idee bellissime che non hanno mai reso niente e ho visto altri fare molti soldi con stupidate.

    Ora ho cambiato completamente direzione, non cerco più di nascondere le idee per poi venderle, ma faccio proprio il contrario, regalo tutto a tutti e presto il sistema Theremino sarà conosciutissimo.

    Quando saremo conosciuti da milioni di persone ci saranno mille modi per fare soldi con le idee. Ma per ora è già tanto fare qualche euro al mese con le donazioni, non ci si pagano neanche le spese per il sito.

    Conclusione
    ————————————————————————————-
    Mi spiace ma non conosco un modo per fare soldi con la tua idea, se esiste dovrai trovarlo da solo.

  7. joe says:

    salve, stiamo progettando un contatore geiger per il nostro laboratorio, ma avendo gia a disposizione arduino uno volevamo sapere se era possibile usare come adattatore il vostro modulo
    Theremino geiger adapter , naturalmente programmando arduino adeguatamente.

    Grazie.

    • Livio says:

      Certo che si può fare.

      Ma si dovrebbe scrivere un firmware adeguato, perdendo la semplicità di “collego e funziona”. Il risultato finale sarebbe meno affidabile (perché più complesso), costerebbe di più e sarebbe grande il doppio. Inoltre nessuno ha ancora fatto un firmware per Arduino che scrive negli slot del sistema Theremino, quindi non si potranno usare il software Theremino Geiger e tutti gli altri componenti modulari (software e hardware) del sistema Theremino. E infine si dovrebbe passare da vie di comunicazione poco affidabili come il segnale audio o la seriale (COM1, COM2 etc…)

      L’unico “vantaggio” di usare un Arduino, sarebbe di costruire un sistema “portatile”.

      Un sistema “portatile” che assomiglierà a una scatola da scarpe piena di fili (ci vuole anche una batteria, qualcosa per ricaricarla, un display, dei pulsanti, un menu per cambiare i parametri…) E alla fine (mancando la potenza del software di ThereminoGeiger) le prestazioni di questo “coso” sarebbero le solite di tutti i geigerini portatili. Cioè misure instabili e pochissimo sensibili, appena sufficienti per distinguere gli oggetti molto radioattivi, senza linearizzazione della curva di risposta, senza compensazione del BKG del tubo, etc…

      Un oggetto portatile, con prestazioni simili, anzi migliori, si costruirebbe molto più facilmente, come spiegato in questa pagina: https://www.theremino.com/hardware/inputs/radioactivity-sensors#checker

      Il “Checker”, magari corredato con il “Ratemeter”, sarebbe anche molto preciso, più o meno come i classici Ludlum con il commutatore delle portate e lo strumentino in CPM.

      Il “Checker” avrebbe anche il vantaggio (rispetto a un Arduino) di consumare quasi zero corrente e quindi di poter stare sempre acceso per molti anni, con una singola ed economica pila da 1,5 Volt.

  8. Filippo says:

    “Proposta Progetto Software-Audio, Generatore Binaurale, MULTI-OPZIONI :

    Mi chiamo Alain Filippo BERRUTI, ho 42 anni, abito da 5 anni a Cavenago di Brianza, ma sono nativo di Cinisello Balsamo.
    Telefono 333 – 10 92 047

    Sono disoccupato e al momento senza alcuna possibilità di pagare.

    Per favore, vorrei trovare una persona gentile in grado realizzare anticipatamente un software audio, un doppio generatore di segnali audio per toni binaurali, multi funzione.

    Un software che consenta di generare frequenze audio da 1 Hertz a 20’000 Hertz, ad opzioni indipendenti su due canali…

    DEVE GENERARE I SEGNALI CON PERFETTI CICLI DI SEMIONDE NEGATIVA E POSITIVA… GENERANDO SEGNALI IN CORRENTE ALTERNATA VERA E PROPRIA…
    ( ovviamente con ampiezze piccole, secondo quello che un semplice computer può offrire… Tipo   +1  -1  Volts… )

    Deve poter generare segnali in onda sinusoidale, triangolare e quadrata, anche indipendentemente un canale dall’altro… ( cioè mentre sull’orecchio sinistro ascolto una fequenza di 200 Hertz in onda sinusoidale, mi deve dare la possibilità di ascoltare un segnale di 240 Hertz ad onda quadra sul canale destro)

    Ogni frequenza impostabile si deve poterla definire al centesimo di Hertz. ( esempio 240,56 Hertz ).

    SWEEP : Si deve poter fare in modo che entrambi i canali, indipendentemente l’uno dall’altro, possano spostarsi automaticamente  opzionabilmente di frequenza, entro dei cardini definibili di ascesa e/o discesa di frequenza, in maniera logaritmico-proporzionale ( esempio : partire da 10 Hertz a 1000 Hertz con arrivo programmato a tempo opzionabile a 10 secondi … Vuol dire che da 10 a 20 Hertz, salirà molto più lentamente che quando passerà dai 900 Hertz a 1000 Hertz )…

    Tipo :

    Canale sinistro : frequenza inizio : 29,01 Hertz .. Frequenza fine 30,07 Hertz … In Onda Quadra

    Canale destro frequenza inizio 70,78 Hertz … Frequenza fine 50,00 Hertz. .. In Onda sinusoidale.

    Tempo 20,05 secondi partenza e fine contemporanea dei canali, che si muovano secondo il loro logaritmo di movimento di frequenze… indipendenti…

    Opzione del tempo sweep opzionabile da 0,01 secondi fino a 1000 secondi, a step di un centesimo di secondo.

    Possibilità di ascoltare un canale in movimento sweep e l’altro fisso…
    Possibilità di acoltare due canali entrambi in movimento sweep partenti allo stesso momento, con stesso termine temporale, anche con frequenze completamente diverse fra loro…

    Possibilità di loop (ripetizione continua automatica del movimento sweep predefinito…
    Possibilità di loop automatico del sweep con percorso al reverso del movimento sweep delle frequenze, cioè ad altalena ascendente e discendente su e giù automatico perpetuo all’infinito…

    ALTERNAZA DEI CANALI :

    Deve opzionalmente alternare i canali suono “A” su canale sinistro e suono “B” su canale destro, e vice-versa invertendoli automaticamente, secondo un criterio di tempo regolabile di un’alternanza di ciclo completa ogni 20 secondi fino ad un’alternanza velocissima di 50 volte al secondo…

    L’alternanza deve avere una opzionabilità ulteriore, che possa far fare l’alternanza a passaggio secco (tipo scambio con scatto secco ad onda quadra), e a passaggio morbido con alternanza tipo “albeggiar… tramontar… albeggiar… tramontar…” (con onda sinusoidale con doppio zero centrale ad ogni passaggio medio fra uno scambio di canale e l’altro; Nella maniera più assoluta non vi devono essere scambio di canali co miscelazione di suoni)

    Nota bene: quest’ultima opzione deve dare modo a che la risultanza finale delle ampiezze delle onde sonore e le ampiezze delle basculanze dei canali, siano coerenti fra loro.

    ——————————

    Esistono software a pagamento tipo “NCH Tone Generator” e “TTG Timo Esser” che fanno cose simili ma senza la basculanza fra i canali.

    Tra l’altro i due software sopranominati, oltre a non avere l’opzione programmabile della basculanza dei canali ” Sx/Dx Dx/Sx “, sono software in versioni dimostrative gratuite a tempo d’uso definito, che scadono e si bloccano dopo appena 10 giorni dall’installazione.

    Non saprei come farlo io.
    Io non ho gli strumenti e l’abilità da programmatore…

    Grazie

    • Livio says:

      Tutto il necessario per fare questo software è pronto nella applicazione : https://www.theremino.com/downloads/multimedia#audioexamples
      (scaricala e provala un po’ manualmente)

      Tutte le opzioni che hai elencato (anche quelle che apparentemente non ci sono come i due decimali sulla frequenza), sono ottenibili modificando il software che è scaricabile in Open Source.

      Partendo da questa applicazione si dovrebbe: cambiarle nome, eliminare i grafici che non servono, tenere due generatori al posto di tre, posizionarli uno sul canale destro e uno sul sinistro, cambiare il numero di decimali nelle caselle di impostazione e qualche altro piccolo aggiustamento.

      Poi si dovrebbe, una per una, leggere le righe del tuo elenco e preparare i controlli per impostarle e eseguirle.

      Purtroppo mi spiace dirti che implementare tutto il tuo elenco, sarebbe un lavoro di mesi anche per un programmatore esperto. E, purtroppo, noi siamo impegnatissimi a finire progetti urgenti come:
      – la documentazione della camera a ioni per il radon
      – la revisione del Theremino Geiger
      – lo spettrometro per la luce visibile
      – le sorgenti allo Xenon economiche per le misure di assorbimento
      – il tester per l’olio d’oliva
      – il controllo dei motori stepper
      … come vedi ne abbiamo fino a sopra i capelli di cose da fare per cui non so proprio quando avremo il tempo per il “Generatore Binaurale”.

      Sarebbe ora che qualche programmatore si facesse avanti a dare una mano! Lo stiamo aspettando da anni, speriamo bene…

      Per cui dovresti trovare qualche amico che sappia programmare in VbNet e prepararti a una lunga strada di prova, cambia e aggiusta…

      PS
      Una alternativa carina sarebbe prepararti il generatore binaurale controllabile attraverso gli SLOT del sistema Theremino e questo permetterebbe di guidarlo facilmente con due righe di Theremino Script. Ma poi tutte le caratteristiche del tuo elenco andrebbero scritte in ThereminoScript. Il Theremino Script è più facile, per chi inizia e non sa programmare, ma sicuramente più difficile se si vuole, con esso, creare una applicazione “normale” con tutti i menu e le scelte di una “normale” applicazione. Quindi non so…

    • Livio says:

      Questo dovrebbe essere freeware.
      http://tone-generator-free-sound-software.soft32.com

      Meglio ancora questi, e non solo sono freeware, ma anche OpenSource!
      http://gnaural.sourceforge.net
      http://sbagen.sourceforge.net

  9. Lodo says:

    Ciao,
    complimenti per il nuovo theremino spectrum !
    Ho realizzato il progetto seguendo le indicazioni presenti nel documento ed è andato tutto perfettamente. Vi segnalo alcuni particolari della mia realizzazione :
    – ho usato la webcam che avete indicato ma ho dovuto schermare con nastro adesivo il piccolo led blu che si accende quando la webcam è in funzione;
    – ho usato un reticolo di diffrazione 1000r/mm montato su di un frame da diapositive. Li vendono su ebay e si trovano in UK. I tempi di consegna sono solo di qualche giorno. Lo ho rifilato ed ho incollato la parte di cartone su di una squadretta ad L che ho poi avvitato alla stessa parete dello spettrometro dove è fissata la webcam. Risulta un lavoro abbastanza pulito e la ghiera della webcam rimane accessibile per il fuoco.
    – per la fenditura ho fatto una fessura da 2-3 mm sul pannello di legno che ho poi stretto usando due lame da temperamatite affiancate per ottenere una fenditura netta da 0,5mm.
    – per lo schermo diffusure ho ritagliato un disco di plastica traslucida (come da voi suggerito) e lo ho montato su di un tubo che ho poi fissato davanti alla fenditura.

    Complimenti ancora e grazie per il vostro lavoro !

    Lodovico

    • Livio says:

      Effettivamente avevamo dimenticato di accennare al LED. Ora abbiamo aggiornato la documentazione con una nota che dice “dissaldare il led o spezzarlo con le tronchesine”. Purtroppo non abbiamo una immagine con il led e non ricordiamo più come era fatto, probabilmente era un led SMD e lo abbiamo dissaldato. Comunque la frase scritta nella nuova documentazione dovrebbe andare bene. Grazie per le tue prove e le indicazioni. E buoni spettri :-)

      • Lodo says:

        Ciao,
        sempre in relazione allo spettrometro DIY volevo chiedervi alcune indicazioni sulle prove di fluorescenza che avete fatto. Ho provato con un led UV da 407nm ad eccitare dell’olio di oliva ed effettivamente si vede ad occhio nudo una debole luminosità rosso arancione, che però è troppo debole per essere captata dal mio strumento. Nelle vostre prove avete usato led UV oppure un laser viola a 405nm ? Avete usato la fenditura alla massima apertura ?
        Volevo inoltre segnalarvi che ho trovato un modo comodo per la taratura della zona infrarossi. Con un laser verde a diodo a 532nm si hanno anche emissioni a 808 e 1064 (sono i pompaggi) che si possono usare per la taratura manuale. Usando lo strumento ho notato che è preferibile usare alternativamente due “zone” di taratura : una per il visibile (con la lampada CFL) ed una per il vicino infrarosso (con le emissioni IR del laser verde).

        Grazie,
        Lodovico

        • Livio says:

          Davvero buona l’idea di usare i 532, 808 e 1064 di un laser verde, proveremo anche noi al più presto.

          Per la clorofilla abbiamo usato una delle torcette cinesi da 12 led UV.
          Non hanno messo resistenze di limitazione per cui i led vengono usati con una corrente esagerata, che moltiplicata anche per i 12 led, fa una luminosità totale molto maggiore del led che hai provato tu. Forse anche 50 volte maggiore. I led non dureranno tanto ma ti vendono cinque o dieci torce per pochi euro…

          E certamente, abbiamo usato una grande apertura. Quando si misurano deboli intensità si apre sempre il diaframma al massimo
          (3 o 4 mm) e magari si toglie il filtro diffusore (se questo aiuta)
          Nel caso della clorofilla la perdita di risoluzione non conta, tanto la riga della fluorescenza è larga.

          Abbiamo anche provato con un laser viola, costano poco e hanno una intensità esagerata, la macchietta rossa diventa molto grande e luminosa.

  10. giuseppe says:

    salve, anche io ho preso un theremino.
    Praticamente è possibile interagire con i sensori e gli attuatori attraverso l’interfaccia grafica di HAL. Mi sbaglio ?
    Se io voglio interagire (ex. accendere o spegnere un led) da codice. Come interagisco ? Attraverso HAL o il MemoryMappedFiles ?
    La documentazione che ho visto descrive l’interazione con il Theremino attraverso HAL, Esistono delle API, che descrivono come interagire con il Theremino via codice VB.

    grazie. e scusate per eventuali incorrette o fesserie scritte.

    giuseppe

    • Livio says:

      Salve,
      HAL aiuta molto nelle prove. Ma con HAL da solo si possono fare solo semplici test, dei sensori e degli attuatori.

      Naturalmente poi è possibile leggere e scrivere i PIN con qualunque linguaggio di programmazione. Qui ci sono gli esempi per VbNet, CSharp, Python, Pascal e VB6: https://www.theremino.com/downloads/foundations#easyslot

      Oppure puoi scrivere in Theremino Script che contiene lui stesso, le API WriteSlot e ReadSlot, già implementate nel linguaggio:
      https://www.theremino.com/downloads/foundations#script

      Però tieni conto che il sistema Theremino usa un livello di astrazione aggiuntivo, gli SLOT:
      https://www.theremino.com/technical/communications#slot

      Quindi non si comunica mai direttamente con i PIN hardware. Ma si scrivono o leggono le “caselle di comunicazione” (SLOTS). E si scrivono o leggono semplici numeri tra 0 e 1000. Poi ci pensa HAL a fare il “lavoro sporco”.

      Se si usa la USB allora HAL deve essere attivo, magari minimizzato ma attivo.

      Invece per la semplice comunicazione tra applicazioni HAL non è necessario, gli SLOT esistono anche senza HAL.

      Per visualizzare gli slot (e modificarne il valore) si può usare anche lo SlotViewer:
      https://www.theremino.com/downloads/foundations#slotviewer

      Le prime volte troverai tutto questo molto strano e vorresti che HAL non ci fosse. Ma una volta imparato il metodo comunicare diventerà facile e scoprirai di poter fare fantastiche composizioni con più applicazioni che collaborano. Senza HAL e gli slot comunicare tra applicazioni non sarebbe possibile.

  11. Mario says:

    L’oscilloscopio audio è molto utile quando si sperimenta. L’ho trovato per caso e devo dire sono rimasto sbalordito dalle doti dimostrate. Perfetto sotto ogni punto di vista!!!! Ci sono altre cosucce utili che non ho ancora provato, ma l’oscilloscopio è fantastico!!!! Lode a chi lo ha realizzato!!!!

  12. Franco says:

    Solo da poco ho iniziato ad esplorare l’eccellente lavoro del team, ho una curiosità, ho visto impiegati sulle schede, schmitt trigger di famiglie diverse, 74HC14 e 40106, mi chiedo se è una scelta precisa per caratteristiche loro proprie oppure casualità dovuta a differenti fornitori.
    Franco Macciò

    • Livio says:

      Grazie per i complimenti, e grazie per esserti riferito a noi come Team. Questo mi permette di ricordare a tutti, che il sistema Theremino non sono io (Livio). Alcuni fanno questa confusione perché leggono spesso il mio nome, dato che mi occupo anche della gestione del sito. Ma la qualità dei progetti thereminici è basata sulla passione, il lavoro e le capacità di tutto il Team: https://www.theremino.com/contacts/about-us

      74HC14 e 40106
      ——————————————————————————————–
      I 74HC14 sono usati nel PmtAdapter, che deve avere commutazioni estremamente rapide, per generare tensioni di flyback (rimbalzo) molto alte. Inoltre nel PmtAdapter non ci sono problemi di consumo, perché è sempre collegato alla USB. Il PmtAdapter consuma da 5 mA a 70 mA a seconda della tensione di uscita, che può arrivare fino a quasi 2000 Volt.

      Invece i GeigerAdapter devono consumare il meno possibile, perché in alcuni casi li si vuole far funzionare per anni (con una singola batteria stilo, di quelle piccole):
      https://www.theremino.com/hardware/inputs/radioactivity-sensors#checker

      Se avessimo usato il 74HC14 nei Geiger Adapter, il loro consumo sarebbe salito di alcune centinaia di uA. Il consumo degli adapters “DIY” e “Flintstones” si sarebbe raddoppiato e quello della versione SMD sarebbe passato da 10 uA a circa 500 uA, riducendo l’autonomia da 3 anni a meno di 20 giorni.

      Nel caso del PmtAdapter, con i 74HC14 di alcuni produttori non si riesce a raggiungere la massima tensione (da 1500 a 2000 Volt). Ora non ricordo quali produttori andassero bene e quali no, per andare sul sicuro usare sempre gli NXP (ex Philips), come indicato nei file di progetto.

  13. andrea says:

    Non so se è la sezione giusta, mi scuso in anticipo se sto sbagliando

    Sono capitato sul sito per caso, cercando un modo per fare in casa un sistema di acquisizione multicanale. Dovrei leggere 16 canali digitali indipendenti. La frequenza è sotto i kHz. In pratica sedici contatori indipendenti nella stessa finestra temporale.

    Ad un primo studio theremino mi sembra molto adatto (Theremino Dolfrang se ho capito bene, ma l’elettronica non è il mio ramo). Però ho dei dubbi: c’è scritto che si possono campionare i canali 500 volte al secondo. In caso è possibile aumentare la frequenza di campionamento o il processore non ce la fa?
    Ha senso quello che ho scritto :Ppp ?

    grazie

    • Livio says:

      La frequenza di campionamento non è limitata dai processori (microcontrollore sui moduli thereminici e processore del PC) ma dalla comunicazione USB. La massima frequenza di scambio della USB è 1000 fps. Questo è vero su ogni tipo di USB (1, 2 o 3) e su ogni sistema operativo (Windows, Linux o MacOSX). Poi bastano minimi ritardi (del sistema operativo) per degradare questa frequenza a 500 fps e anche meno.

      Teoricamente si potrebbero memorizzare gruppi di dati, e spedirli in blocco, in un unico scambio USB ma si perderebbe la immediatezza di risposta e la attuale semplicità del sistema. I moduli del sistema Theremino sono semplici Input Output per PC e non sono adatti per memorizzare dati e spedirli a blocchi.

      Esistono dispositivi (ad esempio una WebCam o la sismica a rifrazione MASW) che devono memorizzare molti dati in tempi brevi e che si accontentano di spedirli al PC “ogni tanto”, diciamo 30 volte al secondo. Queste applicazioni possono comunicare con il sistema Theremino, usare il software del sistema Theremino e gli Slot per comunicare, ma non devono passare, attraverso i moduli Master e Slave. Al loro posto si devono usare hardware e drivers USB specializzati, con il firmware scritto apposta per tale dispositivo.

      Classico esempio è una WebCam. La si collega con la sua USB e con il suo driver e la si legge e si decodifica con programmi appositi:
      https://www.theremino.com/downloads/automation#videoinspector
      https://www.theremino.com/downloads/automation#videoinput

      Infine i dati elaborati (non i singoli pixel) vengono inviati agli Slot e alle altre applicazioni del sistema Theremino.

      Leggere 16 canali indipendenti
      ———————————————————————
      Se si configura l’HAL con “Fast data exchange”, tutti e sedici i canali vengono letti contemporaneamente e spediti in un unico scambio USB. Quindi la frequenza di scambio dovrebbe essere sufficiente. Si possono leggere i 16 canali con tre Master (3 x 6 = 18 canali) o con un Master e uno Slave (6 + 10 = 16 canali), ma in quest’ultimo caso la frequenza di scambio sarà un po’ inferiore. I Pin vanno configurati come “Counter” per cui la massima frequenza di conteggio è qualche centinaio di Hz. Non è possibile usare i FastCounter (che potrebbero contare fino a 500 KHz), perché se ne potrebbe configurare uno solo per ogni modulo di IN-OUT.

      Theremino Dolfrang?
      ———————————————————————
      I Dolfrang legge dati “analogici”, provenienti dagli ADC. Mentre, se ho capito bene, si dovrebbero invece contare gli impulsi. Quindi credo che il Theremino Dolfrang non sia adatto. A seconda della complessità della applicazione, si dovrebbe invece usare Theremino Automation o Theremino Script, o addirittura scrivere un software apposito con Visual Studio:
      https://www.theremino.com/downloads/notes-on-software#instruments

  14. Giuseppe says:

    Gentile team di Theremino…grazie di esistere…ma mia moglie non è dello stesso parere.
    Da quando vi ho scoperti (qualche settimana fa) passo ore e ore a leggere tutto e a informarmi sui vostri sviluppi e progetti. Arduino è stato l’inizio…ma voi siete il futuro..
    Alcune domande però:
    1) Con un gruppo di altri giovani stiamo avviando un fab lab dove poter stimolare l’imprenditoria giovanile: sareste disponibili a qualche conferenza (anche video) per raccontare i vostri progetti? Naturalmente siamo disponibili a riconoscere economicamente la consulenza.
    2) Mi pare di capire che la master e le slave pilotano servo ma non ancora gli stepper (scusate io sono un fanatico di cnc e stampanti varie e con gli stepper mi sono trovato bene)
    3) i brushless della turnigy che ogni tanto linkate non mi sembrano adatti per controllare un cnc…o mi sbaglio?
    4) Io di formazione sono carpentiere (con il ferro faccio di tutto) …come posso esservi di aiuto?
    5) Ho capito che le schede sono open e che voi non le vendete, ma se io ne costruissi alcune decine non dovrei forse riconoscervi qualcosa? Ho capito che la cosa è open…. ma proprio così sfacciatamente non mi sembra proprio così corretto…

    Grazie ancora…per il momento mi fermo qui..a presto

    • Livio says:

      1) Difficilmente troveremo il tempo per fare conferenze. Abbiamo progetti importanti che attendono da troppo tempo di essere finiti, ad esempio il controllo degli stepper, ad esempio una RepRap per dimostrare quanto è facile farle che con il sistema Theremino. Ad esempio l’Oil Meter, il sensore delle polveri, la nuova versione del linguaggio di Theremino Automation, il Sync Mode per suonare musica con i sensori piezo… Alcuni di questi progetti sono praticamente finiti a mancano solo le immagini e i video per la pubblicazione.

      Comunque siamo disponibili per telefono, skype e mails ad aiutare per ogni problema e presto sarà qualcuno di voi a fare le conferenze. Theremino è un progetto collettivo e si basa sulla collaborazione.

      2 e 3) Come scritto sopra stiamo completando il controllo dei motori stepper. E le caratteristiche che stiamo ottenendo sono eccezionali! Molto superiori a quello che ci eravamo proposti di raggiungere. Mentre sto scrivendo ho giusto a fianco della tastiera un Master che controlla gli stepper e nelle ultime settimane non abbiamo mangiato altro che steppers. Tutto il lavoro “sporco” è finito e tra breve (spero una settimana ma comunque prima di Natale) pubblicheremo il nuovo firmware. Qui puoi vedere le caratteristiche: https://www.theremino.com/hardware/outputs/motors#steppers

      Ricarica spesso questa pagina perché nei prossimi giorni la aggiorneremo con nuove informazioni, tra cui due interessanti video che dimostrano la precisione degli impulsi generati dal modulo Master, rispetto a quelli di Mach3.

      4) Potresti, ad esempio, fare una fresa con cuscinetti lineari, barre di acciaio indurito, viti trapezioidali etc.. Prima che metti insieme il tutto noi ti daremo un ottimo controllo per gli stepper.

      5) Puoi costruirne centinaia, a noi fa solo piacere, perché porterebbe popolarità al sistema Theremino. Noi non abbiamo intenzione di guadagnare vendendo moduli, quindi chiunque li vuol fare è il benvenuto. Ci riserviamo solo la libertà di screditare pubblicamente chi cercasse di nascondere o vendere le conoscenze, o costruisse moduli non compatibili o li usasse per cose che non ci piacciono (caccia e pesca). Queste regole sono scritte qui: https://www.theremino.com/contacts/environmental-protection

      E infine:
      Benvenuto tra i thereminomani!!!

  15. cristiano federico says:

    Ciao, vi ho scoperto quasi per caso e trovo la vostra iniziativa molto bella, sto pensando di usare il vostro sistema per un mio progetto, un BMS per gestire un pacco batteria al litio, per ora è ad uno studio di fattibilità, vedremo.
    Vi ho fatto una piccola donazione perche credo nello spirito open, bravi continuate così!!
    A presto.
    Federico Cristiano

    • Livio says:

      Grazie della donazione, la useremo, come sempre, per fare nuovi progetti.

      Riguardo al BMS, prima di partire sarebbe bene fare una piccola analisi. Se quello che stai progettando è un sistema portatile, allora potrebbe essere meglio, deviare su Arduino.

      Arduino è più difficile da usare, e più lento, ma è autonomo. Invece il sistema Theremino, ha sempre bisogno di un PC. Qui puoi leggere una breve comparazione delle caratteristiche principali:
      https://www.theremino.com/#arduino

      Se decidi di usare il sistema Theremino, come PC potresti usare un Raspberry, che consuma solo 3 Watt:
      https://www.theremino.com/blog/standalone-applications#raspberry
      Il problema col Raspberry è che gira con Linux. Per cui (a causa delle mille versioni diverse di drivers e di bug) è molto difficile installare tutto il necessario, e farlo funzionare.

      Oppure potresti usare un tablet con Windows che, con le funzioni di risparmio energetico, consuma praticamente zero:
      https://www.theremino.com/downloads/notes-on-software#computers
      I tablet “Signature Edition” hanno Windows 8 freeware (il sistema operativo è gratuito, a patto che i costruttori non vi installino schifezze inutili, e vi installino Bing – Poi l’utente può disinstallare Bing e sostituirlo con Google)
      Quindi stanno uscendo molti tablet, che costano sempre meno. Negli USA sono già scesi sotto i 99 dollari.
      I tablet con Windows, sono perfetti come “testa pensante”, per il sistema Theremino, attacchi l’USB e vai.
      E i touch screen sono perfetti, come “interfaccia utente”. I telefono-tablettini sono così piccoli, e poco costosi, che non ha più senso, usare tastiere e display lcd. I display LCD, con touch screen, costano di più, sono difficili da gestire, e hanno troppi fili da collegare. Un tablet da 7 pollici, non ha fili, attacchi l’usb e funziona.
      Usare un tablet procura anche il vantaggio, che il suo alimentatore è a norme CE. E dato che il sistema Theremino è una appendice della USB, e a bassa tensione, non esistono problemi di certificazione.
      Inoltre i tablet hanno già integrata, la gestione del risparmio energetico, appena non li usi si spengono (e possono anche dis-alimentare la USB), portando il consumo a zero. Possono stare in ibernazione per mesi.

      UN MESSAGGIO PER GLI UTENTI ITALIANI
      Avrete notato, che in questo sito, le frasi sono piene di virgole. Questo in italiano è un po’ strambo, ma serve per aiutare, il traduttore automatico. Se non separiamo le frasi, con molte virgole, fa dei disastri.

      ciao a tutti
      Livio

      • Cristiano says:

        Ciao, il sistema sarà portatile, nel senso che sarà montato a bordo di un’automobile elettrica, avevo preso in considerazione questo: www(link rimosso non più valido)eeevolution.it/ecs-liva-con-windows-8-1-with-bing/ , con un tablet come interfaccia, l’idea del solo tablet win è molto allettante, anche per via dei costi, nei prossimi giorni posteró un elenco di quello che il sistema dovrà fare, poi mi direte se fattibile e con che strumenti.
        Ciao
        Cristiano

        • Livio says:

          In una automobile elettrica, consumare qualche watt, durante la carica e durante l’uso, è accettabile. Quindi direi che il problema PC è sistemato. I nostri moduli hanno una alimentazione a 3.3 Volt perfettamente stabilizzata, che rende gli ADC molto precisi. Quindi ti sarà facile misurare tensioni e correnti stando nelle tolleranze necessarie per le batterie.

          Stiamo preparando nuove versioni di HAL che si riconnettono automaticamente alla USB, a fronte di ogni difetto. Se si scollega la USB e la si ricollega, o avviene un forte disturbo, che fa fare Bing-Bong al sistema USB di Windows, l’HAL se ne accorge, riconnette i moduli (o li riconfigura nei casi peggiori) e in una frazione di secondo tutto riparte.

          Grazie del link al liva.
          Come previsto stanno finalmente arrivando gli anti Raspberry, a prezzi ragionevoli, e con Windows 8.1 gratis.

          In questo video lo si vede in funzione, è velocissimo!
          Consuma 2.5 Watt durante in uso normale (meno del Raspi), ma ha prestazioni esageratamente maggiori. Inoltre, a differenza del Raspi, ha già il WiFi e non si deve aggiungerlo esternamente.
          https://www.youtube.com/watch?v=wo4yzURDkPM

  16. Gianni says:

    Ciao a tutti,
    Sono Gianni, mi sono avvicinato a questo mondo vedendo le applicazioni del braccio robotico e della possibilità di espandere agli stepper e ai due progetti in fase di sviluppo della cnc e della stampa 3D.
    Mi sono letto molta documentazione ma mi mancano molte basi….
    Ho scaricato hall 5.0 su un portatile ibm xp ma non sono riuscito a muovere un solo servo, ho scaricato theremino arm che se ho letto bene dovrebbe essere stand alone ma non riesco a farlo funzionare.
    Potete aiutare un neofita come me se non è un problema
    Grazie a tutti in anticipo

    • Livio says:

      Nel tuo messaggio non parli di Pin, di USB e di moduli Master… sai che per collegare i servo ci vuole almeno un Master? Abbiamo scritto che tutte le nostre applicazioni funzionano anche senza hardware, ed è vero. Ma se si collega dell’hardware, allora si deve passare attraverso la USB, e quindi il Master ci vuole.

      Poi, per iniziare:
      – Colleghi il servo al Pin 1 del Master
      – Lanci HAL e imposti il Pin 1 come Servo16
      – Vai con il mouse sulla colonna Value del Pin 1, premi il pulsante sinistro e (tenendolo premuto muovi il mouse verso l’alto)
      – Oppure lanci anche lo Slot Viewer, che ha cursori più facili da muovere, rispetto alla casella “Value” dell’Hal.

      Se usi lo Slot Viewer deve essere impostato per agire sullo Slot 1. Inoltre nell’HAL il Pin del servo deve avere Slot = 1.

      Ricorda anche che l’HAL deve essere in funzione, magari minimizzato, ma in funzione. E anche quando usi la applicazione RobotArm, l’HAL deve essere in funzione. In pratica, se devi comunicare via USB, con i moduli Master, allora l’HAL deve essere in funzione.

      La corrente disponibile è solo 500 mA, quindi puoi usare solo servo piccoli (che consumano poco). Se il sevo consuma troppo, appena lo muovi l’HAL si disconnette. In questi casi, o usi un HUB con alimentatore esterno, oppure aggiungi un elettrolitico da qualche migliaio di micro, per superare lo spunto iniziale. Ma all’inizio è meglio usare servo piccoli, in modo da fare amicizia con il sistema, senza le complicazioni, e i rischi che si corrono, quando si interviene sulla alimentazione.

      Se non riesci scrivici a engineering@theremino.com
      Oppure telefona allo 0125 57290

      ciao
      Livio

      • Gianni says:

        Si scusa ho dato per scontato,
        ho acquistato il master, lo slave e il cap sensor
        4 servi Tgy930 e 2 servi hxt900
        Per ora ho collegato solo hxt900 per vedere se riuscivo a farlo
        muovere.
        Oggi provo seguendo le tue istruzioni e ti faccio sapere
        Grazie 1000

        • Livio says:

          I componenti che hai acquistato sono OK.
          Ma lo slave ti servirà a poco. Anzi all’inizio è meglio limitare le complicazioni e non usarlo.

          La lista seguente è il modo più semplice per iniziare:
          – Colleghi un servo HXT900 al Pin 1 del Master
          – Lanci HAL e Slot Viewer e li tieni tutti e due in funzione.
          – Programmi il Pin 1 come Servo 16 (e dovrebbe avere Slot = 1)
          – Infine muovi lo Slot 1 sullo Slot Viewer.

          Forse lo sai, ma è meglio scriverlo: Quando colleghi i servo, il filo nero deve essere dal lato GND (vicino al bordo piastra).

          Oltre all’immancabile Slot Viewer, una applicazione molto utile per fare prove è Theremino Automation:
          https://www.theremino.com/downloads/automation

          Ma ricorda che HAL deve sempre essere vivo (è lui che comunica con l’USB e fornisce la “pappa pronta”, attraverso gli SLOT, a tutte le altre applicazioni)

          All’inizio HAL è il pannello principale di comando. Per fare prove lo si tiene sempre aperto. In seguito è possibile farlo usare, in modo invisibile e automatico, dalle applicazioni che ne hanno bisogno. Ma per ora tienilo sempre aperto (o minimizzato e senza oscilloscopio, per consumare meno CPU).

  17. Livio says:

    Mirko ci ha scritto una mail con domande interessanti, e con tali complimenti, che non possiamo fare a meno di pubblicarla:

    MIRKO: Ciao, sono uno studente di ingegneria, al primo anno, ma diciamo che ciò che imparo lì, non mi sembra possa servire per ora. Sono sempre stato una persona, con molta fantasia e da quando ho conosciuto Theremino, mi sono innamorato. Siete dei geni veramente. Ho creato qualche progetto, utilizzando Theremino e volevo chiedervi delle informazioni, su un paio di cose:

    RISPOSTA:
    Quello che sperimenti alla università, è normale per tutti i veri Maker. Un vero genio mal sopporta i professori e il loro imporre l’apprendimento con la forza. Purtroppo la scuola agisce con metodi mafiosi, bastone, carota, ricatti e compensi. E così distrugge per sempre la sana voglia di imparare, e la sostituisce con il disgusto. A pensarci bene, è proprio per questo che al mondo ci sono così tanti furbetti, calciofili, tronisti, ignoranti e fannulloni.

    DOMANDA: Se creo un nuovo progetto, utilizzando il sistema Theremino, posso fare una campagna kikstarter, e successivamente, se va a buon fine, vendere il progetto?

    RISPOSTA: Tutti i dati pubblicati sul sito, sono “free” al 100%. Puoi copiare, modificare e fare tua ogni frase, ogni riga di codice, e ogni immagine, senza nemmeno nominarci. L’unico limite è, se vuoi chiamare Theremino xxxx, una tua realizzazione. In questo caso, il tuo progetto, deve essere compatibile, con il sistema, e con le nostre regole, come spiegato qui: https://www.theremino.com/contacts/environmental-protection

    DOMANDA: Perchè non spingete il prodotto? L’ho trovato per sbaglio, su Elettronica Open Source. Fatevi pubblicità, fatevi notare! I progetti sono infinitamente più veloci e facili da realizzare rispetto alla “concorrenza”.

    RISPOSTA: Facciamo il possibile per farci notare, ma non accettiamo di fare patti, con il diavolo (gli squali del marketing, che appestano il Web e la Televisione, e che deformano la nostra società e i nostri bisogni). E comunque, preferiamo destinare il denaro delle donazioni, all’acquisto di materiale elettronico, per fare sempre nuovi progetti, piuttosto che ingrassare i markettari, e aiutarli a comprare i loro SUV.

    DOMANDA: Questa pubblicità non farebbe solo bene a voi sviluppatori, con introiti, ma riuscirebbe a creare una community, più accesa e numerosa.

    RISPOSTA: Noi non abbiamo introiti. Siamo privati, amatori della elettronica, che collaborano, e si scambiano informazioni, per il bene di tutti. Il sistema Theremino non vende nulla, e non ha fini di lucro. Siamo comunque convinti, che la migliore pubblicità sia fare buoni progetti. La popolarità del sistema Theremino, sta crescendo molto velocemente, guarda questi grafici: https://www.theremino.com/blog/tips-and-tricks/optimizations#alexa

    CI SCUSIAMO PER LE TROPPE VIRGOLE – SERVONO PER AIUTARE IL TRADUTTORE AUTOMATICO –

  18. Gianni says:

    Buongiorno Livio a a tutto il team,
    Mi sto divertendo un sacco con Theremino, e sto seguendo l evoluzione della CNC,
    Per il momento al posto di utilizzare degli stepper, è possibile utilizzare dei servocomandi tgy930 modificati per essere multigiri, e mettere in pista una micro cnc a 5 assi?
    Se si mi potresti dare qualche indicazione?
    Grazie
    Gianni

    • Livio says:

      Non è possibile perché i servo multigiri non hanno un meccanismo di retroazione della posizione. Per cui ci vorrebbero complessi sistemi per rilevare la posizione raggiunta (dischi ottici). E anche moduli appositi e firmware ad-hoc per leggerli e far tornare i dati di posizione verso Theremino CNC.
      Il tutto diventerebbe così complesso che in confronto gli stepper sono niente.

      Usare gli stepper è più facile di quel che sembra e sono moooolto più precisi dei servo. Ci sono anche stepper piccoli e poco costosi. Si possono anche recuperare dalle stampanti. E i driver per gli stepper costano pochissimo.

  19. Pato65 says:

    Una sola parola…….GRANDI continuate così che spopolerete.
    Una domanda anche se credo di conoscere la risposta purtroppo. ….avrei bisogno di gestire uno stepper ma in anello chiuso. Ingressi di tipo encoder non si possono usare?

    • Livio says:

      ThereminoCNC è un programma semplice e vogliamo mantenerlo semplice, per far contenti il 99% dei “truciolatori”. E il 99% di noi, non ha mai toccato un encoder con le sue mani.

      Ma il sistema Theremino è modulare per cui si può fare di tutto. Se ci tieni molto, dovresti scrivere il software per leggere gli encoder.

      Se si tratta di controllare un singolo motore stepper con poche righe di software saresti a posto, magari con un PID rudimentale o semplice… Ma se si tratta di muovere più assi allora dovresti scrivere anche un nuovo CNC, dato che Theremino CNC è scritto in modo troppo semplice, per poterlo trasformare in un Mach3.

      Non si tratta solo di aggiungere gli ingressi per gli encoder (se fosse così lo faremmo subito) ma di regolare una quantità di parametri per i PID (uno per asse). In altre parole, se si chiudono i loop di retroazione, si rischiano autooscillazioni o scarse accelerazioni. E, ancora peggio, si rischiano gli overshoot (sconfinare fuori dalle curve e andare un po’ nei prati). Regolare bene i PID non è facile (ogni asse ha una massa diversa e la massa può anche cambiare da una lavorazione all’altra). E se i PID non sono regolati bene, è meglio non averli.

      Una buona alternativa, e molti ci stanno lavorando sopra, sarebbe scrivere i PlugIn per Mach3 e per LinuxCNC.

      In questo ZIP abbiamo raccolto le migliori informazioni per fare il PlugIn per Mach3: https://www.theremino.com/files/Mach3_PlugIn_Writers_Bible.zip

      Altre informazioni sui PlugIn, in questo messaggio:
      https://www.theremino.com/blog/robotics-and-cnc#comment-12607

      • PATO65 says:

        Quanto dici è verissimo, ma ho una esigenza piuttosto banale; sto facendo infatti un controllo semiautomatico per un asse di un macchinario (in pratica una sorta di spostamento servoassistito). Il macchinario è dotato di visualizzatore di posizione (DRO) che ho interfacciato e mi fornisce gli impulsi in quadratura. Dato che ha un certo gioco (backlash) quando cambio direzione, non mi permette di avere molta precisione contando semplicemente il numero dei passi.
        Quindi niente controlli sofisticati, niente PID ma un semplice………..vai finchè il DRO non ti dice che è arrivato a TOT. In altre parole il sistema non dovrebbe contare quanti step fare ma farli e basta perchè a fermarlo ci sarà una routine diversa.

        La verità è che lo sto facendo utilizzando un Arduino2 (che pilota anche un LCD grafico a colori), ma curiosando il vostro sistema, mi è venuta questa mezzaidea (anche perchè facendolo con Arduino ci vuole più tempo).

        Comunque grazie per la risposta e …… bravi.

        • Livio says:

          Se riesci a leggere l’encoder (in un qualunque modo, magari in seriale) e avere i suoi dati in software (in un qualunque linguaggio) allora tutto il resto si fa in cinque minuti. Probabilmente ti servirebbe un lettore di encoder USB, non l’ho cercato ma probabilmente esistono e potrebbero anche costare pochissimo (tipo i converttori USB seriali che costano 3 Euro).

          Noi non implementeremo letture complesse (che richiedono due fili) nei moduli, sia per evitare di aumentare troppo i tipi di pin, sia per lasciar posto nel firmware a futuri tipi di pin che realmente serviranno. Eventualmente si potrebbe fare un modulino apposito per gli encoder. Ma sono convinto che esistono già pronti e che quindi non è il caso di perdere tempo a progettarli. Prova a cercare da Pololu, Phidgets, HobbyKing, RobotItaly e simili.

          Poi potresti scrivere le quattro righe che servono magari in DotNet, Theremino Script, VB6 o MaxMSP. Se non riesci, o non ti trovi bene con questi linguaggi, ti aiuterò a scrivere una applicazione nel linguaggio che preferisci.

  20. PATO65 says:

    Ciao Livio,
    scrivere software di qualunque tipo e con qualunque linguaggio (o quasi) non è un problema (lo faccio di lavoro), programmare microcontrollori non è nemmeno un problema, ma non ho capito bene una cosa…….
    Tu mi stai dicendo che basterebbe leggere l’encoder tramite hardware e fino qui tutto bene. Ma perchè poi USB? Intendi dire che poi il PC legge tramite un’altra porta USB il valore dell’encoder?
    Sinceramente non ho capito il giro che devrebbe fare indipendentemente dal sw utilizzato.
    Da quello che ho capito dal vostro sistema (è solo da 3 giorni che lo conosco) bisognerebbe scrivere il valore dell’encoder (letto con hw dedicato) in uno slot, dopodichè sarebbe tutto molto semplice. Mi sfugge qualcosa?

    • Livio says:

      Esattamente come hai scritto, basta scrivere il valore dell’encoder (letto con hw dedicato) in uno Slot del sistema Theremino e poi qualunque applicazione Thereminica potrà utilizzarlo.

      Ma sarebbe ancora più semplice leggere il valore dell’encoder nella stessa applicazione che gestirà il movimento e (senza nemmeno scriverlo in uno slot) fare la differenza tra destinazione e valore dell’encoder. E infine muovere lo stepper scrivendo il valore per lo stepper nello slot del motore.

      Per legger e l’encoder io parlavo di un adattatore USB perché mi sembrava il modo più semplice, ma se hai un altro metodo (magari che passa da una seriale) va benissimo anche lui.

  21. Maurizio says:

    Ciao Livio.

    Riguardo la richiesta di Pato, secondo te sarebbe possibile leggere l’encoder incrementale in quadratura direttamente utilizzando due pin di un master?
    Se fosse possibile, sarebbe un nuovo tipo di pin da aggiungere nell’elenco di Hal (quindi richiederebbe un aggiornamento di HAL e del firmware del PIC), oppure si riesce via software nel PC?
    Di certo ci sono problemi di frequenza massima degli impulsi, che deve essere inferiore a quella massima di lettura del PIC, e anche della comunicazione USB.
    Al limite si può pensare a un flip-flop hardware, in modo da avere un pin con gli impulsi e l’altro con la direzione.
    L’alternativa, e anche la strada migliore, è un PIC programmato per leggere gli impulsi in quadratura ed essere visto come master o slave Theremino.
    Forse Pato, che dice che non ha problemi con i microcontroller, potrebbe aprire il sorgente del master e fare le modifiche, secondo me non è una cosa difficile, anzi.. Se avessi tempo forse potrei farlo anche io. E’ un contatore up/down controllato da un flip-flop e un segnale dell’encoder, fattibile molto facilmente via software.
    La logica è quella descritta ad esempio qui:
    http://www.maurodeberardis.it/Bridge99/encoder.htm.
    A me la cosa sembra intrigante, cosa ne pensi?

    Ciao
    Maurizio

    • Livio says:

      Va benissimo un PIC programmato per leggere l’encoder ma non lo faremo nel Master (come già spiegato nel messaggio delle 08/05/2015 at 10:55 AM)

      Copio qui la parte del messaggio che lo spiega:
      “Non implementeremo letture complesse (che richiedono due fili) nei moduli, sia per evitare di aumentare troppo i tipi di pin, sia per lasciar posto nel firmware a futuri tipi di pin che realmente serviranno. Eventualmente si potrebbe fare un modulino apposito per gli encoder. Ma sono convinto che esistono già pronti e che quindi non è il caso di perdere tempo a progettarli. Prova a cercare da Pololu, Phidgets, HobbyKing, RobotItaly e simili.”

    • Livio says:

      Fare nuovi tipi di PIN è un lavoro enorme. Prima di tutto si deve aggiornare il protocollo di comunicazione con i nuovi codici per il tipo. Poi si devono allineare le spiegazioni sul sito e aggiornare il DataSheet del Master. Poi si deve scrivere il firmware e provarlo. E infine aggiornare l’HAL in VbNet, quello in CSharp e gli Help dell’HAL in tre lingue. Se qualcuno vuole farlo è il benvenuto, ma si prepari a metterci un mesetto (se lo facciamo noi) molto di più se non si conosce il sistema.

      E non sono nemmeno sicuro che sia una buona idea. Credo che sarebbe meglio lasciare quel 20% di risorse che ci sono ancora nel Master, per futuri tipi di Pin più adatti al sistema Theremino. Pin che richiedono un filo solo e che non hanno alternative comode già pronte. Leggere un encoder non mi sembra far parte di questa categoria.

  22. Maurizio says:

    Livio,

    scusami, avevo letto quel messaggio ma oggi sono più distratto del solito…
    Sto guardando proprio ora il firmware del master, e secondo me riuscirei pure io, se avessi il tempo.
    Tra l’altro, la tua idea di fare tutto senza passare per gli slot è ottima.
    In pratica, si potrebbe fare un master speciale che legge l’encoder e pilota lo stepper, direttamente da firmware.
    Tramite slot si potrebbe impostare la destinazione e leggere quanto manca all’arrivo, in pratica quello che già fai con il CNC ma utilizzando l’encoder.
    Per l’algoritmo di accostamento alla destinazione possiamo parlarne, c’è un sistema semplice che ho già usato, e non richiede PID.
    Resta il fatto che non ho tempo, quindi dovrebbe essere Pato che se vuole segue questa strada.

    Ciao
    Maurizio

    • Livio says:

      Non un Master speciale (lavoro di una enormità inconcepibile – leggi la mail precedente) ma solo un semplice lettore di encoder (magari seriale) e poi usare i moduli del sistema Theremino così come sono adesso, senza cambiare una virgola.

  23. Maurizio says:

    Livio, hai ragione come al solito!

    Come sempre parto in quarta senza pensare alle conseguenze di quello che dico :)
    In effetti, avevo tralasciato tutti gli effetti collaterali di questa ‘semplice’ modifica.

  24. PATO65 says:

    Ciao Maurizio e Livio,
    l’idea di leggere l’encoder in quadratura con un micro e gestire direttamente lo stepper lo sto già facendo. Non con un PIC ma con un AMX (Arduino2).
    E’ che quando sono capitato su questo sito e ho scoperto questo bellissimo prodotto mi sono accorto che sarebbe stato molto più veloce gestire il mio progetto facendo il software su PC (o meglio Tablet in modo da lasciarlo fisso a bordo macchina).
    Livio, grazie per il link ai modulini per la lettura dell’encoder, ma sono rimasto allibito nel vedere come possano costare così tanto; in fondo leggere 2 segnali in quadratura gestiti da interrupt, incrementare un contatore e mandarlo via seriale lo si può fare in mezz’ora con un piccolo PIC da 1 Euro.
    Comunque grazie per il vostro interessamento ma stavolta continuerò col mio progettino.

    • Livio says:

      Sarebbe davvero da fare questo modulino. Non se ne trovano e costano moltissimo. Hai tempo per farlo tu?

      Ho letto che non ti piacerebbe usare una seconda USB, quindi come penseresti di inviare i dati al PC? Attraverso il nostro Master e l’HAL non si può fare, perché si tratta di un segnale strambo, con due fili, poco in linea con i nostri semplici InOut. Anche gli I2C non li implementiamo per lo stesso motivo, e lo stesso vale per le WebCam, il GPS (Global Positioning) e l’audio. Sono tutti segnali che possono benissimo entrare nel PC per altre strade senza sovraccaricare i Master. Poi, una volta che sono nel PC, sono come tutti gli altri Input, anche se non sono passati dal Master.

      Sarebbero molto utili e interessanti anche dei moduli con un PIC, per leggere i calibri digitali, da usare come sensori di movimento lineare:
      http://www.shumatech.com/support/chinese_scales.htm

  25. PATO65 says:

    la lettura dei segnali di un encoder in quadratura necessita veramente di poche riche di codice, quello che non ho mai fatto coi PIC è gestire la USB e non mi sembra che la cosa sia così banale.
    L’unica volta che ho dovuto interfacciare un PC con un PIC è stato per un caricabatterie che inviava i valori di tensione e corrente tramite seriale con MAX232.
    Hai qualche link o meglio qualche esempio di codice già pronto che mi faciliti la scrittura su USB?

    • Livio says:

      Il codice più semplice e migliore, che conosco, si trova nel nostro HAL. Ma comunicare in USB è abbastanza complesso, sia dalla parte PIC, che dalla parte PC.

      Io consiglierei di usare adattatori USB-RS485, ne ho appena presi due per comunicare con l’inverter dei pannelli solari e li ho pagati meno di 5 Euro (tutti e due e spedizione compresa). Uno lo prendo sempre di scorta e funzionano bene tutti e due: http://www.ebay.it/itm/301513338044

      Il vantaggio di usare un coso del genere sarebbe di poter collegare molti moduli, anche a grande distanza. Ciascuno modulo con un PIC, magari uno per un calibro lineare, l’altro per tre encoder ottici… Secondo vantaggio, la facilità di leggere i dati (li vedi come COM3, COM4 etc…). Naturalmente la seriale va bene solo per comunicazioni lente e con pochi dati. Ma per gli encoder e i calibri sarebbe un’ottima soluzione, flessibile ed espandibile a volontà. Quasi un secondo sistema Theremino, specializzato per le comunicazioni seriali, da far lavorare insieme a quello principale.

      Se potessi progettare questo sottosistema, faresti un grande piacere a tutti i thereministi. Noi abbiamo molti progetti da finire e non ne abbiamo il tempo. Ma ti aiuteremo per tutte le parti di collegamento con il sistema theremino. Praticamente si tratterebbe di fare una applicazione che legge le seriali e scrive negli slot. Un esempio molto semplice di lettura delle seriali è qui:
      https://www.theremino.com/downloads/automation#balance

      Infine, comunicare con gli slot è facilissimo, basta usare la nostra Class_ThereminoSlots e ricordarsi i nomi di due funzioni, Slots.Write() e Slots.Read():
      https://www.theremino.com/downloads/foundations#easyslot

  26. Maurizio says:

    Ciao Pato e Livio.

    Solo una piccola osservazione.
    Se si vuole usare l’encoder per un controllo in feedback, il refresh di lettura deve essere il più veloce possibile, e questo non si può fare con la seriale.

    Livio, secondo te se Pato apre il firmware del master, mantiene la parte USB e toglie il resto, mettendo il contatore, non potrebbe evitarsi tutto lo studio della parte USB?
    Che poi è qualcosa di simile a quello che pensavo io.
    Diventerebbe un master atipico, con documentazione a parte.

    • Livio says:

      Se i byte sono pochi, allora la seriale è altrettanto veloce della USB. Facciamo un esempio con 4 byte per un calibro + 4 per un encoder.

      La USB fa uno scambio ogni millisecondo nelle migliori condizioni possibili, ma di solito per uno scambio ci mette anche due o tre mS. Una seriale a 115 Kbaud spedisce 100 bit (8 byte * 8 bit + qualcosa di CRC e start-stop) in meno di un millisecondo. Quindi due o tre volte meglio della USB.

      E inoltre, lavorando con Theremino CNC e steppers, abbiamo scoperto che parlare di millisecondi vuol dire essere molto più veloci del necessario. La meccanica va a decimi di secondo, non millesimi. Si iniziano a sentire piccole differenze nel suono dei motori solo quando i tempi di scambio superano i 50 mS. Poi, per vedere effettive differenze nella lavorazione, o veri dondolamenti, si devono superare i 100 mS.

  27. Fabrizio says:

    Sto finendo di costruire un braccio robotico, un po per hobby ma anche nella speranza di poterlo poi utilizzare (più di uno) per movimentare dei pezzi, quindi farli lavorare davvero. Ho trovato un progetto già fatto dall’azienda che ha realizzato la stampante 3d in mio possesso e sembra sufficientemente solido e valido per il progetto che ho in mente. Questo robot prevede l’uso di motori passo passo nema 17, ramps e driver appositi. Ho già acquistato i motori, li ho presi da 400 step per migliorare la precisione. Poi per caso ho scoperto il Vs sito e devo dirvi che siete davvero fantastici. Attendo che mi arrivino le master per cominciare a giocarci. Quando ho del tempo libero in questi giorni, lo passo a leggere quanto più possibile sul Vs. sito per istruirmi. Quello che vorrei sapere intanto è se il software theremino arm può utilizzare solo ed esclusivamente i servo o se può essere utilizzato anche con i motori passo passo. Grazie in anticipo per la risposta che vorrete darmi, cordiali saluti Fabrizio

    • Livio says:

      Con Theremino ARM si può utilizzare qualunque motore perché emette semplicemente un valore in uno Slot. Zero vuol dire 90 gradi a sinistra e mille vuol dire 90 gradi a destra.

      Poi chi controlla i motori (nel tuo caso Theremino HAL), dovrà fare le necessarie conversioni di scala, per far coincider il movimento dei motori con gli angoli del software.

      Spero che tu sappia programmare, perché Theremino CNC è solo una collezione di funzioni per la cinematica. Un buon esempio, funzionante e ottimo per la didattica, ma probabilmente incompleto e insufficiente, per fare un vero lavoro, nel campo della automazione.

      Per iniziare le prove ti basta un Theremino Master, da qui:
      http://www.thereminostore.com

      Se lo acquisti dal magazzino in Europa ti arriva in tre giorni:
      http://thereminostore.com/product/master-v4-eu-warehouse/

      E poi ti servono i driver, come spiegato qui:
      https://www.theremino.com/hardware/outputs/motors#controllers

  28. Marco R. says:

    Salve a tutti,
    complimenti ancora a Livio e tutto il Theremino Team per gli ottimi prodotti Hardware e Software!
    Una domanda: per chi volesse cimentarsi in piccole applicazioni VbNet o Theremino Script, esiste una zona del sito dedicata alla pubblicazione/scambio di software in modo da condividere il tutto con altri appassionati, in pieno stile “open source”? Mi riferisco a qualche “Software repository” espressamente dedicato al mondo Thereminico.
    Marco

  29. Sergio Pagano says:

    Salve,
    prima di tutto complimenti per tutto quello che state facendo e per la filosofia che vi anima. Io sono un “vecchio” appassionato di elettronica e attualmente sto sviluppando sensori ambientali. In particolare sono interessato ai sensori di polvere tipo il GP2Y1010AU0F per fare reti distribuite sul territorio. Nella parte che dedicate a questo sensore accennate ad un miglioramento del circuito di lettura, annunciato per gennaio 2015. Come stá la situazione al momento? Posso dare una mano?
    grazie.

    • Livio says:

      Ciao, hai proprio ragione, abbiamo rimandato questo progetto troppo a lungo in favore di altri più urgenti.

      Ora dobbiamo assolutamente finire SDR e ADC24:
      https://www.theremino.com/downloads/automation#sdr
      https://www.theremino.com/hardware/adapters#adc24

      Ma si tratta di giorni, una settimana o due al massimo, poi tocca al sensore per le polveri. Era in programma anche se non ci scrivevi, è il primo della lista. E anche per lui non ci vorrà molto perché l’adattatore è finito e funzionante, manca solo qualche test e del software per “spettrometrarlo”.

      Fa piacere leggere che vuoi dare una mano, abbiamo sempre grande bisogno di aiuto. Che tipo di cose potresti fare? Hai strumenti piccoli e occhialoni per gli SMD? E strumenti di misura? Sai già come modificare i software thereminici con Visual Studio? Magari oggi stesso ti pubblichiamo lo schema e il PCB dell’adattatore per la polvere, così come è adesso, con due note su quel che resta da fare…

      • Sergio Pagano says:

        caro Livio, grazie.
        dal circuito capisco che: essendo il modulo di teremino essenzialmente basato su una singola linea di i/o, é stato implementato l’oscillatore con il 555 per far andare in autonomia il modulo Sharp ed é stato realizzato un semplice, ma efficace, peak detector con il transistor. Mentre quest’ultimo accorgimento semplifica la lettura del segnale, non essendo piú vincolati ai tempi dettati dal datasheet del sensore di polvere, non capico perché aumenta anche la sensibilitá della misura. Purtroppo non ho trovato da nessuna parte lo schema del circuito del sensore e pertanto non ho idea di come forma l’impulso in uscita, ne del perché del repetition rate di 100 Hz.
        Avete qualche informazione a riguardo?

        Per quanto riguarda il mio possibile aiuto, ho un piccolo laboratorio elettronico a casa ed uno molto migliore all’universitá dove insegno. Ho competenza su progettazione elettronica, programmazione di microcontrollori e interfacciamento sensori. Al momento mi sto occupando di realizzare sensori ambientali wifi utilizzando il famoso ESP8266, ma nel recente passato ho sviluppato qualche sistemino indossabile dotato di accellerometri e giroscopi per applicazioni medicali (monitoraggio postura per riabilitazioni, monitoraggio attivitá per anziani, monitoraggio respirazione per apnee notturne).
        Dal punto di vista piú professionale mi occupo di sviluppo di rivelatori di fotoni singoli, usando superconduttori, e studio delle fluttuazioni a bassa frequenza (rumore 1/f) in materiali e dispositivi innovativi.

        Passando ad altro argomento: SDR, ho trovato su aliexpress un modulo a basso costo che forse é comapatibile con il vs progetto.
        il link é
        http://it.aliexpress.com/item/USB2-0-Digital-DVB-T-SDR-DAB-FM-HDTV-TV-Tuner-Receiver-Stick-HE-RTL2832U-R820T/32324470583.html
        Mi potresti confermare se va bene, cosí lo ordino, visti i tempi delle poste dalla Cina ci vorranno almeno 3 settimane.
        ciao e grazie ancora.

        • Livio says:

          Il repetition rate a 100 Hz serve per dare forti e brevi impulsi di luce e aumentare la sensibilità.
          Il modulo Sharp va usato così, altrimenti non funziona proprio. Sharp specifica nei data sheet che si deve usare un condensatore elettrolitico (il C da 220 uF) per dare brevi impulsi. Il led non potrebbe sopportare una corrente continua di quella intensità e quindi hanno trovato questo sistema. La loro idea funziona bene, ma sul modulo hanno messo solo parte di quel che serve, una metà va fatta fuori, ed è quello che abbiamo fatto.

          Il peak detector serve per poter misurare con precisione la ampiezza della punta degli impulsi. Senza di esso la larghezza delle righe della spettrometria (FWHM) sarebbe più larga, perché gli impulsi sono tutti diversi e alcuni hanno il massimo un po’ prima e altri un po’ dopo. Quindi senza un peak detector il valore misurato dipenderebbe dall’istante di lettura.

          Abbiamo questo tipo di esperienza derivata da Theremino MCA, nel quale siamo riusciti a stringere le righe in modo che molti ritengono incredibile. Nel caso delle polveri non ci saranno righe di isotopi ben definite, quindi forse stringerle non sarebbe essenziale, ma in ogni caso misurare con precisione non fa mai male.

          Nelle prove abbiamo anche verificato che la polvere sottile (intorno al micron) non è comunque contabile a granelli singoli. Quindi il peak-detector fornisce anche un continuo tappeto di fondo, che è destinato a finire nel singolo “bin” delle polveri sottili.

          ————

          Schemi e data sheet del modulo Sharp sono nella pagina indicata:
          https://www.theremino.com/hardware/inputs/dust-sensors#spectrometry

          Li trovi appena sotto al nostro progetto, c’è il data sheet, ci sono le immagini, le AppNotes… tutto il meglio che siamo riusciti a trovare.

        • Livio says:

          Il ricevitore RTL che indichi va bene, sbanda un po’ nei primi minuti ma poi si stabilizza, a patto che non chiudi mai la applicazione SDR. Se la chiudi poi devi attendere di nuovo qualche minuto per ricevere bene la SSB.

          Per il resto è ottimo e costa davvero poco. E’ un 820T2 e anche questo non guasta. Forse però potresti trovarne uno già in Germania, per un Euro o due in più.

          Poi ti converrà comprare al più presto anche un BFR90, un NE602, un quarzo da 125 MHZ (3.3 Volt) e due toroidi come da schema, perché senza UpConverter e Antenna attiva si riceve ben poco di interessante.

        • Livio says:

          Riguardo alla tua frase “…non capico perché aumenta anche la sensibilitá della misura…”

          In effetti non abbiamo scritto che è aumentata la sensibilità, ma abbiamo scritto riguardo al “…mai visto funzionare così bene”. E si intendeva che con un circuito molto semplice si può ottenere una vera spettrometria, contare i singoli impulsi e dividerli in bins.

          Il modulo Sharp era progettato per vedere grossolanamente la polvere in una aspirapolvere ma, dato che è otticamente ben progettato, si può spremergli molto di più di quel che avevano previsto. Da qui la frase “nemmeno i progettisti lo hanno mai visto funzionare così bene”

        • Livio says:

          Abbiamo pubblicato nuovi consigli per costruire l’UpConverter, leggili qui:
          https://www.theremino.com/hardware/adapters#upconverter

  30. Carlo Daziano says:

    Mi sono passato tutto il blog per evitare di far perdere tempo a Livio con una problematica già discussa…(è solo aumentata la mia personale stima per la persona e lo spirito che caratterizza il TEAM cui fa parte). Volevo utilizzare la tecnica di ray-tracing per produrre la rappresentazione 3D dei pcb generati con Eagle. Per la prima esperienza, ho scelto di utilizzare il progetto Adapter_Stab (minimale, testato, in passato gia’ renderizzato dal team di Theremino). Avendo competenze limitate mi ponevo, come primo obiettivo, di familiarizzare con strumenti per me nuovi (Eagle 7.5.0 Free Edition e Pov-Ray v3.7). Seguendo alla lettera una procedura consolidata e ben descritta da Livio, sono arrivato a generare un file “.pov” che pero’ contiene un errore bloccante per la successiva fase di rendering, Allego il listing del file.pov dove è evidenziato il punto di blocco. E’ richiesta l’inclusione di un file “tools.inc” che non so dove prendere. Probabilmente la versione di Eagle3D.ulp (estratta da ULP_EAGLE_3D.zip) non funziona con con la Free Edition di Eagle 7.5.0 che sto utilizzando. Livio mi puoi confermare se la mia analisi è corretta o se sto sbagliando grossolanamente qualche altra cosa? Sono tre giorni che remo e sono arrivato alla conclusione che, da solo, non ne esco. Grazie

    ********************************************************************************************
    //POVRay-File created by 3d41.ulp v1.05
    //C:/Users/admin/Documents/_Eagle/Progetti/aaaprova/aaaprova.brd
    //21/02/2016 18:44

    #version 3.5;

    //Set to on if the file should be used as .inc
    #local use_file_as_inc = off;
    #if(use_file_as_inc=off)
    ……….
    ……….
    ………..
    #declare pcb_layer16_used = 1;
    #declare inc_testmode = off;
    #declare global_seed=seed(105);
    #declare global_pcb_layer_dis = array[16]
    {
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    0.000000,
    1.535000,
    }
    #declare global_pcb_real_hole = 2.000000;

    #include “tools.inc”
    #include “user.inc”

    global_settings{charset utf8}

    #if(environment=on)
    sky_sphere {pigment {Navy}
    pigment {bozo turbulence 0.65 octaves 7 omega 0.7 lambda 2
    color_map {
    [0.0 0.

    • Livio says:

      Non è dovuto alla versione di Eagle.
      Sicuramente non hai copiato qualche file nelle cartelle giuste.
      Gli errori che scrivi sono classici di quando si dimentica di copiare qualche file o lo si copia nella cartella sbagliata. Succede tutte le volte che si installa Eagle3D, dato che si fa facilmente confusione tra le cartelle LIB di eagle 3D e quelle di PovRay…

      Così a occhio, forse ti mancano i file che avresti dovuto copiare nella cartella include di PovRay, da me ora sono 81 e comprendono anche il file tools.inc che ti manca.

      Quindi penso che hai saltato il terzo passaggio che dice:
      =================================================
      Files di “include” per PovRay (per i componenti 3D)
      – Scaricare questo file ZIP: PovRay_Include_Files
      – Aprire la cartella di PovRay
      – Individuare la sottocartella “include” e aprirla
      – Copiare nella cartella “include” i file, estraendoli dal file ZIP e sovrascrivendo.
      =================================================

      Attenzione che la cartella “include” deve essere quella dove effettivamente è diciamo “installato” il PovRay. Potrebbe anche solo essere copiato da qualche parte, e non installato, ma deve comunque essere quello che stai lanciando.

      Attenzione anche, che noi preferiamo non installare mai nulla, per non modificare il registry del sistema operativo. Ma così facendo si deve stare in zone proprie, non in quelle del sistema (Program files / Programmi / Windows / System32 e Users) altrimenti i software non riescono a scrivere e si deve lanciarli come supervisore.

      Cartelle buone dove posizionare TUTTE le proprie cose sono: una cartella che sta da Documenti in giù, oppure, e meglio ancora, una cartella in C tipo “C:\Livio”, nella quale si metteranno tutte, ma proprio tutte, le proprie cose, ben divise in sottocartelle Theremino / PovRay etc.. Il vantaggio di questo approccio è che in futuro basterà copiare questa cartella su un altro PC per portarsi dietro tutto il proprio mondo. Stessa cosa per i backup di sicurezza…

      Ora non ricordo bene i particolari perché non installo PovRay da un po’. Ripassa con cura tutti i passaggi che abbiamo scritto, se non riesci lo stesso chiama allo 0125 57290 e lo aggiustiamo in un attimo con TeamViewer.

Leave a Reply

Your email address will not be published.