Robotica e CNC


Consigli per le macchine CNC

Chi avesse bisogno di consigli sui motori da usare, sui componenti meccanici o su come montarli e acquistarli, può rivolgersi a Fabio di Arezzo che negli ultimi anni ha raccolto molta esperienza sulle frese CNC e le macchine per incisioni con i laser.

Nelle prossime immagini si vedono alcune sue realizzazioni. Cliccando le immagini si ingrandiscono e si può notare che sono macchine combinate, cioè che si può montare sia un laser che una fresa.

Cnc machine     CNC machine      CNC with laser

Scrivete a Fabio per consigli, per acquistare insieme componenti o per farvi procurare da lui dei kit di componenti. Oppure potreste anche accordarvi per costruire delle parti o delle macchine complete.

Fabio di Arezzo – Civitella in Val di Chiana (AR) – fabio.cve31@gmail.com


Radar e bracci robotici


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 dell’aprile 2017: il nuovo firmware dei Master, aumenta il numero di PIN da 6 a 12, quindi ora avanzano ben otto PIN per usi generici. Inoltre i nuovi firmware possono pilotare anche i motori stepper.

Si possono quindi costruire bracci robotici molto precisi utilizzando piccoli motori stepper e cinghie dentate. Si consiglia di usare un rapporto di demoltiplicazione molto alto, almeno cinque ma meglio se si riesce ad arrivare a dieci. In questo modo i 200 passi per giro diventeranno 2000 passi per giro e si potrà ottenere una precisione di 0.7 mm con bracci lunghi mezzo metro. Precisione che aumenterà a circa un decimo di mm e oltre utilizzando i microstep.

– – – – – – –

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 20xx 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 spiegato qui: blog/standalone-applications#standalone, 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. Iuliano Giuseppe says:

    Salve livio , ho montato un nuovo elettro mandrino alla mia cnc autodistruttivo con il suo piccolo inverte che possiede n un segnale pwm con le seguenti caratteristiche: 3, terminale di interfaccia MACH3 supporta segnale di controllo di velocità PWM esterno ingresso, i requisiti in ingresso PWM esterni: livello 3.5-12V VPP, frequenza 1K-10KHZ, controllo di velocità del mandrino adatto per MACH3, (nota bisogno di scollegare il segnale PWM XH2 esterni Il controllo della spina del potenziometro .54-3P è efficace o non può essere controllato).
    Ho provato a configurare come da manuale sia i piedini 11 e12 ma non riesco a farlo funzionare in automatico . dalla hall non so che tipo di piedino devo inserire, se gentilmente è possibile
    Un aiuto a x ka configurazione scrivendomi le varie operazioni nello specifico. Grazie in anticipo giuseppe
    inverter ha due piedini uno con scritto pwm e l’altro gnd

    • Livio says:

      Devi collegare sia GND che SIGNAL
      Il Pin che usi per fare uscire il segnale va configurato come FastPwm
      La frequenza del FastPwm va impostata da1 KHz a 10 KHz (impostala a 2 KHz)
      Poi devi premere il pulsantino “Duty cycle from Slot”
      E devi impostare lo Slot giusto.
      Se non riesci scrivimi a engineering chiocciola theremino punto com e ci sentiremo per telefono.
      Ciao
      Livio

      • carlos says:

        Amigo me puede ayudar a sacar esa señal ya que mi driver funciona de 2khz a 20 para controlar el spindle de mach 3.

        • Livio says:

          La frequenza impostala a 2 khz
          Per il resto leggi le istruzioni delle applicazioni HAL e CNC.

          • carlos says:

            Si amigo gracias por contestar lo que pasa es lo siguiente tengo un controlador viejito se llama (CNC INTERFACE BOARD ST-V3)que no viene con la salida pwm 0 a 10 volt solo el relay connector del Spindle u v w inverter por lo tanto para solucionar momentáneamente este percance y controlar mi spindle realice un circuito con un 555 y un puente h donde el puente h trabaja de 2kiloherz a 20kilohez para su máxima velocidad.Lo que me interesa ahora es enviar esa señal no por el 555 con potenciómetro sino que me la envie el mach3 o saber que pines se utilizan para recibir esa señal espero me puedas guiar gracias.

            • Livio says:

              Difficile capire…

              La applicazione CNC che stai usando è Mach3 ?
              In questo caso i segnali ti arrivano dalla porta parallela del PC e quali PIN utilizzare è scritto nel manuale di Mach3.

              Noi non utilizziamo Mach3 e non sappiamo aiutarti nei particolari.

  2. Iuliano Giuseppe says:

    Buona sera, mi chiamo Giuseppe è da un po mi diletto con una piccola cnc autocostruita. Volevo raccontare la mia esperienza riguardo al theremino master e il suo software theremino cnc.

    Prima di entrare nel mondo di theremino pilotavo la mia cnc con Arduino ed il suo rispettivo software grbl controller, una figata vederlo lavorare, il problema è sorto nel momento che dovevo mettere in pausa il lavoro, rettificare qualche parametro di aggiustamento per gli assi x, y, z, far ripartire il lavoro da un punto a mio piacimento, tutto questo non era possibile e quindi mi affidavo alla fortuna che il lavoro procedesse bene, ma mi è capitato di rifare più di una volta lo stesso lavoro, non potendo aggiustare la macchina in corso di lavorazione…

    Finalmente con la scoperta di theremino ho risolto ciò che con Arduino non era possibile, ora vedere lavorare la macchina con theremino, oltre che ad essere un figata, è una sicurezza sul non rifare un lavoro una seconda volta. Theremino CNC è un software di controllo stupendo, non c’è cosa che non si può fare, dal regolare i parametri dei rispettivi assi, alla velocità del mandrino, alla partenza del utensile da un determinato punto e tante altre cose… e la cosa più importante è stata la disponibilità nel configurare i giusti parametri con il personale di theremino, che ha dato disponibilità anche telefonicamente x una serie di aggiustamenti riguardo alla perdita di passi, causata dalla messa a terra e altro, ancora un grazie per il vostro lavoro.

  3. Vincenzo says:

    Salve Livio, finalmente fra pochi giorni avrò le piastre in alluminio per montare in maniera definitiva la CNC.
    Avrei bisogno di qualche dritta, prima dell’assemblaggio finale, per verificare bene cosa crea una perdita progressiva di passi in Z.
    Una domanda: Ma un G-code può influire sull’andamento e la precisione di una CNC?
    Chiedo perché il difetto si verifica anche quando taglio l’aria.
    Aggiungo… per fare un test ho usato Automation generando un piccolo ciclo continuo al fine di generare movimenti sui tre assi per finire ad effettuare una misurazione dell’asse Z su micrometro e ricominciare di nuovo. Dopo un ciclo di 40 minuti tutti in movimento rapido, (non so quante decine di misurazioni ha effettuato ma credo 70 o più) la lancetta del micrometro era sempre nella stessa posizione.
    Penso che anche se ora la CNC è in legno non ci siano grossi errori meccanici, ma perdere progressivamente in Z sembra strano.
    Comunque a breve smonterò e rifarò il cablaggio corretto.
    Grazie e a presto.

    Vincenzo

    • Livio says:

      Hai usato Theremino Automation sempre con le uscite del Master configurate con il tipo Stepper vero?

      Se hai fatto così e non si è verificata perdita di passi allora i segnali STEP e DIR e il Driver non hanno problemi. E nemmeno ThereminoCNC può averne, perché passa anche lui dagli Slot e se alla fine lo Slot è a zero, la punta deve essere dove era all’inizio.

      L’unica possibilità è una perdita di passi dovuta a troppa velocità e/o accelerazione ma ancora di più a vibrazioni. Aumenta i microstep per diminuire le vibrazioni e, se possibile, interponi una cinghia in gomma dentata, per disaccoppiare il motore dalla massa che lui controlla.

      E naturalmente fai molte prove fino a capire di cosa si tratta.

  4. Vincenzo says:

    Si, con la configurazione come stepper.
    Proverò ad aumentare i microstep ad 1/8 per vedere l’andamento.
    a 1/4 è un poco scattosa. In XY è di una precisione impressionante. Ho spaccato il centesimo.
    A presto.. Grazie.
    appena tutto pronto pubblicherò foto e video.

  5. Roberto says:

    Ciao,
    Ho scoperto da poco il sistema Theremino
    e mi sto cimentando a costruire la mia prima CNC.
    Avrei bisogno di un asse manuale con una riga ottica o magnetica
    per controllare la sua posizione.
    È possibile collegarla a Theremino?
    Se si può, è possibile anche memorizzare le coordinate di un dato punto?

    • Livio says:

      Theremino CNC è una applicazione semplice. Si può fare solo quello che fa. E quello che fa è tutto scritto nel file di istruzioni.

      Ti suggerisco di guardare con cura la pagina degli Slot di in-out che sono un po’ un indice di tutto quello che si può fare.

      Non complicheremo Theremino CNC con nuove funzioni altrimenti alla fine diventa un casino come le altre applicazioni simili che nessuno riesce a usare.

      Se non ti basta quel che fa Theremino CNC dovrai per forza passare a Mach3 e…. auguri.

      • Roberto says:

        Ho messo in funzione la CNC ed è tutto ok.
        Solo che non riesco a muoverla senza gcode.
        Per esempio: per andare a sfiorare manualmente una parete già fresata,cosa premo?
        Ctrl+frecce si muove ma di 0.01 alla volta
        Non esiste un tasto che fa’ muovere la CNC finché è premuto?

        • Livio says:

          Se usi le frecce da sole muovi con velocità “Jog speed normal”
          Se usi le frecce + SHIFT muovi a velocità “Jog speed with SHIFT”
          Se usi le frecce + CTRL muovi a passi singoli di un decimo di millimetro.

          Le velocità le regoli nel menu “Options”. Le regolazioni vanno da 1 a 100 e sono percentuali rispetto alla velocità “Rapid” che, ATTENZIONE, non deve mai essere maggiore della MaxSpeed impostata nella applicazione HAL.

          In tutti i casi devi prima cliccare sulla finestra dove si vede la lavorazione per abilitare i movimenti con la tastiera.

  6. Franco says:

    Buongiorno Livio, ho una CNC controllata da Theremino CNC che lavora benissimo,
    si riescono a fare incisioni perfette, vorrei migliorare il controllo della profondita asse Z per compensare PCB e piani di apppoggio non perfettamente piani,
    ho scoperto che esiste un programma che si chiama “Autoleveller” che sonda la superficie del PCB e calcola la differenza di planarità correggendo in modo automatico la profondità di incisione, per fare questo necessita di memorizzare i volori dell’asse Z dei vari punti di sondaggio del PCB che il programma stesso gestisce ,ora la domanda che Ti pongo è: sarebbe possibile memorizzare questi valori con Theremino CNC estraendoli o margari memorizzandoli su un un file ?
    Ti ringrazio anticipatamente e complimenti per il GRANDE lavoro di Theremino.
    Franco

    • Livio says:

      No, non è possibile.
      Theremino CNC è una applicazione semplice e resterà semplice.
      Se iniziamo a complicarla diventa una brutta copia di Mach3 e LinuxCNC, che quasi nessuno riesce a usare.

  7. Ramakrishnan says:

    Great Post.This blog contains really interesting stuff on robotics and CNC Machines. Very interesting article. I learned a lot .Very easy to understand. Thank you for sharing this article.

  8. Antonio Di Gennaro says:

    Buongiorno a tutti e complimenti per il progetto.
    Tempo fa avevo assemblato una macchina CNC a tre assi (autocostruita) pilotata da una scheda cinese e controllata con Mach3 ma non ho avuto grandi soddisfazioni. Ho quindi deciso di aggiornare il tutto a Theremino.
    Ho acquistato la MasterDIL V4, i driver DRV8825 e, come suggerito nella sezione Hardware, una CncShieldV3.
    Vi chiedo, non avendola trovata, una descrizione dei collegamenti da realizzare tra la MasterDIL e la Driver Board per pilotare correttamente i tre driver senza rischiare di mandarli in fumo.

    Grazie in anticipo e complimenti per il progetto
    Antonio

    • Livio says:

      I collegamenti tra Master e DriverBoard sono semplici:
      – GND del Master a GND della driver board
      – 5V del Master a 5V della driver board
      – SIGNAL del Master a DIR o STEP della driver board

      Comunque i collegamenti tra la MasterDIL e la Driver Board difficilmente “mandano in fumo”. Il pericolo è tutto dalla parte motori, regolazione dei trimmer, alimentatore… li non devi sbagliare niente. E attenzione che la CNC Shield va anche abilitata.

      Leggi tutti i suggerimenti di questa pagina, vi troverai anche immagini a buona risoluzione della CncShield che possono aiutare per i collegamenti.
      https://www.theremino.com/hardware/outputs/motors

      • Anonymous says:

        Grazie per i consigli.
        Se avrò dubbi e se non disturbo chiederò ancora qualche consiglio.
        Grazie ancora.

  9. Fabrizio says:

    Ciao Livio, il problema per il quale necessito di cortese aiuto è relativo alla modalità con la quale collegare un elettromandrino di una piccola CNC2018 all’elettronica di controllo costituita da un modulo Master e Theremino StepperDriver e, conseguentemente, come debba essere configurato il software Hal e Theremino CNC.

    L’elettromandrino ELEMANDER11 viene fornito con proprio trasformatore dotato di ponte diodi e con queste specifiche:

    Elettromandrino:
    – Alimentazione: da 12 Vdc a 48 Vdc
    – Velocità di rotazione (giri al minuto): 12 Vdc – 3.000 / 24 Vdc – 6.000 / 36 Vdc – 9.000 / 48 Vdc – 12.000
    – Potenza: 300 watt
    – Coppia: 230 N·m
    – Resistenza di isolamento: > 2 Mohm
    – Rigidità dielettrica: 400 volt

    Trasformatore 50 VA:
    – ingresso: 220 Vac
    – uscita: 36 Vac

    Ponte di diodi:
    – 1.000 V – 10 A

    Nella documentazione non sono riuscito a trovare nulla al riguardo, probabilmente posso essere stato troppo frettoloso, ma da quanto posso aver capito dalle caratteristiche dello StepperDriver non dovrebbe essere possibile fare a meno di un relé per controllare l’elettromandrino.
    Chiedo venia per l’eventuale ingenuità di quanto esposto ma poco tempo è trascorso da quando ho iniziato a “masticare” di elettronica e CNC.
    Grazie Livio per il tempo che vorrai dedicare alla mia richiesta e complimenti per la passione che tutti voi di Theremino mettete nei tanti progetti che sviluppate, senza mai sottrarvi al confronto ed al supporto di coloro che ricorrono alla vostra assistenza.

    Fabrizio

    • Livio says:

      Potresti usare un relè meccanico oppure un OptoTriac, il relè meccanico funzionerà di sicuro senza problemi ma potrebbe avere una vita più breve (poco male costano poco e dopo anni lo sostituisci). L’optotriac è più delicato e non è detto che funzioni bene con l’alimentatore del mandrino. Quindi l’optotriac richiederebbe una prima fase di test e messa a punto, ma una volta in funzione durerebbe per sempre.

      Qui trovi le spiegazioni per pilotare un relè meccanico
      https://www.theremino.com/hardware/outputs/actuators#simplereledriver

      Qui trovi la pagina dell’optotriac
      https://www.theremino.com/hardware/outputs/actuators#optotriac

      Se vorrai utilizzare l’optotriac scrivimi e dovrò spiegarti come fare le prime prove.
      Anzi ti preannuncio adesso come fare, ma se non ti è chiaro scrivimi.

      Il problema è che se l’alimentatore è troppo induttivo il triac potrebbe fare il matto e non aprire e chiudere bene il circuito. E se il Triac dovesse chiudere una sola semionda per un tempo lungo, potrebbe far scaldare il trasformatore dell’alimentatore del mandrino.

      Inoltre nell’optotriac c’è una rete di smorzamento (R5 e C3) che fa passare un po’ di corrente anche quando il Triac è aperto. Questo potrebbe impedire il totale spegnimento con carichi deboli (ad esempio lampade a led di bassa potenza).

      Per verificare che tutto sia a posto dovresti quindi mettere un tester in parallelo e controllare che da acceso la tensione all’alimentatore sia 220..230 volt AC. E che da spento sia molto bassa, diciamo meno di 10 volt AC. Queste prove vanno fatte con l’alimentatore collegato e acceso. E vanno fatte per tempi brevi, massimo pochi secondi, per evitare di scaldare il trasformatore nel caso ci fosse una sola semionda.

      – – – – – –

      Il Pin di uscita del Master devi impostarlo sull’HAL come:
      – PinType = Dig_Out
      – Slot = 11 o 12
      Leggi pagina 42 delle istruzioni della applicazione CNC per decidere quale Slot usare.

      • Fabrizio says:

        Dopo la tua esaustiva risposta penso di attuare entrambe le soluzioni, ovviamente in tempi diversi, prima una poi l’altra.

        Quella del relè meccanico, la più facilmente praticabile, mi consentirebbe di raggiungere in tempi più rapidi l’obiettivo prefissato di utilizzare l’elettromandrino con Theremino.
        Hai qualche raccomandazione particolare per l’acquisto del relè meccanico visto che l’offerta è così vasta?

        La soluzione ideale e definitiva rimane l’OptoTriac; prenderò quindi ‘Theremino OptoTriac V1’ con la speranza di riuscire, con il tuo aiuto e supervisione, a superare la necessaria fase di test e messa a punto.

        La prova che hai descritto va fatta con l’OptoTriac già presente nel collegamento, oppure posso farla a prescindere?
        Devo effettuare due velocissime misurazioni di tensione sull’alimentazione del trasformatore (quindi AC) in due condizioni distinte che non mi sono del tutto chiare, provo a dire cosa ho capito:
        La prima a trasformatore collegato alla rete, tutto sotto tensione, ed elettomandrino acceso.
        La seconda misurazione in condizioni uguali alla prima ma con elettromandrino spento.
        Grazie!

        Fabrizio.

        • Livio says:

          Per il relè non so cosa consigliarti, basta che tenga ampiamente la corrente e la tensione di utilizzo, meglio almeno il doppio di ambedue.

          La prova va fatta così:

          1) Stacchi la spina dalla rete.
          2) Controlli che sia tutto collegato e che l’interruttore dell’elettromandrino sia acceso.
          3) Tieni stabilmente il tester collegato in parallelo all’ingresso dell’alimentatore dell’elettromandrino.

          4) Alzi il segnale di comando che arriva dal Master (vedi il led dell’optotriac acceso).
          5) Colleghi la spina alla rete elettrica.
          6) Guardi il tester e deve dare 220 volt circa.
          7) Scolleghi la spina dalla rete elettrica.

          8) Abbassi il segnale di comando che arriva dal Master (vedi il led dell’optotriac spento).
          9) Colleghi la spina alla rete elettrica.
          10) Guardi il tester e deve dare 0 volt circa (meno di 10 volt).
          11) Scolleghi la spina dalla rete elettrica.

          Se tutto va bene in seguito farai le stesse prove con tempi più lunghi e lasciando sempre la rete collegata.
          – Accendi il segnale di comando e misuri.
          – Spegni il segnale di comando e misuri.

          In tutti i casi l’interruttore del mandrino deve stare sempre acceso. Non so proprio cosa potrebbe succedere ad alimentare l’alimentatore senza carico. Potresti provare ma attenzione che se il Triac chiude a metà, e quindi misuri tensioni intermedie (ad esempio 100 volt), il trasformatore dell’alimentatore potrebbe scaldarsi.

  10. Fabrizio says:

    Ho acquistato OptoTriac su ebay (in Thereminoshop non si riusciva a chiudere la transazione) i tempi di consegna sono ragionevoli, solo qualche giorno di attesa.
    Mi ponevo la domanda di dove fosse più opportuno posizionare il relè meccanico, poi rileggendo: ” …basta che tenga ampiamente la corrente e la tensione di utilizzo, meglio almeno il doppio di ambedue.” immagino intendessi dovesse essere collegato fra il ponte di diodi e l’elettromandrino, dove i valori di tensione e corrente sono 36 Vdc e 10 A, la tensione di alimentazione della bobina poi dovrebbe essere di 5 V. …. ma non trovo alcun relè meccanico che possa pilotare 50 Vdc a 20 A.
    Dove sto sbagliando?
    Concordo sul fatto che le feste siano il momento migliore per trafficare.
    Sempre grazie per la tua disponibilità e pazienza.

    Fabrizio

    • Livio says:

      La corrente do 10 ampere è troppa per qualunque relè, durerebbero pochissimo. Devi per forza interrompere il 220. Quindi dovresti usare un relè da almeno 400 volt e almeno 4 ampere.

      Sempre che sia possibile interrompere il 220 prima dell’alimentatore, altrimenti sei fritto e l’unica soluzione sarebbe individuare se l’alimentatore ha un comando logico di spegnimento.

      In tutti i casi interrompere così grandi potenze può generare forti disturbi e scintillamenti quindi fai poi attenzione che la massa dell’alimentatore sia collegata stabilmente a terra e che anche il PC lo sia. Altrimenti si potrebbero creare extracorrenti che potrebbero far perdere la comunicazione al Master o, peggio ancora, danneggiare il Master o i driver dei motori stepper.

      Se utilizzi il fototriac devi per forza interrompere il 220. I Triac lavorano solo in corrente alternata. Con il fototriac gli scintillamenti saranno ridotti a zero perché il fotoaccoppiatore accende e spegne con precisione al passaggio dello zero (quando la tensione alternata è a zero). Ma anche in questo caso non sottovalutare l’esigenza di fare un cablaggio professionale con tutti i GND collegati stabilmente a terra.

      Con “collegati stabilmente” intendo che non sia possibile staccare o attaccare spine che portano anche la terra, quando la tensione di rete è collegata a parte del sistema. Magari usare una ciabatta, a monte di tutto, con un interruttore per spegnere tutto insieme, senza mai interrompere i collegamenti di terra.

      • Anonymous says:

        Il trasformatore non possiede alcun comando logico per lo spegnimento.
        Soluzione relè scartata!

        Per la prossima settimana dovrei poter disporre dell’OptoTriac (è già in viaggio), vediamo se si riesce a trovare un modo per pilotare un elettromandrino da 300 W.

        Grazie Livio.

        Fabrizio

        • Livio says:

          Non scartare i relè meccanici, potrebbero essere gli unici a funzionarti bene. Forse non hai letto bene, consigliavo di usare un relè da almeno 400 volt e almeno 4 ampere, non di scartare del tutto i relè.

          • Anonymous says:

            La frase:
            ” … in tutti i casi interrompere così grandi potenze può generare forti disturbi e scintillamenti … “, unitamente alla mancanza dello spegnimento logico del trasformatore, mi avrebbero indotto a percorrere altre soluzioni.
            Riconsiderando la cosa, di nuovo si pone il problema della scelta del relè meccanico, che, dovendo rispettare le specifiche di 400 Vac ed almeno 4 A, potrebbe essere ben risolto con un Finder della serie 40-31?

            Fabrizio

            • Livio says:

              Il Finder dovrebbe andare bene, ora non ho tempo di cercarlo, guarda tu il datasheet, se è almeno da 4 ampere e 400 volt allora va bene.

              Ma il tuo ragionamento è giustissimo, in effetti il Triac eliminerebbe i disturbi, e visto che ti arriverà domani o dopodomani potresti iniziare le prove con lui.

              Se dovesse fare il matto, potresti curarlo aggiungendo un carico resistivo in parallelo al 220 volt di alimentazione dell’alimentatore del mandrino.

              Un carico resistivo adatto potrebbe essere una lampadina a incandescenza da 10, 20 o 40 watt.

              Le lampadine vanno benissimo ma hanno il difetto che potrebbero bruciarsi. Quindi sarebbe meglio sostituirle con un resistore di potenza dissipato (resistori rettangolari in ceramica e cemento fissati su una aletta di alluminio o sul metallo di qualche contenitore o struttura che c’è già)(attenzione però a isolare bene, con guaina, i due terminali e non rischiare che possano toccare il metallo).

              Il resistore potrebbe essere da:
              – 10k = 4.8 watt dissipati
              – 4.7k = 10 watt dissipati
              – Due da 4.7k in parallelo = 20 watt dissipati
              – Quattro da 4.7k in parallelo = 40 watt dissipati

              I resistori, per durare, devono essere almeno di potenza doppia, o tripla, di quella che dissipano.

              Maggiore sarà la potenza dissipata e maggiore sarà la stabilità di funzionamento. Quindi è bene fare molte prove (acceso e spento con il tester collegato) e scendere di dissipazione fino a che il Triac fa il matto, per poi risalire di almeno il doppio per stare sul sicuro.

            • Anonymous says:

              Ricevuto l’OptoTriac farò le prove che mi hai descritte e vedremo cosa succede; questa mi pare essere la soluzione più “elegante”, se poi non dovesse rivelarsi soddisfacente rimane in subordine il relè meccanico Finder da almeno 4 ampere e 400 volt (in alternata vero? … visto che dovrà pilotare l’alimentazione del trasformatore dell’elettromandrino).
              Per curiosità: utilizzi il condizionale per contemplare la necessità del carico resistivo ma ne hai quasi certezza o veramente ti mantieni nell’ambito delle probabilità?

              Fabrizio

              • Livio says:

                Si, 4 ampere e 400 volt in alternata.

                Riguardo al condizionale non so dirti quante siano le probabilità che il Triac apra e chiuda male. Tutto dipende da quanto è induttivo il carico. Probabilmente il motore fornisce abbastanza carico reale da compensare l’induttività del trasformatore. Ma attenzione che il motore deve essere acceso, se per caso spegnerai il motore interrompendo la continua, resterebbe praticamente solo il trasformatore, e quindi un carico molto induttivo.

                Anche in queste condizioni il Triac forse potrebbe aprire e chiudere correttamente, tutto dipende da come è fatto l’alimentatore e dai valori dei vari componenti (se poi l’alimentatore fosse uno switching, allora sarebbe ancora più difficile immaginare cosa potrebbe succedere).

                Quindi l’unico modo di scoprirlo è provare.

                Io ti metto in guardia perché, se il Triac dovesse chiudere una sola semionda per lungo tempo, il trasformatore finirebbe per lavorare praticamente in continua e quindi la corrente salirebbe molto e lo farebbe scaldare fino a bruciarlo.

                Comunque per bruciare il trasformatore ci vogliono dei minuti, non secondi. E inoltre un fusibile ben dimensionato, sul primario, potrebbe eliminare del tutto questo rischio.

                Ora sai tutto (in teoria) ma solo provando potrai capire quanto sei vicino, o lontano, dai problemi. Facci poi sapere come è andata, perché le tue prove potrebbero essere utili anche ad altri.

                Prova a lungo e fai in modo di avere un sufficiente margine di sicurezza.

  11. Fabrizio says:

    Non avrei potuto sperare in una risposta più esaustiva di quella che hai
    così pazientemente esposto, grazie!

    La materia dell’argomento trattato potrà essere d’aiuto a chiunque altro ne sia interessato, questa d’altronde è la filosofia del team di Theremino.

    OptoTriac ricevuto tramite poste italiane in tre giorni, domenica inclusa.
    Qualche giorno per effettuare le prove, poi riferirò.

    Fabrizio

  12. Vincenzo says:

    Buongiorno Livio, ti scrivo dopo aver fatto una chiacchierata con Fabio riguardo ad una problematica del “Theremino CNC”. Si parlava delle varie possibilità di configurare il software affinché non producesse movimenti a scatti con velocità operative che si avvicinano o superiori ai 1000mm/min. Ma come detto da Fabio, sarà risolto in seguito in successive release. Eppure su tratti lineari ed a 45 gradi, si può tagliare a qualsiasi velocità. Per un cerchio, invece, anche a 700mm/min ci sono vibrazioni. Forse perché gli assi si inseguono?
    In una nota si diceva di ridurre la lunghezza dei segmenti nel CAM….
    Comprendo, ma non saprei come fare. Ed è una domanda che mi sono già posto ed ho rivolto a parecchie persone. Ma un Gcode ha una risoluzione per una curva in segmenti? Nessuna risposta.

    Andare veloci e precisi sarebbe importante, soprattutto per progetti abbastanza vicini a 5 assi.

    A breve vi invio le foto e qualche video della mia realizzazione (quasi finito tutto).
    Grazie, grazie, grazie.
    Grazie a Voi.
    Saluti
    Vincenzo.

  13. antonio di gennaro says:

    Buongiorno a tutti.
    Devo sostituire i motori NEMA 17 della mia cnc autocostruita e sarei orientato su NEMA 23.

    Avrei un paio di quesiti (magari banali per i più):

    1) se i motori hanno una tensione nominale che si aggira di solito approssivamente intorno ai 3/4 Volt. come possono poi essere alimentati a 24/36 Volt senza bruciare?
    2) ho trovato motori che a parità di corrente nominale hanno tensioni nominali notevolmente differenti. Ad esempio:
    https://www.digikey.it/product-detail/it/sparkfun-electronics/ROB-13656/1568-1376-ND/5995079 con tensione 3.2V
    https://www.digikey.it/product-detail/it/nmb-technologies-corporation/23KM-K744B/23KM-K744B-ND/5967596 con tensione 24V.
    Sono destinati ad usi diversi?
    infine:
    3) possono essere pilotati con A4988 oppure DRV8825?

    Grazie infinite
    Antonio

    • Livio says:

      Domanda 1
      I motori Stepper vengono pilotati in corrente, non in tensione. Per cui se si pilota con un ampere un motore che ha una resistenza interna di 3.2 ohm, allora sui suoi avvolgimenti si svilupperà una tensione di 3.2 volt. Il valore di tensione che viene indicato nelle caratteristiche è la tensione che si sviluppa sul motore quando lo si pilota con la massima corrente tollerabile.

      Comunque la tensione dei motori non la si considera mai. Con i driver di tipo switching (come gli A4988 o DRV8825 o TB6600) tutti i motori, qualunque tensione abbiano, vanno bene.

      Il compito del driver è quello di inviare al motore una corrente precisa e regolabile.
      I driver sono di fatto degli alimentatori a commutazione che prelevano dall’alimentatore (a 12, 24, o 48 volt) quello che gli serve per inviare al motore la corrente stabilita con il trimmer.

      I driver di tipo switching, prelevano dalla tensione di ingresso una corrente notevolmente più bassa di quella che inviano al motore (più o meno il rapporto tra le due tensioni). Per cui se si misura la corrente prima del driver ci si inganna. La corrente sul motore sarà notevolmente maggiore.

      Attenzione a regolare il trimmer per una corrente più bassa di quella indicata per il motore. La corrente indicata nelle caratteristiche del motore è quella massima (oltre la quale il motore si danneggia). Normalmente è bene regolare i driver per la metà di questa corrente o anche meno. Una buona prova è tenere il motore alimentato un quarto d’ora e poi sentire quanto è caldo. Se scotta la corrente è troppo alta.

      Le nostre pagine dedicate ai motori stepper spiegano come effettuare queste regolazioni.

      Domanda 2
      Le tensioni dichiarate possono essere abbastanza diverse ma, come spiegato prima, non importa. Comunque le tensioni sono sempre inferiori ai 5 volt. Più la tensione è bassa e meno il motore scalda, a parità di potenza, perché hanno utilizzato un filo più grande e ci sono meno perdite in calore. La tensione di 24V, del secondo link che hai indicato, è un errore di stampa, avrebbero dovuto scrivere 2.4 volt.

      Domanda 3
      Tutti i normali motori stepper possono essere pilotati con A4988 o DRV8825.

      • antonio di gennaro says:

        Grazie
        Risposta chiarissima e complimenti per la professionalità.
        Mi ha i chiarito le idee e tolti i dubbi che una settimana di ricerche sul Web non avevano fugato.
        Saluti

  14. Vincenzo says:

    Ciao Livio, perdo passi in Z.
    e cioé durante la lavorazione con feed 500 (basso) l’asse Z dopo alcune centinaia di righe vedo che sale in su. Ho effettuato test con automation e micrometro facendo fare centinaia di esecuzioni sino a leggere la posizione ogni 20 secondi e per un ora di lavoro è sempre stato a zero (precisissimo). i Motori sono dei closed loop e si vede l’effetto della precisione. Cosa posso fare per controllare dove accade questo strano sollevamento. Se metto in pausa e leggo la posizione vedo che progressivamente sale su. Sto impazzendo. Questo capitava anche quando la macchina era costruita in legno ma ora è tutta in alluminio. Come nella precedente versione anche con diversi microstep la situazione era la stessa. Grazie.

  15. Fabrizio says:

    Ciao Livio,
    con colpevole ritardo riferisco l’esito dei test condotti sull’elettromandrino pilotato tramite OptoTriac e Master.
    Durante le prove il triac apre e chiude correttamente, non ha mai dato segnali di instabilità e quindi non si è concretizzata la necessità di inserire carico resistivo; così come il trasformatore non sembra patire alcuna anomalia.
    Tutte le misurazioni della tensione sul primario del trasformatore del motore del mandrino sono state eseguite rispettando le indicazioni fornite e sempre hanno evidenziato un valore di 10 V. con segnale di comando del Master abbassato.
    Ripeto, tutto sembra funzionare a dovere, ma quel valore misurato di 10 V. non è troppo elevato per essere certi di avere un margine di sicurezza sul buon funzionamento?
    Grazie, reputo molto appropriata la scelta consigliata di utilizzare l’OptoTriac per comandare l’elettromandrino, più ‘elegante’ rispetto agli sfiaccolamenti derivanti dall’uso del relè, che comunque intenderei provare come esercizio didattico.

    Fabrizio

    • Livio says:

      Vai tranquillo, avere 10 volt da spento non è un parametro preoccupante. Probabilmente il tuo motore ha gli avvolgimenti con impedenza abbastanza alta e facendo i calcoli si scoprirebbe che è tutto nella norma.

      Grazie per averci messo al corrente del buon funzionamento dell’optotriac accoppiato con elettromandrino Elemander11.

  16. Tim in Manitoba says:

    I have seen some posts online about using Theremino to control a dobot arm. I am wondering how that is coming along? Will one be able to use CNC control using Theremino to control a dobot arm?

  17. Ahmad Osman says:

    I just made tow robots.
    Please, if you are intersted in develope them or working on some other robots, I am ready to collaborate with you.

    https://www.ahmad-osman.com/en/blogs/spider-robot/

    https://www.ahmad-osman.com/en/blogs/cnc-writing-robot/

    • Livio says:

      Welcome!

      In the next weeks, we will publish the new CNC version (V5.0) with many new options. One of them is the CoreXY mode for plotters, like your “cnc-writing-robot”.

      With the Theremino-CNC app. you could control the plotter directly (without sending the complete Gcode to the Arduino firmware).

      The advantage is the interactivity. It is possible to Jog with the keyboard keys, see the milling area in the GCode plotted, execute some part of the GCode, modify the GCode, change the speeds and the zero positions… all this while running!

      If you use our Master Module to generate STEP and DIR signals all is ready and you could immediately move the motors. Otherwise you could also use an Arduino with our ArduHAL application. But in that case will be necessary to write some firmware in the Arduino to control the motors.

      Some useful links:
      https://www.theremino.com/en/downloads/automation#cnc
      https://www.theremino.com/en/technical/schematics#masterv5
      https://www.theremino.com/en/downloads/foundations#arduhal

  18. Victor says:

    Buongiorno,
    non riesco a leggere con il master un encoder (ELTRA) mod. EL63D -pag.13 – installato in una vecchia troncatrice, ho provato a collegarlo ai pin 7,8 con alimentazione 5V direttamente dal master ,
    con la impostazione dei pin come (encoder_a_pu ). Volevo chiedere se l’encoder non è compatibile, e in caso, come fare a risolvere. Grazie

    allego link del catalogo dell’ encoder

    https://www.atti.it/media/get/encoders-incrementali.pdf
    collegamento a 4 fili- conettore tipo M ( A;C;E;F) come pag.74
    (NPN/NPN OPEN COLLECTOR TTL COMPATIBILE PUSH-PUL)

    • Livio says:

      Va configurato con:
      – Pin 7 come “encoder_a_pu”
      – Pin 8 che diventa automaticamente “encoder_b_pu”

      Poi vanno collegati tutti i fili giusti:
      – A (verde) al segnale del Pin 8
      – B (giallo) al segnale del Pin 9
      – Massa (nero) a un GND del Master
      – Alimentazione (rosso) al +5 volt del Master

      Forse hai dimenticato di collegare GND?
      O uno dei fili non tocca?
      Oppure hai visto il connettore al contrario e hai collegato tutti i fili nei posti sbagliati sul connettore?

      Se collegando tutto giusto non funziona, allora ruota lentamente il perno e verifica col tester che ambedue i fili A e B vadano a zero e a 5 volt.

      Se A e B non si muovono allora, o l’encoder non è alimentato o è rotto, o non hai configurato gli ingressi come PU (pullup), o i fili di collegamento non toccano.

      Se A e B vanno su e giù allora il Master deve contare le transizioni.

      • Victor says:

        Ciao,
        se ho capito bene, il segnale B devo collegarlo al Pin 9? Ed eventualmente questo come devo configuralo?
        L’encoder è funzionante con un’alimentazione di 12V – collegato a un PCL ELCON
        http://www.elconelettronica.it/it/controlli-numerici-pcl12

        Grazie

        • Livio says:

          Quando configuri il Pin 8 come “encoder_a_pu”, il Pin 9 viene automaticamente configurato come “encoder_b_pu”.

          Al “SIGNAL” del Pin 8 devi collegare il filo A
          Al “SIGNAL” del Pin 9 devi collegare il filo B

          Se il tuo encoder è un modello da 12 volt, allora potrebbe non funzionare con soli 5 volt. Leggi la sigla esatta sull’encoder e cerca in Internet se è un modello da 12 volt o da 5 volt.

          Se non può funzionare a 5 volt, ma solo a 12 volt, allora dovrai aggiungere un alimentatore da 12 volt per lui.

  19. Livio says:

    Finalmente abbiamo pubblicato Theremino CNC, versione 5.0, con notevoli miglioramenti, tra cui una migliorata fluidità dei movimenti e un ridotto tempo di lavorazione (in alcuni casi anche del 50%):
    https://www.theremino.com/downloads/automation#cnc

  20. Livio says:

    Andrea ci ha chiesto
    Quale risoluzione mi consigliate per i motori stepper? 1/2 1/4 1/8 1/16 ? La mia barra filettata e di passo 2 mm e il motore 200 step giro. Grazie.

    Risposta
    E’ sempre meglio impostare il massimo di microstep possibili. L’unico motivo per diminuirli sarebbe di voler aumentare MaxSpeed oltre al limite concesso dai 50KHz massimi, generabili dal Master. Superando questo limite la casella MaxSpeed sull’HAL diventa rossa. Ma normalmente non ci si arriva neanche vicino, perché i motori iniziano a sgranare con MaxSpeed molto più basse.

    Per stare sul sicuro in caso di attriti meccanici, è bene regolare MaxSpeed ad almeno la metà di quello che possono fare i motori senza sgranare. Possibilmente una MaxSpeed uguale per tutti gli assi. E dovendo sacegliere meglio MaxSpeed un po’ basse che un po’ alte.

    Poi, per ogni motore, sull’HAL, dovresti regolare MaxAcc a un decimo di MaxSpeed

    Poi è molto importante regolare anche MaxSpeed nella applicazione CNC, allo stesso valore della minima MaxSpeed regolata nell’HAL (la maxspeed dell’asse più lento).

    E infine assicurati che i GCode non specifichino mai velocità di FEED o di RAPID superiori a MaxSpeed, altrimenti il Master limiterebbe la velocità per proteggere i motori e la punta resterebbe indietro rovinando la lavorazione.

    Consiglio finale
    Anche se i motori permettessero MaxSpeed molto alte senza sgranare, è sempre bene regolarle (nell’HAL e quindi anche nella app. CNC), in modo che non siano troppo maggiori della normali velocità di lavorazione che si utilizzano. Per esempio, se si utilizzano velocità di FEED di circa 50 o 100, è assolutamente inutile regolare MaxSpeed a valori di diecimila e oltre. Abbassando MaxSpeed a 2000, il tempo di lavorazione non si allungherà che di una percentuale minima. Ma nel contempo si eliminerà totalmente il rischio di errori di lavorazione e di accumulare perdite di passi.

  21. Franco says:

    Buongiorno Livio,
    sicuramente sto facendo qualcosa di sbagliato , ma volevo segnalarti quanto segue:
    con il programma Theremino CNC 5.0 aperto e macchina ferma ( STOP premuto) , se
    si va su Hal V.8.2 e si clicca su Stepper il puntatore del mouse scompare e come muovi il mouse l’asse relativo allo Stepper selezionato si muove con valori a caso facendo muovere la CNC .
    Ho verificato e con la versione precedente di Theremino CNC non si verifica questo comportamento anomalo .
    Cosa ho sbagliato?
    Grazie per l’aiuto.
    Franco

    • Livio says:

      Questo comportamento non è dovuto al CNC 5.0 ma all’HAL 8.2

      Nelle versioni precedenti di HAL per muovere con il mouse il valore si premeva il mouse sulla colonna VALUE, e poi si muoveva il mouse su e giù. Mentre con gli HAL nuovi si può cliccare in qualunque punto della riga e poi muovere su e giù.

      In tutti i casi quando è aperto CNC non si deve modificare il valore con il mouse sull’HAL, perché si otterrebbe solo un breve movimento del motore. Poi prevarrebbe il CNC che riporterebbe subito il valore a quello corretto.

      Muovere i valori con il mouse sull’HAL può invece servire (con CNC chiuso o con IN-OUT di CNC disabilitato) per provare i motori, stabilire la velocità, la accelerazione massima e gli step per mm.

  22. Marco says:

    Chissà se qualcuno può spiegarmi come si fa a cambiare il diametro della fresa che si vuole utilizzare in ImgToGcode (vers. 1.9)? Ho provato a inserire diversi diametri nell’apposita casella ma il gcode prodotto a partire dall’immagine, caricato in ThereminoCNC, ha sempre lo stesso aspetto, cioè la stessa densità delle linee di fresatura e richiede lo stesso tempo di lavorazione. In particolare vorrei usare la fresa 626 da 0.8 consigliata in questa pagina per fresare un piccolo circuito stampato!

    • Livio says:

      La applicazione ImgToGcode è progettata per scavare bassorilievi nel legno o altre lavorazioni simili. Per creare GCode dai circuiti stampati dovresti partire da Eagle e usare l’ULP FastGcode, come spiegato qui: https://www.theremino.com/downloads/uncategorized#eagle

      Per partire da un circuito stampato sotto forma di immagine esistono programmi adatti, ora non ricordo i nomi, cercali su internet.

      Forse potrebbe riuscirci anche ImgToGcode, ma non so cosa potrai ottenere. Ecco alcuni consigli per i PCB:
      – La casella “Tool size (mm)” serve solo per scrivere nel GCode che tool usare.
      – La risoluzione della immagine, quindi il numero di passate si regola in alto nella casella “Resolution”
      – Blur dovresti tenerlo a zero
      – Skeletrization non devi usarlo
      – Se le dimensioni della immagine (in mm) sono giuste, allora imposterai “Use image size”
      – Altrimenti le imposti tu con Width e Height (che non specificano il numero di passate, solo le dimensioni in mm)
      – Tool size impostalo come la punta, ma non ha effetto sul Gcode prodotto, è solo un aiuto per ricordarsi la punta prevista epr quella lavorazione.
      – Up indica quanto salire durante gli spostamenti
      – Down quanto scavare

      Per fare una lavorazione che elimina tutto il rame dalle zone che non sono piste di collegamento, dovresti impostare “Parallel Horizzontal” o “Parallel Vertical” e invertire la immagine (con un programma per le foto), in modo che le parti da scavare siano in nero.

      Invece per scavare solo i bordi attorno alle piste (molto più rapido ma meno bello da vedere). Dovresti impostare “Follow borders” ma in questo caso dovresti pre-trattare la immagine (con un programma per le foto), in modo da avere solo i bordi delle piste in nero, come negli esempi “Printed-Circuit-Board3.jpg” e “VLF.jpg”. In questo caso potresti anche usare “Skeletrize” per pulire ulteriormente i bordi.

      Infine dovrai fare molti tentativi variando resolution, in modo da avere un compromesso tra i vari difetti. In ogni caso devono essere PCB con isolamenti molto larghi, almeno 0.8 ma meglio più di un millimetro. E con piste larghe almeno 1 millimetro.

  23. Marco says:

    Grazie per la consueta, puntuale e completa risposta. A più riprese ho provato a usare il mio router cnc per produrre piccoli circuiti stampati per i miei progetti. Eagle, purtroppo, è tutto tranne che intuitivo e neppure particolarmente completo nelle sue funzionalità, nonostante la pletora di controlli, pagine, sottopagine e codicilli. L’ulp più usato per arrivare ad un gcode di un c.s. segue la filosofia di Eagle: per esempio sembra impossibile impostare uno “zero pezzo” nella posizione desiderata e i due file che produce, quello delle piste e quello dei fori continuano ad essere disallineati, nonostante i tutti i miei tentativi.
    Come mi hai consigliato, sto facendo molte prove per arrivare con ImgToCode ad un file che riproduca esattamente il circuito stampato, ho un problema decisamente “weird” che fatico a risolvere: mentre le dimensioni delle parti fresate sono corrette, la dimensione delle piste e solo quelle, e solo sull’asse Y, sono di circa un decimo della dimensione reale. Ma ne verrò a capo!

    • Livio says:

      Il FastGcode ULP che ti ho indicato funziona bene. Tiene conto della larghezza della punta e ottimizza i percorsi. Lo abbiamo scritto noi e ci abbiamo fatto decine e decine di PCB.

      • Marco says:

        Stavo usando pcb-gcode, invece del vostro FastGcode, non chiedetemi il perché, un lapsus da sovraccarico cerebrale! Ho iniziato adesso la messa a punto, sono sicuro che con questo riuscirò finalmente a fresare il mie c.s. Grazie ancora.

        • Livio says:

          Se non ti dovesse funzionare scrivici. Anche il FastGcode ha alcune esigenze, ad esempio il c.s. deve avere un bordo che lo racchiude tutto, nel layer apposito. E poi si devono rispettare gli isolamenti di almeno 0.8 millimetri (se usi una punta da 0.8). Inoltre fare PCB su Eagle richiede esperienza, ad esempio si deve cercare di tenere tutto in griglia, altrimenti poi diventa difficile fare i collegamenti e sorgono molti altri problemi.

          Eventualmente scarica i nostri PCB e guarda come sono fatti. Quasi tutti sono a singola faccia e fresabili con punta da 0.8.

  24. Marco says:

    Mi spiace disturbare ancora ma non riesco ad ottenere un gcode completo usando FastGcode ma solo il tracciato della foratura, senza quello delle tracce. Ho provato su due pc e su un Macbook, assegnando alle tracce su Eagle lo spessore di 1mm e agli isolamenti di 0.81mm, impostando in FastGcode una fresa da 0,8 mm e angolo 180^. Ho provato ad usare il lato “top” e quello “bottom” e varie combinazioni su FastGcode ma ricavo sempre e solo il tracciato per la foratura. Ho provato anche con un paio dei vostri schemi (optoisolatore e adattatore geiger preistorico) ma il risultato è lo stesso, solo le forature. Le board su Eagle hanno il contorno disegnato sul layer “20 dimension”. Sono comunque riuscito a fresare accettabilmente il mio primo c.s. usando il tool integrato nell’ultima versione di Eagle quindi non vorrei abusare della tua disponibilità, anche se avrei preferito riuscirci con il tuo ULP!

    • Livio says:

      Per piacere scrivici su engineering chiocciola theremino punto com.
      Poi ci metteremo d’accordo per comunicare via telefono-skype-teamviewer, e ti aiuterò a impostare FastGcode. Funziona di sicuro, lo uso sempre.

      • Marco says:

        Per non impegnare troppo del tuo tempo ho caricato alcuni screenshot di Eagle all’indirizzo http://www.marcobos.net/foto_1.html.
        Magari ti bastano per dirmi dove sbaglio. Ho provato anche con uno schema con due condensatori e due piste, con tutte le configurazioni che immaginavo potessero influire sul risultato (top, bottom, larghezza piste, dimensioni della fresa, solo contorno o asportazione totale del rame, ecc…), nessuna differenza, nel gcode ci sono solo i fori.

        • Livio says:

          Le regolazioni di FastGcode sembrano a posto.

          Eagle mi sembra strano, forse è una versione recente che non fa più funzionare FastGcode? Potresti provare con le versioni 6 o 7 di Eagle?

          A prima vista le piste sono di un colore strano, sono sui layer 1 (top) o 16 (bottom)?

          Se queste idee non ti aiutano credo che impegneremmo meno tempo usando teamviewer.

  25. Flavio Henrique da Silva says:

    Hi Livio , Theremino can make a ComputerVisionImagingLibrary in VB6 and VB.net ?
    with CornersDetectors and Contouring, Segmentation, Clustering , Scientific, 3D, algorithms like ACCORD.net (C#) ?

    https://code.msdn.microsoft.com/windowsapps/Professional-Image-280a2421

    Windows 8 Professional Image Modifier 2 sample in C#, VB.NET for Visual Studio 2012 – code.msdn.microsoft.com This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use. Learn more code.msdn.microsoft.com

    In ACCORD.NET C# source-code oyou can look the algorithms:
    CornersDEtectors : SUSAN, AGAST, FAST, SIFT , SURF Dual Contouring (Tao Ju) Clustering, Segmentation, Convolution, 3D, 2D, Interpolation, Intersection, Drawings, etc.
    Make the basis Structured Hierarchy wiht few algorithms is the start.
    not have in web a powerfull ImagingLibrary for VB6 and is very usefull to use with Robots, CNC, and 3D printers.

    You can make this VisionLibrary basis with few algorithms and in the future add more features.
    If you have some Libary please give the link to download?
    i arealdy downloaded your Knowledge BAse and sample of this website.
    thank you
    flaviohsilva007@gmail.com
    flaviohenrique2002@outlook.com

    • Livio says:

      Sorry, we have done nothing about Computer Vision.

      Thanks for the library, we have stored the link for the future.
      And maybe we will do something in the next year.

  26. Livio says:

    Flavio Enrique ci ha fatto delle domande che potrebbero essere utili anche ad altri, le riportiamo qui in italiano così verranno tradotte automaticamente nelle altre lingue.

    DOMANDA
    Pensate di fare progetti per la SmartHouse automatizzata?
    Magari usando la vostra applicazione di controllo cerebrale con la fascia Neurosky?
    Ad esempio controllare i bracci del robot, controllare le stampanti CNC e 3d, i robot di controllo, ecc.?
    Questi progetti potrebbero aiutare persone con disabilità, persone anziane, ecc.
    Le persone potrebbero lavorare in casa con macchine e robot, controllati dalla mente e usando i videotelefoni.

    RISPOSTA
    La domotica, e le altre applicazioni che hai descritto, richiederanno di progettare apparecchiature adatte. Dovrai imparare a programmare il firmware dei processori, magari iniziando con Arduino, e poi studiare circuiti elettronici appositi.

    Le nostre applicazioni sono adatte solo a semplici input-output per PC. Vanno bene per studiare o fare esperimenti, ma non sono adatte per fare dispositivi di consumo, domotica o apparecchiature che richiedono la massima semplicità e una sicurezza assoluta.

    Il Neurosky, come spiegato in questa pagina, non è utilizzabile per applicazioni di controllo. Il tempo di risposta è troppo lungo, la affidabilità troppo scarsa e bisogna concentrarsi in modo disumano, anche solo per accendere o spegnere una luce. Distinguere tra diversi comandi è totalmente impossibile, quindi la applicazioni che hai descritto non sono realizzabili utilizzando comandi mentali. Questo sia per Neurosky che per qualunque altro apparecchio situato al di fuori della scatola cranica.

  27. sebastiano di carlo says:

    salve, volevo sapere se è piu precisa una cnc da banco (con fresa con arduino) o un braccio robotico programmato per fresare…. scusate i miei termini, ma mi sto addentrando adesso su questo campo, io devo solo riprodurre forme su legno non ho bisogno di molta precisione, forse per le lettere ma avranno dimensioni come massimo di 20 cm. grazie

    • Livio says:

      Non ci pensare due volte e prendi una “fresa da banco” che tecnicamente si chiama Pantografo, oppure Cartesiana perché si muove su tre assi X, Y e Z.

      Le alternative sarebbero i bracci robotici di tre tipi: Antropomorfo, Scara o Delta ma sono tutti e tre meno indicati per quello che vuoi fare. A parità di prezzo sono notevolmente più imprecisi e sono anche molto più delicati, non sopportano sforzi verticali o laterali e non sopportano grandi pesi sulla punta.

      Attenzione anche a non prendere macchine progettate per estrudere la plastica o per incidere con il laser, perché hanno una struttura troppo debole per fresare.

      Infine tieni presente che senza il nostro modulo Master dovrai per forza utilizzare il software Mach3, o i firmware di Arduino. Con questo non voglio dire che vanno peggio, anzi Mach3 ha una infinità di opzioni in più, ma solo che non potrai utilizzare la nostra semplice applicazione Theremino_CNC.

      • sebastiano di carlo says:

        grazie , sei stato gentilissimo. ma posso acquistare da voi ? sto cercando qua e la ma ci sono prezzi bestiali, io come massimo voglio spendere 400 500 euro

        l’ultima cosa che hai scritto del modulo master non la capisco tanto, sono alle prime armi sulla fresatura, di altre cose me ne intendo perfettamente ma volevo una delucidazione in piu su quest ultimo che hai scritto, e grazie ancora :-)

        ho visto adesso le frese da banco, mamma mia che care…. pero ho visto che si muovono anche oscillando quindi si potrebbero creare lettere tonteggianti, non sapevo di queste frese, grazie, valuteró
        il messaggio di prima e scritto da me pure pero non ho fatto il login

        • Livio says:

          Difficilmente potrai starci nei 400 500 euro dovrai spendere il doppio, ma non ci sono alternative. I bracci robotici che proponiamo qui sono dei giocattoli e non hanno la rigidezza e la precisione necessaria per fresare. Non ci vanno neanche vicino.

          Stiamo progettando un braccio di tipo SCARA molto preciso che forse sarà completato tra un anno, ma anche lui finirà per costare molto più di 500 Euro perché conterrà due riduzioni di tipo Armonic Drive che costano da sole circa 600 Euro.

          Ottenere precisione e forza costa molto e attualmente l’unica soluzione valida è una fresa da banco con guide lineari su cuscinetti a ricircolo di sfere e una struttura robusta in alluminio spesso.

          Oltre alla meccanica e ai motori stepper ti serviranno:
          – I driver e un alimentatore (costano poco)
          – Un Arduino o un nostro modulo Master (costano poco)
          – Un software adatto (tutti gratuiti)

          Quindi potrai scegliere tre strade:

          1) Collegare i driver alla porta parallela del PC e utilizzare il software Mach3 (molto complesso da imparare)

          2) Collegare i driver a un modulo Arduino e utilizzare i firmware per Arduino che trovi in rete (mediamente complesso ma devi conoscere bene Arduino e saperlo programmare)

          3) Collegare i driver a un modulo Master del nostro sistema e utilizzare la nostra applicazione Theremino CNC (mediamente complesso ma devi conoscere bene il nostro sistema theremino)

          In tutti e tre i casi ci sono mille cose da imparare, per cui aspettati un buon anno di grattacapi, molte frese rotte e molti disastri. Poi diventa un po’ più facile, ma nemmeno tanto. Ogni volta che premi RUN un po’ di paura c’è sempre.

  28. sebastiano di carlo says:

    scusami ma ho letto solo adesso, gentilissimo come sempre, beh certo gli errori ed i disastri li ho messi in conto. ok allora aspettero n poco e alzerò il mio budget a 2.000 euro
    nel frattempo studierò theremino (dove ?)

    • Livio says:

      Comincia dalle basi, gli Slot.
      Non ti serve nemmeno dell’Hardware.
      Apri due SlotViewer e falli comunicare tra loro.
      Poi magari apri anche un WaveGenerator e un SignalScope…
      Poi magari prendi un Master e gli colleghi due led.
      ecc..

  29. Maurizio says:

    Buona sera Livio, mi chiamo Maurizio.
    Un paio di anni fa mi sono costruito una CNC. All’inizio la pilotavo con il MAC3 ,poi ho scoperto il
    THEREMINO e da allora uso questo programma che mi piace molto.
    L’unico problema é che, nonostante segua le istruzioni del manuale, non riesco a fargli riconoscere
    la calibrazione degli assi X Y e Z.
    Mi rivolgo a lei fiducioso dei sui consigli.
    La ringrazio e la saluto cordialmente

    • Livio says:

      Cosa vuol dire “riconoscere la calibrazione”?
      I motori non si fermano quando toccano uno degli switch?

      Devi collegare gli switch in catena (elettricamente in serie).
      Devi collegare i loro pin normalmente chiusi (NC), in modo che aprano il collegamento quando li premi.
      Nell’HAL devi impostare il tipo giusto, solitamente DigIn_pu.
      Nell’HAL devi assegnare lo Slot 32, come scritto nel manuale a pagina 43.

      Quando ne premi uno devi vedere il numero nell’HAL variare dal normale zero, e andare a 1000.

      • Maurizio says:

        Livio, sono Maurizio, ti ringrazio per i tuoi suggerimenti. Avevo impostato lo Slot 18, come suggerito a pagina 44 del manuale. Seguendo il tuo suggerimento ho impostato lo Slot 32 e tutto funziona. Grazie 1000 per la tua disponibilità, buona serata !

  30. nestor delgado says:

    buenas tardes, estoy usando theremino para una cnc de 4 ejes y quiero ampliarla para 5 ejes pero tengo el inconveniente de que no tengo suficientes pines para los finales de carreras entonces como hago para conectar otra board theremino en serie y así disponer de mas pines? o existe otra tarjeta que disponga de mas pines?

Leave a Reply

Your email address will not be published.