Pages: [1]   Go Down
Author Topic: Controllo motore in PWM  (Read 999 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sto cercando di realizzare un controller per una pompa acqua elettrica con motore brushless. La velocità di rotazione della pompa sarà funzione della temperatura dell'acqua.
Vorrei iniziare a cimentarmi con Arduino... ho letto alcuni tutorial e acquistato il libro Getting started with Arduino..

Il sensore di temperatura è una termoresistenza PT100.

La pompa ha queste caratteristiche:

flow rate: 900 litres per hour / 15 litres per minute
pressure: 0.1 Bar
nominal voltage: 12 Volt direct current
current consumption: max. 1.2 Ampere
Bosch number: 3920200064
weight: aproxx. 250 grams
protection category : IP 69K (protected against water, dust-proof)


Quello che chiedo per il momento è di aiutarmi a comprare l'hardware necessario (inclusa la board di Arduino più adatta).
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5495
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sicuro che la pompa abbia un motore brushless ??? di solito hanno dei brushedd, nel primo coso ti conviene prendere un controller già pronto perchè con arduino UNO o MEGA non puoi fartelo da te a meno che non usi un controller da modellismo e con arduino lo piloti... nel secondo caso ti serve un Mosfet adeguato e con le adeguate resistenze e/o driver.
Aspetto chiarimenti smiley
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Bologna
Offline Offline
God Member
*****
Karma: 5
Posts: 520
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Io comprerei una Board Arduino uno, i pin ti bastano, costa poco e ci puoi anche cambiare l atmega se per caso lo fondi o vuoi metterlo stand alone. Non avendo mai lavorato con i brushless di più non ti so dire. Ciao!
Edit: scusa ratto non avevo visto la tua risposta mi hai preceduto smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il motore è sicuramente Brushless (c'è scritto nelle specifiche).

Controller programmabili già pronti non ne conosco quindi non ho alternative. Da quanto ho letto devo usare un ESC. Mi sbaglio?
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 139
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io piloto in pwm una pompa Swiftech MCP350 (http://www.swiftech.com/mcp350.aspx) che ha caratteristiche simili alla tua.... col pwm di arduino (o qualsiasi altro AVR, anche attiny13) piloto un bc547, con cui piloto un bd244 (PNP) per avere gnd comune e poter leggere la velocità di rotazione!
Problemi:
-se il pwm non è a 255 (il massimo) si nota un fischio...risolto con un condensatore da 22uf in parallelo alla pompa
-se il pwm è un pò inferiore a 255 la pompa non parte.... basta impostare il pwm al massimo per un paio di secondi, poi lo si può ridurre (entro certi limiti)
-se il pwm è inferiore a 255, tipo a 150, la lettura tachimetrica non è corretta.... condensatore da 0.1uf tra +5 e il segnale

Ciao!


« Last Edit: December 12, 2012, 07:16:46 am by ivan64 » Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 725
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per pilotare una brushless hai semplicemente bisogno di un esc.
Il cavo a tre poli arancione rosso marrone lo colleghi rispetticamente ad un pin di arduino, 5v, massa. L'esc non si comanda in PWM ma in PPM, cosa che puoi fare con la libreria servo.
I cavi per il motore sono quei 3 azzurro rosso e nero e credo che la polarità non conti, credo, ma invertendone uno cambi la direzione del motore.
I due per l'alimentazione del motore che prenderai da una batteria esterna sono i restanti. Ovviamente guarda le specifiche del motore per sapere la tensione e la corrente necessaria che deve fornire la batteria e per la scelta dell'esc, stando molto largo con gli ampere sopportabili da quest'ultimo.

Parte codice, per "armare" l'esc devi inizialmente dare un segnale per qualche secondo con un servo.write(0), poi puoi andare tranquillamente
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

-se il pwm non è a 255 (il massimo) si nota un fischio...risolto con un condensatore da 22uf in parallelo alla pompa
Sai questo perché?
Perché il core di Arduino "imbroglia"  smiley-wink
Quando gli dici di mettere il PWM a 255 in realtà lui disattiva il timer e dà un segnale HIGH sul pin per cui non hai più un'onda quadra con duty cicle 100% ma hai un segnale alto fisso.
Stesso discorso per il PWM a 0, viene scritto un LOW sul pin digitale, staccando il timer.
Logged


Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 110
Posts: 6984
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perché il core di Arduino "imbroglia"  smiley-wink

Farabutto!! Se lo vedo in giro gli do 4 legnate.  smiley-twist
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Full Member
***
Karma: 0
Posts: 139
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sai questo perché?
Perché il core di Arduino "imbroglia"  smiley-wink
Quando gli dici di mettere il PWM a 255 in realtà lui disattiva il timer e dà un segnale HIGH sul pin per cui non hai più un'onda quadra con duty cicle 100% ma hai un segnale alto fisso.
Stesso discorso per il PWM a 0, viene scritto un LOW sul pin digitale, staccando il timer.

Beh, in teoria con un duty cicle al 100% il segnale è sempre alto, come se il duty cicle è a 0% il segnale è sempre basso... una sua logica c'è (forse)...
...comunque anche con pwm a 250 o 245, il fischio non si sente o è inudibile....
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@ivan:
sì, il risultato è simile ma non ottenuto nello stesso identico modo. Usando il timer, sarebbe questo a tenere alto o basso il segnale sul pin. Usando invece la digitalWrite si setta l'uscita del pin mediante l'uso dei registri di I/O, sganciando il pin dal timer.
Un piccolo trucco, insomma.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ringrazio tutti per l'aiuto. Ho alcune domande.

- La pompa che vorrei usare ha un connettore a 2 pin. Vi sembra adatta?

http://www.daviescraig.com.au/Images/9001-2%20Specs%20Sheet.jpg

- Quale board mi conviene acquistare? Che mi dite di arduino due?

- Posso alimentare arduino con una tensione variabile tra i 13V-15V?

- Per l'ESC me ne serve uno alimentabile con una tensione variabile tra 13-15V. Va bene questo:

http://www.hobbyking.com/hobbyking/store/__23928__Corona_20amp_Brushless_Speed_Controller_2_6s.html
Logged

Pages: [1]   Go Up
Jump to: