Go Down

Topic: controllare motore tergicristalli con IBT 2 bts7960  (Read 192 times) previous topic - next topic

GianRav

Buonasera, vorrei riuscire a controllare tramite arduino e questo driver un motore per tergicristalli. Volevo sostituire il motore, che si è bruciato, di uno schermo per proiezione che ho a casa montato a soffitto.
Il problema che ho in questo momento è che riesco a muovere il motore in una direzione, che sarà la discesa dello schermo, tramite un potenziometro, ma purtroppo non riesco a farlo girare nel senso opposto, o meglio, riesco a farlo girare ma il motore non ha la stessa potenza che nell'altro verso.
Ho controllato il voltaggio che il driver eroga quando il motore funziona bene, ed è 12,5v. Quando invece cerco di farlo girare nel senso opposto purtroppo misuro solo 0.75v. Secondo voi è andato il modulo?

I collegamenti sono i classici per questo driver:
PIN 7 -> 5v
PIN 8 -> GND
PIN 3 -> 5v
PIN 4 -> 5v
PIN 1 -> pwm 6 arduino uno
PIN 2 -> pwm 5 arduino uno

grazie

Maurotec

Quote
Ho controllato il voltaggio che il driver eroga quando il motore funziona bene, ed è 12,5v. Quando invece cerco di farlo girare nel senso opposto purtroppo misuro solo 0.75v. Secondo voi è andato il modulo?
Può essere pure ma in questo caso devi accertarti che il modulo funzioni per cui collegalo e usa il codice più semplice possibile, prima lo fai girare in un senso, poi un delay(2000), e allora lo fai girare nell'altro senso.

Niente potenziometri per il momento.

Domanda ma ha mai funzionato correttamente quel modulo con arduino?

Ciao.


GianRav

ciao grazie intanto per l'attenzione.
Questo modulo in particolare no, ne avevo uno prima che funzionava, ma per via di un corto si è bruciato.
Provo a fare come dici e vediamo

GianRav

buonasera, ho provato a scrivere un codice che mi permettesse di far ruotare il motore verso destra fermarsi e verso sinistra. Il motore non si muove minimamente.
vi posto il codice.

Code: [Select]
void setup() {
  // put your setup code here, to run once:
pinMode(12,OUTPUT);
pinMode(7,OUTPUT);
pinMode(9,OUTPUT);
motore_stop();

}

void loop()
{
motore_stop();  delay(1000);
motore_cw();    delay(1000);
motore_stop();  delay(1000);
motore_ccw();   delay(1000);
}

void motore_cw()
{
  analogWrite(9, 50);
  digitalWrite(12, HIGH);
  digitalWrite(9, LOW);
 }
void motore_ccw()
{
  analogWrite(9, 50);
  digitalWrite(12, LOW);
  digitalWrite(9, HIGH);
 }
void motore_stop()
{
  digitalWrite(12, LOW);
  digitalWrite(7, LOW);
  analogWrite(9, 0);
  
  }

Maurotec

Code: [Select]
analogWrite(9, 50);

Un valore di 50 per il PWM potrebbe essere insufficiente per fare muovere il motore.

Il massimo valore è,
Code: [Select]
analogWrite(9, 255);

Se i collegamenti sono corretti, l'alimentazione c'è e il motore non da segni, il modulo è guasto.
In verità occorrerebbe fare delle misure con il tester sul modulo non alimentato, perché solitamente un guasto del ponte H porta questo in corto circuito e questo con il tester si può verificare.

Ciao.

GianRav

Come posso verificare se la scheda è bruciata? come dovrei impostare il tester?

Grazie

GianRav

ultimo aggiornamento per chiudere il thread. Il modulo IBT2 era danneggiato e ne ho acquistato un altro, però per chi volesse utilizzare motorini dei tergicristalli deve tagliare il terzo filo di rame all'interno del motore, quello che non è direttamente collegato al positivo e al negativo. Altrimenti il modulo si surriscalda e non si riesce a comandare correttamente il motore.

Go Up