Driver per motore passo passo (versione 1)
Specifiche
Il sistema digitale (SD da ora in poi) integra una UART mediante la quale un sistema esterno puù inviare dati. Ciascun byte ricevuto dal SD viene interpretato come una specifica di velocità di rotazione e direzione di rotazione per il motore passo passo. In particolare, il bit più significativo specifica la direzione di rotazione ('0' senso orario, '1' senso antiorario); i restanti bit (da 6 a 0 ) sono interpretati in binario naturale e il valore è proporzionale alla velocitò di rotazione. Il valore di rotazione minimo deve essere dell'ordine di mezzo giro al minuto. Quando lo SD riceve un byte in cui tutti i bit sono a 0, diventano attivi i pulsanti sulla schedina. Una breve pressione del tasto (il tasto rimane premuto per meno di un secondo) fa avanzare il motore di un passo in direzione oraria o onatioriari in dipendenza dal tasto premuto.
Se il tasto rimane premuto per oltre un secondo, dopo il primo secondo il motore si mette in moto (con direzione che dipende dal tasto premuto) con una velocità pari a quella che si otterrebbe se fosse inviato il valore di velocità “1” mediante la UART; dopo il secondo secondo il motore aumenta la velocità come se fosse stato inviato il valore “2”, dopo tre secondi il valore di velocità diventa quello corrispondente al valore “4” e così via (“8”, “16”, “32”) fino al valore di velocità corrispondente a “32”, dopo di che, se il tasto rimane premuto, la velocità dimane costante. Se in qualunque momento si rilascia il tasto, il motore si ferma e si ritorna alla condizione iniziale.
Il comporatmento nel caso in cui arrivi un byte sulla UART mentre si tiene premuto il tasto può essere specificato a discezione dello studente, purché sia chiaramente descritto e implementato di conseguenza.
N.B.: Motore passo passo e batteria per la sua alimentazione possono essere forniti dal docente.
