Reprap e tesina maturità
March 06, 2017 05:17PM
Ciao a tutti, sono in 5a studio elettronica e elettrotecnica e quest'anno agli esami devo presentare un progetto e la relativa tesi, come progetto avendo già da tempo una stampante ho pensato di raccogliere un po l'esperienza fatta e riprogettarmi la mia stampante partendo da una Prusa i3 e applicando quelle che sono per me delle migliorie o semplicemente funzionalità aggiuntive, per quando riguarda la tesi ho iniziato a raccoglire informazioni prima di stendere lo scritto ma ho pensato di sfruttare il forum per vedere se magari trovavo idee originali da sviluppare, devo portare obbiettivamente un argomento a materia che sono:
Italiano e storia (storia sviluppi della tecnologia dagli inizzi dell 900), Matematica (pensavo di portare gli algoritmi e calcoli alla base dei programmi anche se è difficile trovare materiale), Inglese (stampa 3d nella società contemporanea e applicazioni), Elettronica e macchine elettriche, Tpsee (progettazione elettotecnica in pratica), Sistemi automatici (magari un analisi del programma in Arduino), Motoria (stampa 3d in medicina e nella riabilitazione)
Queste sono alcune idee, se qualcuno avesse voglia di buttare qualche idea fantasiosa poi ovviamente penso io a fare ricerche o sviluppare
Ringrazio tutti in anticipo
Simone
Re: Reprap e tesina maturità
March 06, 2017 07:11PM
Italiano e Stroria..potresti dare un'occhiata alla Olivetti, che ha fatto la storia dell'elettronica in Itralia, anche delle stampanti, e oggi ha una linea di stampant 3d in collaborazione con un'altra azienda
potresti anche (per italiano) fare una relazione sull'uso nel tempo dei termini tecnici che una volta erano in italiano, alcuni, mentre oggi spesso si usa solo l'inglese (a differenza dei francesi che hanno mantenuto una forte localizzazione dei termini tecnici in francese)


Disclaimer: io ce la metto tutta a darti consigli sensati, sta a te non incendiare nulla :-)
CoreXY HyperCube. [www.thingiverse.com] | Cerchi test? Make: test set: [www.thingiverse.com]
Re: Reprap e tesina maturità
March 11, 2017 01:40PM
Ciao grazie per la risposta,
Ho iniziato a informarmi un po e ho deciso di olivetti in un discorso sul rapporto tra uomo e tecnologia visto dal atraverso la letteratura, la seconda idea la trovavo più attraente però non posso presentarla perché non è considerata letteratura.
Sapete per caso dove posso trovare materiale sulle basi degli algoritmi matematici che fanno andare programmi sia quello interno ad arduino (io uso marlinkimbra magari saperi orientare in che sezione si eseguono appunto i calcoli come la conversione da coordinate a giri degli step) oppure la logica che seguono gli slicer e che posso analizzare matematicamente?
Saluti
Simone
Re: Reprap e tesina maturità
March 11, 2017 01:43PM
Miii bella roba... Qualsiasi domanda disposto a rispondere...
Purtroppo no c'è un posto dove trovare tutto tutto, ma è tutto sparso per la rete...
Ma se posso aiutarti in qualche modo sono quà...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Reprap e tesina maturità
March 11, 2017 02:40PM
Ciao, grazie per la disponibilità, proprio perché non ho trovato nulla in giro mi piaceva l'idea che se riuscivo a fare un bel lavoro potevo anche pubblicarlo nel forum e magari qualcuno poteva trovarla interessante come lettura o per avere qualche concetto di base da approfondire in seguito.
Sto cominciando per ora ad analizzare il fw in modo più approfondito di quanto fatto fino ad ora per trovare appunto quello che è il "loop" che viene eseguito e che appunto esegue i calcoli, in questo modo spero di riuscire a ricreare il processo in formule che porta alla stampa vera e propria
Re: Reprap e tesina maturità
March 11, 2017 03:55PM
Ti spiego a parte alcune cazzatine (questo però non metterlo nella tesina smiling smiley ) nel loop c'è ben poco...
I fw funzionano tutti con i timer. Ogni processore ha un timer che se opportunamente settato ogni volta che passa quel determinato tempo chiama una routine.
Nel fw MK cosi come in Marlin e Repetier ci sono due timer uno per gli stepper e uno per la temperatura.
Praticamente in parole povere il loop nel fw gestice il display se c'è e legge nella seriale o sd se si è fatto partire una stampa da sd.
Dopo di che sempre nel loop viene processato un comando GCODE che se è uno di movimento viene messo in planning, cioè viene pianificato un movimento, quindi viene preparate una variabile block che contiene i movimenti per ogni singolo asse...
Fine del loop...

Invece a ogni chiamata timer le varie routine fanno quello per cui sono chiamate... Per esempio quando viene chiamata la routine stepper circa 20000 volte al secondo in una 8 bit e circa 300000 volte al secondo in una 32bit controlla se nella variabile block ci sono step da fare per ogni singolo asse e genera l'impulso step per il motore..
Invece la routine timer della temperatura circa ogni 1000 volte al secondo controlla le sonde e ne calcola dal valore letto in digitale la temperatura con le varie tabelle di conversione...
Quindi se vai a vedere il ciclo loop vedrai ben poco. Perchè il grosso è proprio nei file stepper, planner e temperature che sono quelli che fanno un po tutto.. Gli altri file sono solo ammennicoli vari...

Questo è in Stepper:
/**
 * Stepper Driver Interrupt
 *
 * Directly pulses the stepper motors at high frequency.
 * Timer 1 runs at a base frequency of 2MHz, with this ISR using OCR1A compare mode.
 *
 * OCR1A   Frequency
 *     1     2 MHz
 *    50    40 KHz
 *   100    20 KHz - capped max rate
 *   200    10 KHz - nominal max rate
 *  2000     1 KHz - sleep rate
 *  4000   500  Hz - init rate
 */
HAL_STEP_TIMER_ISR {
  HAL_timer_isr_prologue (STEPPER_TIMER);
  #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE)
    Stepper::advance_isr_scheduler();
  #else
    Stepper::isr();
  #endif
}

Questo in Temperature:
/**
 * Timer 0 is shared with millies so don't change the prescaler.
 *
 * This ISR uses the compare method so it runs at the base
 * frequency (16 MHz / 64 / 256 = 976.5625 Hz), but at the TCNT0 set
 * in OCR0B above (128 or halfway between OVFs).
 *
 *  - Manage PWM to all the heaters and fan
 *  - Prepare or Measure one of the raw ADC sensor values
 *  - Check new temperature values for MIN/MAX errors (kill on error)
 *  - Step the babysteps value for each axis towards 0
 *  - For PINS_DEBUGGING, monitor and report endstop pins
 *  - For ENDSTOP_INTERRUPTS_FEATURE check endstops if flagged
 */
HAL_TEMP_TIMER_ISR {
  HAL_timer_isr_prologue(TEMP_TIMER);
  Temperature::isr();
}

E sono queste le routine che fanno il grosso. Qualsiasi cosa stia facendo il processore viene interrotto (Interrupt) dalla chiamata timer e vengono richiamate queste routine le quali svolgono il lavoro di muovere il tutto e regolarne la temperatura in maniera precisa...
Tutto il resto del tempo il processore fa altro...
Giusto per capirci un mega esegue 16 milioni di operazioni al secondo quindi quelle 20000 volte al secondo sono un'inezia per lui.. Un processore Arduino due 84 milioni di operazioni al secondo...
E già sono numeri mostruosi ma piccolissimi rispetto a un processore I7 di ultima generazione con 4 o 8 o 16 core che riesce quindi a fare anche 4 o 8 o 16 X 4 miliardi di operazioni al secondo..


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Reprap e tesina maturità
March 11, 2017 04:10PM
Ah ok ora ho capito in generale come funziona, inizio ad studiare sul programma poi aggiorno e magari ti rompo le scatole ancora un momento
Grazie ancora
Sorry, only registered users may post in this forum.

Click here to login