Automation


Theremino Arm

Questo è il programma di controllo per un braccio robotico. Attualmente sono implementati solo quattro snodi ma tutto è pronto per espandere o modificare il programma per ogni genere di applicazioni simili.

Chi vuole cimentarsi con la costruzione di bracci robotici può usare questo programma come esempio e come collezione di funzioni utili ma tenga presente che sta intraprendendo un progetto molto impegnativo dove le cose da imparare e da capire sono molte prima di riuscire a costruire qualcosa che si muova in modo sensato.

Anche la taratura delle lunghezze e degli angoli è un compito difficile, che richiede di aver ben compreso quello che si sta facendo. Se le tarature non sono precise la punta del braccio non si muove su piani ortogonali e paralleli al piano di base, i rettangoli diventano dei trapezi e le linee rette diventano delle curve.

Se avete bisogno di consigli scriveteci, per facilitare i primi esperimenti potremo darvi informazioni sui particolari costruttivi e sulle dimensioni del piccolo braccio scrivente che abbiamo costruito per prova e che potete vedere in azione nella pagina Video and Images

Costruzione meccanica
In questo file troverete i dettagli costruttivi per un piccolo braccio robotico. (progetto presentato al concorso make4cash della rivista ELETTRONICA OPEN SOURCE)
RobotArm (file PDF con dettagli meccanici ed elettrici)

Per migliorare la precisione si potrebbero provare i servo DS8231 visibili qui:
www.theremino.com/hardware/actuators/motors
Questi servo costano abbastanza (circa 70 euro) ma promettono prestazioni cinque volte migliori dei TGY930. Non li abbiamo provati per cui inviateci, per piacere, i risultati dei vostri eventuali esperimenti.


Il Link1, che collega il secondo motore con il terzo, può essere realizzato come in questa immagine. Eliminando le crociere in plastica si ottiene maggiore rigidità.

Note sulle versioni
Versione 1.3 – piccoli miglioramenti tra cui la lettura di file GCode con o senza numeri di linea, con qualunque separatore e in tutti i formati più comuni.
Versione 1.5 – altri miglioramenti come la scala variabile per la finestra grafica e il numero di versione visibile nel titolo della applicazione.
Versione 1.6 – miglioramento della precisione di disegno tramite l’aggiunta di un piccolo ritardo ad ogni alzo penna per dar tempo ai motori di arrivare in posizione, ora i cerchi si chiudono meglio.
C’e’ stato un errore di numerazione e molte versioni intermedie non sono state pubblicate per cui dalla 1.6 si salta direttamente alla versione 2.7.
Versione 2.7 - Grandi miglioramenti! - Chi ha costruito un RobotArm deve assolutamente aggiornarsi a questa versione. L’algoritmo di creazione del percorso e’ completamente rifatto, la velocità di disegno e’ aumentata moltissimo senza perdere in precisione. www.youtube.com/watch?v=S8aXLacX14s  Alcune piccole imprecisioni nel disegno (cerchi che non si chiudevano bene) sono completamente risolte. I parametri sono piu’ facili da comprendere ed e’ anche disponibile un comodo preview della immagine generata dal Gcode.
Versione 2.11 – Scara e Delta e molti piccoli miglioramenti.
Versione 3.1 - Miglioramenti negli algoritmi delle configurazioni Scara e Delta.
Versione 3.2 - Eliminato l’errore che avveniva all’apertura se l’ultima volta ThereminoArm era stato chiuso da minimizzato. Eliminato un difetto che faceva rallentare notevolmente il disegno se non si abilitava “Override” e con alcuni Gcode. Caricato correttamente il Gcode quando si carica una configurazione.
Versione 3.3 - Corretto un piccolo errore di calcolo. Si dovrebbe notare un leggero miglioramento della posizione dei punti iniziali e finali di ogni segmento (quando la penna si solleva e quando si abbassa e comincia a scrivere)
Versione 3.4
- Aggiunto il “Panic button” con la “Barra spazio”
- Aggiunta la barra di stato con alcuni messaggi di errore (codici non riconosciuti e Panic)
- Migliorata la lettura dei Gcode che non si fa ingannare dai codici non riconosciuti (G2, G3 e G17)

- – - – - -

Download di Theremino Arm
Theremino_Arm_V3.4 (per Windows, Linux e OSX - con Wine)

Sorgenti
Theremino_Arm_V3.4_WithSources (per Windows, Linux e OSX - con Wine)


Theremino Radar

Una interessante applicazione ideata da Mauro Riboni. Basata su un modulo a ultrasuoni di tipo HC-SR04, funziona sorprendentemente bene e fornisce un display molto simile a quello dei veri radar. Qui si vede un video di YouTube: http://youtu.be/FsW4qwXvpB4

Purtroppo i moduli a ultrasuoni limitano molto le caratteristiche. La distanza massima è di pochi metri e il raggio è largo più di 30 gradi. (ma nella pagina dei sensori sono indicati sistemi per stringerlo un po’) hardware/inputs/sensors#usound

Anche se la tecnologia a ultrasuoni è adatta solo per applicazioni didattiche o giocattoli, ugualmente la applicazione Theremino Radar è molto interessante, con piccole modifiche la si potrebbe adattare ai sensori a microonde o laser.

Costruzione meccanica
Un servocomando per aeromodelli direttamente pilotato da un PIN del ThereminoMaster, ruota il modulo a ultrasuoni di 180 gradi. Il segnale dell’eco è collegato direttamente a un secondo PIN del Master. Si consiglia di usare un servo di basse o medie prestazioni. L’unica richiesta è che sia un modello con escursione di 180 gradi. hardware/outputs/motors
Un modulo a ultrasuoni con ottime prestazioni, economico e facilmente reperibile su eBay, è lo HC-SR04. hardware/inputs/sensors#usound
Prototipi e consigli nel blog sulla robotica: /blog/robotics-and-cnc

Possibili sviluppi
I classici radar a microonde sono realizzabili ma lavorano a distanze di decine o centinaia di chilometri e quindi sono abbastanza inutili per la gran parte di noi.

Quello che servirebbe invece è misurare distanze fino a cento metri, con altissima precisione. C’è un falegname che sta attendendo da oltre 20 anni un dispositivo per misurare muri, soffitto, porte, finestre e rientranze, tutto in un colpo solo. Vorrebbe metterlo nel centro della stanza di un cliente, andare a prendersi un caffè, tornare a ricuperare i dati e andarsene a casa. Non siamo mai riusciti a farlo, ma oggi siamo di un passo più vicini. (naturalmente si parla di un oggettino che deve essere semplicissimo e costare poco… i sarchiaponi da 1000 dollari li lasciamo fare ad altri)

Ricerche per un sensore di distanza adeguato
L’unica tecnologia che può fornire la precisione richiesta è la misura di distanza a laser. Seguiremo questa pista…  (vedere “Lidar a microimpulsi”, i chip MAX3086, i PulseLasers di Osram e anche questo interessante documento) Non siamo i soli a tentare questa strada, i migliori progettisti del DIY sono in caccia ma, per ora, i migliori tentativi sono arrivati solo a 1 o 3 dati al secondo.

Cerca, cerca, ci stiamo avvicinando… questi moduli costano poco (circa 60 Euro) e fanno fino a 100 campionamenti al secondo: caratteristiche. Purtroppo hanno poca precisione (solo il 5%, nemmeno un cinquantesimo della precisione dei nostri ADC). E purtroppo non hanno una uscita immediatamente usabile e andranno completati con un piccolo PCB con un PIC. (ma attenzione… un piccolo PCB con un PIC da 8 pin, non un intero Arduino, che sarebbe sprecato e anche enorme per questo scopo). Analizzando meglio non è un “lidar a microimpulsi” quindi la precisione sarà sempre troppo scarsa per quel che vogliamo fare noi. Cercheremo ancora…

Mini Help

  • La “Max dist” che si imposta nelle proprietà del PIN di tipo “Usund sensor”, nella applicazione HAL deve corrispondere alla scala che si imposta nel ThereminoRadar.
  • Lo slot 1 viene usato per muovere il servo (impostare il suo PIN come Servo16)
  • Lo slot 2 viene usato per leggere il sensore a ultrasuoni (impostare il PIN come “Usound sensor”)
  • Nelle proprietà dello “Usound sensor” mettere “Response speed” = 100 e disabilitare “Remove errors”

Note sulle versioni
Versione 1.0 – Questa è la prima versione adattata al Theremino System dall’idea originale di Mauro Riboni (lo ringraziamo per averci concesso di usarla)
Versione 1.1 – Piccoli miglioramenti nel resize della finestra e sfondo di colore mimetico.

Download di Theremino Radar
Theremino_Radar_V1.1_WithSources (per Windows, Linux e OSX - con Wine)


Theremino VideoInspector

Theremino VideoInpector - Automated PCB inspection

Il Video Inspector è stato progettato per individuare componenti mancanti sui circuiti stampati durante il collaudo dei moduli del sistema Theremino.

Le funzioni di questa applicazione sono:

  • Lettura del segnale video
  • Condizionamento del segnale
  • Estrazione delle differenze da una immagine di confronto
  • Scrittura dei valori di differenza negli “Slot”(1) del sistema Theremino

(1) Video Inspector è un componente modulare del sistema Theremino quindi interagisce con gli altri componenti del sistema attraverso gli Slot.

Ispezione visuale dei PCB

Il controllo elettrico funzionale non evidenzia alcuni errori, ad esempio la mancanza del diodo di protezione sulla alimentazione, per cui una ispezione visuale è sempre necessaria. Purtroppo gli operatori umani dopo qualche centinaio di moduli cominciano a non funzionare più bene e tendono a “lamentarsi”. Questo programma non sostituisce l’operatore ma fornisce una indicazione di allarme e permette di lavorare molto più velocemente, senza stancarsi.

Per ottenere i migliori risultati si consiglia di usare telecamere ad alta risoluzione, illuminazione forte e molto ben diffusa e di provvedere un meccanismo di posizionamento del PCB molto preciso.

Applicazioni simili

Non solo il controllo dei PCB ma molte applicazioni di automazione possono avvalersi utilmente di questa applicazione. La lettura delle immagini e il riconoscimento sono implementati con molta cura e ottimizzati. Applicazioni che richiedono funzioni aggiuntive potrebbe appoggiarsi su questa base e aggiungere solo le parti mancanti.

- – - – - – -

Download di Theremino VideoInspector
Theremino_VideoInspector_V1.5 (per Windows, Linux e OSX - con Wine)

Sorgenti
Theremino_VideoInspector_V1.5_WithSources (per Windows, Linux e OSX – con Wine)


Theremino VideoInput

Il Video Input è progettato per rilevare variazioni nelle immagini video (movement detection) provenienti da una telecamera.

Gli usi sono molteplici, dalla sorveglianza perimetrale agli antifurto, dal controllo di accesso alla rivelazione del passaggio di animali.

Anche classiche applicazioni industriali (ad esempio segnalare la mancanza di tappi sui barattoli) possono usare le funzioni di questa applicazione o della precedente applicazione “Video Inspector”

La possibilità di descrivere aree di interesse, anche sovrapposte, permette di specificare diversi tipi di allarme e di attenzione per le varie zone dell’immagine e di escludere le zone non significative o “rumorose” come le tende che si muovono per gli spostamenti d’aria.

Sullo stesso computer possono convivere molte applicazioni VideoInput, ognuna con la sua cartella i suoi parametri e la sua telecamera completamente indipendenti.

Le funzioni di questa applicazione sono:

  • Lettura del segnale video
  • Condizionamento del segnale
  • Estrazione dei movimenti
  • Scrittura dei valori di differenza negli “Slot”(1) del sistema Theremino

(1) Video Input è un componente modulare del sistema Theremino quindi interagisce con gli altri componenti del sistema attraverso gli Slot.

Applicazioni simili

Molte applicazioni di automazione possono avvalersi utilmente di questa applicazione. La lettura delle immagini e il riconoscimento dei movimenti sono implementati con molta cura e ottimizzati. Applicazioni che richiedono funzioni aggiuntive potrebbe appoggiarsi su questa base e aggiungere solo le parti mancanti.

- – - – - – -

Download di Theremino VideoInput
Theremino_VideoInput_V1.6 (per Windows, Linux e OSX - con Wine)

Sorgenti
Theremino_VideoInput_V1.6_WithSources (per Windows, Linux e OSX – con Wine)


Theremino MicroViewer

Questa applicazione permette di ottenere il massimo da ogni Webcam o Microscopio digitale. Naturalmente se si parte da un dispositivo con 640 x 480 pixel nativi (come in questa immagine) la qualità sarà limitata.

Quando si acquista un dispositivo fare attenzione che sia almeno HD 720p (1280 x 720) o ancora meglio Full-HD 1080p (1920 x 1080) E attenzione a non farsi ingannare dai molti mega-pixel che vengono spesso dichiarati. I mega pixel interpolati dal software sono sempre molto maggiori della risoluzione reale dell’hardware, ma si deve individuare la vera risoluzione, che purtroppo spesso è la solita misera 640 x 480.

Questo software è nato per copiare diapositive con un “OVT-Scanner”, e potrebbe ancora essere usato per quell’uso, ma è stato ampliato con le funzioni di zoom che permettono di usarlo come microscopio e ottenere il massimo ingrandimento e qualità possibile da ogni WebCam. Per l’uso come scanner di diapositive leggete le istruzioni allegate con il programma, contengono molti consigli utili.

Usare le WebCam come microscopio

Molte WebCam, anche poco costose, hanno l’obiettivo svitabile per mettere a fuoco da vicino. Con alcune di esse, svitando molto l’obiettivo, si riesce a mettere a fuoco a pochi millimetri e si ottiene un ottimo microscopio. Se si parte da una WebCam HD o FullHD i risultati saranno ancora migliori.

- – - – - – -

Versione 1.2 – Corretti alcuni errori. Principalmente un errore in apertura che mandava in crash la applicazione con alcuni modelli di WebCam.

- – - – - – -

Download di Theremino MicroViewer
Theremino_MicroViewer_V1.2 (per Windows, Linux e OSX - con Wine)

Sorgenti
Theremino_MicroViewer_V1.2_WithSources (per Windows, Linux e OSX – con Wine)


Theremino ImgToGcode

Il RobotArm e altre applicazioni di automazione possono avvalersi utilmente di questa piccola utility che converte una immagine in Gcode.

Le dimensioni in millimetri del Gcode generato sono le stesse della immagine da cui proviene (modificabili nei programmi di fotoritocco)

- – - – - -

ImgToGcode andrebbe completato nelle parti seguenti:

Le due funzioni di scheletrizzazione con algoritmo “Rosenfeld” andrebbero ridotte una sola ma per ora le teniamo divise perché in alcuni casi va meglio la prima e in altri la seconda (principalmente sui bordi della immagine) Per evitare errori sui bordi è sempre meglio usare immagini con almeno un pixel di bordo bianco tutto intorno.

Il bottone Resize che ora riduce alla dimensione attuale della finestra andrebbe sostituito con la possibilità di impostare le dimensioni in pixel e quelle finali in millimetri.

- – - – - -

ImgToGcode si usa così

  1. LoadImage - Di una immagine composta da TRATTI (non un paesaggio)
  2. Rosenfeld - Per scheletrizzare i contorni
  3. Vectorize - Per produrre il GCode (e visualizzarli con programma associato ai file GC)

- – - – - -

Download di Theremino ImgToGcode con sorgenti
Theremino_ImgToGcode_V1.3_WithSources (per Windows, Linux e OSX – con Wine)


Theremino ImgToVectors

Questa applicazione trasforma una immagine in vettori. E’ una operazione molto difficile e questa è una delle poche utility che lo fanno (come alternativa si potrebbe usare WinTopo)

Non chiedeteci i particolari perché ci vorrebbe troppo a spiegarli e l’utilità di questa conversione non lo merita. Chi ne ha davvero bisogno dovrebbe sapere cosa sta facendo e dovrebbe sperimentare da solo quel che si riesce a fare.

Importante non esagerare con le dimensioni della immagine (in pixel) e con la sua complessità altrimenti il file finale e il tempo potrebbero crescere a dismisura.

- – - – - – -

Download di Theremino ImgToVectors con sorgenti
Theremino_ImgToVectors_V1.4_WithSources (per Windows, Linux e OSX – con Wine)


-.-.  ..  .-  - – -

Theremino System -


Ottenere i moduli del sistema

Il team del sistema Theremino si occupa solo di ricerca e non vende hardware. Il sistema è completamente “Freeware”, “Open Source”, “No Profit” e “DIY”, ma esistono produttori che possono fornire i moduli assemblati e collaudati a un ottimo prezzo. Difficilmente si potrebbe auto-costruirli spendendo meno. Per un elenco dei produttori leggere questa pagina: www.theremino.com/contacts/producers


Donazioni
 

Il codice sorgente dei nostri programmi non contiene note sul copyright, nomi degli autori e link al nostro sito, per cui potete farne ogni uso, senza limitazioni di alcun genere. Non chiediamo di specificare la fonte originale o il nostro sito ma se sarete contenti del nostro software ricordatevi di noi e fate conoscere questo sito ai vostri amici. Eventuali donazioni, anche piccole, sono molto gradite e possono aiutarci a mantenere il software “free” ed a produrne sempre di nuovo.


Note legali
 

ITALIANO – HARDWARE: NEI LIMITI PREVISTI DALLA LEGGE il sistema Theremino VIENE FORNITO “COSÌ COM’È”, E NON RILASCIA GARANZIA ESPLICITA O IMPLICITA, RISPETTO ALLA SUA FUNZIONALITA’, OPERATIVITA’, O USO, INCLUSE, SENZA LIMITAZIONE, LE GARANZIE IMPLICITE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE O VIOLAZIONE. SI DECLINANO ESPRESSAMENTE OGNI RESPONSABILITÀ PER DANNI DIRETTI, INDIRETTI, CONSEQUENZIALI, INCIDENTALI O SPECIALI, INCLUSI, SENZA LIMITAZIONI, MANCATI GUADAGNI, PERDITE DI PROFITTI, PERDITE DERIVANTI DA INTERRUZIONE DI ATTIVITA’ O PERDITE DI DATI, INDIPENDENTEMENTE DALLA FORMA DI AZIONE O TEORIA LEGALE SOTTO CUI LA RESPONSABILITA’ VIENE ASSERITA, ANCHE SE NON INFORMATI DELLA POSSIBILITA’ O RISCHIO DI TALI DANNI.
ITALIANO – SOFTWARE: IL SOFTWARE del sistema Theremino E’ UN SOFTWARE LIBERO: E’ POSSIBILE RIDISTRIBUIRLO E/O MODIFICARLO SECONDO I TERMINI DELLA LICENZA “GNU General Public License” COME PUBBLICATA DALLA “Free Software Foundation”, NELLA VERSIONE 3, O QUALSIASI VERSIONE SUCCESSIVA. È POSSIBILE OTTENERE UNA COPIA DELLA LICENZA “GNU General Public License” DA: http://www.gnu.org/licenses
ENGLISH – HARDWARE: THE PRODUCT Theremino System IS PROVIDED TO YOU “AS IT IS”, AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. WE EXPRESSLY DISCLAIM ANY LIABILITY WHATSOEVER FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA, REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER WHICH THE LIABILITY MAY BE ASSERTED, EVEN IF NOT ADVISED OF THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.
ENGLISH – SOFTWARE: THE Theremino System SOFTWARE IS FREE SOFTWARE: YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE “GNU General Public License” AS PUBLISHED BY THE “Free Software Foundation”, EITHER VERSION 3 OF THE LICENSE, OR ANY LATER VERSION. YOU CAN GET A COPY OF THE “GNU General Public License” FROM: http://www.gnu.org/licenses

Comments are closed.