Citazione:
Originalmente inviato da ElNonino Allora vediamo di restringere le variabili, i 9bit che escono dal singolo sensore sono seriali, paralleli o codificati in qualche modo; per intenderci ci sono sensori di posizione a fotocellula, magnetici, ottici a laser etc etc etc con uscite codificate, oppure sensori 'barbari' tipo gli indicatori di direzione vento realizzati con 8 reed se hai 9 interruttori con contatto 'pulito' la soluzione R-2R potrebbe essere percorribile ti servirebbero solo 4 ingressi A/D sul PIC (uno per sensore) un solo filo di segnale dal sensore oltre al GND comune ed ai 12V.
Anche se l'ambiente industriale è intrinsecamente rumoroso si possono trasmettere segnali analogici a discrete distanze senza troppi problemi; un punto importante è anche conoscere la velocità di risposta necessaria, filtrare e pulire un segnale analogico comporta una latenza in taluni casi non accettabile (es. sistemi di sicurezza od emergenza).
Se lato sensore non rappresentasse un problema implementare un semplice circuito si potrebbe pensare di trasmettere il segnale o in corrente 4..20mA o con un pwm, anche la trasmissione seriale proposta da romoloman (leggermente più complessa) è percorribile usando una sola linea 485 per tutti i sensori (sconsiglio la I2C su distanze superiori ad 1m ed in ambiente industriale); che PIC usi per controllare il tutto ?. |
vedo di rispondere alle domande specifiche.
I sensori sono semplici micro switch a contatto on/off e mi danno 9 bit di segnali isolati fra loro. Se vogliamo identificarli così, in questo momento li posso definire 9 bit in parallelo.
La definizione "R-2R" non saprei cosa comporta a livello di schema e a livello di interpretazione softwere.
Particolari esigenze di tempo di risposta non ne ho... quando ho una lettura ogni mezzo secondo penso sia già sufficente, non ho necessità ed esigenze di sicurezza perchè il macchinario è isolato dall'essere umano e non crea danni anche se andasse fuori dai sensori. Comporta solo il doverlo riposizionare (L'esempio più verosimile è "sensori di parcheggio a contatto" per evitare che altre macchine collidano con essa.)
Non ho grandi problemi di distanze o rumorosità ambientale, ma semplicemente l'impossibilità fisica della sezione che ne limita il numero di cavi da poter passare per arrivare alla scheda del pic.
Attualmente a casa ho un 16F877 ed ero partito con quello, ma se volessi usarne uno di minor dimensioni e porte non mi cambia molto (dipende tutto dalla soluzione che adotterò)
Poi il pic fungerà da slave ad un'altro pic con un segnale a 12 V in PWM (opportunamente interfacciato) che trasporterà il segnale per un cavo di circa 5 metri. In base al livello di PWM saprò in che posizione è l'oggetto sui sensori.