Vai al contenuto
PLC Forum


Verifica codice Arduino


fabry.180

Messaggi consigliati

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


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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...