Strani comportamenti senza PC

Salve a tutti.
Ho un ARDUINO MEGA 2560 e ci stavo sviluppando il mio progetto di demotica.
Il sistema prevede un ARDUINO collegato ad un mini PC che fa da server WEB (MK802+). Ho steso una linea di sensori (2 soli per adesso) 1-wire (DS18B20) alimentati in parasitic. Ho creato il mio sketch e l'ho testato sul mio PC di sviluppo...nessun problema. I sensori vengono letti tutti.
Ho collegato ARDUINO al mini PC e qui sono cominciati i problemi...il bus esterno non veniva letto (0 sensori rilevati).
Per prima cosa ho pensato ad un problema di alimentazione per cui ho collegato un alimentatore da 9V 2A all'ingresso DC di ARDUINO (ho messo le masse in comune per evitare problemi di riferimento col mini PC)... Con questa configurazione non funziona nè sul mini PC di controllo nè sul PC di sviluppo.
Se collego ARDUINO al PC (un MAC BOOK PRO) e lo alimento tramite USB funziona tutto...
Ho misurato la tensione tra 0 e 5V e, dal mio multimetro, leggo 4.75V alimentato dall'USB (sia PC che mini PC), 5v se lo alimento tramite 9V dell'alimentatore esterno.
Ho provato di tutto:

  • abbassata la resistenza di pull-up a 3.3kOhm
  • inserito un sensore sulla schedina per verificare (questo viene letto)
  • provato a creare due bus 1-wire (1 per il sensore sulla scheda, l'altro per i sensori esterni)
  • cambiato lo sketch per evitare problemi sulla trasmissione seriale

Non so più cosa provare...collegato al PC non viene rilevato nessun problema a con cat leggo tranquillamente le temperature e gli indirizzi dei sensori.
Col mini PC non va....provato anche stand alone con alimentazione da DC e scheda SD per il logging...niente!
Qualcuno ha avuto esperienze simili?

Dal mini PC, credo che abbia Android giusto?, hai provato con una applicazione console a collegarti alla MEGA?

Il mini PC monta linux.
Ovviamente ho provato a collegarmi e leggere cosa mi arrivava dalla seriale, anche mettendo un po di linee di debug nel codice per capire se ci fossero intoppi nell'esecuzione dovuti a chissà quali motivi (ho anche provato a settare in vari modi la seriale tramite stty così come consigliato in caso di interfacciamento con RASPBERRY).
Se non collego il bus esterno i dati dell'unico sensore on board arrivano e lo shell script che ho fatto me li mette tranquilli nel DB. Per questo avevo per prima cosa pensato a problemi di alimentazione tramite l'USB del mini PC.
Non capisco perché se alimento a 9V ARDUINO la lettura non funziona anche dal PC MAC. Ripeto...solo il bus esterno...il sensore che ho saldato on board viene letto. Se alimento da USB del PC MAC invece leggo tutto senza problemi.
Questa prova l'ho effettuata sia creando un unico bus 1-wire e collegando i sensori esterni in parallelo a quello interno, che creando due bus 1-wire, uno per l'unico sensore della scheda, l'altro per il bus esterno (su questo ho provato, come detto, sia R di pull-up da 4.7kOhm che 3.3kOhm).
Su sta cosa ci sto perdendo il sonno (uniche ore della giornata per lavorare tranquillo sono quelle a cavallo della mezzanotte)...ho provato a rifare la scheda un paio di volte, cambiare connettori, verificare le masse, ecc.ecc.. Niente ! ! !
Quello che mi manda fuori di testa è che sul PC MAC funziona tutto...l'unica prova rimasta da fare adesso è prendere un PC x86 ma non capisco perchè non funzioni anche stand alone (mi da sensori esterni rilevati 0)

Potrebbe essere un problema del parasite mode: prova ad alimentare in modo normale il sensore.

purtroppo ho già cablato con due fili...avevo provato a lungo una matassa da 50m con ARDUINO collegato al PC MAC senza problemi per cui avevo passato il cavo...devo prendere un altra matassa e provare.
Ho fatto le prove anche con un PC LINUX....con questo sembra funzionare tutto anche con alimentazione arduino esterna (col MAC e arduino alimentato esternamente invece non va). La cosa strana è proprio il fatto che se io collego ed alimento la scheda dal PC (MAC O LINUX) funziona tutto con mini PC no, se alimento da esterno, sul PC LINUX va, sul MAC no, sul mini PC no.
Nessuno ha mai sperimentato questi strani comportamenti?
O c'è qualcosa che mi sfugge?

Hai collegato il sensore con un cavo di 50 metri?

Il cavo che ho utilizzato era già sotto traccia (un doppino telefonico non utilizzato). Ho fatto la prova stimando la distanza (una 30ina di metri e andando oltre per vedere se potevo poi anche aggiungere qualcosa per altri sensori).
Come detto con ARDUINO collegato ad un PC e lo shield che mi sono fatto funziona tutto....è qui che non riesco a capire. Se alimento da PC (MAC O LINUX), per cui in una situazione in cui l'alimentazione dovrebbe essere limitata dalla USB, tutto funziona. Se alimento da alimentatore 9V 2A no. Stanotte ho anche provato ad alimentare con una batteria 12V 7Ah (caso mai fosse l'alimentatore con uscita poco pulita) e neanche così ha funzionato (sempre mettendo il negativo in comune con il PC o mini PC).

Controlla col tester la tensione in uscita dal regolatore sull'Arduino: l'USB lo bypassa.
Forse è bruciato o comunque non funzionante.

Col multimetro, prendendo i +5V e GND sui connettori, leggo 4,87V con USB, 5V (a volte 4,9) con alimentazione esterna.
Non ho verificato i 3,3...appena rientro a casa controllo e vi faccio sapere.

Quindi il trasformatore sull'Arduino funziona. :drooling_face:

Misurati anche i 3.3V....perfetti!
Mi sono reso conto solo adesso che, preso dalla disperazione, non ho dato altri dettagli del progetto che sto realizzando.
Per adesso ho ARDUINO MEGA 2560 + ethernet shield (con slot microSD) per il logging + shield autocostruito su millefori su cui ho alloggiato le resistenze di pull up del bus 1-wire, un connettore RJ45 per il collegamento del bus esterno a due fili, qualche led da usare come notifica di errori o corretto funzionamento.
Se mi consigliate un software di disegno con cui evidenziare meglio le connessioni posto lo schema, altrimenti posso mettere su le foto dell'accrocchio.
Il tutto andrebbe alloggiato in una scatola adattata a contenere ARDUINO e i suoi shield + il mini PC MK802+ (oggi o domani forse riesco a recuperare un raspberry per fare un ulteriore test).

Come colleghi le varie masse?

Eagle CAD --> http://www.cadsoftusa.com/
KiCad --> http://iut-tice.ujf-grenoble.fr/kicad/
FidoCadJ --> FidoCadJ: un editor multipiattaforma per l'elettronica - Davide Bucci
Frizting --> http://fritzing.org/

paulus1969:
Come colleghi le varie masse?

Quando alimento da USB del PC i collegamenti sono quelli sulla scheda...ho collegato il GND lato power ed il GND lato ingressi digitali al GND della linea sensori.
Se collego l'alimentatore (o la batteria) collego il GND dell'alimentatore preso all'ingresso di ARDUINO alla USB in ingresso al PC o miniPC tramite cavi con connettori a coccodrillo.