-
Gli switch case mi possono rallentare estremamente il codice in generale, e/o crearmi dei casini?
-
Dato che movimento molti stepper, sempre con circuiti sovradimensionati mi chiedevo se i campi elettromagnetici generati dalle bobine al loro interno potessero in qualche modo disturbare la comunicazione i2c... e poi mi chiedevo se fosse il caso di mettere qualche bel condensatore sulla linea di alimentazione, dato che ho visto che quando iniziano a muoversi il neon e i led dentro all'alimentatore sbrilluccicano... Mi ricordo dall'elettrotecnica che un'induttanza in alternata mi sfasa la corrente e la tensione e quindi va rifasata la linea, in continua questo problema non esiste però boh, nutro dei seri dubbi sul fatto che sti stepper non mi creino dei casini a livello di campi magnetici e mutue induzioni nel resto del circuito! potrei mettere quegli anellini di materiale ferromagnetico però cosa risolverei?
ciao Calamaro
Ogni comando che viene usato male puó creare casino. Sulla velocitá di esecuzione e sulle considerazioni di codice piú o meno veloce non posso dirti niente.
Per i disturbi eletromagnetici:
- i campo magnetici dei motori sono adeguatamente schermati dal ferro del motore.
- un altra cosa sono :
- spikes e abbassamenti di tensione dato dal assorbimento e comutazione dei avvolgimenti del motore.
- disturbi indotti da un cavo al alto perché sono messi vicino e non sono schermati.
Lo sfasamento é un problema solo in reti con tensione alternate.
L' induttanza con corrente continua ha 2 effetti: che la corrente quando si da tensione si alza lentamente e che quando si spegne la tensione l' induttanza cerca di mantenere la corrente alzando la tensione con polaritá inversa.
Il primo é un problema di "potenza" del motore perché a velocitá alte l' induttanza del motore non fa alzare la corrente e il motore ha meno forza. Contromisura é avere una tensione di alimentazione molto piú alta di quella teoricamente necessaria dato dal calcolo corrente per resistenza con una limitazione di corrente attiva fatta dal driver del motore. (chopper)
Il problema della tensione alta viene affrontato con i diodi polarizzati inverso che sono messi in paralello ai transistor del driver (interni o seterni a secondo del modello di driver) senó quelli per primi si romperebbero.
Altri disturbi possono essere dati dal consumo momentaneo di correnti troppo alti che fa abbassare la tensione di alimentazione (dato dal alimentatore sottodimensionato, dalla regolazione imperfetta del alimentatore nei casi di cambio di carico e dalla resistenza e induttanza dei collegamenti di alimentazione e piste sulla scheda.
Rimedi sono dei condensatori elettrolitici (valori non posso darti perchè dipende dalla corrente del motore) molto vicini ai pin di alimantazine di potenza dei driver e condensatori di 0,1µF sul alimentazione vicino ad ogni integrato.
Anche non fare passare i cavi dei motori vicino ai collegamenti I2C é un accorgimanto che auita a diminuite problemi di disturbi. Usare cavi schermati sia per l' interfaccia che per i motori e metere a terra la calza migliora.
Dei nuclei di ferrite vicino al connettore dei cavi motore pure migliorano.
Non tutti gli accorgimanti sono necessari. non é da discutere per i diodi; neanche per i condensatori.
Cavi schermati e nuclei di ferrite metterei quando ho dei problemi.
Non ho capito cosa intendi a dire con: "il neon e i led dentro all'alimentatore sbrilluccicano"
Ciao Uwe
Non ho capito cosa intendi a dire con: "il neon e i led dentro all'alimentatore sbrilluccicano"
io credo intendesse che cambiano di luminosità...diciamo che fanno un "sali scendi di luce )
alimento il mio arduino con un alimentatore atx che ho moddato... ci ho messo led blu e u neon solo perchè sono un truzzo ;D
ora però mi sa che ho fottuto il mio pc... non so come sia potuto succedere, erroneamente il pin 3 di arduino e il +12v hanno fatto contatto e il pc è morto improvvisamente. ora si accende ma non parte ne bios ne si accende lo schermo... avete un'idea di cosa potrebbe essere successo? almeno cosa dovrei dire all'assistenza? uff ci mancava solo questa...
comunque grazie per le risposte
Purtroppo sono cose che succedono...
Prova ad accendere il pc con un altro alimentatore, magari è saltato qualcosa e te la cavi con poco sostituendo solo quello. Occhio che potresti fare ulteriori danni se insisti ad accendere quel pc con l'alimentatore malfunzionante, rischieresti di rovinare altro hardware.
Saluti.
ciao t30
Sí, ok. ma quali neon?
Che alimentatore ha Calamaro? quanti e quali motori ?
Visto che avevo "stagionato" un po questa risposta hanno risposta altri.
PC non funzionante:
Calamaro fammi capire Tu hai usato l'alimentattore ATX sia per il PC che per l' arduino e per i motori?
Normalmente gli alimenattori sono protetti contro sovvratensione sui 5V e contro corrente troppo alte. Temo se qualcosa é rotto é l' erduino che non fa partire il pc o la matherbord.
Controlla le tensioni del Alimentatore.
In bocca al lupo.
Ciao Uwe
Ciao Uwe
io ho un portatile (dell inspiron 1525), l'atx è esterno!
al secondo 16 si vede!
comunque è un neon da scanner con relativo circuitino che una volta mi ha dato scossa assurda e mi ha rintronato un braccio! ;D
rido per non piangere... per fortuna che in famiglia siamo in 4 e abbiamo un pc a testa... spero che l'HD sia intatto, non posso perdere tutti i miei progetti...
tornando al numero di motori stepper sono una 50ina... avevo scritto il programma per il port expander e funzionava e ora l'ho perso... quanti moccoli :-X
ciao Calamaro
In boccal al lupo!!
Riguardante il Tuo problema pre-problema-PC
50 stepper sui 12V.
Vedo "solo" 2 problemi.
- nei alimentatori per PC la tensione piú importante sono i 5V e percui la regolazione agisce su quella. Le altre tensioni sono solo avvolgimenti supplementari del trasformatore del alimentatore. Queste tesioni son oabbastanza costanti perché il ramo 5V é costante e perché la tensione di uscita dei trasformatori dipende dal rapporto delle spire dei avolgimenti.
Nel caso tuo che metti tanto consumo sui 12V senza carico sui 5V possono esserci forti cambiamenti sui 12V senza la regolazione riesca ad compensarlo. Oltre questo gli alimentatori switching necessitano di un carico minimo sui 5V e 12V senó hanno problemi di regolazione. - la corrente é troppo alta. Il mio del PC da 12V e 12A su un ramo e 12V 16A sul altro. Non conosco il consumo dei Tuoi mtori, ma anche con correnti sotto mezzo Ampere arrivi facilmente vicino 28 Ampere che il mio alimentatore da 540W puó formire.
Tutte due cose possono dare origine a delle oscillazioni sui 12V epercui ai led e il neon che "farfallano".
Il "neon" é in veritá un tubo a catodo freddo che contiene una carica di vapori di mercurio e una polvere biancha che é flurescente e trasforma la luce UV del mercurio in luce quasi "bianca". Per farlo funzionare serve tensione intorno ai 160V. e quelli li senti bene quando li tocchi.
Poi un consiglio contro il mal di mare: quando fai i filmati muovi la telecamera meno veloce e meno a scatti. grazie.
Ciao Uwe
uhm vabbè il progetto non è proprio mio, io do una mano sul lato arduino... il progetto vero e proprio è di un ragazzo che studia a Firenze e chiedeva una mano qui sul forum... gli stepper non funzioneranno mai tutti contemporaneamente insieme, ma al massimo 8 alla volta proprio per dei limiti di sistema e di progetto... infatti io con una unica istruzione posso indirizzare al massimo 8 bit su un bus i2c che conterrà 7 pca9555...
da questa collaborazione ho potuto divertirmi con una cnc da 9000? che fino a quel momento era stata utilizzata solo per nabbate
non posso permettermi una videocamera migliore ora con il pc rotto è proprio sfumata l'idea di comprarla... se hai qualche consiglio generico sul progetto o sul fare soldi facili ;D (scherzo) spara pure...
che poi la cosa assurda è che arduino diecimila funziona ancora ma il mio pc è andato a pu*****... Assurdo! immagino che sia partito un circuito di protezione nel mio pc... speriamo bene!
ciao Calamaro
Stepper in contemporanetá: i stepper anche se sono fermi normalmente sono alimentati; solo se il driver é messo in standby non viene piú alimentato il motore.
Non ho commentato la Tua videocamera, ma la Tua mano poco ferma :o
Ciao Uwe
eh si tu hai ragione!
ahah eh vabbè sulla mano ferma non posso farci niente...
Ciao Calamaro.
Se gli switch ti creano problemi di velocità ci possono essere parecchi trucchietti con il c++.
Bisogna sapere esattamente cosa "switchano".
Se è un numerino ... sei a cavallo
C'è la possibilità di fare in modo che il "salto" sia sempre a costo 1, al posto di "n".
Basta sfruttare correttamente i puntatori