Salve
Come da oggetto vorrei realizzare un progetto con Arduino per controllare un motore e un attuatore .
Mi spiego meglio...
data una posizione gps ( rilevata e salvata ) , vorrei che le letture successive siano usate per mantenere la posizione controllando un motore di propulsione , un attuatore che ruoti il motore , e una gestione del numero di giri ( rpm) del motore).
Praticamente sarebbe la copia di un motore ad uso commerciale per mantenere la posizione di una barca laddove non è possibile gettare l'ancora .
Indicativamente pensavo di:
Arduino collegato ad un antenna GPS ( con tutto quello che serve ) per avere la posizione ( lat - long - ora ) .
poi , o con lo stesso arduino o collegandone un secondo , avere la possibilità di "bloccare " la posizione , facendo in modo che coi controlli sopracitati il motore si attivi per tornare nella posizione bloccata..
Naturalmente con ragionevole approssimazione..
Il moto disturbatore potrebbe essere sia vento che corrente , quindi sarà praticamente impossibile avere un ritorno assoluto ... ma un approssimazione di qualche Mt ritengo sia più che soddisfacente.
secondo Voi è fattibile??
quanto meno per provare a capire cosa si cela dietro quelli commerciali , visti i costi in gioco , probabilmente non sarà funzionale , ma vorrei davvero provare a farlo funzionare..
tu hai un GPS, che ti dice la posizione attuale
conosci la posizione "base"
dalla differenza sai di quanto ti sei spostato
da li puoi calcolare la "direzione geografica" dove dirigerti
adesso, poniamo che sai che sei 20mt a ovest
quindi devi spostarti 20mt verso est
a parte che fare una curva ti sposta ancora e questo cambia i dettagli dei calcoli, ma è risolvibile
il problema vero è che tu non "sai" come il mezzo sia orientato
quindi tu non sai da che parte devi "girare"
mettiamo il caso che tu sia orientato a nord, per andare ad est devi "girare" a destra
invece se tu fossi orientato a est non dovresti girare nulla
potresti, è vero, tenere traccia di tutte le varie "modifiche" della posizione, ricostruendo il tuo "orientamento" dalla direzione verso la quale ti stai muovendo
e da li decidere la "correzione" al timone (o sterzo che sia)
ma non è cosa immediata, e sopratutto, a differenza di quello che hai descritto, prevede un primo periodo di "marcia alla cieca"
vedi tu se ti può andare bene
altrimenti devi prevedere anche una "bussola" solidale con il mezzo
La bussola solidale si potrebbe fare...
al limite , ora che mi ci fai pensare , raddoppiando le antenne gps..
una a prua e una a poppa.. dando minimo 6/7mt di differenza potrebbe "capire " come è orientato lo scafo , o sbaglio??
Per quel che so.. i commerciali , si limitano a dare per buono l'orientamento del motore.. nel senso... faccio un piccolo esempio..
barca orientata NS quindi 0°
ci si sposta ( per n motivi ) in direzione -45° SE di 10mt
il motore si dovrebbe orientare NO per 45° e tornare sul punto accendendo il motore per tot tempo ....indipendentemente dallo scafo...
( Vedi a ragionare con più cervelli qualcosa di più ne viene fuori
Pensavo:
un motore passo passo con vite senza fine per lo sterzo (dx e sx)
motore passo passo per acceleratore e autoaccensione.
e ... credo che ci siamo....
oppure due passo passo per lo sterzo... e due per l'acceleratore per poter fare avanti indietro...
credo possa bastare
Buongiorno
Sono andato un po avanti , quantomeno con le idee.
Dunque
come hardware mi occorre:
Arduino ( ok )
modulo GPS
Display ( e pensavo ad un grafico 128x64 )
un servocomando per controllare il potenziometro
un servo ( pesante , quelli in metallo ) per sterzare .
e credo che ci dovremmo essere , naturalmente un dimmer per la regolazione dei giri motore .
ora un paio di domande , un servo , legge la posizione? cioè , supponendo che sterzo di qualche grado a dx o sx ... posso avere memoria del movimento che ho fatto?
o sarebbe meglio un passo passo??
Certo , a pensarci , la compilazione sarà bella complessa... ma ritengo e spero che col vostro aiuto qualcosa ne esce...
Il veicolo è semplicemente ( ok ... errore voluto ) una barca ...
il motore in oggetto sarà locato a prua , e l'effetto desiderato è che il motore stesso stia e torni sullo stesso punto ... se questo implica una leggera rotazione dello scafo rispetto al fulcro ( motore di prua) non fa niente...
andando per mare da oltre 20 anni , conosco abbastanza bene quelli che sono scarroccio e deriva... quindi anche se ruota di 90° non è un problema... rimetterla in asse presupporrebbe un qualcosa anche a poppa per conpensare
Quindi , per rispondere , diamo per esatto che il motore e la sua locazione sia il punto zero ( origine che verrà memorizzata alla pressione di un tasto ) , il resto saranno controlli ripetuti ad intervalli regolari che dovranno permettere un ritorno del punto zero alle coordinate memorizzate ...
quindi , senza considerare l'erientamento della barca , sarà da valutare la direzione di spostamento , la relativa velocità dello stesso ed agire su motore ( rpm) e sterzo per tornare sul punto... con ragionevole approssimazione...
tieni presente che esistono motori commerciali che fanno lo stesso lavoro , e sostanzialmente il principio è lo stesso .....
oltre il costo.... è una mia fissa caratteriale di provare a replicare le cose... poi se proprio non riesco avrò buttato qualche € ma avrò sicuramente ampliato il mio bagaglio di conoscenze...
con tutti i vantaggi del caso..
pensavo di :
due uscite una delle quali da il consenso di on avanti e l'altra di on indietro.
semplicemente invertendo la polarità al motore .
per gli rpm un dimmer con al posto del potenziometro una lettura di un uscita analogica così da poter modulare i giri a seconda della distanza dal punto da raggiungere...
che ne pensi?
ho un dimmer fino a 10A in cc a 12V e dovrebbe essere sufficente...
il resto devo studiarlo....
appena ho tempo inizio a buttare giù qualcosa di scritto.. da un diagramma di flusso ai collegamenti elettrici
ok...
per quanto riguarda il comando acceleratore
ingressi 12vdc da batteria .
dimmer +/- per regolare.
due gruppi relè che , uno escludendo l'altro , daranno ON avanti o indietro.
quindi mi occorre l'uscita analogica per regolare i giri , e due uscite 0/1 per accendere AV o IN .
fin quì è facile.
lo sterzo.....
se con un servo è facile...
doppia biella , vado dx o sx come serve , ma devo tenere la posizione con arduino.
a questo punto ritengo migliore un motore passo passo...
da una posizione 0 , vado avanti di un tot e mi fermo . e questo sarà il nuovo 0 da cui ripartire , due fine corsa per evitare danni con tanto di allarme visivo e/o sonoro.
meccanicamente è semplice , una vite senza fine , motorino fulcrato sul retro , dado ( nome non esatto ma rende l'idea ) solidale con albero di trasmissione che quindi ruoterà a dx o a sx a seconda del comando che serve.
così facendo diventa anche bypassabile per controllarlo manualmente.