Circuito di controllo per Cnc

Salve a tutti, ho difficolta' a capire il "non funzionamento" del circuito che riportero' sotto in fidocad. E' una parte del circuito di controllo per Cnc e dovrebbe consentire il controllo sia da porta parallela che da porta di controllo manuale. In effetti, con la sola porta parallela o la sola porta manuale collegate, funziona tutto alla perfezione, ma connettendo entrambe le porte, cosa prevista dal costruttore, il controllo risulta sbagliato in quanto, se ad esempio controllo la direzione dello stepper manualmente, il cambio di direzione avviene solo se una delle due porte non e' connessa. Con entrambe le porte connesse, se cambio lo stato del pin tramite parallela, cambia anche lo stato del pin di direzione, ma lo stesso non cambia al cambiamento del pin di controllo manuale e viceversa. Per tentare di risolvere, ho provato a inserire un 74244 in serie alle uscite del controllo manuale per controllare, tramite l'enable, lo stato dei pin e la parallela funziona, ma dovrei addirittura inserirne un altro in serie alla parallela per non influenzare i pin nell'altro caso. Qualcuno ha qualche suggerimento? Su un'altra card di controllo, le resistenze sono da 470 e 56 Ohm e la connessione e' diretta senza fotoaccoppiatore, ma il risultato non cambia. Non e' che e' colpa mia che sbaglio qualcosa? Speriamolo, almeno qualcuno mi dice dove sbaglio e risolvo Grazie in anticipo Angelo

Reply to
Deh!
Loading thread data ...

1) colleghi 2 diodi con il catodo rivolto verso la parallela e la "0|5 v da up". 2) anodo in comune 3) resistenza da 150 in serie dopo gli anodi che va al foto.

saluti

Reply to
Franco Af

Il 31/03/2019 10:30, Franco Af ha scritto:

esclusa, altrimenti non funziona :) Devi prevederlo nella programmazione della parallela e dell'entrata manuale. Ovviamente se preferisci a 0 devi invertire tutti i colelgamenti compreso l'opto.

Reply to
Franco Af

Il 31/03/19 09:57, Deh! ha scritto:

A me pare una ca@@ata. Se l'ingresso da PC e' alto e l'ingresso da uP e' basso, la resistenza dell'opto passa da 150 a 75 ohm e la corrente sul diodo raddoppia.

Poi e' ovvio che funzioni, o malfunzioni, come descrivi tu. Il circuito e' semplificabile come una porta logica con la seguente tabella della verita' (ammettendo un pullup sulla linea utilizzatore):

uP ! PC ! Utilizzatore

----------------------

0 ! 0 ! 0 0 ! 1 ! 0 1 ! 0 ! 1 1 ! 1 ! 0

Quindi per lasciar funzionare il uP PC deve essere sempre a 0 mentre per lasciar funzionare il PC uP deve essere sempre a 1.

Poi una pulldown da 6M8 prima della porta invertente, e' ridicola non serve proprio a niente.

Reply to
Giuseppe³

Al posto della PullUp c'e' il Led del fotoaccoppiatore verso +5V.

Ed e' quello che succede... Quindi dici che l'unico sistema sia di interrompere anche il circuito dopo l'inverter e inserire un altro 74244 con relativo enable? Non c'e' un sistema meno complicato?

E chi glielo spiega all'ingegnere che l'ha progettato... Io il cinese non lo so! Comunque, dato che si tratta della parallela di un computer, potrebbe essere per scaricare a massa eventuali correnti parassite degli switching, in tanti anni ho visto anche di peggio! Grazie per aver risposto e se hai ulteriori consigli, non aspetto altro! Angelo

Reply to
Deh!

Il 31/03/2019 10:41, Franco Af ha scritto:

Ho paura che non funzioni, il uP lo programmo io, ma la parallela e' controllata dal Mach3, non ci sono enable e quindi l'uscita dell'inverter sara' sempre 0 o 1 dipendente da come e' rimasto il pin d'ingresso dopo l'ultimo azionamento. Ho paura che sia indispensabile un altro 74244 fra inverter e fotoaccoppiatore! Grazie per la risposta e resto in attesa di ulteriori aiuti Angelo

Reply to
Deh!

Il 31/03/19 11:13, Deh! ha scritto:

Sostituire l'inverter con una porta NAND a 2 ingressi. Il secondo ingresso diventa l'enable della linea PC quando e' alta.

Lo stesso deve essere fatto sulla linea uP ma con una porta AND a due ingressi.

Questo per mantenere la compatibilita' con lo stato attuale dei segnali. L'enable puoi darlo diretto sulla NAND e invertirlo sulla AND cosi' con un unico segnale abiliti l'uno o l'altro.

Reply to
Giuseppe³

descrivi anche cosa sono e come devono funzionare tutti i pin connessi in quel modo. se sono attivi sia a livello alto sia basso, non puoi fare quello che chiedi, se non aggiungi un modo per selezionare quale sorgente e' attiva, in pratica un grosso switch multivia a 2 posizioni. se invece sono attivi in modo pulsante, la cosa funziona, sempre che non usi entrambe le sorgenti contemporaneamente. mi viene da pensare che ci siano solo alcuni ingressi che andrebbero commutati, tipo la direzione di movimento di cui ti lamentavi, che io ho interpretato come livello 1=avanti e livello 0=indietro, per cui forse i componenti da aggiungere potrebbero essere molto pochi. intendo dire che la direzione da sola non comanda nulla sul CNC, ci sara' un altro ingresso per comandare la marcia, quando l'ingresso di marcia e' attivo il CNC determina la direzione del movimento leggendo l'ingresso di direzione, a te basta che il pin direzione che arriva al CNC sia quello giusto, o da parallela o da manuale, a seconda di quale pin di marcia e' attivo.

non so se mi sono spiegato.

Reply to
alfio

Il 31/03/2019 16:08, alfio ha scritto:

Come ho detto, si tratta di un controller per Cnc; la mia ha motori passo passo. Ogni asse ha un un pin di clock e un pin di direzione con livelli selezionabili. Il programma del computer, nel mio caso il Mach3, si occupa dei movimenti degli assi (tramite il GCode) e invia i dati dalla parallela verso la scheda di controllo che ha un connettore a 25 poli apposito. La mia scheda si connette all'altro connettore a 15 poli, anch'esso dedicato, previsto per ricevere lo stesso tipo di segnali e per il "volantino" (controllo assi manuale). Il circuito di "Enable" ha un suo pin dedicato con la stessa circuitazione, fa capo ad un solo inverter ed e' comune a tutti gli assi. Quello che mi torna strano, e' che si tratta di schede vendute in nmila esemplari e che abbia questi problemi solo io... mi fa venire il dubbio di non averci capito nulla. Inoltre, ho avuto il medesimo problema con due schede, entrambe commerciali e dedicate e che nessuno ci abbia connesso un volantino mi sembra strano; pero' il mio volantino non funziona come dovrebbe. Angelo

Reply to
Deh!

hai detto qualcosa in piu', ma per me non abbastanza. hai 3 motori passo-passo ? (X,Y,Z) ogni motore ha 2 fili di comando ? (clock+dir) lo stepper avanza sia sul fronte di salita sia su quello di discesa del clock ? solo su un fronte ? quale ? il circuito di Enable serve per dire al CNC che gli altri 6 segnali sono validi ? in totale 7 fili di comando da PC verso CNC ? ci sono ritorni dal CNC al PC ?

sei sicuro che il doppio ingresso non sia stato inserito semplicemente per poter scegliere se i comandi sono attivi a livello alto o basso ? anziche' per l'uso contemporaneo come vorresti fare tu ?

Reply to
alfio

Il 31/03/2019 17:43, alfio ha scritto:

Si.

Si, + un filo di enable comune a tutti gli assi.

No, solo sul fronte di salita.

Si, e controlla la corrente (selezionabile tramite dip switch) per lo standby.

No, ci sono ritorni a livello di controllo di sicurezza, ma non per il controllo del movimento in se.

A quello che ho capito, dovrebbe essere come dico io, anche perche' il programma stesso prevede l'inserimento di un controllo esterno di movimento, solo che non sono sicuro di come debba avvenire l'azionamento. In effetti il Mach3 (programma di controllo per Cnc), ha un casino di settings, alcuni dei quali sono bloccanti per determinate funzioni. Come saprai, le righe scritte in bianco nei manuali, appaiono solo dopo diverse letture delle istruzioni ed io ho il timore di non aver ancora raggiunto il numero minimo di letture per far apparire le righe che mi servono :-). Sotto la spiegazione dei contatti della porta parallela e manual control; lo schema che ho, e che posso eventualmente pubblicare, e' uno schema di principio, non sono riuscito a trovare quello originale. Angelo

Lpt Port 4 Assi Driver

  1. the 2nd output control (corresponding circuitry pls see RY2 on the board, for electric relay or PWM OC output control, output current=50mA, voltage = 24V)
2 :X axis pulse input 3 :X axis direction setting 4 :Y axis pulse input 5 :Y axis direction setting 6 :Z axis pulse input 7 :Z axis direction setting 8 :extending axis pulse input 9 :extending axis direction setting 10:LPT input signal 1 (corresponding IN1 on the board) 11:LPT input signal 2 (corresponding IN2 on the board) 12:LPT input signal 3 (corresponding IN3 on the board) 13:LPT input signal 4 (corresponding IN4 on the board) 14:NC 15:LPT input signal 5 (corresponding IN5 on the board) 16:all axis enable input 17:the 1st circuitry output control (corresponding circuitry pls see RY1 on the board, for electric relay or PWM OC output control, output current = 50mA, voltage=24V) 18:GND 19:GND 20:GND 21:GND 22:GND 23:GND 24:GND 25:GND

Manual Control Driver Port 15 Pin 1 :X axis pulse input 2 :X axis direction setting 3 :Y axis pulse input 4 :Y axis direction setting 5 :Z axis pulse input 6 :Z axis direction setting 7 :all axis enable input 8 :the 1st circuitry output control (corresponding circuitry pls see RY1, for electric relay or PWM OC output control, output current=50mA, voltage=24V) 9 :extending axis pulse output 10:extending axis direction output 11:extending axis enable output 12:the 1st circuitry input control 13:5V power ,20mA 14:Direct connecting to IN1 15:Power GND

Reply to
Deh!

facendo riferimento allo schema Fidocad che hai postato, i segnali che arrivano dal PC sono attivi a livello alto, mentre i segnali da comando manuale sono attivi a livello basso. innanzi tutto verifica che in Mach3 la configurazione sia giusta, ossia _NON_ c'e' la spunta su "Dir Low Active" e "Step Low Active". poi scrivi un mini programma di test, che faccia un movimento in direzione avanti, e un altro programma in direzione indietro, verifica al termine dei

2 programmi che l'uscita DIR sia lascia _BASSA_ dal Mach3. in pratica quando il PC non sta comandando nessun movimento (programma terminato) le uscite DIR e STEP _DEVONO_ essere a livello 0.

se non ho capito male, la parte di comando manuale (l'altro ingresso del CNC, il 15 poli) e' collegato ad una scheda fatta da te. qui devi modificare il tuo software perche' faccia quanto detto prima, ossia al termine di ogni programma/movimento, lasci le uscite STEP e DIR a livello _ALTO_

Reply to
alfio

Il 31/03/2019 18:50, alfio ha scritto:

Questi sono gli schemi (approssimativi) delle due interfacce che uso

formatting link

formatting link

Angelo

Reply to
Deh!

Il 31/03/2019 18:50, alfio ha scritto:

E' strano, ma il mio programa lascia i pin in tree state e quindi non dovrebbe influenzare il funzionamento della parte usata dalla parallela, ma non e' cosi'. Ho provato anche a inserire un 74Ls244, ma anche con quello, con l'enable disabilitato (= 1), il driver da parallela non funziona. O ci sono le streghe, pero' sono brave perche' influenzano anche l'oscilloscopio, oppure non ci capisco piu' nulla! Angelo

Reply to
Deh!

"Deh!" ha scritto nel messaggio news:q7qs6f$1e18$ snipped-for-privacy@gioia.aioe.org...

questa non si vede

qui si vede un enable per ogni asse, ma poco importa, come ho scritto prima, devi verificare come il programma Mach3 lascia i segnali STEP e DIR a fine programma, e anche la loro configurazione nel "Engine configuration Port&Pins"

Reply to
alfio

"Deh!" ha scritto nel messaggio news:q7qshm$1fok$ snipped-for-privacy@gioia.aioe.org...

prova a lasciarli a livello ALTO.

Reply to
alfio

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.