controllo motori

buonasera a tutti! premetto che sono un principiante. ho ricevuto da poco la motor shield r3 e con essa avevo l'intenzione di creare una macchinina. per il controllo del motore posteriore ok tutto a posto. ma anche davanti c'è un motorino e non un servo. questo è un micromotore da 1,5v, lo ho collegato, ho scritto un pezzo di codice e si muove ma non sempre a tutti i comandi che io gli ho imposto! e poi riesco a farlo girare solo da una parte e non dall'altra. se riuscite a darmi una mano, lo so che è una domanda stupidissima x voi ma non so come fare. grazie

Per aiutarti serve schema elettrico ( o buona foto) e sketch. Ciao Uwe

Ti consiglio di non usare più la forma "lo so che è una domanda stupidissima x voi ma non so come fare."

Qui tutti possono rispondere, anche quelli che sono alle prime armi, anzi sono i benvenuti. Ti consiglio di leggere http://arduino.cc/forum/index.php/topic,149082.0.html

Come dice uwe, servono maggiori informazioni. Puoi anche fare uno schizzo a matita e postare l'immagine scannerizata.

Ciao.

questo è il codice:

void setup() {
  
  //Setup Channel A
  pinMode(12, OUTPUT); //Initiates Motor Channel A pin
  pinMode(9, OUTPUT); //Initiates Brake Channel A pin
  //Setup Channel B
  pinMode(11, OUTPUT);//motor
  pinMode(8, OUTPUT);//brake
  
  
}

void loop(){
  
  //forward @ full speed
  digitalWrite(12, HIGH); //Establishes forward direction of Channel A
  digitalWrite(9, LOW);   //Disengage the Brake for Channel A
  analogWrite(3, 3000);   //Spins the motor on Channel A at full speed
  digitalWrite(11, HIGH); //Establishes forward direction of Channel B
  digitalWrite(8, LOW);   //Disengage the Brake for Channel B
  
  
  delay(1500);
  
  digitalWrite(9, HIGH); //Eengage the Brake for Channel A
  digitalWrite(8, HIGH); //Eengage the Brake for Channel B
  

  delay(1500);
  
  //backward @ half speed
  digitalWrite(12, LOW); //Establishes backward direction of Channel A
  digitalWrite(9, LOW);   //Disengage the Brake for Channel A
  analogWrite(3, 3000);   //Spins the motor on Channel A at half speed
  digitalWrite(11, LOW); //Establishes backward direction of Channel B
  digitalWrite(8, LOW);   //Disengage the Brake for Channel B
  
  delay(1500);
  
  digitalWrite(9, HIGH); //Eengage the Brake for Channel A
  digitalWrite(8, HIGH); //Eengage the Brake for Channel B
  
  delay(1500);

}

per la foto... beh ho solo collegato come detto nel codice, ho la motor shield che ho messo sopra ad arduino. ho collegato il motore posteriore al canale "b" e il motore anteriore che fa da sterzo al canale "a". mi dite per favore cosa ho sbagliato nel codice? grazie mille.

penso che il problema é che il motore per lo sterzo non deve essere pilotato in PWM ma in tempo. Sposta le leve di sterzo e poi quando é spento restano lí.

Poi analogWrite accetta valori tra 0 e 255 per la velocitá ma Tu metti 3000 che poi corrispondono a 184. Ciao Uwe

non ho capito la prima cosa che hai detto. potresti spiegarti meglio?
queste foto rappresentano come ho attaccato i fili. qualcuno ha voglia di aiutarmi nel progetto?

Dalle immagini sembra che usi lo spinotto USB per alimentare tutto, prova a fornire alimentazione separata, magari un pacco batteria.

Al momento non elementi per valutare e proporre una soluzione certa.

Ciao.

ecco proprio quello che volevo sapere, il pacco batteria a che pin lo attacco e quanti volt sono necessari? grazie

Qualcuno sa dirmi qualcosa? Grazie

Se fornisci alimentazione dallo spinotto, almeno 7 Volts li devi fornire, e massimo 20Volts, ma meglio non superare i 12.

Se invece scavalchi il regolatore di tensione entranto da VIN devi fornire 5Volts precisi e regolati, cioè ho fai un pacco batteria che al massimo della carica eroga 5 volts o oppure devi anche li usare un regolatore e il pacco deve avere tensione maggiore, quindi tanto vale usare un pacco batteria da poco più di 7 volts ed entrare dallo presa coassiale principale.

Comunque se fai una ricerca sul forum trovi un mare di post con risposte simile a queste ma con approfondimenti.

Ciao.

Quindi se uso la coassiale devo fornire almeno 7 volt. Ma se ho anche una motor shield con 2 motorini piccolissimi attaccati? Ne servono di più?
Grazie! Aspetto risposta!

Se invece scavalchi il regolatore di tensione entranto da VIN devi fornire 5Volts precisi e regolati,

Piú di 7 V sul connettore nero di alimentazione e a secondo della corrente richiesta non piú di 20 se richiesto poca corrente a 9V se richiesto molta corrente Piú di 6,4V sul pin Vin Esattamente 5V sul pin 5V.

Ma se ho anche una motor shield con 2 motorini piccolissimi attaccati? Ne servono di più?

Non servono di piú; lo stabilizzatore stabilizza 5V. Alimentando motori spesso la corrente disponibile é troppo poca ed é meglio alimentare la Motor shield direttamente con un alimentazione per i solo motori.

Ciao Uwe