Torna indietro   BaroneRosso.it - Forum Modellismo > Categoria Elimodellismo > Elimodellismo Principianti


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 27 gennaio 12, 19:24   #1 (permalink)  Top
User
 
Data registr.: 05-01-2012
Residenza: Aviano
Messaggi: 13
Smile Misuratore giri rotore on board

Ciao a tutti, durante i primi esperimenti con il mio clone storm 450, mi sono imbattuto nella necessità di misurare il numero di giri del rotore. Ho fatto un piccolo circuito da montare sull'eli per verificare il corretto numero di giri.
Ho descritto la realizzazione sul sito GRIX.it sotto la categoria PIC.

Riporto la descrizione di seguito.

Tachomet on board per Eli RC

Da neofita dell'elimodellismo, una volta acquistato un modello usato, e presomi lo scrupolo di verificare tutto come se fosse nuovo di scatola di montaggio, mi sono trovato a dover regolare la curva di passo e la curva di potenza in modo da rendere il regime di rotazione il più possibile costante lungo l'escursione dello stick che regola queste due grandezze.

Da quanto letto in rete il regime di rotazione dovrebbe essere di circa 2200 giri al minuto. La difficoltà che ho incontrato è stata quella di misurare il numero di giri di un rotore che può essere molto pericoloso durante la sua rotazione. Da qui l'idea di crare un Tachometro (null'altro che un misuratore di giri) da posizioanre direttamtnte sull'eli e che mi dasse delle indicazioni circa il numero di giri chiare e immediatamente comprensibili essendo concentrato a non far schiantare il modello durante i primi balzelli).

Descrizione

Il tacchimetro misura la rotazione dell'albero mediante sensore ottico a riflessione di quelli usati dai robot per seguire le linee sul pavimento (QRD1114). La gestione della lettura degli impulsi e della visualizzazione è demandata ad un pic 12f629.

Il principio di funzionamento è molto semplice. Impostate le tre sogli e che mi interessa visualizzare il sensore invia un impulso di interrupt al micro. Il micro in un intervallo di tempo prestabilito (1 secondo) conta quani impulsi vengono prodotti e poi visualizza il risultato mostrando le seguenti indicazioni: nessun led acceso se non viene raggiunta la soglia minima; led verde acceso se viene superata la soglia 1. led verde e rosso accesi se viene superata la seconda soglia. Led rosso acceso se vieno superata la terza soglia.

lo schema elettrico è evidentemente molto banale. Il sensore QRD1114 è collegato alla GPIO 2.I led alla GPIO 0 e alla GPIO 5.L'alimentazione della scheda vieni presa direttamente dalla radio essendoci uno spazio liberp (BAT).

Prima di collegare il circuito alla radio ricevente assicurarsi che il regolatore fornisca 5 e non 6 V (nel qual caso porre in serie all'alimentazione due diodi al silicio che abbasseranno la tensione di circa 1.2V)



Posizionamento sul modello e funzionamento

Per comodità di visualizzazione e facilità di posizionamento ho deciso di attaccare la piccola basetta millefori con dello scotch biadesivo sul fianco della fusoliera così che il sensore leggesse per riflessione il fermo dell'albero. Come punto di interruzzione della lettera durante la rivoluzione ho utilizzato il grano di serraggio che essendo nero non riflette i raggi IR.



Posizionamento sul fianco dell'eli.



HVista del notolino di bloccaggio dell'albero e grano di serraggio interrompi fascio.



Vista laterale dove si intravvede il sensore montato dal lato opposto.


Funzionamento:


Una volta data alimentazione ci sarà una prima fase in cui si accendereanno i led per qualche istante per indicare il programma si avviato.

Poi per verificare che il grano faccia il suo dovere ruotando a mano il rotore per cinque volte si accenderanno alternativa il led verde e quello rosso. Dopo di questa fase di verifiche il programma entra nella sual fase di misurazione e indicazione.

I più pignoli diranno che durante il delay di 1 secondo se il ciclo viene interrotto dall'interrupt alla fine questo tempo si allungherà. Questo è vero, ma per le indicazioni a cui serve questo oggetto questi errori non sono influenti.

Il nuero di giri che va impostato come soglia è bene che sia un multiplo di 60, visto che il micro poi lo divide per trovare i giri al secondo.


Programma del micro
Di seguito il programma fatto in Mikrobasic da compilare e metere nel pic correggendo a piacere i valori di soglia.

Il clock è quello interno.


Program RPM
'legge il numero di giri del rotore
'si possono impostare 3 soglie
'RPM min med e max
'se supera il min si accende il led verde
'se supera il med si accende anche il rosso
'se supera il max spegne il verde quindi resta acceso solo il rosso

Const RED as integer = 0 ' 0
Const GREEN as integer = 5 ' 0
Const RPM_in as integer = 2 ' I

Dim RPM_Min as byte
Dim RPM_Med as byte
Dim RPM_Max as byte
Dim i as byte

'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''

'sub procedure
sub procedure interrupt
'l'interrupt è stato causato dal fronte di salita sul pin RPM_in
'incrementa di 1 il contatore ad ogni passaggio

i = i + 1

INTCON.INTF = 0
INTCON.GIE = 1

end sub

'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''

main:

CMCON = %00000111
OPTION_REG = %11000100
TRISIO = %11011110

GPIO = 0

'impostazzione delle soglie

RPM_Min = 2100 'giri minuto 35
RPM_Med = 2160 'giri minuto 36
RPM_Max = 2220 'giri minuto 37

'fate attenzione che siano multipli di 60

RPM_Min = RPM_Min / 60
RPM_Med = RPM_Med / 60
RPM_Max = RPM_Max / 60

'inizializzazione

Delay_ms(2500)
GPIO.GREEN = 1
Delay_ms(1000)
GPIO.RED = 1
Delay_ms(1000)
GPIO.GREEN = 0
GPIO.RED = 0
Delay_ms(500)
GPIO.GREEN = 1
GPIO.RED = 1
Delay_ms(500)
GPIO.GREEN = 0
GPIO.RED = 0

'attiva l'interrupt sulla porta GPIO.2
INTCON = %10010000
'test dei primi 10 giri

i = 0
do
if i.0=0 then
GPIO.GREEN = 1
GPIO.RED = 0
else
GPIO.GREEN = 0
GPIO.RED = 1
end if

loop until i = 10

'fine inizializzazione

MainLoop:

'routine di 1 secondo in cui conta gli impulsi
i = 0
delay_ms(1000)
GPIO.GREEN = 0
GPIO.RED = 0

'visualizzazione dei risultati
If i > RPM_Min then 'accende il led verde se supera la soglia minima
GPIO.GREEN = 1
end if
if i > RPM_Med then 'accende il led rosso se supera la soglia media
GPIO.RED = 1
end if
if i > RPM_Max then 'spegne il led verde sè è olte la soglia max
GPIO.GREEN = 0
end if

goto MainLoop

end.

pfede non è collegato   Rispondi citando
Vecchio 27 gennaio 12, 19:50   #2 (permalink)  Top
User
 
Data registr.: 21-12-2011
Residenza: Valle d' Aosta
Messaggi: 181
Citazione:
Originalmente inviato da pfede Visualizza messaggio
Ciao a tutti, durante i primi esperimenti con il mio clone storm 450, mi sono imbattuto nella necessità di misurare il numero di giri del rotore. Ho fatto un piccolo circuito da montare sull'eli per verificare il corretto numero di giri.
Ho descritto la realizzazione sul sito GRIX.it sotto la categoria PIC.

Riporto la descrizione di seguito.

Tachomet on board per Eli RC

Da neofita dell'elimodellismo, una volta acquistato un modello usato, e presomi lo scrupolo di verificare tutto come se fosse nuovo di scatola di montaggio, mi sono trovato a dover regolare la curva di passo e la curva di potenza in modo da rendere il regime di rotazione il più possibile costante lungo l'escursione dello stick che regola queste due grandezze.

Da quanto letto in rete il regime di rotazione dovrebbe essere di circa 2200 giri al minuto. La difficoltà che ho incontrato è stata quella di misurare il numero di giri di un rotore che può essere molto pericoloso durante la sua rotazione. Da qui l'idea di crare un Tachometro (null'altro che un misuratore di giri) da posizioanre direttamtnte sull'eli e che mi dasse delle indicazioni circa il numero di giri chiare e immediatamente comprensibili essendo concentrato a non far schiantare il modello durante i primi balzelli).

Descrizione

Il tacchimetro misura la rotazione dell'albero mediante sensore ottico a riflessione di quelli usati dai robot per seguire le linee sul pavimento (QRD1114). La gestione della lettura degli impulsi e della visualizzazione è demandata ad un pic 12f629.

Il principio di funzionamento è molto semplice. Impostate le tre sogli e che mi interessa visualizzare il sensore invia un impulso di interrupt al micro. Il micro in un intervallo di tempo prestabilito (1 secondo) conta quani impulsi vengono prodotti e poi visualizza il risultato mostrando le seguenti indicazioni: nessun led acceso se non viene raggiunta la soglia minima; led verde acceso se viene superata la soglia 1. led verde e rosso accesi se viene superata la seconda soglia. Led rosso acceso se vieno superata la terza soglia.

lo schema elettrico è evidentemente molto banale. Il sensore QRD1114 è collegato alla GPIO 2.I led alla GPIO 0 e alla GPIO 5.L'alimentazione della scheda vieni presa direttamente dalla radio essendoci uno spazio liberp (BAT).

Prima di collegare il circuito alla radio ricevente assicurarsi che il regolatore fornisca 5 e non 6 V (nel qual caso porre in serie all'alimentazione due diodi al silicio che abbasseranno la tensione di circa 1.2V)



Posizionamento sul modello e funzionamento

Per comodità di visualizzazione e facilità di posizionamento ho deciso di attaccare la piccola basetta millefori con dello scotch biadesivo sul fianco della fusoliera così che il sensore leggesse per riflessione il fermo dell'albero. Come punto di interruzzione della lettera durante la rivoluzione ho utilizzato il grano di serraggio che essendo nero non riflette i raggi IR.



Posizionamento sul fianco dell'eli.



HVista del notolino di bloccaggio dell'albero e grano di serraggio interrompi fascio.



Vista laterale dove si intravvede il sensore montato dal lato opposto.


Funzionamento:


Una volta data alimentazione ci sarà una prima fase in cui si accendereanno i led per qualche istante per indicare il programma si avviato.

Poi per verificare che il grano faccia il suo dovere ruotando a mano il rotore per cinque volte si accenderanno alternativa il led verde e quello rosso. Dopo di questa fase di verifiche il programma entra nella sual fase di misurazione e indicazione.

I più pignoli diranno che durante il delay di 1 secondo se il ciclo viene interrotto dall'interrupt alla fine questo tempo si allungherà. Questo è vero, ma per le indicazioni a cui serve questo oggetto questi errori non sono influenti.

Il nuero di giri che va impostato come soglia è bene che sia un multiplo di 60, visto che il micro poi lo divide per trovare i giri al secondo.


Programma del micro
Di seguito il programma fatto in Mikrobasic da compilare e metere nel pic correggendo a piacere i valori di soglia.

Il clock è quello interno.


Program RPM
'legge il numero di giri del rotore
'si possono impostare 3 soglie
'RPM min med e max
'se supera il min si accende il led verde
'se supera il med si accende anche il rosso
'se supera il max spegne il verde quindi resta acceso solo il rosso

Const RED as integer = 0 ' 0
Const GREEN as integer = 5 ' 0
Const RPM_in as integer = 2 ' I

Dim RPM_Min as byte
Dim RPM_Med as byte
Dim RPM_Max as byte
Dim i as byte

'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''

'sub procedure
sub procedure interrupt
'l'interrupt è stato causato dal fronte di salita sul pin RPM_in
'incrementa di 1 il contatore ad ogni passaggio

i = i + 1

INTCON.INTF = 0
INTCON.GIE = 1

end sub

'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''

main:

CMCON = %00000111
OPTION_REG = %11000100
TRISIO = %11011110

GPIO = 0

'impostazzione delle soglie

RPM_Min = 2100 'giri minuto 35
RPM_Med = 2160 'giri minuto 36
RPM_Max = 2220 'giri minuto 37

'fate attenzione che siano multipli di 60

RPM_Min = RPM_Min / 60
RPM_Med = RPM_Med / 60
RPM_Max = RPM_Max / 60

'inizializzazione

Delay_ms(2500)
GPIO.GREEN = 1
Delay_ms(1000)
GPIO.RED = 1
Delay_ms(1000)
GPIO.GREEN = 0
GPIO.RED = 0
Delay_ms(500)
GPIO.GREEN = 1
GPIO.RED = 1
Delay_ms(500)
GPIO.GREEN = 0
GPIO.RED = 0

'attiva l'interrupt sulla porta GPIO.2
INTCON = %10010000
'test dei primi 10 giri

i = 0
do
if i.0=0 then
GPIO.GREEN = 1
GPIO.RED = 0
else
GPIO.GREEN = 0
GPIO.RED = 1
end if

loop until i = 10

'fine inizializzazione

MainLoop:

'routine di 1 secondo in cui conta gli impulsi
i = 0
delay_ms(1000)
GPIO.GREEN = 0
GPIO.RED = 0

'visualizzazione dei risultati
If i > RPM_Min then 'accende il led verde se supera la soglia minima
GPIO.GREEN = 1
end if
if i > RPM_Med then 'accende il led rosso se supera la soglia media
GPIO.RED = 1
end if
if i > RPM_Max then 'spegne il led verde sè è olte la soglia max
GPIO.GREEN = 0
end if

goto MainLoop

end.

Wow davvero bravo... mi piacerebbe montarlo sul blade ma le mie conoscenze da elettricista sono piuttosto carenti...
Ciao, André
__________________
Phoenix3, Scorpio Safari CR, Blade 120sr, Blade mCP X V2, Blade 450(primi hovering...)
andre79 non è collegato   Rispondi citando
Vecchio 27 gennaio 12, 20:27   #3 (permalink)  Top
User
 
Data registr.: 27-12-2011
Residenza: Ancona
Messaggi: 214
Citazione:
Originalmente inviato da andre79 Visualizza messaggio
Wow davvero bravo... mi piacerebbe montarlo sul blade ma le mie conoscenze da elettricista sono piuttosto carenti...
Ciao, André
Bel lavoro davvero...fortuna che ti descrivi pure neofita!
__________________
Perché entrare nell'esercito quando si può essere i pirati?
markio1992 non è collegato   Rispondi citando
Vecchio 27 gennaio 12, 21:52   #4 (permalink)  Top
User
 
Data registr.: 05-01-2012
Residenza: Aviano
Messaggi: 13
Neofita di elimodellismo, non di elettronica!

Approfitto per dire a chi volesse realizzarlo che sulla pagina di grix ho fatto una piccola precisazione sul programma.
pfede non è collegato   Rispondi citando
Vecchio 27 gennaio 12, 22:00   #5 (permalink)  Top
User
 
Data registr.: 05-01-2012
Residenza: Aviano
Messaggi: 13
In realtà per gli errori che ho fatto potrei sembrare davvero un pivellino... ma la gola di svolazzare era maggiore di quella di sviluppare un programma perfetto...
pfede non è collegato   Rispondi citando
Vecchio 30 gennaio 12, 12:34   #6 (permalink)  Top
User
 
L'avatar di bladebuster
 
Data registr.: 02-10-2011
Residenza: milano sud
Messaggi: 4.989
Citazione:
Originalmente inviato da pfede Visualizza messaggio
In realtà per gli errori che ho fatto potrei sembrare davvero un pivellino... ma la gola di svolazzare era maggiore di quella di sviluppare un programma perfetto...
grande!
questo è lo spirito giusto del modellista, sia farsi da sè quello che serve, sia non preoccuparsi di fare e mostrare i propri errori, ma condividere quello che si sa.
__________________
bladebuster

Gaui X7, Oxy 5, Oxy 4 max, Oxy 4, Oxy3, Oxy 2
bladebuster non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
misuratore giri rotore Antonio71 Elimodellismo in Generale 7 24 settembre 07 18:43
Misuratore di giri rotore on-board. enry74 Elimodellismo Motore Elettrico 0 15 aprile 07 22:51
Misuratore di giri rotore attraverso pc Fulvio76 Circuiti Elettronici 16 27 ottobre 06 16:48
misuratore di giri rotore daniele 1973 Circuiti Elettronici 21 18 settembre 06 08:39
misuratore giri rotore.... erasmo82 Elimodellismo Motore Elettrico 6 13 giugno 06 15:26



Tutti gli orari sono GMT +2. Adesso sono le 04:23.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002