Jump to content
PLC Forum


Problema di interferenza


DUOBUS
 Share

Recommended Posts

Buonasera e ringrazio tutti coloro che si soffermeranno al leggere questa discussione.

Io ho realizzato un sistema per l'irrigazione domestica da balcone con un arduino 2560 di cui allego lo schema a blocchi.

Il sistema è alimentato da una batteria 12 V e l'alimentazione all'arduino è data da uno step-down DC/DC converter.

Inizialmente il sistema pilotava tramite relè un certo numero di pompe a 12 V e il firmvare funzionava egreggiamente. Il sistema è provvisto di un timer DS3221 opportunamente programmato per scandire gli eventi per l'irrigazione. Utilizzo la linea di interrupt del RTC per comunicare all'Arduino che un evento è occorso e il programma riconosce l'evento e gestisce il rele di competenza. 

Ogni anno apporto migliorie al sistema e quella di quest'anno ho deciso di utilizzare una pompa a 12 v molto più potente(in allegato i dettagli della pompa) di tutte le precedenti e utilizzare solo un canale per l'attivazione della pompa. E in tal senso ho anche modificato  il circuito idraulico. 

La pompa è un capolavoro perchè quando è alimentata a 12V distribuisce in modo generoso l'acqua. Ma i problemi nascono quando collego la pompa al rele. La pompa, quando alimentata dal rele, funzione per qualche secondo e poi si ferma. Analizzando gli eventi che occorrono al sistema ho constatato che sulla linea di interrupt del RTC transitano delle interferenze che inducono a comportarsi in modo non corretto.

Accorgimenti presi e, malgrado tutto, non hanno dato esito favorevole :

  1. Inserire un filtro Passa Basso sulla linea di interrupt del RTC con una resistenza da 1Kohm e capacità (condensatori elettrolitici):

1Kohm uF Hrz
  1 160
  2,2 73
  3,3 48
  4,7 34
  10 16
  22 7,3
  33 4,8
  47 3,4
  100 1,6
  220 0,73
  330 0,48
  470 0,34

I

 

 

Link to comment
Share on other sites


certo

solo che non  riesco a caricarle dice errore di sistema

 

L’Arduino Mega 2560 è collegato tramite l’I2C Bus ad un RTC3232 Shild [2] e, tramite il medesimo Bus, vi è collegato un Display LCD 20x4[5].

L’Arduino rimane in attesa che l’RTC[2] comunichi un allarme tramite la Linea di Interrurpt dedicata.

Se scatta un allarme(cioè se si verifica che l’ora attuale coincide con quella memorizzata all’interno dei registri interni dell’RTC[2] opportunamente programmato prima) l’Arduino abilita il Relè, quindi la pompa,  per il tempo necessario.

Per il tempo in cui la pompa[7] è in azione, il Water Meter[6] invia impulsi ad Arduino tramite la linea di Interrupt per la misura della portata di acqua che viene pompata. Contemporaneamente acquisisce la quantità di corrente che scorre attraverso l’alimentazione positiva della pompa per valutare se la pompa lavora a carico (serbatoio pieno) o a vuoto (serbatoio vuoto).

Il Relè[4] alimenta la pompa tramite una linea a 12V.

Tra il positivo di alimentazione e la massa della pompa[7] sono applicati un condensatore elettrolitico ed un diodo. 

In realtà il SW di gestione è un pò più complesso perchè è gestito come una macchina a stati e il comportamento descritto rappresenta solo due dei possibili stati, cioè quando è in stato di attesa di un evento di interruzione da parte dell'RTC[2] e l'altro quando l'Arduino riceve la richiesta di interrupt da parte dell'RTC[2] e attiva il relè[4].

Il SW funziona egregiamente quando il relè[4] alimenta una normale pompa[1] di acquario a 12V, tutti gli stati vengono correttamente attraversati e il sistema fa il suo lavoro. Ma quando collego la pompa[7] ad alta pressione e questa inizia a funzionare(le prove eseguite sono state fatte con un funzionamento a vuoto, cioè senza che la pompa[7]  sia collegata al circuito idraulico), possono accadere le seguenti situazioni anomale :

Link to comment
Share on other sites

BOM

 

[1]

OTML6eD0C8nmBT_YDjxrdRiurTCejqSA56hZIb-VXs1LmJG6mCn9wfmYLXfxtqCC6VR7UE5cRvz029H8-uqyL5VsRfEnOMm7Gg8Z0T96e67qbgpR7PeVgJ0ugio23m3bV-ZANDlABtw

Anself Acqua Olio Pompa Mini DC12V 9W Micro Brushless Impermeabile Sommergibile Fontana Acquario Circolanti Lift 300L/H 450cm


 

[2]

VLzFM65e6G0LKgcEy95uLZ65IRkYShOmvbIKq2bmOhH-V2Uwz-h_zg5sxqHHrnwFyqN-Ava2q_H_Zkwctp0m2QxyJp3x3AuzVkoznVr4rcWlLQ-f7prcg5wxWGlLFWroO9uz5guh1C0

WINGONEER Piccolo DS3231 AT24C32 I2C modulo di precisione Tempo Reale modulo Orologio per Arduino


 

[3]

sLtCAfHJ2DegXCH0C1z9A839qXgMupN5plAwflN8HJZiWWwBKDktdANW-4zwhAk6cg2oaqUJX6pfogAA_0D2wmxcXX95JD9GHEZSyUXoHva_xZLEGnYZzKKqAUe6faEdW7W9UuhJQ78

XL4016 convertitore Step Down 300w DC-DC regolabile da 5 a 40V e da 1,2 a 35V, compatibile con Arduino 


s__QCHuzCU7HNM3VXowyTlOsE8KRvAeGJ48EENgbrDIyh8GM-uY9vkpzxqCkZ55bCoBiO4-XegbjrHsJ7q1_y_VEP1aElf4bBRtIFDbrndJvym7Kr7dTYv7SmR8CUdd3TtAed3iNNZQ

[4]

 

SUNFOUNDER 2 Channel DC 5V Relay Module Modulo Relè with Optocoupler Low Level Trigger Expansion Board for Arduino R3 Mega 2560 


7hpReXjVHIbGcn7KuYgjGjMQmOSS97H8G6rSjHvkZ96eT_ce33k8w_Ry2r5WqkP3MeoQsGbnGPdufs2QjWpFuYJbKwYLrNB6CguIIXwHrqVrMj84y6gdK_w_MoY9JaCr33JrHXKDzkc

[5]

 

SunFounder IIC I2C TWI Serial 2004 20x4 LCD Module Shield for Arduino R3 Mega2560 (IIC 2004)


 

[6]

QZbY-0w1hhX-P2x03YxJpPPEW3sAdYo-8Ltw_XrMjqJtc8K68AsiVFUkVK1lGNSZjSGzruGRErHDX6yE5p8RJnX1gys8OozgWTw5WdkOOvRKgE42odXRXCL8AXd9EkPQAvfY_UYZxxc

DollaTek YF-S201 1-30L / min Flussimetro/contatore Hall Controllo dell'Acqua Flussostato Acqua Flussimetro Contatore Flussimetro

 

 

i4-RPloh8B5t1xkQ1G57LetTDcE4A2prHViMSFevCEJwMxB8_l_qkMSwzabwHssa5VUVDkVxtL5VsH3C9JJFVtnQy-gQWePwEatmuz_KnnpaX9IxIFiCSkeVpB7Uy_Is-Ev9cxMJDb0

SEAFLO Pompa per impianto idrico 12V 4.3 LPM


 

[7]

lzRiZfC0C29UU7FXTQLUxvj6Mv1B9lhiJgc4EXrTMWzLl8yD_lhvdCCh-UAtnbCjzIOCQY37WtMKcyLgfPUIXn3Pm_fI1iwK-Su8Z8HYxTlAc5CqR7M5RkOUiKXSIQlmDBsS8hsAQQAQjvoGQs5JYHsqsbet1tcNd-Ft8vpbwelLDx9wmYOY2V_nsnb4-PALUhvVqQOtCeB9Oaf8NKMYS9WECgi7g6GTpdMuy2n08ryPS9BU1mo635NceO6olh9ae85BELutmNoOCgC87p7KmU

 modulo sensore curvo ACS712, ACS712ELC, 5 A, per Arduino ACS712 20A

 

[8]I2oiqGrh72SLB-4AYvp2GUwFT-4ZdguvANcgAO_p99gjCZbIotSZSEsB_dgaD52mhNOEMftN3p0o4iah50hprPSV4w8Kh8U9HYOMItD4X8kvadGtaE10--2M7aVmqZPCPMWaScPHUVE

 

 

 

 

 

 

 

 

6bIlbjB8rSSOQALqUM2VcrJIh0AWUdecM5YaFW9WlxpiqT-cTLufw88sQOLYAXfMEpDpRvhw09z7hfRDF1cBwN87I6_gXB71maXjPQQBMAA9tnmVOxObAXbq4a5zm2oOOAHVjJTz9JU

Link to comment
Share on other sites

DavidOne71

hai provato ad alimentare i 5V da un'altra sorgente? (alim. stab. 5V meglio se è lineare)

Cosi cominciamo ad escludere qualcosa

Link to comment
Share on other sites

Il sistema funziona con una batteria da 12 V

devo provare con una seconda batteria e mantenere separate le alimentazioni

 

Link to comment
Share on other sites

DavidOne71
2 minuti fa, DUOBUS ha scritto:

Il sistema funziona con una batteria da 12 V

si ho visto ma c'è di mezzo un dc/dc

 

2 minuti fa, DUOBUS ha scritto:

devo provare con una seconda batteria e mantenere separate le alimentazioni

si, ma per il momento escluderei il dc/dc

ce l'hai un oscilloscopio?

Link to comment
Share on other sites

2 minuti fa, DavidOne71 ha scritto:

si ho visto ma c'è di mezzo un dc/dc

 

si, ma per il momento escluderei il dc/dc

ce l'hai un oscilloscopio?

 

putroppo no

Link to comment
Share on other sites

DavidOne71
52 minuti fa, DUOBUS ha scritto:

solo che non  riesco a caricarle dice errore di sistema

devi usare un server esterno

Link to comment
Share on other sites

15 minuti fa, DavidOne71 ha scritto:

si ho visto ma c'è di mezzo un dc/dc

 

si, ma per il momento escluderei il dc/dc

ce l'hai un oscilloscopio?

io ho anche tentato usando uno shild basato su L298 e il problema rimaneva e ho tentato la strada del dcdc sperando che facesse anche da filtro

Link to comment
Share on other sites

49 minuti fa, DavidOne71 ha scritto:

hai provato ad alimentare i 5V da un'altra sorgente? (alim. stab. 5V meglio se è lineare)

Cosi cominciamo ad escludere qualcosa

Ora ho provado con due batterie al piombo da 12 V, una che alimenta Arduino e tutta la componentistica di gestione (LCD, Rele, RTC, etc etc) tramite il DCDC e una che alimenta il motore e pilotato dal rele. Funziona,ma non è la soluzione che volevo io 

Link to comment
Share on other sites

7 minuti fa, DUOBUS ha scritto:

Ora ho provado con due batterie al piombo da 12 V, una che alimenta Arduino e tutta la componentistica di gestione (LCD, Rele, RTC, etc etc) tramite il DCDC e una che alimenta il motore e pilotato dal rele. Funziona,ma non è la soluzione che volevo io 

Ma alle volte si comporta come prima solo che almeno per 30 secondi la pompa eroga acqua

Link to comment
Share on other sites

18 minuti fa, DavidOne71 ha scritto:

non hai un comunissimo 7805 al posto del dc/dc?

SI che l'ho. 

Io pensavo che il DCDC in qualche modo filtrasse qualche cosa, per questo l'ho comprato. 

A questo punto tu mi dici di mettere un 7505 e alimentare con quello

Link to comment
Share on other sites

Però non credo che sia il DCDC a creare problemi perchè prima di usare il DC/DC  io alimentavo l'Arduino con questo :

TKEnU-XozeOutyz5Z-Vs-iTQLQSowB96ngBlyvki8h8DF1qileKo2ik4rhTjMf-8h8_VWfVtKBVc9r3tICXfOr30sQasmeeW_fu2Ap7885WV_DPbSs3Y2dF92xx2eikA8zl6vAuGI8o

 

E avevo forse più problemi.

Con il DCDC non è migliorata ne peggiorat

Link to comment
Share on other sites

DavidOne71

magari è un problema di gnd, però da qualche parte dobbiamo cominciare, se pensiamo e non agiamo ci verrà il mal di testa e saremo ancora allo stesso punto.

 

41 minuti fa, DUOBUS ha scritto:

Ma alle volte si comporta come prima solo che almeno per 30 secondi la pompa eroga acqua

qualcosa è successo da 2 sec siamo passati a 30

Link to comment
Share on other sites

12 minuti fa, DavidOne71 ha scritto:

magari è un problema di gnd, però da qualche parte dobbiamo cominciare, se pensiamo e non agiamo ci verrà il mal di testa e saremo ancora allo stesso punto.

 

qualcosa è successo da 2 sec siamo passati a 30

Al volo ho messo il 7805

Scalda molto ma, con tutto che la pompa lavora con un 12V separato, purtroppo ho osservato che si blocca.

Osservo pure che quando la pompa si attiva, il display LCD ha una luminosità variabile

Link to comment
Share on other sites

DavidOne71

puoi escludere l'acs712?

Con il multimetro misura i 5V, nota se ci sono piccole variazioni quando parte la pompa

Link to comment
Share on other sites

7 minuti fa, DUOBUS ha scritto:

Al volo ho messo il 7805

Scalda molto ma, con tutto che la pompa lavora con un 12V separato, purtroppo ho osservato che si blocca.

Osservo pure che quando la pompa si attiva, il display LCD ha una luminosità variabile

Il timer è programmato per dare un minuto di acqua al giorno e con il DCDC mediamente riesce ad erogarla.

Non è la soluzione migliore.

 

 

Link to comment
Share on other sites

3 minuti fa, DavidOne71 ha scritto:

puoi escludere l'acs712?

Con il multimetro misura i 5V, nota se ci sono piccole variazioni quando parte la pompa

Io ci provo 

ma non so se il multimetro che ho io abbia la sensibilità di percepire questa rapida variazione

Link to comment
Share on other sites

DavidOne71
16 minuti fa, DUOBUS ha scritto:

Osservo pure che quando la pompa si attiva, il display LCD ha una luminosità variabile

comunque, con le alimentazioni separate, è molto strana

la pompa è vicino alle schede?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...