Categories
Uncategorized

Tatara Steel Frame Y End Stop Issue Software solution

After Drawing and building the Tarara Steel Frame and transplant the ANET A8 stock mechanics and electronics to it we discover a small issue when you use stock firmware on stock Mother Board: the Y 0 (zero) position is 5 mm inward the bed (and Y 220 position is 5 mm outside the bed),

this is because we move inward the Y end stop 5mm for design reason (to long to explain here) and as we are always using reflashed firmware in our Motherboard we didn’t think can be a problem.
But some users like mechanics: upgrading to Tatara Steel frame.
But hate electronics/programming: tweaking firmware values.

So we provide here the solution how to put back your Y 0 at Zero and to do so you need change just 1 parameter in Firmware file.

We consider your MARLIN firmware is already installed and working with or without auto level sensor, seek on google to install MARLIN firmware if you never did it. 

We consider you are using a flavour of Marlin Firmware.
The Parameter we need to change is Y_MIN_POS located in Configuration.h file

 this are original ANET A8 values

Change Y_MIN_POS value to -5
TATARA steel frame values

In some cases you can get this error while compiling

#error “The given FRONT_PROBE_BED_POSITION can’t be reached by the Z probe.”

in that case you have to change FRONT_PROBE_BED_POSITION value according to your hardware configuration (no stock extruder, auto level Z sensor, etc.)

Flash the firmware and do a G28 to check if you Y0 and Y220 are now at edge of the bed,
then do a G29 if you have a leveling sensor, and as usual be ready to shut off your printer in case something goes wrong (auto leveling sensor out of the bed and extruder crashing on the bed).

For any problem refer to Tatara – Anet A8 Steel Frame – Official Owner Group

Categories
Non categorizzato

Tatara Steel Frame problema Y End Stop Soluzione Software

Dopo aver progettato e costruito  il Frame Tarara Steel  e aver trapiantato la meccanica e l’elettronica della ANET A8 abbiamo scoperto un piccolo problema quando viene usata la scheda madre di controllo e il firmware Stock:

Quanto vi posizionate a Y 0 la punta dell’estrusore si trova 5mm all’interno della superficie di stampa (e a Y 220 si trova 5mm al di fuori)

Questo perchè abbiamo spostato, per ragioni di design troppo lunghe da spiegare qui,  verso il centro di 5mm la posizione dell’end stop in Y, e siccome sulle nostre macchine di test usiamo sempre firmware ri-flashati non abbiamo considerato che  potrebbe essere un problema.
Ma alcuni utenti amano la meccanica: aggiornarsi al Frame Tatara Steel.
Ma odiano l’elettronica/programmazione: Cercare di capire come modificare un firmware.

Per facilitarvi l’operazione vi forniamo qui le informazioni necessarie per riportare il vostro Y 0 al bordo della vostra superficie di stampa, operazione che richiede di cambiare semplicemente 1 valore nel firmware.

Consideriamo che avete gia un firmware MARLIN installato e funzionante sulla vostra scheda di controllo.

Gli esempi qui riportati suppongono usiate MARLIN come firmware o un suo derivato.

Il valore che dovete cambiare è  Y_MIN_POS  che si trova nel file Configuration.h

Volori per il frame ANET A8 originale

Change Y_MIN_POS value to -5
Valori per il frame TATARA Steel  

In alcuni casi (rispetto alla posizione della vostra sonda di auto livellamento se ne avete una) il compilatore potrebbe darvi questo errore:

#error “The given FRONT_PROBE_BED_POSITION can’t be reached by the Z probe.”

in questo caso dovete modificare il valore di FRONT_PROBE_BED_POSITION in funzione della vostra configurazione Hardware (Estrusore non originale, sensore di  auto livellamento in Z, ecc.)

Flashate il vostro firmware e fate un G28 e controllate che il vostri Y0 e Y 220 si trovino ora hai bordi dalla vostra superficie di stampa.
Fate un G29 se avete un sensore di auto livellamento e come sempre siate pronti a spegnere la vostra stampante nel caso qualcosa andasse storto: il sensore di auto livellamento in Z si trova fuori dal piatto e l’estrusore si schianta sulla superficie di stampa.

Per qualsiasi problema scrivete sul gruppo FaceBook: Tatara – Anet A8 Steel Frame – Official Owner Group

Categories
Non categorizzato

Come impostare il firmware SkyNet/Marlin per l’uso dell’auto sensore su una stampante ANET

Questa è una mini guida su come parametrare il firmware SkyNet3d/Marlin associato all’uso di un sensore di auto livellamento su una stampante 3D Anet A8.

Si suppone che il vostro sensore sia correttamente posizionato ed collegato in modo corretto.
Si suppone che i driver (CH340) della stampante siano già correttamente installati.
Collegate la vostra stampante al PC attraverso un cavo usb e accendetela.

Scaricate il firmware SkyNet o meglio ancora Marlin (che ormai include i file di configurazione della Anet A8/A6):

https://github.com/MarlinFirmware/Marlin

http://marlinfw.org/

https://www.facebook.com/skynet3ddevelopment/

https://github.com/SkyNet3D
or
https://github.com/thijsk/Skynet3d

Scompattate la cartella dello ZIP che avete scaricato.

Navigate nella cartella SkenetV2.3.1 -> Configuration

e scegliete la configurazione che corrisponde alla vostra, aprite la cartella corrispondente. Selezionate e copiate il file Configuration.h
Tornate alla radice della cartelle SkenetV2.3.1 

e incollate il file Configuration.h che avete precedentemente copiato. Sovrascrivendo quello esistente.

lanciate il programma arduino che trovate nella cartella arduin0-1.8.0

Dal IDE arduino aprite

il file Marlin.ino o SkynetV2.3.1.ino che trovate all’interno della cartella SkynetV2.3.1

Cercate il Tab Configuration.h

Fate Ctrl+F e cercate: //Probe offsets

Ora dovete controllare che la distanza del centro del vostro sensore al centro del nozzle corrisponda a ciò che è inserito nel codice del firmware.
Misurate con un calibro.

Modificate le linee:
#define X_PROBE_OFFSET_FROM_EXTRUDER

e

#define Y_PROBE_OFFSET_FROM_EXTRUDER

in funzione alle vostre misure. Le cifre sono espresse in millimetri.
Se il vostro sensore è posizionato davanti a sinistra rispetto al nozzle i numeri dovranno essere in negativo. Se è davanti a destra X sara negativo e Y sarà positivo, ecc.

Ora nell’IDE arduino selezionate come scheda: Anet v1.0

e la porta seriale dove è collegata le vostra stampante

ora compilate e caricate il nuovo firmware sulla vostra carta

Se tutto è andato per il verso giusto la vostra stampante dovrebbe avere un nuovo Firmware e essere pronto per impostare l’auto livellamento:
https://research.paolorudelli.com/2017/03/07/calibrare-il-sensore-di-autolivellamento-induttivo-con-skynetmarlin-e-repetier-host/

per altri parametri, quali mm/steps, accelerazione ecc. vi consiglio di usare l’interfaccia di repetier host fino a che non avete preso confidenza con il firmware SkyNet/Marlin.

Per ogni aiuto scrivete sul gruppo FaceBook:
https://www.facebook.com/groups/608564376013968

PS: Se vi serve il boot loader per la scheda Anet potete scaricarlo qui:
https://github.com/SkyNet3D/anet-board
Vi consiglio di installare la versione Optiboot che usa meno memoria

Categories
Non categorizzato

Collegare un Sensore di Auto livellamento ad una Mother Board ANET

Questa è una mini guida su come installare il sensore di auto livellamento su una stampante 3D Anet A8.

Ci sono diversi tipi di sensori che potete applicare alla vostra ANET A8, quelli di cui noi ci occuperemo in quests mini guida sono:
quello “originale” della ANET di forma squadrata di colore azzurro solitamente marcato TRONXY, quelli di forma cilindrica di colore blu o ocra con diversi diametri che possono essere sia di tipo induttivo che capacitativo con sigle del tipo  LJ12A3-4-Z/BY o LJC18A3-H-Z/BX.

Per farsi un’idea più ampia delle tipologie di sensori vi suggerisco di guardare l’eccellente video di Thomas Sanladerer:
https://youtu.be/il9bNWn66BY

Questi sensori costano pochi €/$ fate attenzione a non farvi truffare.

La maggioranza di questi sensori funzionano in modo ottimale se alimentati con tensioni di corrente tra i 6V e i 36V, l’ideale è alimentarli con una tensione di corrente di 12V,  la stessa tensione che usiamo per alimentare la motherboard della ANET. Purtroppo l’alimentazione fornita sul pin centrale del connettore per l’end stop della anet fornisce solo 5V  e i circuiti logici non sono in grado di assorbire una tensione di corrente di 12V e brucerebbero.
Per ovviare a questo problema possiamo alimentare il nostro sensore con il 12V che recupereremo dal nostro alimentatore ma saremo obbligati a regolare la tensione di uscita del nostro sensore per abbassarla a 5V ( o ad un intervallo di tensione tra 3.3V-5V).
Per fare questo abbiamo diverse soluzioni: diodo zener, transistor, optoisolatore e chi più ne ha più ne metta. Ma noi qui esploreremo la soluzione più semplice e più economica: il partitore di tensione (attenzione a non confonderlo con un regolatore di tensione).

Con due semplice resistenze dai valori  correttamente stabiliti possiamo abbassare la tensione in uscita  del nostro sensore ai desiderati 5V.

lo schema di un partitore di tensione è questa:

E

Per le formule e calcoli vi rinvio alla pagina di wikipedia.

Quello cha a noi interessa è che ci servono 2 resistenze da 15K Ohm e 10K Ohm, moltre altre ‘accoppiate’ di resistenze sono possibili per portare la tensione da 12V a 5V e potete sempre calcolarle se volete adattare delle resistenze che avete già in casa.

e vanno collegati in questo modo:

Una volta collegato il tutto collegate il sensore ai 12 V e controllate l’uscita del segnale col un multimetro mentre il sensore si attiva, se il voltaggio non è tra i 3V e i 5V qualcosa non va.

FAQ

Perché non posso collegare il sensore a 5V?
Potete benissimo collegarlo ma la precisione non sarà delle migliore e correte il rischio che alcune volte il sensore non si attivi causando molti danni alla vostra stampante.

Voglio provare il sensore ANET originale anche a 5V almeno per controllare se non ci sono difetti. Perchè non funziona?
Probabilmente il connettore è collegato erroneamente,  controllate il colore dei fili, molto probabilmente dovete invertire il marrone con il blu: il segnale con l’alimentazione. Verificate il colore dei fili sullo schema sopra.

Per ogni aiuto scrivete sul gruppo FaceBook:
https://www.facebook.com/groups/608564376013968

Categories
Non categorizzato

Calibrare il sensore di autolivellamento induttivo con skynet/marlin e repetier-host

Questa è una mini guida per settare SkyNet/Marlin per l’auto livellamento.

IMPORTANTE: i sensori induttivi e in ancor maggiore misura i capacitivi sono sensibili al calore, per cui effettuate la regolazione a temperatura operativa del piatto di stampa, o rischiate che non si attivino in modo aleatorio producendo danni.

Si suppone che il vostro sensore sia collegato in modo corretto, alimentato con la giusta tensione e funzionante e inoltre che il vostro firmware skynet/marlin sia correttamente configurato per il vostro sensore e in funzione a dove quest’ultimo è posizionato rispetto al nozzle.

NB: se usate un sensore capacitivo ricordate di regolare attraverso l’apposita vitina, posta in altro del sensore, una distanza di attivazione tra 0.5mm e 1.5mm

Lanciare repetier host e andare sul controllo manuale

 

  • se ri calibrate fare un M851 Z0 e M500 per re impostare l’offset dell’asse Z a zero.
  • Posizionare il sensore più basso del nozzle
  • Fare Home o inserire il comando G28
  • alzare il sensore più alto del nozzle allentando le viti o il bullone.
  • In repetier host  la misura di Z dovrebbe essere a 10,00
  • abbassare il nozzle usando i comandi manuali dall’interfaccia di repetier host fino a che ci sia lo spessore di un foglio di carta tra il nozzle il piano. Se non riuscite ad abbassare sufficientemente il nozzle (Z risulta essere a 0,00) eseguire il comando G92 Z10 e continuate ad abbassare manualmente.
    EDIT: se usate Marlin >1.1 dovete disabilitare i soft end stop prima del G92 com il comando M211 Z0 S0
  • Posizionare il sensore a 1-1.5 mm più alto del bed e stringete le viti/bullone.
  • Fare Home o inserire il comando G28.
  • In repetier host  la misura di z dovrebbe essere a 10,00
  • Abbassare di 10mm il nozzle usando i comandi manuali dall’interfaccia di repetier.
  • ora repetier host dovrebbe indicare Z 0,00
  • eseguire il comando G92 Z10 e continuate ad abbassare usando i comandi manuali dall’interfaccia di repetier host fino a che ci sia lo spessore di un foglio di carta tra il nozzle il piano.
  • annotare il  valore di Z nell’interfaccia di repetier host
  • inserire M851 Z(il valore di Z che leggete)
    ad esempio M851 Z-2.20 (setta l’offset Z)
  • Fare M500 per salvare la configurazione
  • Fare M501 e verificate che la configurazione sia salvata correttamente
  • Rehabilitate i soft end stop con M211 Z0 S1
  • Fare un home (G28) e prima di fare un G29 (autolivellamento) siate pronti a staccare la stampante dalla corrente nel caso abbiata fatto qualcosa di errato e il nozzle inizi a schiacciare sul piatto.
    Se tutto va a buon fine dovreste avere correttamente tarato il vostro sensore di auto livellamento per SkyNet/Marlin

 

Per ogni aiuto scrivete sul gruppo FaceBook:
https://www.facebook.com/groups/608564376013968

Categories
Non categorizzato

mosquitto install on ubuntu

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients

 

sudo /etc/init.d/mosquitto start

 

reference:

Install Mosquitto MQTT Broker on Ubuntu 16.04 LTS (Xenial Xerus)

config: /etc/mosquitto/mosquitto.conf


sudo gedit /etc/mosquitto/mosquitto.conf

add on mosquitto.conf file:
allow_anonymous false

add user:
generate the pw file with:

sudo mosquitto_passwd -c /etc/mosquitto/pwfile username

add more users

sudo mosquitto_passwd /etc/mosquitto/pwfile guest

reference:
http://mosquitto.org/man/mosquitto-conf-5.html
https://mosquitto.org/man/mosquitto_passwd-1.html

 

activate SSL

reference:

MQTT Mosquitto broker with SSL/TLS transport security
http://rockingdlabs.dunmire.org/exercises-experiments/ssl-client-certs-to-secure-mqtt
https://mosquitto.org/man/mosquitto-tls-7.html

Categories
Non categorizzato

install node red on ubuntu or variant + setup secure

sudo apt-get update
sudo apt-get upgrade

 

Install NODE.js and npm

sudo apt-get install nodejs-legacy
node -v
sudo apt-get install npm
npm -v

optional to upgrade npm:

sudo npm install -g npm

Install node RED

sudo npm install -g --unsafe-perm node-red node-red-admin

If need external access add port forward at 1880

sudo ufw allow 1880

reference:
http://nodered.org/docs/getting-started/installation.html

https://www.digitalocean.com/community/tutorials/how-to-connect-your-internet-of-things-with-node-red-on-ubuntu-16-04

Secure node red access

sudo gedit .node-red/settings.js

uncomment:

adminAuth:{
type: "credentials",
users: [{
username: "admin",
password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
permissions: "*"
}]
},

generate hash pw with:

node-red-admin hash-pw

Reference :
http://nodered.org/docs/security.html

Secure dash UI access

sudo gedit .node-red/settings.js

uncomment:

httpNodeAuth: {user:"user",pass:"$$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},

generate hash pw with:

node-red-admin hash-pw

reference:

https://github.com/node-red/node-red-dashboard/blob/master/README.md

http://nodered.org/docs/security.html

SSL & Let’s encrypt on ddns acount

port forward on your router to your local ip computer where you run node-red: refer to your router user manual

install light web server if you don’t have one installed (need only to setup let’encrypt cert) NB: you can use also ngix proxy solution see below)

sudo apt-get install lighttpd
sudo lighttpd-enable-mod userdir
sudo service lighttpd reload

certboot install:

sudo apt-get install letsencrypt

var/www/html/ with the proper dir of your installed server and yoursite.ddns.net with your site

sudo letsencrypt certonly  --webroot -w /var/www/html/ -d yoursite.ddns.net

result must be somethin like this:

admin@yourcomputer ~ $ sudo letsencrypt certonly --webroot -w /var/www/html/ -d yoursite.ddns.net

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/yoursite.ddns.net/fullchain.pem.
Your cert will expire on 2017-05-06. To obtain a new version of the
certificate in the future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

the cert are stored at:

su
cd /etc/letsencrypt/live/yoursite.ddns.net/
ls -l

result:

lrwxrwxrwx 1 root root 50 Feb  5 20:05 cert.pem -> ../../archive/yoursite.ddns.net/cert1.pem
lrwxrwxrwx 1 root root 51 Feb  5 20:05 chain.pem -> ../../archive/yoursite.ddns.net/chain1.pem
lrwxrwxrwx 1 root root 55 Feb  5 20:05 fullchain.pem -> ../../archive/yoursite.ddns.net/fullchain1.pem
lrwxrwxrwx 1 root root 53 Feb  5 20:05 privkey.pem -> ../../archive/yoursite.ddns.net/privkey1.pem

cd ../../archive/yoursite.ddns.net/

or

cd /etc/letsencrypt/archieve/yoursite.ddns.net/

copy cert1.pem privkey1.pem to your .node-red directory

on settings.js uncomment

...
},
https: {
  key: fs.readFileSync('privkey1.pem'),
  cert: fs.readFileSync('cert1.pem')
},
...

and

var fs = require(‘fs’);

add cron to renew your cert:
test if renew work

letsencrypt renew --dry-run --agree-tos

add in cron (see reference)

letsencrypt renew

reference:

Securing Node-RED

http://nodejs.org/api/https.html#https_https_createserver_options_requestlistener

https://certbot.eff.org/#ubuntuxenial-other

https://help.ubuntu.com/community/lighttpd

http://www.howtogeek.com/101288/how-to-schedule-tasks-on-linux-an-introduction-to-crontab-files/

 

Proxy with NGInX

( if need to uninstall lighttpd this also stop service)

sudo apt-get purge --auto-remove lighttpd
sudo apt-get clean

check if lighthttp is stoped

service --status-all

reboot

install NGInX

    sudo apt-get update
    sudo apt-get install nginx

 

Reference:

https://www.digitalocean.com/community/tutorials/how-to-connect-your-internet-of-things-with-node-red-on-ubuntu-16-04

https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04