Robotics and CNC


Blog per la Robotica e le macchine CNC


Questo è il primo sonar di Mauro Riboni, l’applicazione ThereminoRadar è nata da questo prototipo. Ringraziamo ancora Mauro, per averci coinvolto e per aver insistito, fino a farlo funzionare.
Download del ThereminoRadar qui: /downloads/automation#radar e informazioni sui sensori qui: /hardware/inputs/sensors#usound

- – - – - – -

Mauro Riboni sta anche sperimentando diverse versioni di bracci meccanici. Le sue meccaniche sono studiate e realizzate molto bene. Questa è una versione con servo di grande potenza. Questi servo non sono adatti per scrivere a causa della loro dead band, ma sono ottimi per prendere e sollevare oggetti. I due servo alla base e la costruzione molto robusta, permettono di sollevare oggetti abbastanza pesanti.

- – - – - – -



Uno dei primi prototipi di ThereminoArm. Questa versione usava ancora un Master e uno Slave, perché i primi Master non avevano PIN configurabili. Ora si fa tutto con il solo Master e avanzano anche due PIN. Aggiornamento del dicembre 2014: il nuovo firmware dei Master, aumenta il numero di PIN da 6 a 10, quindi ora avanzano ben sei PIN per usi generici.

- – - – - – -

Un Robot non è necessariamente un braccio articolato. Con un po’ di fantasia, si possono comporre macchine semplicissime ed efficaci.

Un robot “didattico” costruito dagli allievi dell’istituto I.C. di Corniglio

La motivazione proposta dell’istituto I.C. di Corniglio è: “…ricongiungere il mondo digitale col mondo reale e concreto” ed è proprio per questo che è nato il sistema Theremino. Un caloroso grazie per le vostre ricerche!


Sketch e Firmware

Molti dopo aver imparato il linguaggio sketch di Arduino, ci hanno scritto che vorrebbero usarlo, anche per Theremino. Purtroppo il linguaggio sketch è stato pensato, solo per i processori dell’Arduino e trapiantandolo su altri “micro”, diventerebbe così diverso, da perdere ogni possibilità, di scambiare i programmi tra i due.

I nostri PIC si programmano in C o in C++, usando un IDE standard e compilatori standard, noi usiamo il GNU Compiler, che è Open Source.

Per quanto la enorme popolarità di Arduino, possa farci apparire ”diversi”, in realtà è vero proprio il contrario, è Arduino che usa un linguaggio non standard, fatto apposta per Arduino e valido solo per Arduino.

Gli sketch non sono vera programmazione del firmware, ma una programmazione semplificata, che nasconde tutto il “contorno”. Con gli sketch, l’efficienza è le possibilità di manovra, sono limitate.

Inoltre gli sketch provocano una deformazione didattica, si impara a usare una astrazione del micro, al posto del micro stesso. Per imparare a usare un micro, si dovrebbero studiare i data-sheet del costruttore, non le istruzioni di Arduino.

Detto questo, per fortuna, il firmware del sistema Theremino, non richiede programmazione. Siamo nel 2014 e si suppone che gli InOut di un PC, così come il firmware di un telefonino, o di una lavatrice, siano funzionanti “come sono”, senza doverli ri-programmare ogni volta, a seconda che si vogliano lavare camicie, oppure blue jeans.


Spostamento di prospettiva

Lo spostamento di prospettiva, tra Arduino e Theremino è di fatto, spostare l’intelligenza dal firmware al software. Questo spostamento moltiplica per mille la velocità disponibile, la potenza di calcolo, la memoria, e la facilità di programmazione.

Per questo approccio, si deve essere costantemente collegati a un PC (o un NetBook, un eeeBox, un Tablet, un MiniPC o un Raspberry Pi, come spiagato qui: blog/standalone-applications#raspberry, e anche qui: downloads/notes-on-software#computers)

Molti dispositivi, come le stampanti, i monitor e i mouse, sono costantemente collegati al PC e tutti lo trovano “normale”. Eppure molti pensano che un “dispositivo”, come ad esempio un braccio robotico, o una stampante 3D, dovrebbero essere autonomi, e probabilmente anche a pile…


Bracci robotici e intelligenza

Facciamo l’esempio, guarda caso, di un “braccio robotico”. Molti costruttori di bracci robotici Arduinici, si sono accorti che il loro braccio “autonomo a pile”, alla fine fa sempre la stessa cosa. Cosa gli manca? La comunicazione e il software, algoritmi potenti che tengono in contatto i dati 3D, con il mondo esterno, sensori, WebCams, microfoni, capire i GCode, e comunicare con altre applicazioni, in tempo reale.

I micro non sono concepiti per gestire file 3D, o decodificare segnali audio, non hanno potenza adeguata, per suonare file midi, o decodificare il video di una WebCam. E se anche li si costringe a farlo, lo fanno male. Detto con altre parole: “Il luogo adatto per il cervello, non è vicino ai muscoli”

Un altro motivo, che rende molto furbo, collegare stabilmente bracci e stampanti 3D al PC, è che si deve fornirli di alimentazione. Quando si supera la fase giocattolo, le esigenze di alimentazione, diventano troppo pesanti, per le pile.

Come sono fatti i bracci robotici professionali ?

  • Hanno grossi cavi, che portano alimentazione e dati.
  • Comunicano costantemente con un PC di controllo.
  • Contengono solo il firmware, gli algoritmi intelligenti, sono tutti sul PC.

Fate click sulla immagine, per vedere meglio.


Quale linguaggio usare?

Una volta deciso di spostare l’intelligenza, dal firmware verso un linguaggio ad alto livello, quale è il migliore linguaggio da imparare?

Qui è una questione di gusti, alcuni dicono che esiste solo il C++, e trattano con disprezzo, ogni altro linguaggio.

Altri, come noi, pensano che il C++ sia ormai un linguaggio vecchiotto, che richiede molto più tempo e energie, dei linguaggi recenti. E pensano anche che C++ e simili (C, Java e tutti i linguaggi con il punto e virgola a ogni riga) siano linguaggi mal strutturati e poco formali, che invogliano a scrivere, in modo “sporco” e confuso. In questi linguaggi è possibile scrivere, cose accettabili dal compilatore, ma assolutamente illeggibili, per gli umani.

Noi preferiamo linguaggi più strutturati, che aiutano a scrivere bene, e a minimizzare gli errori. Questo processo di allontanamento graduale, dal linguaggio macchina, è in atto da cinquant’anni e ad ogni nuovo passo, c’è chi si lamenta e rimpiange i vecchi linguaggi. Ma il processo proseguirà, e alla fine arriveremo a programmare, in linguaggio umano. Attualmente il linguaggio più umano è VbNet.

Come contorno i linguaggi moderni (VbNet e C#), hanno una potenza e una velocità di esecuzione impressionante, perché le loro funzioni di base, non vengono riscritte ogni volta da zero, ma sono invece pronte nel “RunTime” e scritte con algoritmi ottimizzati, e adattati al sistema operativo.

Un secondo vantaggio dei linguaggi moderni, è di essere indipendenti dal sistema operativo. Una applicazione scritta in C# o in VbNet, gira senza cambiare una virgola anche su Mac, Linux e Unix. (questo almeno in teoria… in pratica solo su Windows funziona tutto bene, mentre sugli altri sistemi operativi, le implementazioni sono incomplete e piene di errori)

Concludendo noi suggeriamo di usare VbNet oppure C# (molto simili tra loro) Quasi tutte le applicazioni, del sistema Theremino, sono scritte in VbNet, perché lo troviamo più “umano”, ma si può facilmente passare da un linguaggio all’altro, usando SharpDevelop per tradurre.

Per installare gli strumenti di sviluppo, leggere qui: downloads/notes-on-software#instruments

  1. freddy says:

    salve!! i was looking for your excellent work “robotic arm”, it’s amazing; so i have a question, i would like construct this but whit the atmega8535, the reason is that i have the starterkit stk500 offer by atmel, this startedkit don’t have the comunications through usb have only serial. How can comunicate the software “Theremino_Arm” through serial rs232? it’s possible?
    thanks and congratulations for yours works!!

    • Livio says:

      The theremino system does not communicates via rs232 but only via USB, SLOTS, UDP, or OSC. In the pages http://www.theremino.com/technical you can find all the necessary informations, and so you may use a atmega but you will definitely put a very long time to program the firmware. We do not know the ATMEL processors and thus we can not help you.

  2. Mario says:

    Salve a tutti!
    Mi chiamo Mario e già da qualche tempo ho “adottato” il braccio robotico “Theremino” nel mio laboratorio e ne sono letteralmente ENTUSIASTA! Si scrivo proprio “adottato”, a parte per il fatto che è un progetto OPEN SOURCE, ma perchè si può veramente dire che “viene a far parte dei propri interessi” una volta “entrati” nel progetto) E’ un dispositivo semplicissimo da costruire, e dà TANTISSIME OPPORTUNITA’ di imparare qualcosa di qualcosa di nuovo sulla robotica e sugli asservimenti! Questo principalmente grazie al software Theremino_ARM e Theremino_HAL, anch’essi liberamente scaricabili dal sito ed Open Source!

    Io stesso mi sono dilettato nella sua costruzione, imparando tantissime cose nuove ed interessanti, principalmente grazie alla disponibilità di tutto il team, in particolare di Livio. Interessantissima la parte meccanica, di facile comprensione e di una EFFICACIA INCREDIBILE, considerando la semplicità della struttura. Basta guardare i piccoli video visibili sul sito, per rimanere immediatamente STRABILIATI dalla precisione e dalla RIPETIBILITA’ nel suo funzionamento. Ho provato di persona l’hardware e posso confermare che la velocità di questo video non è truccata! http://www.youtube.com/watch?v=S8aXLacX14s

    Veramente consiglierei a chiunque di intraprenderne la costruzione, per poter “gustare” personalmente le soddisfazioni che può dare già così com’è e intravedere le enormi potenzialità che questo piccolo progetto apre davanti agli occhi, con una semplicità disarmante!

    saluti e grazie a tutti per il vostro impegno.
    Mario

  3. Paolo says:

    Ciao Livio,
    Ho alcune domande da farti:

    1) Ho dato un’occhiata al sistema software theremino, mi sembra di capire sia in VB (personalmetne preferisco il c ), ma non ho capito con quale ambiente RAD è stato sviluppato ? Non credo Visual Studio perché non ho riconosciuto la definizione del project. Mi sembra sia codeblock o qualcosa simile…

    2) Non mi è chiaro come faccio a creare programmi personalizzati da inviare alla scheda. Devo usare VB ? C’è un interprete ? Posso creare software da postare sul pic in altri linguaggi

    3) Mi sembra di aver capito che bisogna scaricare del materiale di interfaccia dalla Microchip, ma non è proprio chiaro. Non ho visto tutorial in merito (se manca darei volentieri una mano visto che parto da neofita con questa scheda)

    4) Mi hai detto che non serve più lo slave per il braccio, basta solo il master, puoi confermare ? E’ per non fare l’ordine 2 volte.

    5) Sul post ho letto che state implementando il software 2.7 per i robot delta. Stai anche lavorando a u prototipo ?

    6) Nella versione software si vede il preview delle immagini da stampare. ;a se voglio partire da una nuova immagine, come faccio ?Non ho ben compreso come sia possibile il processo inverso. Probabilmente servirà un programmino a posta tipo un notepad che traduca le posizioni pixel in coordinate Gcode. Ma non l’ho visto.

    • Livio says:

      Ciao, rispondo alle tue domande una per una:

      1) Il software del sistema Theremino è scritto con VisualStudio in VbNet perché dalle prove è risultato il più veloce. Ma se tu preferisci il C è facile convertirlo in CSharp, usando uno dei tanti convertitori che trovi in rete (ad esempio SharpDevelop) In pratica non cambia niente, in CSharp ci sono dei punti e virgola in più e l’esecuzione è solo leggermente più lenta a causa del più macchinoso trattamento delle stringhe.

      Se vuoi puoi verificare di persona le velocità di VbNet, CSharp, C++ e VB6 usando gli esempi di questa pagina: http://www.theremino.com/downloads/foundations (“Interprocess Communications”)

      Dopo aver scaricato gli esempi puoi aprirli con VisualStudioExpress2010 o VisualStudioExpress2008, verificare che fanno esattamente le stesse cose, ricompilarli, provarli a 32 bit e 64 bit e troverai sempre che il VbNet è il linguaggio più veloce e che poi, a scendere, ci sono CSharp, C++ e infine VB6. La differenza di velocità si nota principalmente sulle stringhe e sulle operazioni complesse negli array.

      Comunque partendo dagli esempi di “Interprocess Communications” puoi scrivere i tuoi programmi in qualunque linguaggio preferisci perché Theremino è un sistema aperto e puoi accedervi attraverso gli SLOT. (naturalmente sarà più difficile che usare il nostro software già scritto, dovrai imparare molto ma, dato che tutti i nostri sorgenti sono in open source, puoi farlo)

      2) Non devi “Creare programmi personalizzati da inviare alla scheda” il sistema Theremino opera in Real-Time, hai un collegamento diretto tra le applicazioni ad alto livello e l’hardware, di tutte le complicazioni dell’hardware si fa carico il programma HAL e tu puoi concentrarti sugli aspetti ad alto livello del tuo progetto, senza programmare niente.

      3) Non devi scaricare “…materiale di interfaccia da Microchip…” tutto quel che ti serve per comunicare con l’hardware è già pronto e immediatamente funzionante, basta collegare l’USB e lanciare l’HAL.

      4) Ti confermo che basta il Master per fare un braccio robotico fino a sei assi.

      5) Tra breve pubblicheremo il programma Robot_Arm che calcola la cinematica inversa anche per i bracci di tipo “SCARA” e “DELTA” Per quanto riguarda i prototipi lo SCARA è semplicissimo mentre i DELTA sono estremamente sensibili alla lunghezza dei bracci e delle piccole bielle sui motori. Non abbiamo ancora trovato una buona configurazione per i DELTA per cui in questo caso dovresti sperimentare da solo. Puoi anche fare simulazioni con il solo software… l’obiettivo da raggiungere è sfruttare al massimo tutto l’arco di rotazione dei servo su una piccola zona di lavoro in modo da aumentare il più possibile la precisione.

      6) Per produrre i file Gcode si usano programmi 3D come “MasterCam” o “SolidWorks” o programmi per i PCB come “Eagle oppure di conversione dai disegni come “WinTopo”"

      Stiamo preparando un programma per convertire immagini al tratto in GCode, si chiama “Theremino_ImgToGcode”, manca di molti comandi utili e i suoi controlli sono confusi ma, se lo usi nel modo giusto, funziona bene e non esiste niente di simile in rete.

      Puoi scaricare una pre-release da qui: http://www.theremino.com/downloads/automation

      Poi devi fare:
      “LoadImage” di una immagine composta da TRATTI (non un paesaggio)
      “Rosenfeld” per scheletrizzare i contorni
      “Vectorize” per produrre il GCode

      ciao
      Livio

  4. Paolo says:

    Infine ti aggiorno sulle ultime prove che ho fatto sulla scheda Arduino e il mio piccolo braccio sperimentale (essenziale, solo per testing concettuale fatto nel giro di un fine settimana) visto che ormai ce l’ho e non posso certo buttarlo

    Lo scopo era quello di testare la qualità di interfacciamento del modulo Arduino UNO da PC tramite tastiera per il controllo diretto dei servi. Devo fare una correzione sul modulo Arduino. Un utente è riuscito a interfacciare la tastiera utilizzando i pin di comunicazione 7 e 8 della scheda, tuttavia il risultato è stato comunque deludente per due aspetti:

    - Il sistema viaggia al baud rate della tastiera, quindi se si impostano dei passi piccoli ad alta precisione si muove a scatti. Impostando un range più elevato si riduce moltissimo la precisione ma il movimento è più fluido. Ma a questo punto non serve più a niente.

    - I comandi sono sempre sequenziali, quindi anche trasmettendo direttamente da scheda a velocità molto alte (1/2 secondo di delay) i motori si spostano sempre uno dopo l’altro. Il movimento non risulta mai perfettamente fluido, ma sempre un po’ scattoso, con il risultato che un cerchio non risulta mai perfetto, nemmeno lontanamente. Trasferire algoritmi in stand-alone di elaborazione dei moviemtni con formule di integrale con pochi byte non è alla portata di tutti.

    - Le librerie keyboardPS2 contemplano solo alcuni tasti (frecce, tasto Funzione 1-12, del, pagesu, pagegiu, poco altro) La libreria può essere implementata ma perde la compatibilità con la libreria standard keyboardPS2 (a versioni successive bisogna sempre re-implementarla, a meno di non mettere mano direttamente a quella in rete tramite la community)

    Ho riscontrato anche problemi tra alimentazione diretta via USB e via batteria, ma non capisco il motivo (con batteria la tastiera non funziona) Svolgerò dei test per capirne il motivo. Poi sono curioso di ripetere tutti i test con Theremino !

    Mi rendo conto che di ottimizzazioni se ne possono fare tante. Come spesso hai commentato nei tuoi post solo chi ha voglia di imparare può comprendere cosa ci spinge a studiare questi sistemi di controllo, semplificandone il più possibile l’accesso a tutti. Concordo sul fatto che i vecchi PC erano molto più aperti, oggi tutto è blindato perché tutto è puramente commerciale. Ma noi non non molliamo !

    Ciao

  5. paolo says:

    Ciao Livio,

    ho provato il programma che hai segnalato per la vettorizzazione delle immagini e trasformazione in Gcode ma sovente mi dà questo errore:

    Eccezione non gestita…
    ************** Testo dell’eccezione **************
    System.ComponentModel.Win32Exception: Nessuna applicazione associata al file specificato per questa operazione
    in System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
    in System.Diagnostics.Process.Start()
    in System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
    in System.Diagnostics.Process.Start(String fileName)
    in Theremino_ImgToGcode.Module_Gcode.Finish()
    ….
    ….

    • Livio says:

      Questo e’ sicuramente dovuto al fatto che non hai associato i file GC a un programma di visualizzazione. Prova a fare doppio-click su un file GC e Windows dovrebbe confermarti che manca la associazione.

      Come gia’ ho scritto consiglierei di usare “Metacut” che fa vedere i GCode molto bene ma, dato che e’ un programma NON freeeware e che e’ difficile installarlo, ti consiglierei, per ora, di associare i file GC al Notepad oppure a WordPad.

      Il Theremino_IngToGcode dopo aver prodotto il GCode cerca di visualizzarlo per un veloce controllo con il programma da te preferito, se questa funzione ti sembra superflua aggiungeremo la possibilita’ di disabilitarla nella prossima versione.

      Grazie per aver segnalato questo comportamento, se possibile cercheremo di evitare l’errore anche con file GCode non associati.

  6. Livio says:

    Nancy has written:
    Dear Ms. Livio, Cappie and I are building our own robot arm but are running into issues getting it to draw well. What servos have been tried? from http://www.theremino.com/en/blog/robotics-and-cnc/
    I can see HXT900 and TGY930 but not sure what was originally tried going from top to bottom of picture http://www.theremino.com/wp-content/uploads/2012/04/RobotArm_Evolution.
    How can we reduce the “fuzzy” issue of our robot arm drawings like you did?

    Dear Nancy,
    It is good to consider, as the center of the problem, the inaccuracy in the uS.

    The dead band of the servos (in uS) and the instability of the electronic pulses (in uS) produces the same result: a incorrect position of the writing tip.

    The magnitude of the errors
    ——————————————————————
    The entire writing tip excursion produced by a servo can be, for example, about 300 mm (depending on the length of the arms and other variables)

    The whole excursion takes place in about 1000 uS variation of the pulse to the servo.

    So if a servo has a 3 uS dead-band, we calculate 1000 uS / 3 uS = 300 positions

    Then a 300 mm excursion divided in 300 parts produces 1 mm of inaccuracy.

    Error sources
    ——————————————————————
    The 1 mm imprecision was only theoretical but in practice:
    – with a 3uS declared servo
    – with a command signal not particularly stable,
    – with a heavy mechanical
    – in the presence of mechanical friction
    It is not strange to obtain inaccuracies of some millimeter that are horrible to see.

    Servo precision
    ——————————————————————
    The dead-band declared by the servo producers is measured with zero force.
    When a servo must contrast the mechanical friction and the weight of the mechanical parts the dead band increases dramatically.
    I think that under normal work your 3uS servo could have dead band of about 10 or 15 uS

    Instead the TGY930 (called also MG930) has a “measured and real” dead band of about 1uS (about 10 or 15 times better)

    I have not tested the DS8231 but the producer says “5900 steps on 120 degree” that means a dead-band better then 0.2 uS.

    Electronic signal precision
    ——————————————————————
    The servo are driven by pulses that must be generated at a frequency of about 50 per second it is not important if they are 40 or 70 per second but the frequency must be stable.

    The pulses are large from about 500 uS to about 1500 uS so the complete rotation of the servo (normally about 180 degree) is produced by a 1000 uS pulse excursion.

    It is very important that the servo pulses are produced with a very stable firmware algorithm

    The normal Arduino servo signals are relatively stable (many uS of imprecision) (this can be improved a little rewriting the whole microcontroller firmware with a programmer and not using the normal sketch programming)

    Instead the Theremino servo signals are absolutely stable because they are generated by a highly optimized firmware, syncronized by a interrupt signal that comes directly from the microcontroller clock chrystal.

    Mitigate the dead-band problems
    —————————————————————–
    1) Reduce the arm lenghts
    2) Reduce the mechanical weight (simple and minimal mechanical – like my arm – is better)
    3) Eliminate any mechanical friction (simple and minimal mechanical parts are better)
    4) Use only servo with metal stud and dual bearings
    5) Use the scara configuration (the tip position depends only by 2 servo – not 3 servo)

    Measuring the real servo dead-band
    —————————————————————–
    You can measure the dead band of a servo attaching a long arm to it (about 30 cm)
    The servo must be driven with a stable signal (not moving)
    The servo must be tight in a clamp
    Then you push a little the servo arm clockwise and then anticlockwise with your hand and measure the mm of deviation at the end of the long arm.
    Then with a proportion, considering length of the arm and the corresponding terminal circumference and a 180 degree of rotation that is produced by about 1000 uS of signal change you can calculate the real dead-band of the servo.

  7. Livio says:

    Leo ha scritto:
    Se in ogni joint posiziono due servo identici, di cui uno con il funzionamento in contro-fase (fili del potenziometro interno invertiti), dovrei ottenere un aumento della coppia e una riduzione degli errori.

    Risposta:
    ————————————————————————————————
    Lo hanno già provato, bastano minimi errori di linearità nei riferimenti interni dei servo per fare in modo che in certe aree i due servo sforzino uno contro l’altro e perdano tutta la potenza a litigare tra loro. E tremano anche.

    Inoltre hanno scoperto che i servo sono diversi tra loro e tararli per farli andare esattamente insieme è praticamente impossibile.

    Il miglioramento di precisione ottenibile sarebbe comunque poco (se si sommano due rumori il risultato non si dimezza ma diventa 0.7 – radice di due) e il raddoppiamento del peso si mangerebbe tutti i vantaggi.

    Forza a confronto
    ————————————————————————————————
    Per migliorare la precisione (e la forza di almeno 6 volte) proverei i DS8231

    Secondo le caratteristiche hanno una forza anche minore dei 930 ma dato che l’area morta è “inesistente” la forza “effettivamente usabile” diventa enormemente maggiore di quella dei 930

    Area morta a confronto
    ————————————————————————————————
    Se si prova a spingere di lato un servo 930 si vede che prima che lui cominci a contrastare con tutta la sua forza si è ruotato di quasi un grado.

    I servo DS8231 (almeno secondo quel che promettono) danno tutta la forza subito e (se non si superano i loro 1.26 Kg/cm) non si lasciano ruotare nemmeno di un centesimo di grado.

    - i TGY930 correggono a 60 Hertz
    - i DS8231 correggono a 250 Mega Hertz

    La differenza enorme nella velocità di correzione fa si che i DS8231 possano correggere molto meglio, anche spostamenti minimi, senza mai tremare.

  8. Paolo says:

    Buongiorno a tutti, vorrei un chiarimento in merito a files da spedire al theremino arm per disegnare sagome (2D). Ecco come procedo:
    1. disegno la mia sagoma in 2D > salvo in DXF ( release 12 )
    2. importo il DXF in ACE converter 3.20 > salvo il file convertito in NC
    3. avvio Theremino Robotic Arm 3.4 > carico il file NC > RUN > non simula nessun movimento.
    Premetto che i files di esempio inclusi nel vostro sw funzionano bene, ma vorrei produrre qualcosa di mio, cosa sbaglio ? Quali dati mancano ai miei files per avviare la simulazione ?
    Grazie per l’attenzione.

    • Livio says:

      Probabilmente il file NC non viene generato bene.
      Stai usando l’ultima versione del RobotArm? (le prime versioni non leggevano alcuni formati)
      Potresti spedirmi un file NC da controllare? (a engineering chiocciola theremino punto com)

      Consiglierei però di seguire una strada più semplice:
      - Aprire http://www.theremino.com/downloads/automation
      - Scaricare “Theremino ImgToGcode”.
      - Usarlo come spiegato nella pagina di download.

      Potresti anche chiedere consigli ad Alessio (alessio.giusti chiocciola meteolink punto it)
      che fa spesso queste conversioni.

      • Paolo says:

        Buongiorno Livio,
        ho risolto l’inghippo Gcode, mi mancavano le istruzioni di inizio e fine processo.
        L’ultima vers. del RobotArm è la 3.4 ?
        Stò usando servi molto potenti di cui ricordo solo la sigla 995 e la scheda (master) si disconnette molto spesso, opterò per un condensatore (su master) collegato a 2 dei pin liberi dei servo > se leggi qualcosa di sbagliato avvisami !!
        In ultimo lascio la mia opinione molto positiva riguardo il Theremino robot arm, sia il progetto hardware che tutto l’impianto software, molto pratico ed efficiente.
        Derivo dal mondo Pololu con soddisfazione ma molte grane da risolvere rispetto al Theremino, L’arduino lo uso con disinvoltura per applicazioni che esulano la robotica e la gestione motori e servo > quindi per me the winner is Theremino.
        Un saluto, alla prossima.

        • Livio says:

          Si, la versione 3.4 è l’ultima (dai ogni tanto una occhiata sul sito e scarica sempre l’ultima versione)

          Sarebbe meglio non usare servo potenti perché sono molto imprecisi (dead band larghissima e quindi tremolii esagerati del braccio) Sarebbe meglio usare quelli indicati nella nostra pagina dei sensori (TGY930 o MG930)

          Non è detto che con un condensatore te la caverai, potresti aggiungere un hub usb alimentato dall’esterno con un alimentatore a 5 Volt, questo è il modo più pulito di disaccoppiarsi dalla alimentazione del PC.

          Grazie per i complimenti, se ti serve qualcosa chiedi senza problemi.

  9. Stefano says:

    Sig. Livio buongiorno e buon anno…
    sono rimasto colpito dalla semplicità di theremino, io dovrei pilotare un relè da VB6.
    Ho dato un’occhiata ai codici presenti sulla sezione Foundation, ed in particolare al codice VB6,
    ma dovendo solamente pilotare un’uscita e dovendo eseguire il programma su un sistema Windows 7 a 64 bit, mi chiedevo se non c’era un modo più semplice di usarlo come semplice interfaccia ON/OFF usb, senza scomodare il FileMapping.
    Cordiali saluti

    • Livio says:

      Sarebbe possibile farlo ma prevedo un lavoro lungo e difficile.

      Se non ci si appoggia sulle funzioni di lettura e scrittura della USB (che si trovano nella applicazione HAL) si dovrebbe riscrivere molto software. Comunicare con l’USB non è facile, sono molte classi, divise in molti file. Trapiantare il necessario in VB6 richiederebbe mesi, anche per noi che conosciamo bene il sistema.

      Consiglierei quindi di considerare la applicazione HAL come un “driver”, che permette di comunicare con i nostri moduli.

      Di fatto l’HAL si comporta esattamente come un driver, ma abbiamo preferito il formato “applicazione”, per permettere facili interventi sui parametri, non inquinare il registry di sistema, non richiedere installazione e riavvio del computer e permettere di spostare i file e copiarli dove si vuole.

      La applicazione HAL gira benissimo anche su Windows7 a 64bit e non ci si deve preoccupare dei FileMapping (slots), che sono velocissimi. Si possono scrivere e leggere centinaia di slot, 500 volete al secondo e la CPU quasi non se ne accorge.

      Grazie agli slot tutto diventa facile, senza slot ahi ahi ahi…

      • Stefano says:

        Grazie per la sua cortese risposta.
        Mi sembra di capire però che sarebbe molto semplice realizzare un semplice script usando ThereminoScript per pilotare un’uscita digitale.
        A questo punto potrei quindi mandare in esecuzione lo script alla bisogna dall’applicazione principale.
        Ma anche usando ThereminoScript è sempre necessario che HAL sia in esecuzione?
        In caso affermativo, è possibile esso sia in esecuzione senza GUI attiva in modo che l’utente finale non possa andare a “pasticciarci” dentro?
        Ringraziandola per la cortesia,
        Cordiali saluti
        Stefano

  10. Livio says:

    Lo script non dovrebbe servirti se hai già il software in VB6. Ti basterebbe aggiungere il modulo che abbiamo preparato per il VB6 e chiamare le sue semplicissime funzioni: Inizializza / ScriviSlot / LeggiSlot.

    L’HAL deve essere in esecuzione.
    Si può minimizzarlo e poi chiuderlo, così quando lo si lancerà lavorerà da minimizzato.
    Oppure con poco lavoro potresti modificare il suo software e fare una versione speciale che non visualizza la finestra.
    In questo modo potresti ancora usare l’HAL normale per fare le regolazioni e invece per il funzionamento finale, lanciare quello invisibile (eventualmente aggiungendogli all’inizio la funzione che impedisce esecuzioni multiple).
    Io (per vari motivi) ti consiglierei di usare VisualStudio2008_express, ma potresti anche usare il 2010 o il 2012 (sono tutti freeware, gentilmente regalati da Microsoft)
    Se non riesci dimmelo e ti aiuterò io a fare questa modifica.

    Potrebbe anche essere una buona idea leggere la riga di comando e non visualizzare la finestra se c’è scritto “/HideWindow” o qualcosa del genere.

  11. Fabrizio says:

    Salve. volevo farle una domanda riguardo l’acquisto dei moduli MASTER e SLAVE SERVO.
    le spese di spedizione non possono essere considerate per un pacchetto comprendente sia il modulo master che il modulo slave servo…per risparmiare più che altro sulle spese di spedizione. Andrei a spendere 44.90 perchè le spese di spedizione (di 10 euro) sono considerate separatamente per i due moduli…infatti potrei risparmiare 10 euro se pagassi solo per una spesa di spedizione di entrambi i moduli. Grazie in anticipo

    • Livio says:

      Noi del sistema Theremino non vendiamo, spieghiamo solo “come si fa”.

      Se vuoi risparmiare fai attenzione al fatto che molto probabilmente lo slave servo non ti serve. Il Modulo Master ha già sei PIN che possono fare di tutto e possono pilotare anche i servo. Non c’è nessuna differenza tra i PIN del master e quelli dei Servo.

      Quindi se non ti servono più di sei PIN puoi risparmiare una quindicina di euro.

      Se ti serve solo il Master potresti chiederlo a Alessio che fa alcuni master per gli amici. Li monta lui manualmente oppure ti potrebbe mandare un KIT da saldare e dovresti dargli poco più del costo dei componenti. Anche la spedizione sarebbe minore: alessio.giusti@meteolink.it

      • Fabrizio says:

        Quindi per realizzare il braccio robotico potrei utilizzare anche solamente i pin del modulo master ?
        Se fosse possibile i collegamenti come sarebbero effettuati con il singolo modulo master ?
        Scusate per queste domande ma sono un neofita per quanto riguarda la robotica

        • Livio says:

          Certamente, puoi usare il solo Master per pilotare fino a sei Servo.
          Per i collegamenti fai così:
          Primo servo sul PIN 1
          Secondo servo sul PIN 2
          etc…
          Guarda le immagini del master
          Guarda anche pagina 2 del datasheet del Master: MasterDIL-V3_Datasheet_ITA in questa pagina: http://www.theremino.com/technical/schematics

          Poi devi impostare i PIN da 1 a 4 (se usi 4 servo) nel software ThereminoHAL, come Servo_16 (e devi tener vivo il Theremino HAL )

          Nel programma ThereminoARM il valore FirstSlot deve corrispondere allo slot del primo PIN dell’HAL,
          Se non corrispondono correggili nell’HAl o nel ThereminoARM

  12. Fabrizio says:

    Buongiorno signor Livio volevo farle una domanda a proposito dei servo…io ho acquistato ,al posto dei tunigy TGY 930, dei servo high tech HS225BB che mi sembrano dei buoni servo ( 0.14 sec/60° , output torque: 3.9 kg.cm) non differiscono di molto dalle dimensioni dei tunigy solo che costano un poco di più (16,00€) lei che ne pensa di questi servo ? Sono una buona sostituzione ?

    • Livio says:

      Come già spiegato, tutti i servo provati fino ad ora hanno una dead-band larghissima, solitamente dalle 5 alle 10 volte maggiore dei 930.

      Dato che i costruttori dicono tante belle cose dei loro servo, ma si guardano bene dallo specificare “con precisione” la dead band, l’unico modo per saperla è mettergli uno stecchino lungo trenta centimetri e poi muoverlo micrometricamente, per vedere quale è il minimo spostamento (su un righello posto a 90 gradi in fondo allo stecchino). Poi per calcolare la dead band, si tiene conto che i servo fanno circa 180 gradi in 1000 uS, o qualcosa del genere, e con un po’ di geometria ci si arriva.
      Ma anche senza calcoli, si vede benissimo che i 930 fanno muovere la punta dello stecchino di passetti piccolissimi (circa 10 per millimetro) e che tutti gli altri servo, fanno dei “balzi” di quasi un millimetro per volta. E molti servo “tanto buoni” anche peggio.

      Le nostre esigenze (se si vuole scrivere dritto), sono molto diverse dal muovere un timone di un aereo. Per cui nessuno si scalda troppo se i servo hanno una dead band penosa.

      Mi spiace non so dirti se gli HS225BB vanno bene, ma sono quasi sicuro che (per quel che riguarda la dead band). sono più o meno uguali agli HTX900 che costano due euro.

      Se li misuri con lo stecchino e il righello, scrivi qui come vanno per il bene di tutti.

      —————

      Tieni anche conto che alcuni servo “tanto buoni” hanno correnti di spunto così esagerate che fanno cadere la alimentazione e interrompono la comunicazione USB. In molti casi, un elettrolitico da 470 uF può bastare, ma con certi servo non ci sono speranze e ci vorrebbe una alimentazione separata (da dare con un HUB USB, alimentato a 5 Volt con un alimentatore esterno). Oppure si dovrebbe usare un limitatore di corrente, come spiegato qui: http://www.theremino.com/hardware/outputs/actuators#limiter
      Utili informazioni anche qui: http://www.theremino.com/blog/master-and-slaves

      ciao Livio

  13. fabrizio says:

    scusatemi siccome vorrei fare il braccio robotico ma devo fare la schedina che comada il braccio cioe master dil ma poi mi serve il programma per programmare il pic 24 o nn serve ??? basta che faccio la schedina e lo avvio con theremino arm e fuziona

    • Livio says:

      Ciao,
      i moduli sono programmati, li attacchi e funzionano, invece se li fai tu devi programmarli.
      Per programmare ti serve un programmatore PicKit2 o PicKit3 (su eBay si trovano)
      I PicKit3 sono più recenti a vanno meglio ma i PicKit2 costano meno.
      Infine devi scaricare il file HEX e scriverlo nel PIC.

  14. fabrizio says:

    il file EXE dove lo posso trovare ?

  15. fabrizio says:

    dove posso acquistare theremino ?????

  16. fabrizio says:

    unaltra domanda ma theremino puo fuzionare con qualsiasi motore o serve per forza quello passo psasso perche ho anche i motorini delle spampanti e dei motorini normali voleo sape se li potevo far fuzonare con thermino

    • Livio says:

      Per ora ci sono solo le uscite per i Servo
      Stiamo preparando il tipo di pin “Stepper” e appena pronto ti basterà sostituire il firmware.

      Ma mentre i Servo li attacchi e vai, gli stepper richiedono anche circuiti di pilotaggio e una alimentazione di 12, 24 o 48 Volt.

      Come circuito di pilotaggio ti consiglio un driver Pololu A4988, costano pochissimo, hanno i microstep, hanno la regolazione dalla corrente e pilotano a 4 fili (i pilotaggi a 6 fili vanno molto peggio per questioni di correnti emf inverse)

      Tieni conto comunque che il firmware per i pin Stepper non è ancora pronto, ci potrebbe volere ancora un mese o due per finirlo. quindici giorni, se tutto va bene.

  17. fabrizio says:

    scusate io ho fatto lordine ma ce scritto in preparazione in corso lo ordinato 02 08 2014 perche e ancora in preparazione e nn mi dice dove sta o nn se sa quando ariva pagamento in contrasegnio

  18. FABRIZIO says:

    scs se vi faccio tutte ste domande perche ci voglio realizzare un progetto farci qualcosa nn ho capito molto bene thereminio fuziona solo con qui motorini da modelismo o fuziona anche con i motori passo passo thereminio puo lavorare anche in 3 d

    • Livio says:

      Quello che stai chiedendo è possibile ma molto difficile da realizzare.
      Abbiamo già risposto riguardo ai motori “Stepper” ma evidentemente questi argomenti non ti sono familiari, quindi credo che fare del 3D, adesso, sia troppo complesso. Ti consiglierei di cominciare facendo amicizia con il sistema Theremino, gli SLOT, la applicazione HAL. il Master e le varie possibilità di InOut, usando sensori e attuatori semplici. Cercheremo di aiutarti quanto possibile, chiedi pure qui o scrivimi a “engineering chiocciola theremino punto com” oppure chiamami su skype come: livio_enrico

  19. fabrizio says:

    scusatemi il progetto cioe il firmware per i pin Stepper avete detto 15 giorni giusto come faccio ad sapere che lavete fatto perche ne sono molto interressato per il mio robottino per ora, poi magari lo trasformo in un bel braccio robotico per creare cose icesioni lavorare il legnio e tantte altre cose …. mi piacerebbe farlo perche una cosa cosi che ti gli metti una immagine di un mause ti fa un mause lavorato no scolpito o magari un igranaggio na corona o qualche pezzo di palstica a forma di luchetto o chiave e cosi via … Mi piacerebbe farlo ci vuole un po ma piano piano lo farò prima farò lavoro la palastica o il legnio e poi anche il ferro o laluminio lo so che e una cosa dificile infatti nn sono solo ce anche mio cugino che mi da una mano che lui ha fatto un trapano a colonna comandato dal pc crato tutto da lui con motori steper ci lavora con le frese o puo bucare come un trapano normale.

    • Livio says:

      Non è detto che ci vogliano 15 giorni, magari anche dei mesi se ci saranno intoppi. Quando saranno pronti lo scriveremo da tutte le parti e non ti sfuggirà di sicuro. Tieni d’occhio la pagina degli schemi elettrici, il nuovo firmware si scaricherà da li.

      Nel frattempo costruisci la meccanica di cui stai parlando, sono certo che ci metterai molto più tu a fare una meccanica funzionante che noi a finire il firmware, ti spiego perché….

      Innanzitutto per quel che vuoi fare un braccio robotico non va bene, devi per forza fare una fresa CNC. Un braccio robotico non ha la rigidezza necessaria per fare un buon lavoro al centesimo di millimetro ma arriverebbe, nelle migliori condizioni, a MOLTI millimetri di errore. Per cui dopo averci lavorato per mesi, ti ritroveresti con una fresa che può fare solo il legno tenero o la plastica e senza nessuna precisione. Niente circuiti stampati, niente alluminio, niente stampi per la plastica e tanto meno il rame o il ferro.

      Quello che tu vuoi costruire si chiama fresa CNC e costruire una macchina del genere (funzionante) è molto più difficile di quel che sembra. Tutti i prototipi del nostro sistema sono stati fatti con la fresa CNC, ma prima di riuscire a fare qualcosa di buono abbiamo lavorato per circa sei mesi. Prima si tratta di fare la meccanica, poi di rifarla da zero, poi di rompere decine di punte e infine imparare tutto quel che serve, anche software, per riuscire a farla funzionare un minimo e iniziare a fare qualcosa di utile.

      Prevedi in anticipo molti mesi di patimenti e ricerche, se non hai una grande pazienza e moltissimo tempo, ti consiglio di lasciar perdere da subito. Non sto esagerando, è umanamente impossibile imparare tutto quel che serve in meno di tre mesi e questo anche se compri la meccanica finita. Se poi devi anche progettare e costruire la meccanica tu stesso fai pure conto che i primi PCB (che sono più facili dei 3D) comincerai a farli tra un anno.

      Noi siamo partiti da una meccanica Proxxon e non da zero, questo ha facilitato abbastanza la costruzione meccanica ma la pura meccanica è solo una parte. Ci vogliono i driver per gli stepper (meglio quelli con microstep), un alimentatore bello robusto, il Dremel (o simili) ben fissato e con controllo acceso spento, l’aspiratore per i trucioli…

      ciao
      Livio

  20. Livio says:

    Armando ha chiesto:
    …un circuito funzionante di cui ho difficoltà nella realizzazione… si tratta del FANTASTICO TRIGGER IV di Ferruccio Beltramone. Del rotore mi sono occupato personalmente. Desidero anche un rivelatore di polarità magnetica (un LED si accende in prossimità della faccia NORD del magnete) con sensore di Hall. Un oscillatore che piloti con Mosfet una bobina che spinge un rotore con magneti per elevati RPM.

    RISPOSTA:
    Prima di tutto diamo una occhiata ai fantastici TRIGGER di Beltramone:
    http://www.youtube.com/watch?v=kUSIIgbget4
    http://www.youtube.com/watch?v=L5zDqLVq728
    http://www.youtube.com/watch?v=d9E6weoJS0Y

    Con il sistema Theremino non servono i piastroni pieni di componenti di questi video. Bastano un Master, un Driver Mosfet, un alimentatore da banco e molti cavetti standard, per collegare i vari componenti (anche da sacrificare, tagliandoli e spellandoli). Non serve nemmeno un circuito stampato perché la struttura stessa del motore farà da supporto per gli elementi misuratori di campo magnetico e per le bobine di trazione.

    Si collegano i componenti con i cavetti, si scarica il software HAL e si comincia subito a vedere qualcosa che si muove e si accende.

    Trigger semplici come nei video di Beltramone sono realizzabili con la sola applicazione HAL, senza scrivere una sola riga di software. Si può, ad esempio, accendere un led quando il campo magnetico supera una certa soglia e si possono fare semplici trigger.

    In seguito un po’ di software potrebbe eseguire operazioni complesse come, ad esempio, pilotare più bobine con sfasamenti diversi. Con il software si può fare molto di più di quel che può fare il piastrone TRIGGER IV di Beltramone, per quanto grosso e pieno di componenti…

    Riferimenti alle pagine del nostro sito
    ————————————————————————————
    I Master sono qui: http://www.theremino.com/technical/schematics

    E si comprano qui: http://www.theremino.com/contacts/producers

    La applicazione HAL, per comunicare con il modulo Master e per fare i primi esperimenti è qui: http://www.theremino.com/downloads/foundations

    I cavetti sono qui: http://www.theremino.com/technical/connection-cables

    Gli Hall sono qui: http://www.theremino.com/hardware/inputs/sensors#magnetic

    Un driver in grado di pilotare fino a 4 bobine è qui: http://www.theremino.com/hardware/outputs/actuators#driveronoff

    Per unire il tutto si può usare un piccolo programmino in ThereminoScript: http://www.theremino.com/downloads/foundations#script

    Il risultato non sarà il massimo di velocità e di efficienza, se si vogliono motori efficienti si consigliano i motori brushless che costano pochissimo e hanno potenze incredibili: http://www.theremino.com/hardware/outputs/motors#brushless

    Video di esempio
    ————————————————————————————
    Qui si vedono alcuni esempi con sensori magnetici e con motori:

    http://www.youtube.com/watch?v=uRXk6zpU4Xg
    http://www.youtube.com/watch?v=axvvTWA0yjE
    http://www.youtube.com/watch?v=I54cN8ekzmo

    Questi esempi sono stati realizzati oltre un anno fa e danno l’impressione di dover comprare oltre al modulo Master, anche alcuni moduli Servo, ma i nuovi Master hanno fino a sei pin generici di In Out e quindi con un solo Master si fa di tutto.

    Come procedere
    ————————————————————————————
    (1) Procurarsi i componenti necessari:
    - 1 Master : http://www.theremino.com/contacts/producers
    - 1 o 2 elementi Hall : http://www.theremino.com/hardware/inputs/sensors#magnetic
    - 1 driver mosfet : http://www.theremino.com/hardware/outputs/actuators#driveronoff
    - Molti cavetti di collegamento : http://www.theremino.com/technical/connection-cables
    - 1 alimentatore da banco da 12 volt
    - Alcune bobine e magneti

    (2) Studiare bene il tutto, magari anche con un amico che sappia scrivere semplici software

    (3) Durante le prime realizzazioni si consiglia, prima di accendere e di collegare il master alla USB di inviarci alcune immagini, con i particolari dei collegamenti.

    Efficienza di un motore casalingo
    ————————————————————————————–
    Dato che con il sistema Theremino, la massima velocità di scambio hardware-software si aggira sui 500-800 Hz. E dato che un motore del genere deve avere al minimo una bobina. La massima velocità di rotazione dovrebbe essere 500 * 60 = 30000 RPM (giri al minuto)

    In pratica però, se si vogliono usare due o quattro bobine e si vuole che il software possa tenere sotto controllo anche gli sfasamenti, si dovrà limitare ulteriormente la velocità massima. Considererei quindi come velocità massima un 1000 RPM.

    Un motore “intelligente” (mezzo software e mezzo hardware), per quanto lento e inefficiente, ha il grande vantaggio che si conosce sempre la sua posizione, perché è il software stesso che lo muove passo per passo.

    Con i motori stepper, superato un certo sforzo o una certa accelerazione, il motore “sgrana” e si perdono passi. Invece con un motore “intelligente”, quando il motore non ce la fa, il software (se ben scritto) può accorgersene e aspettarlo.

    Per piacere, non parliamo di “Motori magnetici” e di “Energia dal nulla” !!!”
    ————————————————————————————–
    Non vogliamo in nessun modo favorire i miti e le bufale. Basta un minimo di conoscenze scientifiche per sapere che l’energia libera, il moto perpetuo e i motori magnetici sono balle galattiche. Chi fosse così ignorante da avere di questi dubbi, si istruisca al più presto, per il suo bene. I video seguenti possono aiutare:
    http://www.youtube.com/watch?v=LH6aRRqPTiA
    http://www.youtube.com/watch?v=DUtDRvl_mUI
    http://www.youtube.com/watch?v=MU2kvRyQL5g

    ciao
    Livio

  21. Leonardo Abbruzzese says:

    salve, potrebbe elencarmi tutto l’occorrente per costruire il robot arm?grazie

  22. Emilio says:

    Buongiorno,
    ho da poco scoperto il sistema Theremino, che ho trovato davvero meraviglioso per concezione e semplicità (complimenti!!!!).
    Premesso che non ho esperienza di realizzazioni robotiche, vorrei usare il Theremino Master per pilotare un sistema di traslazione lineare, che mi consenta di effettuare uno spostamento rettilineo di un oggettino (di peso molto modesto) su distanze di qualche centimetro con una precisione indicativa inferiore al mezzo millimetro.
    Volevo sfruttare la vostra esperienza per chiedere se esiste in commercio, a basso costo, qualcosa di già pronto, o comunque che richieda solo un minimo di adattamenti meccanici.
    Grazie in anticipo per ogni eventuale suggerimento.

    • Livio says:

      Per quello che ti serve non c’è di meglio che un “Servo” (servo motori per aeromodelli, non motori stepper, e nemmeno motori brushless o in continua)

      I servo sono direttamente pilotabili (fino a 6 contemporaneamente) da un modulo Master che si compra qui: http://www.theremino.com/contacts/producers

      Esistono i servo lineari (ma attenzione che sono piccolissimi, molto più piccoli di quello che sembra dalle immagini e quindi potrebbero avere una corsa troppo breve)
      http://www.hobbyking.com/hobbyking/store/__26610__Turnigy_FBL100_Linear_Servo.html
      http://www.hobbyking.com/hobbyking/store/__42302__2_4Ghz_SuperMicro_Systems_Single_Linear_Servo.html

      Io userei normali servo con una biella o con un nastro avvolto su un perno, per tirare/spingere una slitta. I normali HXT900 vanno benissimo ma per una maggiore precisione potresti usare i TGY900. Li trovi da HobbyKing. http://www.theremino.com/hardware/outputs/motors

      Sia gli HXT900 che i TGY930 sono sorprendentemente potenti, quindi non avrai problemi di peso da muovere. In caso di bisogno esiste lo MG958 che per poco più di dieci Euro alza (e rompe) quasi tutto, compreso se stesso. Ma non prendere servo troppo potenti se non ne hai davvero bisogno, sono meno precisi e potrebbero consumare troppa corrente, rendendo difficile alimentarli. (sempre meglio alimentare solo dalla USB, eventualmente con un condensatore elettrolitico da 1000uF per gli spunti e non usare alimentatori esterni)

      La biella che tira/spinge la slitta potrebbe essere (come si fa spesso negli aeromodelli) un semplice filo di ferro piegato a 90 gradi e inserito in uno dei fori delle varie crociere di nylon che sono sempre allegate ai servo. La slitta, se non trovi di meglio, potrebbe essere un potenziometro “slider” privato di tutta la parte elettrica (cercane uno che abbia una corsa precisa e morbida)

      Un nastro (attorno a un perno) che tira e spinge è intrinsecamente lineare, invece una biella non lo è. Se la linearità non sarà sufficiente sarà facilissimo correggerla con due righe di software.

      Con una corsa di qualche centimetro avrai precisioni intorno al decimo di millimetro (e anche meglio di un centesimo con i TGY930, se la slitta è precisa, senza giochi e con poco attrito)

      Benvenuto tra i thereminomani, chiedi pure per ogni dubbio, non disturbi, anzi ci fa piacere e grazie per i complimenti.

  23. Livio says:

    Armando ha chiesto:
    avendo realizzato il circuito FANTASTICO TRIGGER IV, in quanto ho ottenuto 10.000 RPM dal rotore del sistema e un consumo di 150 ma. Mi hai suggerito l’utilizzo di Theremino in quanto con pochi componenti avrei raggiunto il mio scopo senza mal di testa…. Pertanto theremino dovrà lavorare per alimentare le mie bobine in alternativa al fantastico trigger IV con in più il controllo dell’oscillazione (velocità del rotore) in funzione di un sensore termico. per adesso niente di più. La velocità che intendo ottenere è di 30.000 RPM con alimentazione 12/24 Volt e poca corrente. riusciamo a farcela?

    RISPOSTA:
    Girare veloce e consumare poco non dipende solo dal trigger ma anche da:
    - Percorsi magnetici ben definiti che concentrino i flussi magnetici nei punti giusti
    - Percorsi magnetici studiati per minimizzare le vibrazioni
    - Traferro di pochi decimi di millimetro tra statore e rotore
    - Avvolgimenti con grande impedenza unita alla più bassa resistenza possibile del filo
    - Costruzione adeguata a sostenere la forza centrifuga senza deformazioni
    (se il rotore si deforma non si può mantenere un traferro mimino
    e un rotore che gira a 30 000 giri può essere molto pericoloso)
    - Un alto numero di poli (almeno 8 se non 24, come i migliori brushless)

    Il numero di poli e la forma dei percorsi magnetici, sono importanti per minimizzare le vibrazioni.
    Le vibrazioni mangiano potenza e quindi diminuiscono l’efficienza quando si sale di giri.

    E venendo alla tua domanda:
    No, non credo proprio che possiamo fare motori efficienti che girano a 30 000 giri Solo ditte come Turnigy con rotori e statori costruiti con macchine a controllo numerico possono farli.

    Quello che proponevo è un “motore intelligente” che sa sempre dove si trova
    - Nessuna pretesa di girare al massimo dei giri possibili (direi un massimo di 1000 RPM)
    - Nessuna pretesa di consumare poco.
    - L’efficienza potrebbe essere un decimo di quella di un buon brushless
    e quindi si DEVE alimentarlo con MOLTA più potenza di quella che se ne può ricavare.

    Ma in cambio avremmo la possibilità di costruire un motore che è metà hardware e metà software, con enormi vantaggi sulla possibilità di controllarlo, in velocità e accelerazione e d conoscere in ogni istante, quanti passi ha fatto e in che direzione… una delizia per alcune applicazioni.

    —————————-

    Ho anche la sensazione che ci sia un desiderio di inseguire scopi religiosi più che scientifici e in questo noi non siamo per niente amichevoli…

    Le leggi sul magnetismo, sull’energia e sull’attrito sono inesorabili e precise, non c’è molto da scoprire in questo campo, piuttosto si dovrebbero progettare buoni motori… E, ancora un consiglio, non si progetta più con il seghetto e la lima, ma con la testa, i software di simulazione e Internet.

    Consiglierei dunque di continuare con il fantastico Trigger IV di Beltramone

    saluti
    Livio

  24. Stefano Mantovani says:

    Buongiorno .
    Per esigenze di lavoro , stiamo costruendo un piccolo robot antropomorfo a tre gradi di libertà,
    avremmo esigenza di muovere i tre servi contemporaneamente seguendo un percorso con una forma leggermente ellittica( potremmo fare dei calcoli con codici G) i servi sono dei microservi ,i bracci del robot sono lunghi circa 70 mm. Se in qualche modo posso mandare delle immagini, qualcuno cortesemente mi potrebbe dire se theremino è adatto per noi?
    Grazie Anticipate STEFANO

  25. Stefano Mantovani says:

    QUESTI SAREBBERO I SERVI….

    N.3 servocomandi
    9355000035-0/50464 Turnigy TGY-DS245MG Alloy Case Micro Digital Servo 2.0kg/

    Il Ns robot , ha solo tre servi , perché sarebbe risultato troppo difficile da costruire con più gradi di libertà per le piccole dimensioni , dato che i bracci sono 70 mm…
    Theremino , si può configurare con solo tre servi ?
    Posso mandare immagine se serve!!

    SALUTI STEFANO

    • Livio says:

      Il sistema Theremino può controllare un qualunque numero di servo, da un minimo di uno, a un massimo limitato solo dal numero di moduli che si collegano. Con un solo modulo Theremino Master si possono pilotare da 1 a 6 servo. Aggiungendo moduli slave si aggiungono altri 10 canali per ogni modulo.

      I servo vanno tutti bene, si collegano direttamente ai PIN. Il 5 Volt in arrivo dalla USB è presente su tutti i PIN, quindi basta collegare i servo, aprire la applicazione HAL e provarli subito con il mouse sulla colonna VALUE.

      Non abbiamo mai provato il TGY-DS245MG ma funzionerà di sicuro. E’ però un servo digitale e in genere i servo digitali hanno forti correnti di spunto. Potrebbe essere necessario aggiungere un condensatore da 2200 uF, maggiore di 6 Volt, tra il 5 Volt generale di tutti i PIN, e la massa. Se non saranno abbastanza precisi andranno sostituiti con i TGY930 da noi consigliati.

      La applicazione Theremino RobotARM fa esattamente quanto da voi richiesto:
      http://www.theremino.com/downloads/automation

      Theremino RobotARM è un applicazione scritta in modo semplice e tutti i nostri software sono “Open”. Quindi potrete modificarla per le vostre esigenze, o anche copiare gli algoritmi, in altre applicazioni scritte da voi.

      Theremino RobotARM contiene tutto il necessario per la vostra applicazione, sia la lettura dei file GCode, che le funzioni di cinematica inversa e diretta, fino a tre/quattro assi. Le configurazioni controllabili sono tre: Braccio Articolato (credo che sia il vostro caso), SCARA (ragni a tre bracci) e Ortogonale (tavole X/Y/Z).

      Tutte le nostre applicazioni funzionano anche senza acquistare l’hardware. Il mio consiglio è di scaricare subito il Theremino RobotARM, provarlo con i GCode e vedere come è scritto. Contiene algoritmi di alta qualità che vi potrebbero far risparmiare molto lavoro.

      Se serve un aiuto più approfondito scrivete a: engineering@theremino.com

  26. Stefano Mantovani says:

    Le mando una mail con le foto in allegato.

  27. Stefano Mantovani says:

    il servo che dice lei è troppo grosso per noi, abbiamo limiti di dimensioni, questo è un modellino di robot per la verniciatura .
    Sarebbe una riproduzione in scala di un impianto vero , con la simulazione di tutti i movimenti del robot reale…..
    il robot lo abbiamo costruito, ma il software e il ciclo di funzionamento comincia a essere un problema abbastanza serio per noi.
    Prendere il modulo master non sarebbe un problema , ci servirebbe parlare con qualcuno di voi per spiegare meglio i ns problema e che strada intraprendere.
    la mia mail : spl@spl.191.it.
    tutti gli aiuti sono ben accetti.
    Grazie

  28. Guido says:

    Salve a tutti…
    ho da poco scoperto il sistema Theremino, che ho trovato davvero meraviglioso per concezione e semplicità (complimenti!!!!!!!!!!!!!!!). Mi sono costruito un paio di cnc che sono controllate attraverso la lpt con Linuxcnc. Vorrei chiedervi se esiste la possibilita di controllarle con il Linuxcnc attraverso il Theremino.
    Grazie Anticipate Guido

    • Livio says:

      Proprio in questi giorni stiamo completando il controllo dei motori stepper:
      http://www.theremino.com/hardware/outputs/motors#steppers
      (un lavoro faraonico e risultati con prestazioni eccezionali)

      In seguito prevediamo di fare un semplice Theremino CNC, che sostituirà i vari Mach3, LinuxCNC e MC2. Questo perché ci siamo stufati di controllare la fresa con programmi così inutilmente complessi. Non so il LinuxCnc, ma Mach3 ha così tante impostazioni, protezioni e controlli, che quando smette di camminare, ci vuole la benedizione del Papa per farlo ripartire.

      Poi, quando avremo tempo, prevediamo di fare anche un controller per macchine tipo RepRap. Ma per ora dobbiamo finire gli stepper, e ci dobbiamo riuscire entro Natale come promesso.

      Detto questo, naturalmente sarebbe possibile convincere LinuxCNC a scrivere i valori X, Y e Z nei nostri Slot. Dovrebbe essere abbastanza facile ma noi non lo faremo, perché è meglio impegnare il poco tempo a fare applicazioni pulite, piuttosto che taroccare applicazioni esistenti. Inoltre io Linux non so usarlo e non riesco a sopportarlo, troppi sudo, troppe password. Una volta ho cercato di diventare super user per sempre e eliminare tutte le password, ma sembra proprio impossibile. Ci ho perso un giorno intero e non ci sono riuscito!

      Ciao, grazie dei complimenti, e benvenuto tra i thereminomani.

      • marco says:

        Tramite visudo e` possibile configurare sudo in modo che un utente acquisisca in modo permanente gli stessi diritti dell’amministratore del sistema.
        E` pero` sconsigliatissimo farlo perche` si mette in gioco la sicurezza.
        Non uso sitemi operativi proprietari da molti anni ma leggo che perfino M$ in queste ultime versioni del suo OS cerca in ogni modo di far perdere la brutta abitudine di accedere al sistema come amministratore, visto i gravi danni che causa.
        Se in GNU/Linux sappiamo di dover operare a lungo nel terminale come root, e` molto meglio utilizzare l’opzione -i di sudo che permette di rimanere loggati come amministratori, fintanto che non daremo exit.

        $ sudo -i
        password …
        #
        #
        # exit
        $

        Ciao :-)

        • Livio says:

          Grazie del consiglio, lo proveremo di sicuro, ma Linux dispone di un antivirus di sistema? (non Avast, MacAfee e simili che servono solo a farti preoccupare)

          Il problema è che a forza di dare sudo a tutto si perde ogni ritegno e non serve più a niente. Molto meglio che se ne occupi il sistema operativo stesso, come spiegato qui: http://www.theremino.com/blog/tips-and-tricks/optimizations#security

          • marco says:

            Come sai Linux e` piuttosto immune dai virus e i suoi utenti si preoccupano piu` che altro di non diventare portatori sani e magari inviare inconsapevolmente virus verso l’esterno, ad esempio attraverso un’allegato email.
            Dubito quindi che anche se tu lo volessi, riusciresti a trovare in rete molti antivirus per linux. Ce ne sara` qualcuno .., io ricordo Avast ma non l’ho mai provato.
            Di norma preferisco installare i pacchetti disponibili nei repository ufficiali della distribuzione che uso (Debian testing). L’unico antivirus presente e che probabilmente gia` conosci e` clamAV con, volendo, clamtk, il suo frontend grafico.

            Questa la descrizione che il pacchetto ha al suo interno:

            =================================
            Clam AntiVirus è un toolkit anti-virus per Unix. Lo scopo principale di questo software è l’integrazione con i mail server (scansione degli allegati). Il software fornisce un demone flessibile e con thread multipli nel pacchetto clamav-daemon, uno scanner a riga di comando nel pacchetto clamav e uno strumento per l’aggiornamento automatico via Internet nel
            pacchetto clamav-freshclam. I programmi sono basati sulla libreria libclamav6 che può essere usata da altro software.

            Questo pacchetto contiene l’interfaccia a riga di comando.
            Caratteristiche:
            – supporto integrato per vari formati archivio, inclusi Zip, Tar,
            Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS e altri;
            – supporto integrato per quasi tutti i formati di file di posta;
            – supporto integrato per eseguibili ELF e file Portable Executable compressi con UPX, FSG, Petite, NsPack, wwpack32, MEW, Upack e offuscati con SUE, Y0da Cryptor e altri;
            – supporto integrato per formati popolari per documenti inclusi file Microsoft Office e Mac Office, HTML, RTF e PDF.

            Affinché la scansione funzioni, è necessario un database di virus. Ci sono due opzioni:
            – clamav-freshclam: aggiorna il database da Internet; è la scelta raccomandata se si ha accesso ad Internet;
            – clamav-data: per utenti senza accesso ad Internet. Il pacchetto non viene aggiornato una volta installato. Il pacchetto clamav-getfiles permette di creare pacchetti personalizzati da un computer connesso ad Internet.
            =================================

            ClamAV l’ho provato diverse volte e so che e` disponibile nei repository ufficiali di tutte le principali distribuzioni linux ma sinceramente non potrei assicurarti sulla sua validita` perche`, per mia fortuna o forse anche perche` non frequento troppo siti potenzialmente pericolosi, virus non ne prendo e quindi non ho valide controprove.

            Per ottenere una maggiore sicurezza su Linux mi permetto di consigliarvi, se gia` non lo avete fatto, di installare anche rkhunter e chkrootkit:

            =================================
            Rootkit Hunter esamina il sistema per rootkit, backdoor, sniffer e bug di
            sicurezza sia conosciuti sia sconosciuti.

            Controlla la presenza di:
            – modifiche negli hash MD5;
            – file creati normalmente da rootkit;
            – eseguibili con permessi anomali;
            – stringhe sospette nei moduli del kernel;
            – file nascosti nelle directory di sistema e può opzionalmente esaminare il contenuto di file.

            L’utilizzo di rkhunter da solo non garantisce che il sistema non sia compromesso. È raccomandata l’esecuzione di test aggiuntivi, come chkrootkit.
            =================================

            Per quanto riguarda il tuo link agli aggiornamenti di sicurezza di XP, l’avevo gia` letto tempo fa sul vostro sito e, anche se non direttamente interessato, me ne ero compiaciuto. :-)
            Aiutando spesso neofiti ad installare linux in dual-boot con windows, ho notato che, almeno a livello nazionale, il parco macchine su cui XP e` ancora installato e` veramente notevole e che cala nel tempo molto lentamente.
            Peccato che questa informazione non sia molto diffusa fra gli utilizzatori e sia difficile da trovare anche sul sito Microsoft.


            “Only the paranoid survive.”
            (cit. Andrew Grove)

  29. lorenzo says:

    Ho costruito da poco un modulo Master e uno Slave, vorrei sapere dove posso trovare il software Teremino Arm. Per favore rispondetemi al più presto. Grazie in anticipo.

  30. Livio says:

    Orlando ci ha scritto:
    Ho visto un programma grafico per Arduino che si chiama S4A, funziona anche su theremino?

    Risposta:
    Lo S4A funziona solo con Arduino e non è nemmeno compatibile con il normale firmware di Arduino, tanto meno con il software thereminico. SA4 riprogramma l’Arduino, per fargli fare le cose robotiche, che si vedono nei video, ma fa solo quello.

    Con sistema Theremino si usa un linguaggio più semplice, Theremino Automation:
    http://www.theremino.com/downloads/automation

    Theremino Automation non è un programma grafico ma, proprio per questo, è più potente. Ad esempio può leggere file di suoni (MP3), e file video (MOV, WMV e AVI). Con la semplice parola “LOAD”, si apre un sito WEB e ci si naviga, come con qualunque browser. Oppure si aprono i video di YouTube, o si accede alla posta o alla propria pagina di FaceBook. Oppure si possono usare GIF animati, per costruire sinottici in movimento.

    Theremino Automation può controllare i robot, come lo SA4, ma può anche eseguire programmi lunghi e complessi, per controlli di processo, e banchi di collaudo, anche in ambito industriale. Applicazioni del genere, con con un programma grafico come SA4, diventerebbero un groviglio incontrollabile.

    Il Theremino Automation è anche facilissimo da usare, le parole da imparare, sono una quindicina in tutto. Il programma fornisce un continuo aiuto, suggerisce le parole durante la scrittura, e evidenzia gli errori.

    Consigliamo a tutti di scaricarlo e provarlo, funziona anche senza hardware e contiene molti esempi. Si impara a usarlo in cinque minuti: http://www.theremino.com/downloads/automation

  31. Hello,
    wanted to know if I can operate the arm thermino with arduino.
    thank you.

  32. Livio says:

    Stiamo terminando Theremino CNC. Ci vorranno ancora alcuni giorni, per completare la rotazione 3D del toolpath e i file di istruzioni. Ma anche senza queste parti, la applicazione funziona perfettamente. La abbiamo messa alla prova ripetutamente, con piccoli circuiti stampati, e non ha mai sbagliato.

    Non la pubblichiamo ancora, perché vogliamo aggiungere ancora qualche funzione. La tentazione è sempre di completare tutto. Ma il software è sempre migliorabile, per cui seguendo l’istinto non pubblicheremmo mai niente.

    Cominciamo quindi a farla provare agli amici, se qualcuno vuole provarla in anteprima, ci scriva e gli manderemo il link a una pre-release.

  33. Guido says:

    Salve,
    eccomi di nuovo che mi faccio vivo… Vorrei provare il nuovo ThereminoCNC poiché vorrei traslocare sul Theremino da Linuxcnc, Gbrl e Arduino. Ho costruito una piccola CNC pronta per fresare e lavorare come stampante 3D. Mi potreste mandare il Link, per favore…
    …grazie, saluti e avanti così,
    Guido G.

    • Livio says:

      Tra pochi giorni pubblicheremo la versione ufficiale, che si chiamerà ThereminoCNC V4.0 (abbiamo fatto due mesi di versioni, quasi una al giorno)

      Più o meno ogni sera salviamo una nuova versione, nei giorni scorsi si chiamavano V3.12, V3.13, V3.14, nei giorni prossimi si chiameranno 3.16, 3.17, 3.18… fino a che pubblicheremo la 4.0…. la lista delle cose da finire stava arrivando alla fine… ma ci hanno comnvinti anche a implementare la “Work area” per i soft limits per cui ci vorrà ancora un po’ di tempo…

      La più recente pre-release (oggi è la 3.27) è scaricabile da qui: http://www.theremino.com/downloads/automation#cnc

  34. Livio says:

    Carlo ci ha scritto una mail chiedendo:
    Con Theremino CNC è possibile gestire una macchina CNC con due motori per l’asse X?
    Ad esempio questa: http://www.mechmate.com
    In Mach3 esiste il concetto di asse Slave, ma su theremino CNC non ho trovato nulla di analogo.

    Risposta:
    Basta usare lo stesso Slot per due motori (nell’HAL) e i due motori si muoveranno insieme (e poi nell’HAL regolare i parametri di ognuno dei due motori e magari ribaltarne uno).

    Il sistema theremino è modulare e a strati e tutto passa attraverso gli Slot. Gli strati aggiuntivi (Slot e l’HAL) permettono di fare incroci, scambi, duplicazioni, ribaltamenti, scalature etc…

    Per cui si potrebbero, ad esempio, controllare quattro motori con l’asse X, di cui uno in avanti, uno indietro con 200 step per mm, un altro con 800 step per mm e un ultimo che non è nemmeno uno stepper ma un servo da aeromodelli. E se non bastasse, si potrebbe aggiungere un secondo Master, per altri 5 motori e fargli fare altri assi.

    Infine con tre righe di software, magari in Theremino Script, si potrebbero intercettare i segnali degli slot, trasformarli, limitarli, fare l’OR o l’AND di due segnali, regolare una temperatura, in base alla velocità di spostamento di uno o più assi, etc…

    ——————————————

    Naturalmente prima si deve fare amicizia con i fondamenti del sistema, i cui principi di base sono molto diversi da tutti i sistemi simili.

    Consiglierei di iniziare da qui:
    http://www.theremino.com/contacts/the-theremino-mission

    E approfondire qui:
    http://www.theremino.com/technical/communications
    http://www.theremino.com/technical/pin-types

    • Livio says:

      Altre domande di Carlo:
      La mia CNC è configurata e funzionante con Mach3 e devo trovare il tempo (e comprare theremino e un paio di slave) per fare le prove reali. Fondamentale per me è avere l’azzeramento utensile X, Y e Z. La macchina non ha il cambio utensile automatico e spesso le lavorazioni tengono conto della posizione del pezzo e non dell’home macchina.

      Risposte:

      Master + Slaves?
      ————————————————————————–
      Ti consigliamo vivamente di iniziare con un solo Master e niente Slaves. Meno moduli colleghi, più è facile configurarli, e maggiore è l’affidabilità dell’insieme.

      Con un Master puoi controllare tre Stepper e ti restano ancora quattro InOut liberi per:
      - Pulsante emergenza
      - Catena di fondo-corsa
      - Pilotaggio motore mandrino (PWM oppure on-off)
      - Accensione refrigerante o aspirazione o piastrino di azzeramento verticale

      Migrare facilmente da Mach3 a Theremino
      ———————————————————————–
      Probabilmente con Mach3 hai un connettore della porta parallela, basta staccarlo dalla parallela e collegarlo all’adattatore:
      http://www.theremino.com/hardware/adapters#cnc

      E se poi non ti piace come si muove, stacchi il connettore, ricolleghi Mach3, e usi il Master per fare altro, sono poi solo 20 Euro.

      Se hai difficoltà a costruirlo, puoi farti aiutare da Alessio, come spiegato qui:
      http://www.theremino.com/contacts/producers#hardware

      Zero macchina?
      ————————————————————————-
      Noi l’home macchina non lo consideriamo proprio, si lavora sempre con lo zero pezzo. In ThereminoCNC c’è un solo sistema di coordinate, non ci sono coordinate macchina e coordinate pezzo. Eventualmente puoi mettere una catena di switch e azzerare allo zero macchina, ma è sempre un unico zero. O azzeri in un punto o in un altro.

      Normalmente si va, con il JOG, dove si vuole azzerare e si premono i tasti X, Y, Z di azzeramento.

  35. Livio says:

    Alfonso ci ha scritto chiedendo:

    Buongiorno, vorrei delle informazioni sul braccio robotico, ho provato ha costruire un robot arm e in qualche modo funziona, anche se non e proprio preciso come i vostri, ma poi ho provato ad usare un braccio delta e qui mi sono perso, perché non capisco se la scheda di Theremino gestisca anche i servocomandi per il delta: appunto, vorrei sapere se rientra nelle “doti” della scheda. e se si trovano programmi o quanto meno algoritmi per gestire i movimenti.

    Risposte:

    Precisione
    ———————————————————-
    Il Robot Arm è solo un giocattolo da usare per studiare i fondamenti della robotica.

    La precisione che si vede nei video è la massima possibile con i seguenti “trucchi”
    - Disegno ingrandito al massimo in modo da sfruttare tutta l’area possibile
    - Penna molto morbida
    - Penna con movimento verticale elastico
    - Porta-penna molto corto e leggero
    - Perfetto allineamento della planarità in modo da non far mai sforzare la penna
    - Alcuni fogli uno sopra all’altro per avere un piano di scrittura leggermente morbido
    - Velocità di lavorazione non troppo lenta ne troppo veloce
    - 3 servo TGY930 e uno piccolo e leggero in punta
    - Peso dei bracci minimo possibile
    - Bracci molto corti per diminuire gli errori di posizione

    Qualunque variazione rispetto a queste caratteristiche riduce notevolmente la precisione.

    Delta
    ———————————————————-
    La possibilità di controllare servo disposti a Delta (o anche a Scara) non dipende dalla scheda, ma solo dal software, che traduce le posizioni in angoli.

    Il Theremino CNC contiene già gli algoritmi per le configurazioni Delta e Scara. Basta aprire la tendina “Arm configuration” e scegliere “Delta” o “Scara”

    Ma si dovranno anche studiare le dimensioni dei bracci e regolare i parametri nel software per farli corrispondere con la meccanica. Con dimensioni mal progettate un Delta funziona male, o non funziona proprio, perché alcune parti interferiscono con le altre. In tutti i casi le lunghezze dei bracci devono essere le minime possibili e i bracci devono essere leggeri. E anche l’area di scrittura deve essere la minima possibile, altrimenti le imprecisioni aumentano troppo.

    Gli algoritmi Delta e Scara sono stati provati fino ai motori e dovrebbero funzionare però nessuno di noi ha mai costruito un braccio Delta (molto difficile come snodi) e nemmeno un braccio Scara (più facile).

  36. Maurizio says:

    Sono venuto a conoscenza del Theremino attraverso un forum di modellismo e da possessore di una cnc amatoriale sono interessato a sostituire la mia attuale elettronica di pilotaggio con una basata appunto su Theremino ma le mie conoscenze di elettronica sono abbastanza basiche e mi piacerebbe poter vedere una soluzione completa per sapere cosa acquistare e come collegare i singoli elementi.Pubblicherete qualcosa in merito?
    Grazie

  37. Roberto says:

    Complimenti per il lavoro e per gli sviluppi , sono mesi che mi scontro con schede cinesi per cnc e tutte hanno qualcosa che manca , per caso ho trovato il vostro sito e mi si è aperto un mondo nuovo dove finalmente si può anche andare avanti modificando con espansioni a seconda delle esigenze o nel caso studiare il sistema e magari metterci qualcosa di personale . Vorrei sostituire l’hardware ad un laser da 40W che ha delle enormi limitazioni dovute alla scheda hardware moshi e software moshidraw e con stesso sistema costruire l’elettronica per un pantografo di cui già ho costruito meccanica . Guardando bene theremino fornisce hardware e software ed il gioco è fatto ( escludendo tutto ciò che è legato alla meccanica ) il mio problema ora è che volevo provare a gestire pantografo anche con mach3 e qui mi sorgono le domande dopo aver letto i manuali hardware e software di theremino . Se voglio gestire mach3 emulando LPT gioco è fatto con spiegazioni che avete dato ma , se le porte della LPT non mi bastano , a livello hardware per theremino risolvo collegando al Master gli Slave ma ha livello software ho un dubbio . Nei vostri vari manuali ho letto di utilizzare o fare plugin per mach3 e theremino e qui inizia il problema e dove mi fermo , esistono per caso già dei plugin per theremino e mach3 dove si possono utilizzare più porte rispetto a quelle della LPT ( quindi configurazione di theremino Master + Slave ) ?In caso negativo da dove posso prendere spunto di come fare a costruirmi un plugin per mach3 per theremino ? Posso gestire in altro modo theremino con mach3 per poter utilizzare tutte le porte di una configurazione Master+ Slave purtroppo ho cercato in rete ma non ho trovato niente ( esistendo tutto in rete probabilmente non ho cercato in maniera corretta ).

    Vi ringrazio di un eventuale risposta e complimenti ancora del bel lavoro che state facendo da cui si possono trarre infiniti spunti e finalmente di un sistema differente dai soliti Arduino od altri che richiedono ai non addetti al lavoro tante ore di studio solo per capire come funzionano senza ancora aver fatto niente .

    • Livio says:

      Grazie dei complimenti, cercheremo di aiutarti per quanto possibile. Ma sarebbe tutto più facile, se si eliminasse del tutto Mach3. Sei sicuro che la applicazione Theremino CNC, non vada bene per le tue lavorazioni?

      Dovendo per forza usare Mach3, c’è una sola soluzione, scrivere un PlugIn. Nessuno lo ha ancora fatto e noi non avremo il tempo di scriverlo. Mach3 lo conosciamo poco ed è ormai piuttosto datato. Se hai molto tempo, potresti scriverlo tu.

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

      Il PDF è stato scritto da Art Fenerty in persona e dice di essere la “Bibbia per gli scrittori di PlugIn per Mach3”. Inoltre nello ZIP troverai anche un esempio di PlugIn, scelto tra i più adatti. Consigliamo di NON fare un PlugIn per Mach4, che è molto costoso e poco seguito, dato che Art Fenerty, il bravissimo programmatore di Mach3, è ormai in pensione da molti anni.

      Un PlugIn per Theremino dovrebbe essere più semplice da scrivere, che per altri controllers:
      - Non si devono riempire buffers
      - Non si devono impostare parametri di configurazione
      - Non si devono controllare errori e hand-shake
      - Basta scrivere frequentemente le coordinate nei nostri slot (almeno 50 o 100 volte al secondo)
      - E le coordinate sono le stesse che Mach3 mostra nelle sue caselle
      - Nessuna conversione, lo stesso valore in millimetri delle caselle DRO

      Abbiamo preparato esempi di scrittura negli Slot, per tutti i linguaggi:
      http://www.theremino.com/downloads/foundations#easyslot

      Se ti servirà aiuto scrivici.

      P.S.
      Cerca di non esagerare con i moduli Slave, uno al massimo dovrebbe bastarti, più ne metti e più la affidabilità diminuisce. Le macchine CNC producono disturbi elettrici di ogni genere. Si devono quindi disporre le masse a stella, in modo professionale, e anche questo, a volte, potrebbe non bastare. A volte potrebbe essere necessario foto-accoppiare tutto. Per minimizzare i rischi di errori, sulla linea di trasmissione seriale, la cura più semplice è non usarla proprio. Se non bastano i dieci InOut di un Master (12 nelle future versioni di Firmware), allora al posto di uno Slave, si potrebbe aggiungere un secondo Master. La USB è molto più resistente ai disturbi e ai “loop di massa”, che la seriale. Sono comunque variazioni facili da fare anche in futuro.

      Questo non vuol dire che i moduli si rompono. I moduli Thereminici sono talmente semplici che non si rompono mai (o almeno non ne è mai tornato uno da riparare). Ma vuol dire che se non si cura il cablaggio delle masse e dei condensatori di disaccoppiamento, potrebbe succedere di mandare in errore la comunicazione, magari a metà di una lavorazione.

      Comunque niente preoccupazioni eccessive! Se si fanno le cose per bene la comunicazione non si interrompe mai. Tra noi in laboratorio e i vari collaboratori, abbiamo ormai fatto centinaia di lavorazioni con zero problemi! Tutto solido e affidabile, come con Mach3, e tante comodità in più per il macchinista.

      • Roberto says:

        Grazie mille per informazioni , vedo di scaricare il manuale per creare plugin , bisogna vedere se riesco a capire come fare e se è nelle mie capacità , dovesse andare a buon fine , se riesco a creare un plugin per theremino e mach3 ben lieto di condividerlo con voi od altri utenti che possano averne bisogno .
        Il discorso mach3 è solo dovuto al fatto che avendo preso delle “cinesate” ho iniziato ad usare questo software e mi è sembrato idoneo all’utilizzo che dovevo farne , avendo ora alternativa di Theremino CNC può anche essere che cambi completamente strada .
        Una domanda che dovrei verificare ma forse avete già la risposta , visto che mi sembra che mach3 può utilizzare contemporaneamente più porte LPT , potrei forse collegare due Theremino master a due porte Usb e vedere se riesco a configurarle come se fossero due diverse porte o forse se riconosciute collegare due Master ad un Hub che si collega ad una sola porta Usb . Forse ho sparato solo cavolate e l’idea è priva di fondamento .
        Comunque quando montato Master provo a pilotare Laser da 40W anche con Theremino CNC e se può interessare vi dò indicazioni di quanto fatto e dei collegamenti fatti con Hardware e meccanica già esistenti , vorrei sfruttare PWM per togliere il potenziometro di regolazione potenza che da il segnale al gruppo HT con regolazione manuale e regolare potenza direttamente dal software per poter tagliare ed incidere direttamente da programma , accensione spegnimento pompa acqua raffreddamento tubo laser gestito direttamente da elettronica come accensione ventola aspirazione , alla fine vorrei migliorare il sistema Hardware e software che equipaggia molti laser per hobbysti a cui i cinesi secondo me non hanno dedicato molta attenzione .
        Ringrazio per Vostro importante supporto e per quanto posso approfondendo il mondo Theremino ben volentieri se possa essere di qualche aiuto .

        • Livio says:

          Quanto scrivi e immagini è esatto.
          Si possono sicuramente collegare più Master, anche con un HUB e le prestazioni sono sempre ottime. Usare più Master è anche meglio, che usare un solo Master e alcuni Slaves (si elimina la linea seriale e la velocità di comunicazione aumenta).
          Comunque cerca sempre di usare il minor numero di moduli possibile. Unisci tutti gli switch in serie, come “normalmente chiusi” e collegali a un solo Pin, configurato come DigIn. Fai tutto il possibile per minimizzare l’hardware. Meno hardware c’è e meno cose possono rompersi, causare falsi contatti e raccogliere disturbi.
          Questo è meglio spiegato nel PostScriptum del precedente messaggio.

          Grazie della proposta di collaborazione. Se serve qualcosa siamo sempre qui.

        • Anonymous says:

          Riguardo alle parallele multiple di Mach3
          Come si dovrà fare dentro a Mach3 è abbastanza misterioso. Probabilmente si dovrà aggiungere, per ogni ingresso e uscita, una casella di configurazione che specifica il numero dello Slot. Oppure, per farla più semplice, prefissare un numero di Slot fisso, per ogni In e Out.

          Il lato thereminico del PlugIn è semplice, non si deve nemmeno ragionare a porte parallele, Master e Slaves. Basta scrivere o leggere un numero per ogni Slot. Gli slot sono numerati da 1 a 999 e sono tutti uguali. Se si scrive, si tratta di uno slot di uscita, altrimenti di un ingresso. A tutto il resto pensano Theremino HAL e Theremino CNC.

  38. Roberto says:

    Buongiorno a tutti , finalmente ho montato i Master ed ho iniziato a fare delle prove , per il Laser Master più Theremino Hal e Theremino CNC direi che sono un’accoppiata più che buona , se poi si aggiunge all’occorrenza anche uno Slave direi che sia ottimo . Ora il problema che ho è per il pantografo che ho terminato e che vorrei gestire con Mach3 , probabilmente mi sfugge qualcosa dal manuale del Theremino CNC che non capisco in maniera corretta . Montato Master , fatto adattatore LPT , lanciato Hall V5.1 , configurato Master con prime 6 porte settate come Stepper (Pin1: Stepper slot1 , Pin2 :Stepper_Dir slot2 , Pin3: Stepper slot 3 …) Pin 7 settato come Dig_in e come da manuale per associarlo al pulsante emergenza gli ho dato Slot 25 (ho anche provato con Slot 19 come da manuale per collegamento a software ) , ho collegato i Pin da 1 a 6 Master ai Pin da 2 a 7 della LPT , collegato Pin 7 Master a Pin 15 LPT , collegate masse master ai pin da 18 a 25 LPT , a questo punto ho configurato Mach3 , abilitata LPT1 (Provato anche con LPT2 ed entrambe abilitate ) configurato ed attivato assi X,Y,Z con Porta 1 e rispettivamente per stepper e dir Pin 1-2-3-4-5-6, impostata porta per pulsante Emergenza su LPT1 e Pin 15 . Questi i settaggi fatti , ad ogni modifica chiuso e riaperto Mach3. Con Hall aperto lanciato Mach3 ma purtroppo ne assi si muovono ne pulsante emergenza viene rilevato se aperto , controllato anche su Hall se vi siano variazioni sulle porte in seguito a comandi da parte del Mach3 ma non vi sono variazioni , unica variazione rilevata e quella del pulsante di emergenza che logicamente essendo connesso direttamente al Master , registra con Hall variazioni . A questo punto non capendo l’errore ( probabilmente continuo a fare sempre lo stesso ) e non trovando input nei manuali chiedo a Voi dove stia sbagliando . Mi chiedo anche (come da post precedente )come eventualmente poter associare due master alle due distinte porte LPT1 e LPT2 . Questo sarà comunque un problema secondario dopo essere riuscito a far vedere almeno un Master al Mach3 se possibile , dico se possibile perchè in alcune pagine di manuale si dà quasi per scontato la sostituzione della parallela del Mach3 con Master Theremino , in altre pagine si trova : “Questo adattatore serve per sostituire la Parallela con la USB, e non per far funzionare Mach3 o Linux CNC (a meno che qualcuno scriva i relativi Plug-In)”. Grazie per eventuale supporto o spunto a tutti

    • Livio says:

      Questo lo abbiamo già spiegato e evidenziato in giallo, sia nella pagina dei motori, che nella pagina dell’adattatore, che nel manuale di Theremino CNC… e anche nei tre precedenti messaggi di questo Blog.

      Non è possibile usare Mach3, a meno di scrivere un PlugIn per Mach3, che invii i dati di Mach3 verso i nostri Slot.

      Scrivere un PlugIn per Mach3 potrebbe richiedere mesi a chi conosce Mach3. Noi non lo scriveremo, sia perché preferiamo la semplicità di Theremino CNC, sia perché non
      conosciamo abbastanza Mach3 e Linux CNC.

    • Livio says:

      Detto in altre parole…
      l’adattatore sostituisce l’uscita parallela e fa vedere alla macchina lo stesso connettore che si usava in precedenza con Mach3.

      Ma dal lato PC di deve cambiare Mach3 con Theremino CNC, cosa c’è in Theremino CNC che non va bene? Se qualcosa manca lo aggiungeremo.

  39. Roberto says:

    Ok , frainteso io , avevo il forte dubbio ma non ne ero certo . Comunque per accoppiata Theremino + Hall + Theremino CNC complimenti , penso che se non ci siano particolari necessità o per spirito di riuscire a far funzionare mach3 per molte apparecchiature cnc sia un ottimo sistema .
    Solo per spirito di prova porterò avanti il discorso plugin mantenendovi informati .
    Grazie Livio per la velocissima risposta

    • Livio says:

      Non hai spiegato perché nel pantografo dovresti usare per forza Mach3. C’è qualcosa che dobbiamo aggiungere a Theremino CNC, che proprio ti manca?

      Stasera pubblicheremo una nuova pre release con grandi miglioramenti.
      - Lo Zoom del Toolpath è molto migliorato
      - Il Pan si fa trascinando con il mouse
      - Si può usare un GamePad (anche Wireless) per Joggare e per le principali funzioni
      - Quando il Toolpath è ingrandito segue automaticamente la lavorazione

      Moltissimi altri miglioramenti…
      vale la pena di rileggere tutto il file di istruzioni.

  40. Roberto says:

    Non c’è niente in theremino CNC che non vada , è che partendo da mach3 ero e sono affezzionato al sistema , infatti ti ho detto che per il Laser in questo caso preferisco Theremino CNC a Mach3 . Forse mi devo adattare un pò al sistema che sicuramente quando si conosce può avere caratteristiche di altri o forse anche superiori , la cosa che sinceramente mi frenava nel provare il sistema Theremino erano i pin limitati della sheda Master comunque espandibile , pensando ad una sistema che nell’eventualità avrei dovuto gestirsi senza PC od in abbinamento con questo .

  41. Roberto says:

    Scusami se approfitto , ho letto sommariamente il manuale del CNC , mi sono fermato alle cose essenziali per eventualmente associarlo a Mach3 , superato questo punto ora me lo studio per il funzionamento Theremino Cnc con Master . La domanda è solo se posso associare i pulsanti presenti nella finestra del Theremino Cnc con eventuale tastiera on-board su macchina ( Start- Stop -Pause- Goto zero -Goto home ).
    E’ corretto se sostituisco il comando (0/5Vcc) regolazione potenza tubo laser (che attualmente posso solo regolare con un potenziometro sulla macchina ) con il comando Speed Rpm (Slot 12 Pin Pwm) ?

    • Livio says:

      Ti consiglio di usare un GamePad wireless che non solo fa START, PAUSE, STOP e REWIND, ma anche i JOG veloci, a velocità variabile e anche i JOG a bassa velocità per azzerare con precisione. E fa anche lo ZOOM del toolpath durante l’esecuzione. Leggi pagina 12 delle istruzioni. Un eventuale pannello potrebbe usare un GamePad intero (cannibalizzato), per connettersi all’USB (i GamePad economici costano 5 Euro)

      Per la potenza del laser lo slot 12 è quello giusto. Ma credo che dovrai anche accenderlo durante i G01 e spegnerlo durante i “Rapid” e per far questo dovresti usare anche lo slot 11.

  42. Roberto says:

    Grazie di tutto , scusa della domanda per comando Speed Rpm , ho visto adesso che giustamente visto alimentazione può generare solo 0/3.3 Vcc . Ora vedo di leggermi attentamente documentazione prima di fare altre domande .
    Solo una curiosità , come mai visto disponibilità dei vari modelli Pic con prezzi comunque poco differenti avete optato per un pic con package a 28 pin con le limitazioni delle porte in/out che implicano molto facilmente richiesta di moduli slave ?
    E’ solo una curiosità senza polemica

  43. Mario says:

    Ciao Livio,
    Vorrei sapere se esiste una versione di Theremino CNC che possa funzionare su un tablet
    Android.
    Ciao e a presto!!!
    Mario

    • Livio says:

      No, mi dispiace.
      E probabilmente non ci sarà neanche in futuro, per i motivi seguenti:
      1) Android pensa che tutti i device di tipo HID siano dei Mouse
      2) Nessuno è ancora riuscito a fargli capire che i nostri Master non sono dei Mouse.
      3) Se anche si riuscisse, poi la applicazione Theremino CNC non funzionerebbe.
      4) E nemmeno Theremino HAL e tutte le altre nostre utility funzionerebbero.
      5) Andrebbero riscritti almeno HAL e CNC (mesi di lavoro per uno che conosce Android).
      6) Android riesce a far girare una sola applicazione per volta, quindi niente HAL e CNC insieme.
      6) Esistono Tablet con Windows 8.1 gratuito, che costano poco più di 100 Euro e vanno benissimo (quad core e super veloci).

  44. Livio says:

    Mario ci ha scritto una mail chiedendo:
    1) Come devo fare a interfacciare una Laser?
    2) Dove posso leggere come abbinare i pin all’accensione / spegnimento del laser?
    3) Siccome i driver Pololu hanno anche i microstep, potrei avvantaggiarmene?
    4) Sto assemblando una proto board che porta il Master THEREMINO + lo shield arduino per i A4988 – CNC Shield V3 A4988 Controller for RAMPS 1.4 Reprap 3D Printer for Arduino. Così ho gran parte dei collegamenti già fatti e al posto giusto, senza pericolo di sbagliare. E’ una buona idea?

    Risposta 1 – Pin da usare per una Laser:
    Se ti servono due assi per muovere in X e Y e non usi l’asse Z allora:
    1 = X step
    2 = X dir
    3 = Y Step
    4 = Y dir
    E poi puoi usare uno qualunque dei pin da 5 a 10 per il laser. Magari lasciando liberi il 5 e il 6 che possono avere l’ADC (se in futuro dovessi misurare qualcosa, magari una temperatura)

    Risposta 2 – Segnali per il Laser
    ——————————————————————–
    I segnali del laser sono listati a pagina 38 dell’Help del Theremino CNC

    11 OUT – Spindle motor or laser (ON = 1000 / OFF = 0)
    12 OUT – Spindle motor speed (RPM da -99000 a +99000) – Specificato da “S”

    Con lo slot 11 accendi il laser durante la lavorazione e lo spegni nei rapidi.
    Con lo slot 12 regoli la potenza del laser (usando il comando S – Speed)

    Quindi i pin da impostare sono
    Pin 7 = Slot 11 e DigOut
    Pin 8 = Slot 12 e Pwm16

    Risposta 3 – Microstep
    ———————————————————————
    Ottima idea usarli, ma non esagerare, impostali a 2, 4 oppure 8 al massimo.
    Attenzione che cambiando microstep poi devi correggere gli “Step per mm”

    Risposta 4 – RAMPS
    ———————————————————————
    Il modulo RAMPS va benissimo.
    Probabilmente non faremo un equivalente perché è ben fatto e costa poco.
    Preoccupano un po’ i suoi connettori femmina che sembrano di bassissima qualità.

    Risposta 4 – ProtoBoard
    ———————————————————————
    Piuttosto che una proto-board (che farebbe molta confusione) converrebbe fissare i moduli a una base di plastica o legno e poi usare i cavetti Dupont:
    http://www.theremino.com/technical/connection-cables#single

  45. mirko says:

    ciao ho appena finito di rifare la mia stampante 3d ma come al solito arduino rompe sul collegamento del seriale …. mi chiedevo se il software del cnc è compatbile con i gcode generati dal software Slic3r, volevo infatti collegare i 5 motori nema17 ai driver pololu sulla ramps1.4 e collegare questa al master + relativi slaves se non bastassero i pin. dovrei implementare nel gcode i comandi per controllo temperatura e velocità estrusione?? sono anche disposto a fare da tester. grazie 1000 per l’attenzione

    • Livio says:

      Certo che si può fare e grazie della proposta di collaborazione. Se servirà potremo anche usare Skype o il telefono. Ti aiuteremo e faremo ogni modifica necessaria fino a che funzionerà bene.

      Gli slot da usare per le stampanti 3D sono indicati a pagina 38 del file: Theremino_CNC_Help_ITA.pdf

      I codici per le stampanti 3D sono: M00/01/82/84 e da M101 a M190 e il loro significato è spiegato nel file del file: G_and_M_codes_ITA.pdf

      Potresti iniziare a connettere e provare l’hardware. Poi dovresti controllare che i tuoi file non contengano altri codici (nel caso ne contenessero allora faresti bene a mandarci un file da controllare).

      Nella versione che c’è sul sito questi comandi “M” non sono ancora implementati, ma non ci vorrà molto a finirli.

      • mirko says:

        ok ottimo allora intanto sistemo la calibrazione della stampante e devo ancora mettere un paio di endstop e intanto mi leggo un gcode dello slicer

        • Livio says:

          Non mettere tanti stop, cioè collegali tutti in serie su un unico filo. Meno sono gli ingressi e uscite e più affidabile sarà la macchina nel suo insieme.

          A pagina 42 del file CNC_Help_ITA, si vede come si “dovrebbe” collegare la catena di fondo corsa per evitare che forti disturbi provenienti dai motori, possano provocare errori sulla comunicazione USB. I due resistori sono un efficace isolamento dai disturbi.

          E anche le masse vanno disposte come si deve, “a stella” come spiegato a pagina 43. Molte cose sono importanti, il tuning dei motori, i cablaggi… I fondo corsa sono i meno importanti, il macchinista deve controllare lui stesso di non andare a sbattere. All’inizio, quando non ero esperto e mi fidavo dei fondo corsa, ho rotto molte punte e ho rigato la tavola. Ora i fondo corsa non li metto mai e non rompo più niente.

          Naturalmente stiamo parlando di macchine con motori Nema23, o anche più piccoli. Motori che non sono in grado di piegare la meccanica. Per cui si possono usare efficacemente i fondo corsa meccanici.

          Anche a pagina 41 si leggono utili informazioni sugli switch. Mi raccomando, pochi canali di InOut, al massimo un Master e uno Slave (o due Master).

          Se hai tanto tempo, piuttosto che aggiungere un groviglio di slot, cavi e switch, sarebbe utilissimo costruire una piastrina di foto-accoppiatori e isolare completamente la massa della macchina, dalla massa dei moduli thereminici e quindi del PC, come indicato a pagina 44.

          • mirko says:

            in pratica dovrei fare la stampa o il movimento senza riferimenti di posizione, almeno fino ad ora gli impostavo lo 0 manualmente e poi gli facevo partire il gcode, dici di farlo anche qua? al massimo metto un endstop solo per determinare la misura minima così da avere un riferimento sull’asse z. per il numero di collegamenti dovrei riuscire a stare in un master dedicato ai motori e uno slave per gli endstop a meno che non posso controllare i 2 motori dell’asse z con un solo collegamento mettendo i cavi in parallelo

            • Livio says:

              Io imposto sempre manualmente lo zero del pezzo. In questo modo posso fare pezzi dove voglio e anche duplicarli in posizioni diverse. Sposto un po’, azzero, e ne faccio un altro… sposto un altro po’, azzero e ne faacio un altro…

              Se invece i pezzi sono riferiti allo zero macchina sei fritto, queste semplici operazioni non sono più possibili.

              Comunque avere lo zero X e Y può servire qualche volta, quindi metterei due switch di “minimo X” e “minimo Y”, in serie e collegati a un solo Pin.

              Per lo Z invece userei il piastrino di azzeramento, collegato a un altro Pin.

              Quindi un totale di due Pin per tutti gli switch, più 8 Pin per 4 motori, più 5 Pin per le temperature, fanno 15 Pin in tutto. Con un Master e uno slave hai venti Pin. Te ne devono avanzare almeno cinque!

              I due motori dell’asse Z, devono rigorosamente stare collegati agli stessi fili, altrimenti appena sbagli qualcosa si disallineano è si ingallona il carrello.

              • mirko says:

                ok sono riuscito a fare il collegamento ramps 1.4 a theremino ma ho quasi riempito anche lo slave senza nemmeno usare gli endstop. se volete posso fare un immagine che spiega a tutti come fare e lasciarvela. domani controllo i gcode imposto i motori e provo a stampare in 2 giorni metterò aggiornamenti

                • Livio says:

                  Hai sicuramente collegato segnali che non servono, ad esempio gli “Enable” dei driver.
                  Le sicurezze (pulsante di emergenza e enable) vanno fatte in hardware. Mai passare attraverso il software per queste cose.
                  Mi fai una lista dei Pin così capisco?

                • Livio says:

                  Più che “provo a stampare” direi “provo a muovere con il JOG”
                  1) In Theremino CNC non sono ancora implementati gli MCode per le regolazioni delle temperature.
                  2) Non sappiamo ancora quali M e G codes ti mancano.
                  3) Non mi hai inviato un GCode di esempio…

                  Se devi spedire qualcosa invia a: engineering@theremino.com

                  • mirko says:

                    ho collegato i 4 assi X Y Z e E(l’estrusore) step e dir poi ho collegato i 4 enable dei driver ovviamente tutte le alimentazioni con relativi ground e i due pin uno per il controllo dell’alimentazione della resistenza (per riscaldare l’estrusore) e l’altro per rilevare la temperatura da un termistore 100k. in più potrebbe servire anche il collegamento per la seconda resistenza del piatto di stampa e quello del secondo termistore. tutto questo senza contare gli endstop che sono a parte. sulla mail intanto ti invio un gcode di un pezzo che ho di recente stampato

                    • Livio says:

                      E magari i 4 enable tutti separati? Occupando ben quattro Pin?

                      Per piacere scrivi una lista dei pin e poi copiala qui.

  46. mirko says:

    allora i pin che usa la ramps sono questi // For RAMPS 1.4
    #define X_STEP_PIN 54
    #define X_DIR_PIN 55
    #define X_ENABLE_PIN 38
    #define X_MIN_PIN 3
    #define X_MAX_PIN 2

    #define Y_STEP_PIN 60
    #define Y_DIR_PIN 61
    #define Y_ENABLE_PIN 56
    #define Y_MIN_PIN 14
    #define Y_MAX_PIN 15

    #define Z_STEP_PIN 46
    #define Z_DIR_PIN 48
    #define Z_ENABLE_PIN 62
    #define Z_MIN_PIN 18
    #define Z_MAX_PIN 19

    #define E_STEP_PIN 26
    #define E_DIR_PIN 28
    #define E_ENABLE_PIN 24

    #define SDPOWER -1
    #define SDSS 53
    #define LED_PIN 13

    #define FAN_PIN 9

    #define PS_ON_PIN 12
    #define KILL_PIN -1

    #define HEATER_0_PIN 10
    #define HEATER_1_PIN 8
    #define TEMP_0_PIN 13 // ANALOG NUMBERING
    #define TEMP_1_PIN 14 // ANALOG NUMBERING

    e sono relativi ad arduino questi ma alcuni non servono se si usa theremino
    no cmq i 4 enable li ho messi in parallelo

    • Livio says:

      Questi sono i Pin che usa il firmware di Arduino dentro allo Sketch, e alcuni non sono nemmeno dei PIN ma delle variabili usate nel software.

      La lista per Theremino è la seguente:
      Pin Uso
      -------------------
      01 X_STEP
      02 X_DIR
      03 Y_STEP
      04 Y_DIR
      05 Z_STEP
      06 Z_DIR
      07 E_STEP
      08 E_DIR
      09
      10

      11 HEATER_0
      12 HEATER_1
      13 TEMP_0
      14 TEMP_1
      15 FAN
      16 X_ENABLE, Y_ENABLE, Z_ENABLE, E_ENABLE, PS_ON, LED
      17 X_MIN, Y_MIN, Z_MIN, X_MAX, Y_MAX, Z_MAX
      18
      19
      20

      Anche collegando tutto restano cinque pin liberi, due sul Master e tre sullo slave.

      Anzi ne restano sei perché (per sicurezza) gli Enable dovrebbero essere completamente hardware e NON dovrebbero mai passare dal software. Cioè si mette un interruttore della macchina e lui stesso alza e abbassa gli enable.
      O meglio ancora toglie alimentazione ai motori!

      E questi cosa sono?
      KILL ???
      SDPOWER ???
      SDSS 53 ???

      • mirko says:

        quelli sono (erano perchè sono inutili con theremino) l’alimentazione per la sd del pannello lcd il segnale della sd e il kill credo sia tipo un force reset ma è da software perchè è sul -1 quindi per noi appunto non serve

        • mirko says:

          stavo pensando per la temperatura semplicemente di impostarla con un programmino esterno al theremino cnc a 200° circa e lasciarla fissa però quello su cui avrò problemi sarà l’estrusione.
          mi sa stasera provo a mettere un semplice gcode dentro al programma imposto la temperatura a parte e cerco di regolare l’estrusione poi ti faccio sapere come è andata

          • Livio says:

            Purtroppo per l’estrusore avrai un problema con i G92 E0.
            Per fare una prova veloce dovresti eliminare (o commentare tutti i G92 E0) e poi trasformare tutti gli E da numeri relativi ad assoluti… Farlo a mano o con un editor non è facile.
            O aspetti che implementiamo il G92,
            O scrivi un programmino che incrementa tutti gli “E” in modo che non ripartano sempre da zero.
            Opuure imposti il post-processor del programma che ha fatto il GCode per non emettere il G92

  47. Roberto says:

    Buongiorno Livio ,
    continuando nelle mie prove per cnc devo dire che i risultati fino ad ora dell’accoppiata tra master e software cnc va molto bene , per il momento sto lavorando per prove su laser e come ho finito meccanica del pantografo inizio anche su quella ( continuo a vedere se riesco a trovare modo di accoppiare master a mach3 ma solo per curiosità ed eventualmente condividere a chi potrà averne bisogno ). Ora guardando il sito ( un pezzo alla volta lo sto guardando tutto viste le infinite ed utili prove pubblicate ) ho visto scheda relè con tre fili di pilotaggio e gestione di otto relè moltiplicabili , ora però guardando schema vedo i tre fili , data, clock e store e sotto vedo che si dice di collegare questi tre fili a tre pin configurati come DigOut , presumo quindi che il tutto è gestito dai software test relè e non si possano sfruttare queste infinità di uscite invece da software come cnc , mi sbaglio ?
    Esiste qualche applicativo che non ho visto che invece del 74*595 che con tre fili moltiplica uscite , sfrutti i 74*165 per fare la stessa cosa con gli ingressi ?
    Teoricamente con 4 pin si potrebbero avere ingressi ed uscite moltiplicate (clock e store comuni ) e data linea 595 e 165 separate , per 595 sarebbe un in DigOut mentre per 165 sarebbe un DigIn , potrebbe funzionare una soluzione simile ?
    Grazie come sempre del Vostro utilissimo supporto

    • Livio says:

      A quella scheda si mandano i dati in seriale, con tre Pin di uscita configurati come DigOut. In questo modo, si possono collegare anche più schede, una dietro l’altra e gestire anche molte decine di relè, sempre con soli tre fili.

      La versione migliore e le migliori informazioni su questa scheda seriale sono qui: http://www.theremino.com/hardware/outputs/actuators#releswitcherv2

      C’è un esempio di software per inviare i dati seriali tra gli esempi di Theremino Script. Ma il tutto è abbastanza complesso da mettere insieme.

      Multiplexare ingressi e uscite
      ——————————–
      La tua idea è realizzabile, ma spero che non dovrai arrivare a simili complicazioni. E’ già difficile fare apparecchi affidabili, stando sul semplice!

      Con un Master e uno Slave, si dovrebbe riuscire a fare qualunque macchina, anche le più complesse. Mi mandi la lista degli InOut che ti servono e ci ragioniamo un po’ sopra?

  48. Roberto says:

    Grazie Livio come sempre della tua disponibilità , sinceramente l’idea mi è nata provando schede cnc dei Polacchi che con 4 fili gestiscono da scheda madre uscite ed ingressi e , con lo stesso principio con tre fili gestiscono fino ad 8 assi .
    Questa mia era una curiosità se stesso principio senza applicare moduli slave a seconda dell’eventuale numero di input output poteva essere applicata al modulo master , il lavoro grosso lo fa il master , gli altri pic degli slave si appoggiano sempre al micro del master . Ora visto che la meccanica è praticamente quasi terminata mi inizierò a fare un calcolo dei vari input output necessari , calcolando assi , finecorsa , emergenza , tastierino esterno , pompa del vuoto ,2 inverter per regolazione velocità e pilotaggio abbassamento 2 teste con pistone pneumatico ( ho due teste che devono poter lavorare o contemporaneamente o separatamente )ed altri input output vari . Anche se sarà un pantografo per uso hobbystico ho copiato meccanica da alcuni professionali ed ho aggiunto alcune varianti che secondo me possano servirmi , ti dico che sinceramente vorrei anche riuscire a montare sul pantografo il gruppo laser per poter fare con una sola macchina tutto ciò che possa servirmi , tanto due assi x ed y posso sfruttarli per entrambi e secondo l’esigenza comandare mandrino o tubo laser .Alla fine l’idea di macchine combinate è la scoperta dell’acqua calda che è già stata applicata a tanti macchinari hobbystici dai cinesi .
    In tutti i casi non voglio stravolgere niente , sono solo domande per curiosità sulla fattibilità , i progetti su theremino sono talmente tanti e tutti interessanti ed alcune volte per approfondirli ci sono link ad altre pagine ed informazioni che qualche volta ho paura di essermi perso qualcosa ed è per questo che chiedo dettagli .
    Comunque grazie ancora , più leggo per conoscere il sistema più sono convinto che abbiate e stiate facendo un grande lavoro con un infinità di possibilità limitate solo dall’immaginazione

    • Livio says:

      Effettivamente l’idea di utilizzare la meccanica X,Y,Z anche per Laser e 3D printing, non è male. Gran parte del costo, del volume e del peso, stanno proprio nei tre assi fondamentali.

      Stavamo già lavorando inconsciamente in questa direzione, ma ora la tua scoperta dell’acqua calda ha reso esplicito quel che dobbiamo fare, grazie!

      Proprio in questi giorni stiamo aggiungendo a Theremino CNC le funzioni che dovevano far parte di Theremino Replicator. Per cui alla fine Theremino CNC sarà una applicazione unificata, che potrà gestire anche le stampanti 3D, le macchine per l’incisoria, il taglio Laser e il taglio polistirolo. E c’è anche chi sta progettando di tagliare la pietra e spruzzare cemento. La modularità del sistema Theremino rende possibili anche le macchine più “strambe”, nonché un facile attrezzaggio per nuove funzioni.

      Abbiamo anche progettato un semplice driver a corrente costante per i piccoli laser a diodo, da 100 mW a 10 Watt (non ancora pubblicato – se serve chiedetelo). E alcuni makers hanno modificato stampanti Laser commerciali e le stanno usando con Theremimino CNC.

      Multiplexing
      ————————————————————-
      La tua idea di multiplexare ingressi e uscite, potrebbe essere utile in alcuni casi.

      Finora non abbiamo preparato moduli del genere, perché il tempo è sempre poco, ma non è difficile progettarli. Basta montare (anche su un millefori) alcuni multiplexer della serie CMOS HC, ma anche la serie CD andrebbe benissimo. Poi si potrebbero usare due o tre uscite DigOut, per quattro, oppure otto commutazioni. Molto interessanti i CD4051, che commutano in analogico e bidirezionale, e potrebbero fungere da Jolly. Se ne potrebbero montare un certo numero, e usarli sia per i DigIn, che per i DigOut, ma anche per gli Adc e naturalmente anche per tutti gli altri tipi di Pin, come Pwm e Counters. Attenzione solo a mettere un resistore di PullDown (10 o 100k) sulle uscite che rimarranno aperte, altrimenti alcuni utilizzatori, come i driver dei motori stepper, potrebbero iniziare a muovere i motori da soli.

      Il multiplexing è attuabile solo per funzioni mutuamente esclusive e richiede un integrato commutatore per ogni funzione. Alla fine verrebbe fuori un piastrone piuttosto grosso e probabilmente anche abbastanza costoso. Un modulo per smistare quattro segnali costerebbe come un Master e sarebbe grande come due o tre Master. Per questi motivi noi continuiamo a consigliare di aggiungere un secondo Master. Con il vantaggio di essere completamente configurabile e facilmente sostituibile.

      Se la macchina è composta solo da “n” drivers Pololu e da “n” Masters, basta tenere un Driver e un Master di scorta, per avere la certezza di non fermarsi mai.

      Ultimo consiglio: sempre meglio usare due (o al limite anche tre) Master, piuttosto che gli Slave, perché la linea seriale patisce i disturbi elettrici, molto più della USB. Non si rompe mai niente, ma possono avvenire errori di comunicazione e, in alcuni casi, anche il blocco totale della comunicazione, fino a che non si disconnette e riconnette il cavo USB.

  49. Roberto says:

    Buongiorno Livio , guardando tra le varie schede disponibili per theremino e per l’uso con software cnc , forse mi è sfuggito ma non ho trovato un circuito che trasformi il segnale PWM in tensione .Per regolare la potenza dei tubi laser è necessaria una tensione 0/5 V , per regolare la velocità dei mandrini con inverter è necessaria una tensione 0/10V o 0/5 a seconda dell’inverter , il modulo master genera un segnale Pwm 0/3.3V e non si possono quindi gestire direttamente questi dispositivi . In rete vi sono molti esempi ma credo che avere un modulo di riferimento sul vostro sito possa essere un buon aiuto per chi ne abbia bisogno . Dalle mie prove tra le varie possibilità mi sembrerebbe che la soluzione più comoda sia quella di un convertitore Pwm tensione con un operazionale esempio LM358 in questo modo alimentando modulino a 12 V e regolando potenziometro uscita si possono ottenere sia tensioni 0/5 V o tensioni 0/10V con tensione pari a 0 V per duty cicle =0 e tensione max di 5 o 10V con duty al 100%. Dalle mie prove ho anche visto che nel caso esempio per pantografi in cui sia necessario pilotare contemporaneamente due inverter per far lavorare contemoraneamente due mandrini ( se voglio fare due pezzi identici contemporaneamente ) è meglio mettere i due inverter in parallelo che fare due circuiti di convertitore Pwm tensione , con le tolleranze dei componenti e le caratteristiche dei due operazzionale non identiche anche se mando due segnali Pwm o lo stesso segnale Pwm ai due moduli le uscite dai due convertitori e quindi le velocità dei due motori non saranno uguali .

    Una domanda , mi hai scritto che state modificando Theremino CNC per renderlo una piattaforma universale per varie macchine , nelle modifiche che state apportando state pernsando di inserire anche dei pulsanti o un menù dove poter associare uscite ai pin o slot del modulo master ? Chiedo questo perchè in molte macchine oltre al pulsante di emergenza , finecorsa e gestione assi c’è sempre un qualche dispositivo che necessità di essere attivato o ad accensione macchina o perlomeno prima di inizio lavoro e non sarebbe male automatizzarlo con il ciclo lavoro senza doverlo fare manualmente ( in questi casi sarebbe sufficente poter associare pin out o Slot o all’avvio software CNC o all’avvio programma lavorazione Gcode ). Per esempio nei Laser deve essere accesa la pompa di ricircolo acqua per tubo ed il compressore durante la fase di taglio od incisione (ho provato ma non è il massimo collegare lo slot 11 ad altre cose che non siano innesco tubo laser , troppo veloci e troppi on/off durante fasi lavorazione ) , ho visto tra i vostri moduli nella sezione “input sensor “il “sensore liquido nei tubi” che potrebbe essere molto utile per tenere sotto controllo il ricircolo dell’acqua nel caso la pompa ( solitamente sono quelle utilizzate per acquari ) dovesse avere problemi o dovesse diminuire il livello nel contenitore facendola pescare a secco (devo ancora provarla me credo possa essere messa in serie a finecorsa ed emergenza ) . Nei pantografi invece ci sarebbe l’accensione dell’inverter ed eventualmente della pompa del vuoto , in altre macchine potrebbe essere pompa liquido refrigerante od altro .
    Scusami delle domande e se mi permetto di indicare alcune cose , grazie come sempre di Vostra cortesia e disponibilità

    • Livio says:

      PWM to ControlVoltage
      Qui trovi un doppio convertitore da PWM a 0..5 Volt. Se lo alimenti a 12 Volt e cambi R6 e R16 con resistori da 4200 ohm, ottieni una uscita da 0 a 10 Volt. Attenzione solo a non mandare il 12 Volt ai Pin del Master.
      http://www.theremino.com/downloads/multimedia#cv

      Cercare nel sito Theremino
      Effettivamente c’è una quantità esagerata di informazioni per cui trovarle può diventare difficile, ma ci sono due modi:
      1) La pagina “Applications” è un comodo indice. All’interno della pagina si può cercare con CTRL-F. Ho provato a cercare PWM e ci si arriva i due click.
      2) Tutte le pagine hanno la casella SEARCH. Ho provato a cercare PWM e ci si arriva con più fatica, ma ci si arriva anche da li.

      Uscite di controllo
      Theremino CNC implementa tutti i GCode che pilotano le uscite. Si possono usare uno qualunque degli Slot da 11 a 23, come indicato a pagina 39 del manuale:

      11 OUT – Spindle motor or laser (ON = 1000 / OFF = 0) – ON nelle fasi di lavoro
      12 OUT – Spindle motor speed(RPM da -99000 a +99000) – Specificato da “S”
      13 OUT – Spinde CW (ON = 1000 / OFF = 0) – M03 M13(ON) M05(OFF)
      14 OUT – Spinde CCW (ON = 1000 / OFF = 0) – M04 M14(ON) M05(OFF)
      15 OUT – Tool number (0, 1, 2, 3…) – M06(T=numero utensile)
      16 OUT – Cooling1 (ON = 1000 / OFF = 0) – M07(ON) M09(OFF)
      17 OUT – Cooling2 (ON = 1000 / OFF = 0) – M08(ON) M09(OFF)
      18 OUT – Cooling3 (ON = 1000 / OFF = 0) – M50(ON) M09(OFF)
      19 OUT – Cooling4 (ON = 1000 / OFF = 0) – M51(ON) M09(OFF)
      20 OUT – Pallet Clamp (ON = 1000 / OFF = 0) – M10(ON) M11(OFF)
      21 OUT – Orientazione del mandrino (in gradi) – M19(C=gradi)
      22 OUT – Gear speed range (1, 2, 3, 4) – M41 M42 M43 M44
      23 OUT – Abilitazione generale della macchina – M84 e Pulsante “IN OUT enable”

      E nelle nuove versioni di Theremino CNC, dalla 3.41 in poi, sono anche implementate le seguenti uscite:

      41 OUT – SlotHoldingForce Pressione di fissaggio – M142(S=pressione)
      42 OUT – SlotCoolingFans Ventole di raffreddamento – M106(ON) M107(OFF)
      43 OUT – SlotHeaterChamber Riscaldatore aria camera – M141(S=temp.)
      44 OUT – SlotHeaterPrintBed Riscaldatore piano stampa – M140(S=temp.)
      45 OUT – SlotHeaterExtruder1 Riscaldatore estrusore 1 – (Nota 1)
      46 OUT – SlotHeaterExtruder2 Riscaldatore estrusore 2 – (Nota 1)

      Quelli che vanno agli slot sono solo numeri e non sono limitati da 0 a 1000. Quindi si possono usare anche uscite che erano previste per altro. E si possono emettere numeri piccolissimi come 0.00039 o anche grandissimi (numeri interi fino a molti milioni senza nessun arrotondamento)

  50. Roberto says:

    Come sempre Livio disponibile e gentilissimo , mi era sfuggito il modulo convertitore Pwm , già avevo risolto ma non avendolo visto e pensando che poteva servire ad altri ho chiesto .
    Avevo letto nel manuale di Theremino CNC delle uscite comandate da Mcode ma pensavo a qualcosa di autonomo che non venisse gestito dal programma Gcode . Il programma Gcode è generato da altri software e ne esistono un’infinità sia dedicati a Laser per i vari tipi di lavorazioni richieste sia per altri tipi di macchine . I Gcode generati da software diversi anche per stesso tipo di lavorazione non sono sempre uguali , possono variare da software a software e dal post processore utilizzato ed a esclusione dei parametri di gestione assi ed utensili altri comandi alcune volte non li ho trovati ( ti ringrazio se mi puoi correggere su quest’idea che mi sono fatto) , ed è per questo che preferivo comandi indipendenti dal Gcode per alcuni attuatori esterni .
    Premetto che del mondo cnc sono ignorante , sto cercando di documentarmi per capire e quindi è probabile che stia dicendo anche cose sbagliate , grazie a voi e alle tantissime info che si trovano ogni giorno capisco cose nuove e molto spesso mi rendo conto che quello che credevo non era corretto .
    Grazie ancora

    • Livio says:

      Ho indicato gli slot da GCode perché parlavi di “essere attivato o ad accensione macchina o perlomeno prima di inizio lavoro” e per questo si dovrebbe usare lo slot 23 (eventualmente comandato da M84 a inizio e fine GCode). Ma anche qualunque altro comando, ad esempio i “Cooling” (Slots 16,17,18,19) potrebbero andare bene.

      Naturalmente si devono aggiungere gli M a inizio e fine GCode. Per risparmiare questo fastidio nelle prossime versioni aggiungeremo lo Slot 24, come da riga seguente:

      24 OUT – Abilitazione accessori – ON con START e OFF con STOP

  51. Roberto says:

    Scusami Livio un appunto , non potete mettere nella prima pagina dell’Help pdf la versione del software Cnc a cui è riferito , ho appena scaricato ultima versione disponibile (credo) v3.39 e nell’help ho trovato i nuovi Mcode che mi hai scritto , io stavo facendo tutte le prove con la versione 3.36 e gli Mcode erano diversi , disponibili da slot 11 a slot 21 ed ora (v 3.39 ) sono da slot 11 a 23 , prima lo slot del tool era il 13 ed ora è diventato il 15 e così altri , si rischia di impostare slot sbagliati se si usano software e manuali che non sono della stessa versione

    • Livio says:

      L’help cambia quasi tutti i giorni, gli EXE un po’ meno. I PDF hanno la data dell’ultimo aggiornamento alla fine della pagina e non possiamo cambiare versione al software ogni volta.

      C’è stato un rivoluzionamento degli slot per fare posto, ma ora non li sposteremo più. Al massimo ne aggiungeremo nei posti vuoti.

      Usando sempre l’help allegato al software non si può sbagliare. Si va sul sito, si guarda la versione del software e se è successiva alla propria, si deve riscaricare tutto quanto, e usare TUTTO della nuova versione, tranne eventualmente i propri file di configurazione.

      Forse tra qualche mese tutto si stabilizzerà. Ma ora ci sono nuove versioni ogni giorno e non sono nemmeno tutte pubblicate, qui trovi la più recente:
      http://www.theremino.com/wp-content/uploads/files/Theremino_CNC_V3.41.zip

      Capisco il disagio dovuto ai cambiamenti, ma se non si cambia non si può migliorare. Il problema è che mentre altri fanno una versione o due all’anno, noi ne facciamo anche due al giorno… Quando trovi variazioni “scomode” consolati pensando che per quella variazione noi abbiamo dovuto lavorare decine di ore, studiare come farla, modificare il software, ricompilarlo, provarlo, aggiornare i DOC, fare i PDF, aggiornare il sito…

  52. Roberto says:

    Livio , vi capisco ed ammiro il lavoro che state facendo , le mie non devono mai assolutamente essere considerate critiche ma solo notazioni , nella quantità penso che lo stesso mio problema possano averlo altri ed è per questo che lo segnalo , poi , quasi sempre è colpa mia , certe cose le considero scontate e quindi non ci faccio caso e poi ci perdo ore quando bastava rileggere una pagina .

    • Livio says:

      No problem, però non aspettarti troppo, il sistema Theremino è solo un grosso giocattolo e noi siamo quattro gatti, più di tot non possiamo fare…

      Cosa pensi del nuovo output?
      24 OUT – Abilitazione accessori – ON con START / OFF con STOP
      (era un indicazione che effettivamente mancava e grazie per averlo fatto notare)
      (dalla versione 3.42 in poi)

      Se ci vorranno altri meccanismi complessi, il posto adatto per scriverli non sarà Theremino CNC, ma software aggiuntivo, scritto dall’utente stesso a seconda delle sue esigenze, magari in Theremino Script, o in Theremino Automation, o con MaxMsp, o anche in VB6 o CSharp, o anche in VbNet per le applicazioni più complesse.

      Per avere la massima flessibiltà Theremino CNC dovrebbe fornire solo i segnali fondamentali, validi per tutte le macchine. Sarà poi il software esterno a combinare questi segnali in AND e OR, o con temporizzazioni, o leggendo i sensori e applicando controreazioni e algoritmi PID, etc…

  53. Roberto says:

    Penso che giustamente un passo alla volta stiate considerando ed aggiungendo tutto quello che possa servire per più macchine , rendendo il theremino un ottima piattaforma di partenza e sviluppo che si adatti alle più svariate esigenze . Personalmente ritengo che lo slot 24 sia una ciliegina sulla torta essendo non dedicato ed abbinabile alla singola esigenza .
    Non so se vi possa essere utile ma se dovesse servire qualche aiuto per qualsiasi cosa nel limite delle mie conoscenze e capacità lieto di poter aiutare .

  54. mirko says:

    ed eccomi tornato ora ho fatto una versione diciamo più bella dell’adattatore ramps- theremino per la stampante 3d vi mando le foto e gli schemi se volete e inizio subito a tarare motori e tutto il resto a breve magari faccio anche una guida sulla taratura e su tutto il resto se volete

    • mirko says:

      edit di mezzanotte: con i motori nessun problema ma ancora una volta col termistore è una sfida. questa volta ho pensato di leggerlo come res8 o 16 e di mettere i valori di massimo e minimo rispettivamente a 50000 e 0 così da avere come i limiti di theremino un responso sulla resistenza effettiva del termistore. idea a mio parere giusta e avrei anche usato la formula 1/T=1/T0 + [1/B * ln(R/R0)] per calcolarmi la temperatura effettiva ma facendo un paio di prove prima ho scoperto che testano una resistenza di 10k mi da quel preciso valore ma se metto ad esempio una resistenza da 47k mi ridà un valore che è sui 40000 e non riesco a capirne il motivo e se invece inserisco una resistenza da 220 mi da un valore che si avvicina a 1000. questo dipende magari dalla standardizzazione e dal filtraggio? se si c’è un modo per aggirarla oltre che fare un circuito esterno? domani provo con questa ultima soluzione e vedo come esce . grazie 1000 so che sono pesante a volte :D

      • Livio says:

        Consiglierei di usare ingressi ADC e di aggiungere un resistore a partire dal 3.3 Volt. Il valore del resistore è bene che sia adeguato a leggere valori intermedi (500) nella zona di temperature di aggiore interesse.

        Si tratta di un semplice partitore con due resistori: il termistore e il resistore che va al 3.3 Volt, alcune soluzioni sono spiegate qui:
        http://www.theremino.com/hardware/inputs/meteorology-sensors#pt1000

        Nella pagina si parla dei termistori di tipo PT1000, ma sono considearazioni generali, valide per tutti i termistori, anche NTC.

      • Livio says:

        Oggi stesso pubblicheremo Theremino CNC – Versione 4 !!!
        (la conclusione del lavoro faraonico)

        Nelle ultime pagine delle istruzioni (appendici 23, 24 e 25) ci sono le istruzioni per il controllo temperatura e i sensori da usare.

        Theremino CNC stesso, legge i sensori, interpreta i valori e li linearizza (secondo tabelle di taratura fornite dall’utente). Inoltre si occupa di pilotare i resistori di riscaldamento e mostra anche le temperature misurate dai cinque sensori (in Celsius o Fahrenheit).

        • mirko says:

          grandiiii XD grazie 1000 per tutto :D posso buttare l’arduino ora

          • Livio says:

            Theremino CNC – Versione 4.0 (nome in codice: “Lavoro Faraonico”) è finalmente disponibile:
            http://www.theremino.com/downloads/automation#cnc

            Tutte le funzioni richieste nei mesi scorsi sono implementate e anche il controllo delle temperature è completo. Ora si possono controllare, oltre alle CNC, anche le stampanti 3D e le macchine più strane, laser per incisioni, taglio polistirolo, eccetera… E anche i file di documentazione (nome in codice: “Mattoni degni della corazzata Potemkin”) sono completi, sia in italiano che in inglese.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>