Show Posts
Pages: 1 [2] 3 4 ... 22
16  International / Generale / Re: Lettura valori sensore di pressione on: August 11, 2014, 09:41:29 am
io ho usato molte volte i sensori di pressione assoluta (ma da range 0-3,5 Bar) con range lineare che partivano da 0,5V e finivano a 4,5V, e con arduino, l'uso della funzione map() come ti ha indicato Brunello è l'approccio corretto, ma ovviamente, di sicuro ne esistono di altre altrettanto valide.   Purtroppo la tua applicazione di quel metodo ha peccato dei valori float invece di int come ben ha fatto notare cyberhs,    Se usi i valori così come te li ha indicati Brunello, cosa ti da?  Di solito i sensori hanno comunque un range oltre i 4,5V ma li perdono precisione e quindi il fabbricante limita il range a quello lineare e preciso, almeno, così erano i sensori con cui ho lavorato.

il problema della precisione è dovuto al fatto che il convertitore AD è a 10 bit quindi solo 1023 campioni per poter spaziare da 0 a 600 bar,  MA...   nel nostro caso, la nostra lettura inizia a 0,5V (quindi equivamenti a 102,2997 = 102 ) e quella massima di 4,5V (equivalente a 920,69727 = 920) e quindi, il tutto, dal valore minimo al massimo di lettura del sensore, è di 920 -102  = 818  questo significa che per ogni unità di lettura ADC, la pressione salirà di :  600 bar / 818 = 0,7334963 bar ( poniamolo a 0,73 bar per comodità)  questa è la pressione minima che puoi leggere dal tuo sensore, ma considerando che il canale ADC spesso non mantiene una lettura fissa ma leggermente fluttuante, è facile che ottieni letture leggermente fluttuanti.  La funzione map() semplifica quest0 calcolo non di poco, quando usavo i basicx BX24 prima e i picaxe poi, di doveva fare una serie di calcoli come quelli indicati da Mennitti.

Giusto per farti stare meglio sulla precisione, sulle centraline delle auto (sia stradale che da corsa) la fluttuazione dei valori rilevati dai sensori è sempre presente (almeno per quelle con ADC a 10 bit, infatti, i sistemi più recenti, usano ADC a 12 e 16 bit che garantiscono una risoluzione ancora maggiore dei mV misurabili)

Ovviamente, con la funzione map() se la tensione fosse al di sotto di 0,5V incomincieresti a vedere "pressioni" negative e se superiore a 4,5V pressioni oltre i 600 bar, quindi verifica con un buon multimetro, se la tensione che simuli è davvero quella che il tuo alimentatore ti dice di star erogando (si sa che avvolte piccole imprecisioni siano possibili, specie su prodotti non professionali di un certo livello).

Per verificare quale possa essere il tuo problema, prova a fare un Serial.print dei dati ADC letti e poi della loro conversione, poi verifica manualmente, se ad un determinato valore ADC corrisponde davvero la conversione fatta dalla funzione map()
17  International / Generale / Re: Limitatore di velocità veicolo on: August 11, 2014, 09:04:15 am
l'integrato da usare dipenderà dalla grandezza (e quindi dal suo assorbimento) del solenoide, dovresti procurarti il datasheet del solenoide.   Ci sono diversi integrati che potresti usare se il solenoide non è molto "vorace" in corrente, per esempio un Darlington driver come l' ULN2003 che ha 7 darlington al suo interno, ogn'uno di essi può fornire fino a 500mA e possono essere messi insieme più di uno in parallelo per raggiungere correnti maggiori, anche se io al massimo userei 2  uscite in modo da avere fino ad 1A di corrente.   Esistono anche integrati singoli che possono fornire fino a 12A di picco o 8A costanti come il BDX53 ma richiedono l'implementazione di altri componenti (come il diodo di protezione contro correnti di flyback).  Ti consiglio di consultare le ottime guide di  "piggy" li potrai trovare tutte le idee per pilotare solenoidi ad Arduino.  Quelli che ti ho indicato, sono solo alcuni di quelli che ho utilizzato in passato per pilotare carichi induttivi come motori DC e solenoidi.  Volendo, potresti anche usare un L298N, che potrebbe esserti utile anche per pilotare fino a 4 solenoidi (solitamente, viene usato per pilotare motori passo passo bipolari).

 
18  International / Generale / Re: Info pilotaggio relè da remoto on: August 08, 2014, 06:21:02 am
Parlo da "principiante" quindi prendilo con le "pinze",  dipende dalla estensione del tuo codice e dalla giusta implementazione delle variabili in RAM, se sai giostrare correttamente, penso che potresti anche farcela, ma non conoscendo cosa stai facendo, onestamente non saprei dirti di più.   

Per il fatto che si blocchi, questo è strano, ma non impossibile, anche a mè mi è capitato di bloccare la UNO dove nemmeno il reset sortiva effetto, se non ricordo male, aveva a che fare con la seriale, ovvero, se tentavo di spedire al PC una mole di dati che in realtà, nel mio caso, bloccava l'IDE e anche la UNO, solo un riavvio dell'IDE e un riavvio della UNO normalizzava la cosa, da premettere che potrebbe essere anche un problema del mio PC, non so.

Perchè non posti lo sketch, così gli utenti più esperti ti potranno dare consigli più utili.

Sulla potenza della UNO, io posso dirti che ci sto facendo una "centralina Gestione Motore" e fino  ad ora, se la sta cavando benissimo  (mediante l'uso degli interrupt e dei timers più lo sfruttamento di codice C puro in alcune funzioni "critiche" per ottimizzare il corretto funzionamento, fino ad ora sono a buon punto), peccato che la EEPROM è troppo piccola per contenere tutte le mappe necessarie, e quindi presto farò un porting verso un micro più capiente (Atmega1284p)  e forse in futuro, quando avrò perfezzionato il tutto, verso un bel 32 bit (sempre atmel, ma non la DUE, troppo grosso e poco "Automotive")...
19  International / Generale / Re: Limitatore di velocità veicolo on: August 08, 2014, 06:02:19 am
Ah, OK.   Quindi, da quello che ho capito, userai degli attuatori (solenoide) pneumatici per la regolazione della pressione dell'aria che immagino, vada a muovere un pistone pneumatico che andrà a contrastare il meccanismo di regolazione della potenza del motore (immagino sia tipo quei sistemi presenti sui camion di qualche decennio fa a pompa meccanica)...
20  International / Generale / Re: Limitatore di velocità veicolo on: August 06, 2014, 05:34:46 pm
il limitatore di velocità a  cui si riferisce è per veicolo industriale, come del resto, anche i camion sono limitati a 80/90 km/h e certe vetture a 250 Km/h (come le BMW 335d che con un pò di mappa ed il limitatore alzato, poi fa oltre 280km/h !!)

il Cruise control è un'altra cosa, esso mantiene in ogni condizione di carico (salita, discesa o pianura) una velocità impostata dal conducente tramite pulsanti sul volante, per questo tipo di "funzione" le cose si complicherebbero un bel pò, per fortuna, non è il caso del progetto in questione.

Per rendere il taglio progressivo, dovrai creare delle zone "cuscinetto" in prossimità alla frequenza dove corrisponde la velocità da "limitare"  diciamo che se a 90km/h corrisponde una frequenza di 200Hz  non possiamo tagliare tutto, ma dobbiamo incominciare a tagliare già un pò prima in maggior grado e man mano ci si avvicina al target ridurre l'entità del taglio, così eviti tagli bruschi e la senzazione "on/off"  se fosse impostato con un semplice "if (Frequenza > 200) {...fai questo...}

21  International / Generale / Re: Limitatore di velocità veicolo on: August 04, 2014, 11:53:25 am
Assolutamente no...altro ke illegale...di serie si chiama cruise control...e controlla la velocità potendola impostare a qnt si vuole...il limite sul veicolo industriale é 90/h...quindi...appena testo lo sketch posto tutto...potrà servire...
Anche se nn mi è chiaro come regolare la tensione e come la corrente...cambiando il duty cicle che cosa varia?

Ciao, da quello che sò, variando il dutycycle, staresti variando la corrente assorbita dal solenoide, ma anche la tensione "relativa" che arriva al dispositivo, diciamo che se il solenoide lo alimenti a 12V, visto con un multimetro, avresti letture anche al di sotto della tensione di alimentazione, ma visto con un' oscilloscopio vedresti che la tensione è sempre 12V, ma dura pochi millisecondi se il dutycycle è basso, diciamo 5% il tempo che intercorre tra due picchi "alti" dipende dalla frequenza (se non ricordo male, Arduino lavora a 488 Hz ma non su tutti i pin, dai un'occhiata al datasheet).  Per la stessa ragione, stareste limitando anche la corrente "erogata".
Ulteriori chiarimenti te li potranno dare gli utenti esperti di Elettronica, io sono solo un "autodidatta" quindi più propenso alla pratica, che alla teoria pura...

Curiosità, immagino che una volta che avrai risolto i problemi del rilevamento dei segnali, dovrai implementare un sistema per rendere il "taglio" dolce e progressivo, se avvenisse "brutalmente" il veicolo potrebbe avere una brutta guidabilità in prossimità del limitatore.  Diciamo che dovresti pensare a qualcosa che funzioni come il PID ma senza le complicazioni che la sua implementazione comporta.
22  International / Generale / Re: Limitatore di velocità veicolo on: July 27, 2014, 12:00:04 pm
Il progetto deve funzionare cosi:
se ho un ingresso high da interruttore arduino deve leggere il segnale in ingresso dal sensore e ad un certo valore deve abilitare un'uscita pwm. ok? Io ho realizzato questa parte di codice (conta l'ho messo per vedere se entra nella routine)
Però ho un probl....quando apro il monitor seriale dopo un pò mi si blocca!! Come alternativa all'interrupt non va bene il codice che segue?
Code:
int sensorpin = 2;
int sensorValue = 0;
int pinprova ;
int conta = 0;
void setup() {
  pinMode(pinprova, INPUT);
  pinMode(sensorValue, INPUT);
  Serial.begin(9600);
}

void loop() {
    pinprova = LOW;
    pinprova = digitalRead(3);
   if (pinprova == HIGH){
     Serial.println("ATTIVATO");
     conta = conta + 1 ;
     sensorValue = digitalRead(sensorpin);
     Serial.println(sensorValue);
     Serial.println(conta);
     pinprova = LOW;
}
}




Considerando il tipo di task "critico" che devi fare, anche io ti consiglierei di lavorare con gli interrupt, se fatto bene, non ne perdi neppure uno di impulsi, come vuoi fare tu, è probabile che qualcuno lo perda, risultato, la velocità rilevata sarà più bassa di quella effettiva e questo ti potrebbe portare grosse rogne.  Nei mesi scorsi io ho acquisito tramite interrupt un segnale simulato ruota fonica 60-2 e il "povero" Arduino se l'è cavata benissimo fino a oltre 8000 rpm simulati, quindi puoi stare tranquillo, con l'uso dell'interrupt ce la puoi fare, devi solo avere chiaro cosa fa il sensore tachimetrico come segnale output.
23  International / Generale / Re: Determinare se una luce è accesa con Arduino on: June 18, 2014, 08:14:30 am
io personalmente, preferirei la soluzione della fig. A allegata da Guglielmo, un fotoaccoppiatore ti garantisce un buon isolamento dalla rete 220v ed è molto semplice da mettere in funzionamento.  Ma anche la scheda di RobotItaly non sarebbe male, ma costa di più della soluzione a fotoaccoppiatore.  Comunque sia, fai molta attenzione a cosa e come colleghi tutto, in effetti, la 220V e molto pericolosa per le persone ed arduino.

24  International / Generale / Re: problemi caricamento sketch on: June 18, 2014, 07:58:14 am
A me  succedeva moltissime volte con arduino uno. Basta che tieni premuto il tasto rest, colleghi arduino alla usb mantenedolo premuto, fai l'upload del programma e poi lo lasci. Di solito entro una o due volte il problema si risolve

A me è capitato quando ho fatto la prima volta una UNO stand alone in breadboard, alla fine non facevo correttamente il reset (o meglio, lo avevo collegato come descritto in vari tutorial, con e senza resistenza, ma alla fine, solo collegando il pin di reset della board UNO originale con il pin di reset del 328P nella breadboard mi funzionava correttamente.

@dadduni:
Di quanto hai messo le resistenze di limitazione di corrente per i 3 pin del LED RGB?  magari prelevi troppa corrente dai pin di Arduino, o magari è lo stesso LED a puzzare! Mi pare di ricordare che questi led RGB funzionano ad una corrente leggermente inferiore rispetto ai LED monocromatici.

Giusto per controllo, potresti fare questo:

Collega i 3 pin a 3 LED separatamente e mettili in test per il tempo che solitamente "succede" il problema,  e poi rifai la prova senza nessun led collegato.  non si dovessero presentare problemi così, allora il tuo "sospettato" sarebbe il LED RGB, altrimenti, se perdi comunicazione anche senza collegare i led, allora probabilmente, hai un arduino difettoso.

Giusto per caso, ma durante il funzionamento, il tuo arduino deve spedire dati (tanti) alla seriale del PC ?  a me mi è capitato qualche volta di bloccare il PC dopo molto tempo di ricezzione di grosse mole di dati (a gran velocità) in tal caso però, mi si bloccava il PC (quindi lato PC) e dovevo riavviare l' IDE  staccare e riattaccare il cavo USB (questo sia con IDE 1.02 che 1.04, che 1.05, con quest'ultimo capitava più spesso).
  
 
25  International / Generale / Re: problemi caricamento sketch on: June 16, 2014, 04:59:18 pm
Quando ho fatto la mia prima applicazione in breadboard con il 328P, anch'io ricevevo grossomodo gli stessi errori, alla fine, era il reset (adesso non ricordo bene, stavo tentando di programmare uno sketch...) hai controllato se il reset per caso si sia scollegato? il fatto che il led continui a lampeggiare è segno che la MCU è buona, ma ovviamente, se fosse successo qualcosa ai pin della seriale questo non saprei, tutto può essere.  Verifica che tutti i pin RX, TX, GND e Reset siano correttamente collegati e ritenta (prova anche a riavviare l'iDE e a scollegare il cavo seriale/USB più volte, avvolte aiuta).

26  International / Generale / Re: Scheda a basso consumo per progetto StandAlone on: June 05, 2014, 05:41:23 pm
Allora vedi se puoi trovare una meccia da 2,5mm e fora, a questo punto, potresti incastrarlo sull'asse confidando nella deformazione della plastica, al massimo, foralo da 3mm e poi vedi di studiare un valido metodo di bloccaggio,  Se riuscissi a metterlo ad pressione, magari usando un blocca/frena filetto, potresti testare se riesce a fare presa sotto sforzo, magari solo per un test. 
Buona l'idea di spostare il post, visto che siamo andati un po fuori OT 

Ciao.
27  International / Generale / Re: Scheda a basso consumo per progetto StandAlone on: June 05, 2014, 04:51:39 pm
Certo che la qualità di stampa non è delle migliori, ma credo che con un po di lavoro, riuscirai a sistemarla, credo che con l'ugello più piccolo la risoluzione di "colata" sarà migliore, io non ne ho mai visti di lavori di queste stampanti dal vivo ma dalle foto di centinaia di esempi e decine di "marche e modelli" esistenti nel mercato DIY, credo che potrai migliorare di un bel 30-40% la qualità di stampa.  Certamente, a me mi era sfuggito il fatto della risoluzione delle stampanti 3D, di solito i progetti precedenti che ho realizzato, erano per macchine CNC professionali (gestite da personale professionale ovviamente).  Comunque, per il forellino per fissare la lenza, potresti usare una meccia da 1mm di diametro, le trovi presso i Brico center, spesso per minitrapani-frese tipo dremmel e cloni vari (anche con diversi diametri, più piccoli e più grandi).

Mi preoccupa un po il foro centrale, non si vede se è venuto bene o no. 

Comunque, usando una lenza da 0,5mm di diametro, teoricamente in una gola si potrebbero avvolgere circa 6 giri che per un diametro di 20mm (quindi braccio di leva da 10mm) che ha un perimetro di circa 62mm, potresti già avvolgere 332mm di lenza, i restanti si avvolgerebbero per 0,3-0,4 giri sulla fila di lenza già avvolta sulla puleggia, quindi in teoria, dovrebbe andare bene, nella pratica, vedo difficile che si avvolga in maniera "regolare e ben distribuita" ma dovrebbe funzionare comunque.

Mantienici informati!!
28  International / Generale / Re: Scheda a basso consumo per progetto StandAlone on: June 05, 2014, 06:02:44 am
Ecco allora i due file delle due versione, quella più elaborata è la 2. Facci sapere. smiley-mr-green
29  International / Generale / Re: consiglio per messa in pratica on: June 04, 2014, 04:45:41 pm
Ciao Nikola291,  premetto che non sono un'esperto, ho visto che del tuo codice, manca la parte di istruzioni che "leggono" i dati arrivati da seriale,  da quello che ho capito, tu invii alla seriale (quindi al PC) una serie di dati (18 in totale) fai una pausa di 50mS e poi verifichi il valore X,  ma questo valore, è il contenuto dell'array all'indirizzo 1, ma se non riempisci questo dato, all'inizio dello sketch, credo sarà sempre = 0, quindi una condizione FALSE e quindi non accenderà il pin.   Forse mi sono perso qualcosa?

Io in modo molto "terra terra" da profano della programmazione, avevo sperimentato alcune forme di "programmazione" delle variabili di arduino da PC, diciamo che faceva il suo "sporco" lavoro, ma ovviamente, era molto vulnerabile a disturbi nella trasmissione, credo che la soluzione indicata nei post precedenti, sia una buona idea,  fin quando i dati/azioni "corruttibili" non siano "critiche" un sistema semplice potrebbe andare, ma se l'eventuale corruzione dei dati ricevuti è MOLTO CRITICO potendo fare anche danni, allora, l'adozione di un protocollo più sicuro si rende necessario, tanto meglio se con checksum ed ancora meglio, se con risposta da parte di Arduino che chiede al PC "ho capito bene, mi hai mandati xyz?"  (ovvero una sorta di ECHO "eco" dei comandi o solo del checksum ricevuto, il PC controlla, se ok, risponde con qualche comando, altro comando se errato, in tal caso, si dovrebbe ritrasmettere il comando "corrotto",  almeno è come credo io debba funzionare un protocollo a prova di errori...).

 
30  International / Generale / Re: Scheda a basso consumo per progetto StandAlone on: June 04, 2014, 09:49:02 am
Ho realizzato le modifiche al progettino della puleggia, ho fatto due versioni, una "semplice" ed una un po più "ricercata", Spero che la stampante possa fare questi oggetti.   Mi devi far sapere che formato ti serve per importarlo nella stampante, io credo che il formato STL sia quello indicato, ma se ne usa un'altro, fammi sapere.

è divertente perdere 10-15 minuti a "giocare" con il CAD 3D, mi mantiene allenato   smiley-mr-green
(considerando che lo uso si e no una volta ogni 3-4 mesi !!!)

ecco i rendering delle due versioni:
Pages: 1 [2] 3 4 ... 22