Welcome! Log In Create A New Profile

Advanced

Driver in Closed Loop per Nema17 o Nema23

Posted by FabryR 
Driver in Closed Loop per Nema17 o Nema23
December 29, 2019 12:19PM
Nessuno ha pensato di provare dei driver in Closed Loop ?

Per farla breve i normali driver pilotano i motori in modalità Open Loop, ossia per semplificare si chiede al motore di arrivare alla posizione xx contando che si arrivi.
Se non ci arriva (ossia perdita di passi) non lo si sa e non si pone correzione al problema.

Mentre un driver in Closed Loop ha un rilevatore di posizione (Encoder) che gli dice se il motore ha raggiunto la posizione xx o se una forza esterna ha spostato il motore dall'ultima posizione in cui era fermo.

Ci sono un po' di progetti per driver Closed Loop da usare su motori Nema17.

C'è il recente MotorFish di Futura Elettronica (lanciato ad Agosto).
Sono 55E a driver (ma si riesce anche a pagarli 50E con dei buoni sconto) e sono basati su PIC32 + Encoder Magnetico AM4096 a 12 bit + Driver DRV8843

C'è il cinese SERVO42A (MKS) o S42A (BigTreeTech) esistente da un po' prima (inizio anno 2019)
Sono circa da 23E a 44E a Driver a seconda del kit con tanto di schermo Oled (opzionale), adattatori per slot driver e cavi di collegamento, che usa SAMD (21G18A) 32 bit (compatibile Arduino Zero) + Encoder Magnetico AS5047D a 14 bit + Driver A4954

Per la versione MKS esiste anche il modello SERVO42B dove si parla di cpu ST32 a 72MHz (non so che encoder e driver ci siano) e non SAMD a 48MHz. In realtà i siti cinesi dicono che anche SERVO42A è ST32 ma solo a 48MHz (ma non è escluso che SERVO42A sia come S42A e quindi SAMD a 48MHz)


C'è il progetto Mechaduino 0.2 del 2016
Si trova a circa 45E dalla Germania (originale ??) o da 23E dalla Cina (vers. Clone) e credo sia il progetto che ha ispirato la creazione del S42A, l'HW è molto simile se non quasi identico seppure con un layout diverso e senza il supporto schermo Oled.

C'è il progetto uStepper (anche questo del 2016)
Si differenzia dagli altri perché è disponibile sia in versione encoder 12 bit (AS5600) e driver TMC2208 abbinato che in versione encoder 16 bit (AEAT8800-Q24) e Driver TMC5130 abbinato
Come CPU però è ancora un 8bit (328PB ), prezzi sui 37E (ma iva esclusa) a 12bit/TMC2208 e 47E (iva esclusa) a 16bit/TMC5130

Infine poi i driver TMC5160 e TMC5161 hanno una porta Encoder ABN a 3 pin che in qualche modo dovrebbe permettere anche (non solo) un uso in closed loop (il closed loop però si può anche fare senza quella porta, quindi pure su TMC21x0, tramite SPI se abbinato ad un controller TMC4361)

PS
In alcune video review dei SERVO42A si rileva il fatto che il driver Allegro A4954 presente tende a produrre stampe con effetto Pelle di Salmone che per esempio non sono presenti usando i TMC

Edited 5 time(s). Last edit at 12/29/2019 04:01PM by FabryR.
Re: Driver in Closed Loop per Nema17 o Nema23
December 30, 2019 07:51AM
Pensato spesso...
Grazie per alcuni costruttori che non conoscevo.

Secondo me, il prezzo è alto, non è possibile adattarlo ad un motore esistente e quindi ti devi prendere per forza quello che danno loro e ci sono pochi che lo hanno provato.

Se poi, vorresti fare da cavia, hai tutto il mio appoggio
Re: Driver in Closed Loop per Nema17 o Nema23
December 30, 2019 07:52AM
Ps gli ustepper sembrano i migliori sulla carta
Re: Driver in Closed Loop per Nema17 o Nema23
December 30, 2019 09:20AM
Beh non è vero che non si possono mettere su motori esistenti.

Sono quasi tutti venduti come accessorio per motori esistenti.
MotorFish è venduto anche per 3DRag e non ti fa di certo cambiare i motori.
Devi solo stamparti dei supporti (ci sono i disegni su thingverse, solo assi X e Y) e smontare i motori per montargli il MotorFish sopra.

Il prezzo è forse un po' caro per alcuni ma non siamo a tanto di più di un driver di qualità (dei TMC5160 si pagano anche 35-40E cad. da alcuni produttori e pure 18-20E dai cinesi).

Poi i SERVO42B li ho trovati pure a 16E senza schermo e 19E con schermo (1 mese o più per averli però) che non mi pare tanto.
Anzi a guardare l'annuncio sembra pure che a 16E ti manda il motore con già SERVO42B premontato, anche se mi sembra impossibile (visto il prezzo).

Purtroppo la versione B (con cpu STM32 a 72MHz) non è (per ora) opensource sul fw e devi usare il loro fw così come arriva, o puntare alla versione A (con SAMD a 48MHz) che è opensource.
Re: Driver in Closed Loop per Nema17 o Nema23
December 31, 2019 06:53AM
Dopo che ti ho risposto ho riguardato ed effettivamente hai ragione, ora vendono anche solo l'upgrade e il prezzo non è male. Fino a poco tempo fa era completo o niente.

Il servo42 non è male come sistema ma ha la pecca del driver, ho trovato un video, uno dei pochi, dove mostrava i servo42 e si vedeva chiaramente l'effetto salmone.
Preferisco perdere un passo ogni 100 stampe che avere le altre 99 squamate...
Re: Driver in Closed Loop per Nema17 o Nema23
December 31, 2019 11:44AM
Si bisogna vedere se il problema è il software caricato (ed allora magari con un update prima o poi si risolve) o se è proprio un limite degli Allegro A4954.
Nel secondo caso sarebbero limitati allora SERVO42A, S42A e Mechaduino che usano tutti quel driver.

Per i SERVO42B invece non è chiaro che HW ci sia.
Si sa che la CPU è cambiata a STM32 a 72MHz, ma non si sa che driver ed encoder usano, inoltre non è disponibile il fw per customizzazioni.

Gli uStepper con TMC ne sarebbero esenti, però la versione Lite a 45E (37E+iva) + sped è limitata a max 12V sui motori (io già ne uso 15V e volevo passare ai 19V), mentre la versione Full che supporta fino a 42V (oltre ad essere 16bit + TMC5130) costicchia 57.50E circa cad + sped.
Inoltre un po' mi sembra limitante avere avere ancora una CPU 8 bit a 16MHz quando tutti gli altri partono da minimo 32bit a 48MHz o più (SERVO42B è un Arm a 72MHz e MotorFish è Pic32/Mips a 80MHz o così dicono loro).

I MotorFish non si sa se hanno difetti a causa del driver DRV8843 o meno.
Avrà anche lui lo stesso problema dei DRV8825 (vedi TL-Smoother) ?
Però il DRV8843 si pilota in PWM non in DIR+STEP (e motorfish ci simula 64 micropassi sopra, ma si dovrebbe poter salire)
L'encoder è solo 12bit (comunque in teoria sufficiente per leggere i micropassi fino a 16x ed oltre la precesione della meccanica).

Come software mi pare fossero quelli più customizzabili, sembrano avere un sacco di opzioni sulla carta (poi quante davvero sviluppate finora boh).
Trovi abbastanza dettagli su di loro se ti leggi gli articoli su Elettronica-In (se cerchi on-line trovi i PDF della rivista anche senza essera abbonato).
Hanno pubblicato un corso di 3 puntate sui numeri di Giugno, Luglio/Agosto e Dicembre/Gennaio 2019/20.
La terza puntata è però dedicata al montaggio ed uso su 3DRag, quindi già le prime due dovrebbero bastare.

Certo non sono economici (come tutta la roba di venditori Europei, non cinesi) dato che sono 55E cad. kit base (pure senza cavi), anche se poi con qualche buono sconto si ottengono a 50E cad + sped.

Io puntavo inizialmente ai motorfish, ma sono un po' cari per quello che volevo spendere io e poi volevo rimanere su driver TMC
Quelli cinesi mi tentano per il prezzo e gli uStepper Full mi tentano per i TMC + 16bit (ma sono più cari dei MotorFish ed hanno cpu 8 bit 16MHz).

Poi rimane pure l'idea del fai da te.
Dopo tutto si tratta di MicroCont. + driver + encoder e per alcuni progetti (MotorFish e Mechaduino sicuro) ci sono gli schemi elettrici.
Si potrebbe comprare gli stessi encoder ed applicare solo quelli su motori, lasciando la gestione motori ai vecchi driver + software sul micro (al più aggiungendo delle cpu in più come fanno loro ma senza metterle per forza sul motore).

Edited 4 time(s). Last edit at 12/31/2019 01:17PM by FabryR.
Re: Driver in Closed Loop per Nema17 o Nema23
December 31, 2019 01:07PM
Guarda quasi tutta la serie allegro A4xxx e A3xxx hanno problemi di salmon fish.

I migliori sono ustepper. Non ti preoccupare per la cpu 8 bit, una cpu cosi "si gratta" a fare quelle 4 cose, un 32bit è sprecato ma ormai costano meno di un 8bit.

Farselo...? Si, non sarebbe un gran problema per me, essendo elettrotecnico, ma tra tempo e soldi per la costruzione, te lo compri già fatto...

Purtroppo col driver intercambiabile non li fanno smiling smiley

Io resterei sui ustepper, almeno non hai problemi con i driver e gestiscono anche abbastanza corrente.

La palla è ricablare la stampante winking smiley

Scusa la domamda, ma hai problemi di perdita di passi?

A me può succedere di avere perdite di passi se mentre stampa, l'ugello scaccola in giro ed al successivo layer ci sbatte contro. Ma di solito se succede devo rivedere il flow rate e comunque non è frequente.

Che tipo di stampante hai?

Edited 1 time(s). Last edit at 12/31/2019 01:08PM by whitedavil.
Re: Driver in Closed Loop per Nema17 o Nema23
December 31, 2019 01:19PM
Da veloci ricerche gli Allegro A4954 dovrebbero essere driver in modalità PWM così come lo sono i DRV8843 del MotorFish (però gli allegro sono 2A e 40V i DRV sono 45V e 2.5A).
Con essi si dovrebbero poter simulare anche passi infiniti (funzionamento tipo motore brushless) quindi magari il problema dell'effetto a scaglie è nel software dei SERVO42A e se è così si potrebbe avere un fix.

Beh oddio in modalità PWM la cpu deve generare l'onda di controllo lei, vero che magari una cpu 8-bit ci riesce ancora, ma rimane meno potenza di calcolo per fare altro.
Tra le opzioni (che non credo abbiano implementato nel fw attuale) dei MotorFish c'era anche quella di sincronizzare più motori tra loro.
Vero che se un motore perde i passi essi vengono recuperati, ma per un lavoro perfetto gli altri motori si dovrebbero fermare altrimenti se vanno avanti per i fatti loro degli effetti negativi si potrebbero notare comunque.

PS
Stampante mia = Futura Elettronica 3DRag con Ramps 1.4 e Driver TMC2130 (per ora)
No non ho problemi di perdita di passi ora (almeno a basse correnti, stranamente se le alzo sopra i 800mA sii i TMC mi perdono passi), ma era per sperimentare, provare qualcosa di nuovo e poi mi piacerebbe usarla un minimo anche come cnc e lì la perdita di passi sarebbe più possibile.
Senza contare che cerco sempre (sennò mi annoio per l'attesa) di stampare se possibile sopra i 100mm/s e se potessi migliorare la stabilità / precisione per andare ancora più veloce meglio

Edited 5 time(s). Last edit at 12/31/2019 09:26PM by FabryR.
Re: Driver in Closed Loop per Nema17 o Nema23
December 31, 2019 03:08PM
Se i tuoi tmc sono in modalità stealtchop tranquillo, è normale. Li ho anch'io e devo usarli in spreadcircle. Ricordati di ventilarli bene.
Io li tengo a 1000ma e non ho problemi.

Per i servo42 scusa ma a me il driver non convince, la versione B monta comunque il medesimo driver.

Guarda questo
servo42
Re: Driver in Closed Loop per Nema17 o Nema23
December 31, 2019 10:17PM
Si quel video l'avevo già visto (e citato indirettamente nel primo post)

Comunque quello è una versione A.
Secondo il video poi arriva pure un kit compreso di motore, solo che mi sembra quasi impossibile perché si trovano a 16-19E (almeno in versione B ) + spedizione.
E motore + Driver Closed Loop + schermo Oled + Cavetteria (pure quella USB ) + adattatatore per socket driver Ramps tutto a 19E ...

In ogni caso ho trovato delle foto ravvicinate ed il driver è un 4954LPT anche sul B (la CPU invece è STM32).

Ho scoperto che ci sono pure i SERVO57A e B che sono in formato Nema23 (ma volendo si adattano anche ai Nema17 con qualche difficoltà) che usano come driver DUE A4950T da 3.5A (2 perché ogni driver gestisce solo una fase del motore).

Per l'effetto salmone bisogna vedere se è Allegro o il software caricato sul SERVO42A.
Nelle recensioni dei S42A e dei Mechaduino nessuno solleva il problema.
E poi come già detto quei driver sono in modalità PWM fa tutto il micro, infatti li danno in grado anche di fare 256 microstep che non mi pare faccia nessun Allegro di solito.

Buon Anno

PS
No i miei TMC sono in Spread perché di default nel firmware è acceso quello.
Li avevo messi a 1000mA ma davano problemi dopo pochi minuti, a 700-750mA (assi X e Y, 800-850mA su Z e E) invece non danno problemi (almeno per stampe fino all'ora, mai andato oltre con loro)
Credo che comunque possa essere un problema di calore, non sono per nulla raffreddati, c'è giusto il dissipatorino sopra ma sono anche in mezzo ad una selva di cavi e mi pare che il debug segnali ogni tanto overheat (ma senza conseguenze) soprattutto sull'asse Z (quando gli faccio fare da 0 a max e poi di nuovo a zero a 5-10mm/s alias fino a 480 rpm).

Edited 3 time(s). Last edit at 12/31/2019 10:38PM by FabryR.
Re: Driver in Closed Loop per Nema17 o Nema23
January 01, 2020 06:01AM
scusate se entro a gamba tesa, ma c'è un chiarimento che vorrei: Da quel poco che ho capito leggendo i vostri interventi, il salmon skin (ho scoperto solo adesso che si chiama in questo modo) interessa alcuni driver in particolare. che mi dite dei due driver più usati? i dvr8825 e i A4988?

Pensate che funzionino quei circuiti con 8 diodi (i cosiddetti smoother)?

grazie


Alessandro

Prusa I3 Rework molto modificata - Taurino Classic - Ramps 1.4 - Driver DVR8825 - Titan Extruder e Hotend E3D V6 - Bltouch originale - Firmware MarlinKimbra - Cura - Repetier Host
Re: Driver in Closed Loop per Nema17 o Nema23
January 01, 2020 08:25AM
I TL-Smother funzionano per certo sui DRV8825 (alcuni dicono che anche altri driver ne beneficiano) e curano il problema citato qui (che dipende anche dai motori che si ha): [cabristor.blogspot.com]

I TL-Smother fanno abbassare di 0.7V (versione 4 diodi) o 1.4V (versione 8 diodi) la tensione che arriva ai motori ma soprattutto non fanno passare quantità significative di corrente finché la tensione di comando non supera 0.7V o 1.4V.
Questo permette di coprire il salto secco da 0 al 12% (circa 1.44V a 12V, però a 24V sono 2.88V e mi sa che ci vogliono 16 diodi) di tensione che fanno i driver 8825 in modalità Mixed-Decay mode, per il resto della spiegazione leggere il link

Non so se c'entri con l'effetto Salmon Fish (ma secondo alcuni video si direbbe di si) ed applicati ai Servo42A NON curavano il problema.

Edited 3 time(s). Last edit at 01/01/2020 01:03PM by FabryR.
Re: Driver in Closed Loop per Nema17 o Nema23
January 01, 2020 01:46PM
Quote
whitedavil
Farselo...? Si, non sarebbe un gran problema per me, essendo elettrotecnico, ma tra tempo e soldi per la costruzione, te lo compri già fatto...

Purtroppo col driver intercambiabile non li fanno smiling smiley
Beh oddio non è così difficile (software a parte) cambiargli il driver.

Una soluzione low cost potrebbe essere prendere un Mechaduino, un SERVO42A o un S42A che hanno tutti il firmware su github (mentre più complicato con SERVO42B e SERVO57B che non hanno i sorgenti divulgati) e mettergli di fianco un driver TMC.
Ci sono sia pin di seriale che di SPI con cui comandare TMC2130/2208-9/5160-1 in modalità SPI o Seriale (non so se invece ci sono pin liberi per fare il classico comando EN/DIR/STEP)

Basta modificare la routine software per fargli comandare un driver esterno sulle porte I/O piuttosto del driver Allegro on board.
Con qualche modifica HW credo si possa gestire anche i TMC in modalità PWM per maggior controllo (ovv. con modelli di TMC che espongano l'interfaccia PWM)

Potrebbe essere (ingombro leggermente maggiore e software da riscrivere a parte) una ottima soluzione low cost.
Punti ad un Mechaduino da 22E e ci metti un TMC2130/2208 di fianco ed hai un ottima soluzione con solo 30-34E (molto meno degli uStepper e con una CPU a 32 bit pure)
Vuoi andare ancora oltre e ci metti un TMC5160/1 spendendo altri 6-10E circa in più.

Mechaduino oltre ad essere reperibile in versione clone a 22-23E (mentre i SERVO42A e S42A mi sa che partono da 30E, era SERVO42B che si trova invece da 16E) ha molti più pin di I/O sulla scheda e sarebbe quindi più indicato per il lavoro di abbinargli un driver esterno o altro.

EDIT: Aggiungo delle informazioni.
C'è un'altra ditta che fa Driver in closed loop (ed a cercare ancora se ne trovaranno altri probabilmente).

Sono gli Smart Stepper (precedentemente noti come Nano Zero Stepper) di misfittech lanciati nel 2017 circa e poi evoluti.
Sono una evoluzione di Mechaduino (lo dichiarano esplicitamente) e costano sui 50 dollari (in versione nema 17) e sono quelli finora con il fw più supportato e costantemente evoluto (altri non hanno modifiche da anni).

I SERVO42A di MKS ed i S42A di BigTreeTech sono proprio dei cloni degli Nano Zero Stepper tanto più che il firmware rilasciato da MKS e BigTreeTech è proprio il Nano Zero Stepper in qualche versione del 2018 (ora siamo alla 0.40 del 2019) e BigTreeTech lo dice apertamente di usare Nano_Stepper firmware rimarcando la licenza di misfittech (Mks invece non dice nulla ma si capisce dai sorgenti)

Ah poi risulta che i SERVO42A usano come encoder un chip A1333 di Allegro a 12bit e non il AS5047D (a volte sostituito con il più economico AS5048A) di AMS a 14bit usato dagli altri (tra cui anche S42A), comunque il chip è supportato nel firmware Nano Zero Stepper.

Quindi il firmware Nano Zero Stepper si può usare su Mechaduino, Nano Zero Stepper/Smart Stepper, SERVO42A e S42A, però ufficialmente sul repository del firmware di misfittech c'è un bel:

If you have a MKS Servo42, this firmware will not currently work on your hardware. MKS has taken this firmware but has not provided source back and hardware designs back to the community.

Non so a cosa si riferisce.
Se è un messaggio vecchio poi non più cambiato (i repo di MKS SERVO42A ci sono e nel fw Nano Stepper c'è proprio un commit che dice che viene aggiunto il supporto ai SERVO42 con A1333), se si riferisce ai SERVO42B che non hanno il fw rilasciato (ma dove probabilmente si è preso il firmware Nano_Stepper e lo si è adattato alla cpu STM32), o se si riferisce ad altro ancora.
Comunque nel repo github di MKS SERVO42A c'è pure un post di misfittech (e di Agosto 2019) in cui gli contestano una violazione di licenza perché hanno cambiato l'header di licenza di alcuni sorgenti.

Ah poi un utente con S42A (non MKS, BigTreeTech) segnala che le ultime 2 versioni di fw Nano_Stepper non funzionano più correttamente su hw S42A (fino alla 0.38 tutto Ok).

Edited 8 time(s). Last edit at 01/02/2020 12:35PM by FabryR.
Re: Driver in Closed Loop per Nema17 o Nema23
January 04, 2020 07:19PM
Solo per la cronaca oggi (4 Gen) BigTreeTech ha lanciato il suo S42B, che dovrebbe essere l'equivalente di BigTreeTech del SERVO42B di MKS.
Non sono proprio identici come layout dei pin e della scheda ma credo saranno abbastanza simili come prodotti per il resto a parte eventualmente l'encoder, dato che già cambiava pure tra S42A e SERVO42.

Nel GitHub Repo aperto oggi non ci sono i sorgenti del firmware (come per MKS) ma almeno c'è il binario per ricaricare il fw nel caso di problemi (con MKS se provi a caricarci un tuo fw poi non hai una copia del fw originale per tornare indietro).
Comunque una frase presente nel video del lancio (è nella loro pagina facebook) fa quasi intendere che forse un fw pubblico (sorgenti intendo) ci sarà più avanti.
Re: Driver in Closed Loop per Nema17 o Nema23
January 08, 2020 09:04PM
Altro aggiornamento:

Ieri (8 Gen) sono usciti i sorgenti del firmware di S42B ed il manuale.
Non so se ci sono tutti o mancano alcuni pezzi che saranno rilasciati a breve (spiegano come compilarsi e caricarsi il fw quindi non avrebbe senso non rilasciare tutto) ma qualcosa di certo c'è già.

Dal manuale si può evincere l'HW che non è proprio identico al SERVO42B, anzi cambia quasi tutto.

La cpu di S42B è sii una STM32 ma è il modello STM32F030C8T6 Cortex-M0 a 48 MHz, sul SERVO42B c'è un STM32F103C8T6 Cortex-M3 a 72MHz

L'encoder è completamente diverso, S42B usa Infineon Technologies TLE5012B con precisione di 15 bit, SERVO42B invece come già detto usa Allegro A1333LLETR-T a 12 bit

Lato driver motore abbiamo su S42B Allegro A4950 ed i driver sono due (confermato dalle foto) dato che A4950 è singola fase (è la stessa config. presente su SERVO57B ) e come già detto su SERVO42B Allegro A4954LPT
In ogni caso su S42B dicono che il driver supporta fino a 2.0A (picco o RMS boh) ma che il software lo limita a max 1.5A (strano in teoria A4950 è invece dato per 3.5A, credo di picco, ma sarà probabilmente dovuto alla limitata dissipazione possibile sulla scheda).

Altra cosa il firmware di S42B supporta solo fino a 32 micropassi (e la cosa è confermata nel manuale), non ci sono cenni a stepping maggiori e non si sa se implementano qualche funzione (in teoria è possibilissimo farlo) di interpolazione a stepping superiori (64, 128 o 256).

Sempre ieri ci sono state novità pure nel repo github di SERVO42B.
Per ora non ci sono ancora i sorgenti ma sono comparse le guide per compilarsi e flashare il firmware, quindi credo che sia questione di gg e comparirano anche i sorgenti del fw di SERVO42B.

Edit: infatti oggi 9 Gen sono comparsi i sorgenti
E sembra essere un porting (con modifiche / personalizzazioni) del Misfittech Nano Stepper firmware (che ufficialmente è per cpu SAMD) già in uso su S42A e SERVO42A e che è come già detto un fw interessante ed ancora in sviluppo (resta da vedere se ora Misfittech decideranno di aggiungere ufficialmente STM32 anche nel loro fw)

Mentre il firmware per S42B pare essere un progetto totalmente cinese che rischia di più di morire nel tempo (alias senza più aggiornamenti dopo le prime uscite), anche se penso che un porting del Nano Stepper si potrebbe fare, ci vuole però la parte per il nuovo encoder e per il driver diverso ma non dovrebbe essere troppo difficile.

A questo punto direi che encoder a parte e qualche pin più sulla scheda, SERVO42B è migliore di S42B.

In compenso il costo di S42B (ora finalmente è pure in vendita) è molto aggressivo.
Si parte da 12.73 con S42B in kit per Ender3, vari accessori (viti, distanziatori, rotella per Ender3) e Schermo Oled e magnetino (non si vede nella foto ma è citato nella lista componenti), passando ai 14.40E per altre stampanti ma senza schermo oled (15.10E se con schermo) ed arrivando ai 18.50E compreso di motore e tutto montato (ma è una vendita promozionale del lancio, il prezzo normale sarà più sui 22E poi).

Mentre per SERVO42B si parte da 15.90E senza schermo Oled ed arrivando a 18.40E con schermo.
In teoria a vedere le foto nonostante il prezzo basso sembrerebbe che vi danno pure il motore e tutto già montato, però non lo scrivono mai per esplicito (mentre su S42B è esplicitamente detto che a 18.50E vi danno pure un motore compreso).
Parlano sempre di scheda SERVO42B senza citare nessun motore ma poi mettono una foto della scheda montata su un motore.
Però se S42B lo riescono a vendere sui 18.50E con schermo e motore, non è inrealistico SERVO42B senza schermo ma con motore a 16.60E (o con schermo a 19.50E).

Anche se mi stavo orientando su altro (32bit + TMC2209) a questi prezzi e soprattutto con i sorgenti del fw ora disponibili, dei SERVO42B (migliore cpu) quasi quasi si possono prendere.
Poi se ci fosse pure il motore (che male che vada rivendi a 5-10E) diventerebbe ancora più appetibile, anche solo per fare da semplice encoder (lasciando dei TMC come driver).
Tanto schede solo encoder già fatte (e non solo chip sfuso) le trovo minimo a 15E (quando va bene, sennò almeno 22-27E) e se invece a 16-19E puoi avere anche tutto il resto (magari pure con motore) direi che vale la pena di comprarli anche solo per usarli come encoder.
Ed anche se su SERVO42B c'è solo un encoder a 12b e non a 14 o 15 bit come sugli altri progetti (MotorFish a parte che pure lui usa 12b) va ricordato che 12 bit sono sufficienti per garantire una precisione leggermente superiore ai 16 micro-passi, più che abbondanti per le meccaniche attuali, sarebbero pari a rilevare spostamenti di 0.97 centesimi di mm sugli assi x e y nel caso di cinghie GT2.

Edited 6 time(s). Last edit at 01/09/2020 07:01AM by FabryR.
Re: Driver in Closed Loop per Nema17 o Nema23
January 10, 2020 04:00PM
Anche perchè non è detto che ad un aumento di risoluzione corrisponda un aumento di precisione (cose ben diverse) da collaudatore di encoder (da18 anni) in una ditta che li fa posso dire che oltre i 13bit la precisione dei magnetici cala , non a caso oltre quella risoluzione passiamo all'ottico più costoso e ingombrante. Bisognerebbe guardare i datasheet perchè magari esistono chip magnetici più evoluti (e costosi) che superano questi problemi , ma visto il costo dei prodotti scritti sopra non è questo il caso.
Re: Driver in Closed Loop per Nema17 o Nema23
January 20, 2020 10:02AM
Arrivati i Servo42B.
Solo 11gg di attesa (dalla Cina).

Confermato che il motore è incluso ed è un modello MKS 4240-400 da 1A, 3 Ohm e 6.3 mH con dichiarati 400 N-cm
Sono più compatti dei Wantai che monto (che però sono da 2.5A 1.25Ohm e 1.8mH per 490 N-cm) che sono da circa 46mm di lunghezza.
Le dimensioni dei motori sono da 40mm di lunghezza (solo il motore) che con l'elettronica Servo42B montata diventano 51mm e 57mm circa se si mette anche lo schermo LCD

Però tutto finisce qui, credo (non sicuro al 100%, in ogni caso non va lo schermo) che siano partite tutte le elettroniche per un mio errato collegamento.
EDIT: Risolto leggi sotto

Purtroppo mi sono fatto ingannare da alcune scritte sull'adattatore per il socket driver che metteva DIR in un lato ed io l'ho montato allineando la scritta al pin Dir del socket.
Invece non c'entrava nulla e così l'ho messo esattamente al contrario di come doveva essere messo.

In ogni caso la schedina di adattatore realizza i collegamenti (da lato socket a lato connettore cavetto)
2 pin GND -> GND
1 pin 5V -> 5V
1 pin 15V -> Vmot
1 pin EN -> EN
1 pin STEP -> STEP
1 pin DIR -> DIR

mettendola al contrario dovrebbe aver realizzato invece
15v -> DIR
GND -> STEP
5v -> non connesso
GND -> EN
EN -> GND
CFG1 -> 5v
STEP -> GND
DIR -> Vmot

CFG1 è ponticellato e quindi porta +5V seppure a bassa corrente e EN è attivo e quindi anche lui porta +5V

Misurando con il tester a connessione giusta avrei avuto sui pin dell'elettronica (e fissato il pin di massa)
15V su VMot
5V su VLog
5V su EN
1.8-2.0V (variabile) su STEP
1.8-2.0V su DIR

Mentre con l'inversione ho avuto
-1.8V su VMot
0V su VLog
-5V su EN
-5V su STEP
+10V su DIR

Se ha fatto danni permanenti (però quel 10V su Dir potrebbe se non c'è protezione) non lo so con certezza fatto sta che la scheda si è attivata lo stesso mostrando però uno schermo LCD corrotto in cui non si leggeva nulla (ma lo schermo reagiva alla pressione dei tasti ed alcuni led si accendevano muovendo a mano il motore)

Risolto il problema del collegamento e con le tensioni ora corrette però non cambia nulla, mostra sempre uno schermo LCD corrotto, che però ancora si muove interagendo con i tasti (non si accendono invece più led muovendo il motore).
Avrò guastato la scheda ?
Avrò guastato solo lo schermo (purtroppo ne ho comprato solo uno anche se è un normale) ? EDIT non è così
Era già così fin dall'inizio ?
Non c'è guasto ma c'è altro ?

EDIT:
Dopo aver mandato il post sono riuscito a riavere lo schermo LCD OK, stavo giocando con i tasti a caso e gli ho fatto fare (senza vedere) un ciclo di calibrazione ed alla fine premendo qualche altro tasto lo schermo si è sistemato su un motore.
Però provando sugli altri 2 non ci sono riuscito inizialmente.
Ci sono riuscito collegando il cavo a Ramps già sotto-tensione.
Mi sa che è un problema di alimentazione allo start (o in alternativa dei falsi contatti sul connettore lcd), perché da accesso -> spento lo fa spesso il problema della grafica corrotta, mentre connettendo il tutto a sistema già avviato ed alimentato finora mi sempre apparso OK.

Bene non è tutto morto e lo schermo LCD per certo va e dice che c'è su il firmware 1.0.3
Fatto un ciclo di calibrazione per ogni motore e misurato l'errore finale con il test (dice 0.04 gradi di errore).
Altro per oggi non posso fare (ci ho già perso 4 ore che oggi dovevo dedicare a ben altro).
Quando avrò ancora tempo proverò a vedere se riesco a muovere il motore da codice (è messo provvisorio come secondo estrusore, e quindi devo ricompilare il fw per provare a muoverlo credo anche se non sicuro) e se non va ci sarà da capire se è un errore di config o l'inversione di polarità di oggi ha danneggiato l'interfaccia EN-DIR-STEP.

Edited 3 time(s). Last edit at 01/20/2020 03:06PM by FabryR.
Re: Driver in Closed Loop per Nema17 o Nema23
January 21, 2020 02:47PM
Guarda, per esperienza personale, le cpu sono ben corazzate contro queste cose. Nella sfiga ti funziona solo in un senso avendo distrutto solo la porta DIR della cpu.
In ogni caso seguo con interesse
Re: Driver in Closed Loop per Nema17 o Nema23
January 21, 2020 02:49PM
Ps: puoi mettere il link del venditore ove gli hai acquistati?
Re: Driver in Closed Loop per Nema17 o Nema23
January 21, 2020 05:55PM
Allora ragionandoci credo che il -5V arrivato su EN e STEP abbia fatto da nuova massa ed il

-1.8V su VMot
0V su VLog
-5V su EN
-5V su STEP
+10V su DIR

sia diventato agli occhi dell'elettronica come

+3.2V su VMot
5V su VLog (motivo per cui si è acceso tutto)
GND su EN
GND su STEP
+15V su DIR

Guardando gli schemi elettrici gli ingressi EN, STEP e DIR vanno al drain di un transistor PMOS (3 PMOS) e quindi non dovrebbero esserci stati danni perché la tensione over 3.3V non è passata oltre.
Lo schema usato è quello di un Bi-Directional MOSFET Voltage Level Converter 3.3V to 5V ed anche se gli è arrivato 15V invece di 5V credo che il convertitore l'abbia gestito in modo uguale proteggendo l'elettronica.

Allora li ho presi non ai prezzi bassissimi citati sopra perché non volevo aspettare 2 mesi ed allora li ho comprati su Banggood dove li ho trovati a 19,06E cad senza LCD e 22,58E cad con schermo LCD.
E ne ho presi 2 senza LCD ed 1 con LCD (anche perché se non hai almeno un LCD NON configuri assolutamente nulla non c'è nessun modo di configurare il driver se non hai LCD), a cui poi si sono aggiunti 1.30E di spedizione con consegna promessa entro TRE settimane (poi sono arrivati in 11gg solari).
Adesso costano pure di meno perché in questo momento sono a 17,11E senza schermo e 20,71E con schermo risparmiando 4.50E circa rispetto a quello che li ho pagati io (sped. stesso costo).

Come kit ti arriva una scatola contenente 1 motore MKS 4240-400 con il magnetino già incollato all'asse ed il Servo42B premontato, un cavetto corto (3-5cm) 4 poli per il collegamento dal Servo42B al motore, un cavetto da 60 cm a 6 poli (fili abbastanza spessi, diciamo poco più di 1mm con la guaina) connettorizzato ed un adattatore per socket SilentStepStick che fornisce il connettore per il cavetto da 60cm (l'altro connettore è sul Servo42B ).
Poi se hai preso il kit con schermo fuori dalla scatola trovi nastrata (quasi non lo vedevo e pensavo mancasse) la bustina con lo schermo Oled da connettere.

Con uno schermo puoi naturalmente configurare più motori, però mi pare che lo schermo non si possa spostare a corrente attiva (deve sempre disalimentare e rialimentare altrimenti non lo accende), ma non è un problema perché nella maggior parte dei casi non credo sarà lasciato lo schermo connesso, fatta la config sarà rimosso (se non si vuole vedere i dati).

Mi continua a fare il problema di grafica corrotta se accendo la stampante con tutto già connesso, per avere la certezza di aver lo schermo funzionante devo accendere la stampate e poi collegare il cavetto (quello da 6 poli) al Servo42B quanto tutto è già ben alimentato.
Spero che sia solo un problema dello schermo (di cui si può ignorare il problema) e non un malfunzionamento dell'intero Servo42B (mica puoi staccare ogni volta i cavi, accendere e riattaccare i cavi dopo un paio di sec).

Il servo42B è ben poco configurabile.
Ci sono solo 3 pulsanti con cui muoversi tra i menù dello schermo LCD.
Nessun altro accesso, non c'è neanche (salvo armarsi di saldatore o in alternativa riprogrammare il FW e poi usare i pin liberi dello schermo) la seriale che altre versioni (Mechaduino, Servo42A, S42A ma anche S42B ) offrono e con cui puoi anche programmare il driver.
Qui si deve fare tutto da schermo LCD con i pulsantini.
Facile da fare finché i motori ce li hai sul tavolo ma una volta montati sulla stampante non è più così agevole, anzi per alcuni assi diventa pure impossibile (non ci sta fisicamente lo schermo LCD o non passano le dita per arrivare a premere i tastini).

Come pulsantini hai NEXT, ENTER, EXIT che credo si commentino da solo cosa fanno (next cicla sulle opzioni, enter le seleziona, ...ecc)

Come menù hai:
Calibrate - avvia la calibrazione facendo un giro completo dell'albero motore ad uno step alla volta e memorizzando la non linearità dell'encoder usato
Test Cal - rifà il giro completo ed alla fine ti dice le statistiche dell'errore massimo rilevato (a me finora ha dato risultati tra 0.02 gradi di errore e 0.24 gradi di errore, ma spesso è sotto 0.04)
Current mA - permette di regolare la corrente inviata al motore da 0mA a 1500mA con step di 100mA
Microstep - permette di regolare il microstepping da 1 a 256 con tutte le potenze di due supportate (non credo faccia interpolazione, credo che questo sia solo il microstepping nativo)
Enable Pin - permette di impostare logica positiva (attivo +5/3.3V) o negativa (attivo a 0V) per il pin di EN
Dir Pin - le opzioni sono High CW e High CCW, che stanno ad indicare attivo alto per direzione in senso orario o attivo alto per direzione in senso antiorario.
Exit - Esce dal menù e torna alla visualizzazione dati di step, angolo attuale, errore attuale, ...ecc

Basta non c'è altro e come ho già detto non risulta esserci l'interfaccia seriale per un controllo da codice.
Poi l'interfaccia seriale la si ottiene se si vuole (però da usare con un fw customizzato).
Per esempio NEXT e ENTER sono proprio messi sui pin RX e TX della Serial1 e quindi saldando sugli interruttori si può tirarla fuori (finché nessuno preme i pulsantini puoi usarla come seriale), la Serial3 poi è pure del tutto libera ed inusata (però devi andare a saldare sui pin piccolissimi e ravvicinati della cpu, dato che non è connessa a nulla quindi direi quasi scartata) mentre la Serial2 è usata per il RedLed e per il pin EN (quindi non si può usare).
Di comodo c'è solo il connettore LCD (tolto lcd ovviamente) che offre 4 pin o per lo SPI Hw (ci sono due porte SPI Hw sul soc, una è usata dall'encoder magnetico e l'altra dallo schermo lcd se connesso) o per GPIO generico (e su cui puoi spararci un Software Serial per non saldare al fine di tirare fuori le seriali Hw).

Il firmware è un porting dichiarato del Nano_Stepper firmware con le seguenti modifiche:
  • Ported the project to STMicroelectronics' 32-bit MCU, STM32F103C8T6 ARM 32-bit Cortex™-M3 CPU Core,72 MHz maximum frequency,20k RAM. 64k Flash
  • Changed the magnetic encoder to Allegro's A1333LLETR-T Contactless 0° to 360° angle sensor IC ,12bit
  • Ported the compilation platform from arduino to PlatformIO —— Convenient for STM32 MCU compilation
  • Change the socket with motherboard, now it can work with much 3D printer motherboards using MKS SV_EXT V1.1 by Makerbase

ma credo che abbiano disattivato un po' di funzionalità, offrendo un servizio base base.
Non sono un esperto del Nano_Stepper FW ma mi sembrava avesse ben più funzionalità.
C'è anche da dire che Mechaduino, Smart/Nano Stepper, S42A e SERVO42A usano SAMD con 32KB ram e 256KB flash per il firmware, S42B e SERVO42B usano STM32 (Cortex M0 su S42B e Cortex M3 su SERVO42B ) con solo 20KB ram e 64KB flash per il firmware. La ram inferiore ma soprattutto lo spazio flash quattro volte inferiore influirà sulle funzioni che si possono tenere (il fw attuale di MKS ne usa comunque circa solo 24KB ).

Purtroppo riprogrammare il fw non è comodissimo, anzi i Servo42B sono i peggiori tra tutti da questo punto di vista.
C'è un connettore a 6 piazzole (ne pin ne fori) per il protocollo SWCLK-SWDIO-NRST, ma è dalla parte sbagliata del PCB.
Ossia devi smontare il Servo42B dal motore per accedere, in una prossima revisione (1.1 ??) già creata (ma non ancora in vendita) dicono che lo sposteranno davanti.
In ogni caso a guardare bene credo che si possa realizzare una basetta in plastica + cavetti di rame per realizzare la connessione (con collegamento contatti a molla) senza ogni volta smontare.

Per ora non ci ho fatto ancora nulla, ne ho uno connesso alla Ramps come Estrusore 2, però devo ancora modificare il fw per attivarlo (se riesco come asse aggiuntivo, altrimenti davvero come estrusore2) per provare a vedere se riesco a comandarlo.
In teoria volevo tenere i miei motori ed usare solo le schede Servo42B, però dovrei comprami i magnetini ed incollarli, comprarmi delle viti della lunghezza giusta per i miei motori, farmi il connettore per collegare i miei motori al Servo42B, ...ecc

Insomma viene forte la tentazione di usare i loro motori e tutto già montato, tra l'altro ho scoperto che sul mio asse Y è impossibile montare qualcosa sul sedere del motore che sia più spessa di 2-4mm.
Non c'è lo spazio fisico, o sposti il motore in avanti (che però significa ridisegnare il passaggio della cinghia e spostare le puleggie) o l'encoder (e quindi l'intero Servo42B ) devi metterlo lato puleggia con il magnetino messo sulla puleggia (perché se lo incolli all'asse, poi non togli mai più la puleggia).
Mentre il loro motore più Servo42B in alcuni lati è solo 44-45mm ed in altri 50-51mm e potrebbe starci al pelo con un certo orientamento di montaggio (e solo forse, magari pure lui per 1mm non entrerà), naturalmente senza nessuna possibilità di montarci lo schermo LCD (alias il gg che lo vorrai riconfigurare, o hai già su un fw custom con accesso via seriale/spi o devi smontare fisicamente il motore).

Vabbé tanto per ora l'idea di montarli fissi è ancora lontana (salvo magari per prova solo su un asse comodo come quello X o al più anche Z), tra l'altro dovrei rifare la cablatura della stampante per portare i segnali in più (i loro cavetti sono comodi ma per 2 assi su 3 sono troppo corti, mi avessero dato cavi di almeno 1 metro forse potevo usare i loro).

Edited 8 time(s). Last edit at 01/21/2020 07:38PM by FabryR.
Sorry, only registered users may post in this forum.

Click here to login