fabry.180 Inserito: 10 aprile 2020 Segnala Share Inserito: 10 aprile 2020 Buonasera a tutti scrivo solamente per sapere da voi esperti se il seguente codice è corretto. Il mio progetto è quello di automatizzare tramite un motore stepper l'avanzamento di una macchina utensile in modo da non dover cambiare ogni volta le ruote dentate per modificarne gli avanzamenti. In stato di riposo lo stepper deve essere libero in modo tale da poter ruotale la manovella del macchinario mentre premendo un pulsante lo stepper farà ruotare la stessa manovella in avanti, per l'inversione di marcia porterò semplicemente i 5 volt al driver tramite un semplice interruttore. La velocità la regolo con un potenziometro,non mi sembra molto affidabile ma mi potrebbe anche andare bene cosi. Non ho capacità a fare qualcosa di piu evoluto. Attualmente uso Arduino Uno che sostituirò con Arduino nano per ragioni di ingombri,potenziometro rotativo 10k, stepper nema 17, driver basato su chip toshiba tb6600 alimentato a 12 volt. Ecco il codice: int enable = 8; //coppia motore int pull = 7; //impulso per lo step int marcia = 5; //pulsante di marcia int valpulsante = 0; int potenziometro = 0; void setup() { pinMode(enable,OUTPUT); pinMode(pull,OUTPUT); pinMode(marcia,INPUT); pinMode(potenziometro,INPUT); } void loop() { int leggipotenziometro = analogRead(potenziometro); int velocita = map(leggipotenziometro,0,1023,200,800); valpulsante = digitalRead(marcia); digitalWrite(enable,HIGH); if (valpulsante == HIGH){ digitalWrite(enable,LOW); digitalWrite(pull,HIGH); delayMicroseconds(velocita); digitalWrite(pull,LOW); delayMicroseconds(velocita); } else{ digitalWrite(enable,HIGH); digitalWrite(pull,LOW); } } Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora