ARDUINO e Motori JC31-00075A e JC31-00090A

Ciao,

ho una dozzina di questi motori TRE CONTATTI JC31-00075A e JC31-00090A (vengono da stampanti laser Samsung) attualmente ancora sul loro PCB di controllo con un connettore 10 poli

Ho cercato su internet qualche schema per l'utilizzo ma NIENTE !

L'unica cosa sicura è che vanno a 24V, ma per il resto non sono sicuro di come poterli pilotare con un ARDUINO

Il connettore sul PCB riporta

+24V
+24V
PGND
PGND
BRAKE
+5V
SS
READY
CLK
CW/CCW

REGARDS

Hanno sicuramente un integrato che pilota gli avvolgimenti del motore. se non é sul lato oposto é sotto il rotore.
Dalla scritta dell conettore direi:

Il connettore sul PCB riporta

+24V alimentazione 24V DC polo positivo
+24V alimentazione 24V DC polo positivo
PGND massa
PGND massa
BRAKE entrata freno da mettere a L
+5V alimentazione 5V per l' integrato
SS presumo un altra entrata per attivare l' integrato.
READY suppongo che sia un uscita
CLK entrata velocitá di rotazione serve un segnale rettangolare.
CW/CCW entrata per direzione di rotazione; valori H/L

Per sicurezza non mettere le entrate direttamente a massa o 5V o a un uscita Arduino ma solo tramite una resistenza di 1kOhm. Cosí se un pin non é un entrata ma un uscita non rompi niente.
non so se il CLK deve partire da 0 e aumentare lentamente finche raggiunge i giri desiderati.

Ciao Uwe

@Uwe

Ciao, grazie per la risposta.

Credo di non essere ancora pronto per il passo verso questo motore (ne ho una dozzina e mi sarebbe piaciuto poterli sfruttare per far qualcosa al mio bimbo di 5 anni)

Con gli stepper "classici" non ho più problemi ma per questo mi pare sia un po' più complicato....(tra le tante credo NON sia uno stepper, il motore ha solo TRE fili)

Nessun problema per Alimentazione 24V, GND, +5V per alimentare l'IC, e il CW/CCW, ma per:

  • BRAKE (che intendi dire con "mettere a L")
  • SS (intendi dire che gli andrebbe mandato un segnale H/L o una alimentazione)
  • READY (dovrebbe restituire un segnale leggibile con una porta DIG del DUINO ?)
  • CLK ( :astonished: come si fa un segnale rettangolare ???)

Chiedo troppo :disappointed_relieved: ?

Lo so.... brutta cosa l'ignoranza =(, ma prometto, sto studiando e migliorerò in fretta

sí, brutta cosa l'ignoranza :wink: :wink:

Quello é un motore Brushless con l' elettronica di pilotaggio.

L intendo LOW percui massa.
SS: non sapre prova prima massa e se non funziona con +5V sempre con una resistenza da 1kOhm.
Ready non serve per il pilotaggio.
clk: come esempio blink.

Ciao Uwe

Prova fatta - Risultato: Arduino 1 - Gaetano 0 (sono io) - NON si muove NULLA :-(((

Collegato così:

+24V - 24V
+24V - n.c.
PGND - GND
PGND - n.c.
BRAKE - n.c.
+5V - +5 di Arduino
SS - (Con resistenza da 1Kohm) Provato sia GND che +5
READY - n.c.
CLK - pin 13
CW/CCW - pin 12[/li][/list]

con questo semplice Sketch (ma magari sbagliato)


int i;

void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT); //pin per CLK
pinMode(12, OUTPUT); //pin per CW/CCW
Serial.println(“START”);
digitalWrite(12, HIGH); //setto il verso di rotazione
//digitalWrite(12, LOW); // inverto il verso di rotazione
}

void loop() {

for (int i=0; i <= 1000; i++) { //aumento il valore per segnale rettangolare partendo da ZERO

Serial.print("Value: "); Serial.println(i); //stampo il valore di attesa per segnale rettangolare

//delay(50);
digitalWrite(13, HIGH); // set the CLK ON
delay(i); // wait for i/1000 second
digitalWrite(13, LOW); // set the CLK OFF
delay(i); // wait for i/1000 second

}
}

Dirrei motore 1 - Gaetano 0; Arduino sta solo in mezzo. :wink: :wink:

Non lasciare brake in aria ma prova anche quella di collegarla con un resistenza a massa o +5V (non so dirti cosa é giusto, devi provare entrambe le possibilitá).
Ciao Uwe

@UWE

Giusto !

Dai, provo anche questa, forse ha bisogno che il BRAKE stia L per partire....

Ti faccio sapere

Ciao

@UWE

Sei un grande… mi sa che ti adotto !

Connesso il BRAKE a GND con la resistenza da 1Kohm è partitooooooo

Adesso devo fare un po’ di prove per vedere con che tempi fare il segnale rettangolare (o hai indicazioni anche per questo :grin: )

Prove fatte con questo sketchettino.

Il motore a certi valori della variabile “soq” bassi (al massimo 15/16) parte, o almeno, si muove cercando di accelerare ma poi singhiozza come se perdesse il synchro.

Credo che abbia bisogno di una RAMPA per poter raggiungere i 2400 rpm che potrebbe fare, per adesso ha fatto solo qualche spunto con qualche giro (10/15) e poi ricomincia il sighiozzo

Ho provato a far salire più rapidamente abbassando o aumentando il valore max del ciclo della var “i” ma nulla è cambiato

La vedo BIGIA =(

long 1;
long soq=0;

void setup() {
Serial.begin(9600);
pinMode(12, OUTPUT); //pin per CLK
pinMode(13, OUTPUT); //pin per CW/CCW
Serial.println(“START”);
digitalWrite(13, HIGH); //setto il verso di rotazione CW

}

void loop() {

for (int i=0; i <= 100; i++) { //aumento il valore per segnale rettangolare partendo da ZERO

//delay(50);
digitalWrite(12, HIGH); // set the sgn CLK ALTO
delay(soq/10); // wait for soq/1000 second
digitalWrite(12, LOW); // set the sgn CLK BASSO
delay(soq/10); // wait for soq/1000 second
}
soq = soq + 1;
Serial.print(" Pausa : "); Serial.println(soq-1); //stampo il valore di soq per sq sgn