Newsgroup: it.hobby.elettronica.digitale
Titolo: Onda Quadra con PC: Meglio Seriale o Parallela?

Per pilotare un circuito (per produrre un'onda quadra) secondo voi è meglio
utilizzare la seriale o la parallela.
Io trovo più semplice la parallela (ho già creato i listati) ma vorrei
sapere se c'è qualche motivo per cui preferire una delle 2 porte.
--
Ciao, Ivan
----------------------------

la parallela ha un segnale TTL da 5V mentre la seriale e' da 12V.
La seriale e la parallela sono integrate nella mainboard e questo e' poco
sicuro dal punto di vista elettrico.
Io invece andrei sulla scheda audio potendo modificare anche l'ampiezza del
segnale.
Per la scheda audio inoltre esistono numerosi software e timer con
interfaccia grafica, alcuni sono completi di sorgenti.

 sapere se c'è qualche motivo per cui preferire una delle 2 porte.
Usando la parallela ti serve un programma che resti
costantemente occupato a scrivere il port ed aspettare
un certo tempo. Cosa impossibile da fare con un PC,
nel caso migliore avrai delle fluttuazioni casuali di fase
dovute alle continue interruzioni a cui e' sottoposta
la CPU. Molto dipende dal sistema operativo, con windows
potresti avere pause che vanno dai microsecondi all'infinito,
con sistemi operativi real-time hai delle pause di un tempo
massimo garantito, per esempio anche un solo millisecondo,
comunque troppo per generare un segnale.
Se hai un oscilloscopio, puoi vedere quanto sia instabile
un segnale del genere. Altrimenti collega un altoparlante
con una resistenza da un centinaio di ohm alla parallela
e prova a generare un segnale a 1 KHz o giu' di li' e
sentirai!
Usando la linea Tx della seriale puoi ottenere un segnale
perfettamente stabile perche' e' generato dai circuiti dell'
uart e non dalla cpu, ma non puoi regolare la frequenza
con molta precisione.
Inoltre la differenza e' nella tensione di uscita, la parallela
usa segnali TTL che variano da circa 0 a circa 3-5 volt,
la seriale usa segnali RS232 con una tensione che
varia da da circa -12 volt a +12 volt. Ma questo e' il
problema minore.

Grazie, entrambi molto esaustivi
--
Ciao, Ivan
----------------------------
www.revelteam.it
------------------------------

 potresti avere pause che vanno dai microsecondi all'infinito,
ecco io mi sto incasinando su una questione simile:
sarebbe possibile memorizzare con un pic i segnali della parallela anche se
incostanti come tempi ?
e contemporaneamente inviarli ad una uscita in maniera stabile, con
temporizzazioni corrette in base ad una media della velocita con cui
arrivano dalla parallela ?
---------------------------------------
oppure in modo da correggere si i dati come temporizzazioni, ma anche
possibilmente usare delle rampe di accelerazione o decellerazione  della
velocita dei dati.
insomma una correzione solo sui dati che escono con velocita troppo lenta o
troppo alta rispetto alla velocita media dei due dati prima dell'errore e
dei due dati dopo l'errore   , lasciando il resto aggiustato come tempi
crescenti o decrescenti .
insomma avete presente la gestione di un motore passo passo , con le sue
rampe di accelerazione e decellerazione ?
a me serve un processore (programma ovviamente !) che riesca ad accumulare i
dati in arrivo dalla parallela (almeno 4000 dati ) > li memorizzi come dati
e velocita di arrivo>li aggiusti come tempi se un dato o serie di dati
eccede una certa velocita (velocita che ovviamente e dinamica , in base alla
rampa crescente o decrescente)> li invii in uscita come se fosse la
parallela stessa a inviarli con regolarita .
ovviamente la correzione puo essere anche grossolana purche si riesca ad
evitare che il dato venga perso come passo dal motore , sol perche e
arrivato troppo velocemente di quanto il motore a passo possa eseguire .
insomma ce ne di lavoro da fare !!
si potrebbe fare secondo voi ?
e che micro ci vorrebbe per fare un lavoro del genere, basterebbe uno della
serie pic ?
se fosse possibile e qualcuno ha idee su come farlo si faccia sentire
in privato ovviamente !!
astenersi perditempo o incompetenti,.... e roba per esperti mi sembra ?
ciao

 velocita dei dati.
Sinceramente non mi e' chiaro che cosa vorresti fare.
Se vuoi generare direttamente via software con il pc i segnali
per azionare il passo-passo, allora non puoi metterci in mezzo
qualcosa che ti alteri questi tempi.
Il problema e' che con un pc non puoi generare temporizzazioni
precise via software.
Conviene allora usare un micro per comandare lo stepper, comprese
le accelerazioni. Il pc comunichera' al micro dei semplici comandi
ad alto livello per dire come deve muovere lo stepper, di quanti
passi, con che accelerazione, con che velocita', ecc.
O magari inviare al micro una serie di quote da raggiungere
ogni tot millisecondi e lasciare al micro il compito di interpolarle.
Sta a te decidere esattamente quali debbano essere queste istruzioni
in base a cosa deve fare tutta l'apparecchiatura.
L'importante e' che il tutto possa funzionare anche se il pc ritarda
un po' a inviare i dati.

 simili, ma anche micro piu potenti, abbia capito a cosa mi riferisco.....
Sara' che non sono tanto brava in programmazione, ma io non
ho capito cosa vuoi fare.
Hai scritto il software per windows e vuoi farlo funzionare
come vuoi tu?
Hai un software scritto da altri che non funziona e vuoi cambiare
le leggi della fisica?
Spiega tutta la storia dall'inizio cosi' che noi umani possiamo capire.

ciao Valeria
il discorso parte come da te intuito da molto lontano
esistono soft su win chiamati "interpreti gcode" che si occupano di
intrepretare i comandi gcode creati da un programma CAM in segnali di passo
e direzione
l'uscita e su porta parallela perche quasi tutte le elettroniche a livello
hobbystico ( e non solo ) sfruttano questa porta.
il problema é che sotto wind le temporizzazioni sono poco stabili ,
costringendo ad usare velocita ridotte tipo 200 step al secondo per evitare
di perdere passi
le rampe di accelerazione  e decellerazione servono per velocizzare gli
spostamenti a vuoto quando la fresa non sta lavorando
ed anche a fare in modo che in fase di avvio della rotazione dei motori pp
non ci siano troppe vibrazioni.
va da se che sarebbe piu semplice usare una velocita costante dei motori ,
ma le vibrazioni e gli attriti sarebbero deleteri anche per la meccanica
stessa della macchina, quindi le accerazioni decellerazioni  servono ! e non
se ne puo fare a meno! ,anche  perche il rendimento dei passo passo e piu
alto a velocita sostenute , piuttosto che a velocita basse.
quindi un sistema di un micro con  memoria tampone, che preservi le curve di
acellerazzione e corregga pilotaggi eccessivamente veloci , serve eccome !
per permettere di impostare sull'interprete una velocita di lavorazione piu
alta ed  aumentare la velocita finale dei motori , non esendoci piu la
possibilita di perdere passi a causa di win con le sue limitanti come
precisione di invio dei comandi .
comunque forse e un discorso troppo vasto per poterlo descrivere come si
deve in due frasi ...
considera comunque che un soft su micro di questo tipo e gia stato fatto ,
quindi la cosa e fattibile.
ovviamente si puo arrivarci, solo sé il programmatore collabora, con chi sa
gia come funziona elettronica e soft su wind !!
che scrive l'algoritmo da usare , ma che poi deve eventualmente provare il
funzionamento reale del micro , per vedere se funziona ed eventualmente
modificare qualche parte dello stesso algoritmo
ciao .
