Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 25 aprile 20, 17:21   #21 (permalink)  Top
User
 
L'avatar di italo.driussi
 
Data registr.: 02-07-2004
Residenza: Ronchi dei Legionari (GO)
Messaggi: 5.665
Comunque fa minimo un ciclo dx, sx anche se accendi e spegni subito l' interruttore.
__________________
Solo Aeromodelli -
Autogiro Elicotteri Multirotori No grazie
italo.driussi non è collegato   Rispondi citando
Vecchio 25 aprile 20, 17:29   #22 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
Citazione:
Originalmente inviato da italo.driussi Visualizza messaggio
Comunque fa minimo un ciclo dx, sx anche se accendi e spegni subito l' interruttore.
ora lo provo, grazie 1000

ad ogni modo si, al momento fa il ciclo completo se si sorpassa il centro..

sarebbe meglio riposizionasse al centro indipendentemente dalla posizione di loop nella quale si trova.
ad ogni modo l'ho montato sul camion almeno posso tarare la corsa del servo.

poi ora un amico mi ha messo in testa la possibilità di assegnare a una posizione aux il segnale di sterzo invece che fare un loop.. ovvero avere la posizione fissa avanti per guidare e come seconda posizione poter scegliere di sterzare contemporaneamente alla cam.
anche questa sarebbe una soluzione interessante, per darsi una guardata attorno almeno da fermo girando ruote e cam assieme.

Ultima modifica di wrighizilla : 25 aprile 20 alle ore 17:32
wrighizilla non è collegato   Rispondi citando
Vecchio 25 aprile 20, 17:46   #23 (permalink)  Top
User
 
L'avatar di italo.driussi
 
Data registr.: 02-07-2004
Residenza: Ronchi dei Legionari (GO)
Messaggi: 5.665
L' interruttore quante posizioni ha?
Valori delle letture?
Valori delle letture servo sterzo?

int rxpulse;
void setup() {
Serial.begin(9600);
}
void loop() {
rxpulse = pulseIn(8, HIGH);
Serial.println(rxpulse);
}
__________________
Solo Aeromodelli -
Autogiro Elicotteri Multirotori No grazie
italo.driussi non è collegato   Rispondi citando
Vecchio 25 aprile 20, 18:34   #24 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
Citazione:
Originalmente inviato da italo.driussi Visualizza messaggio
L' interruttore quante posizioni ha?
Valori delle letture?
Valori delle letture servo sterzo?

int rxpulse;
void setup() {
Serial.begin(9600);
}
void loop() {
rxpulse = pulseIn(8, HIGH);
Serial.println(rxpulse);
}
l'aux è a 2 posizioni.
valori letture aux e sterzo sono simili: 1000 1900

ho provato adesso l'ultimo sketch che hai postato

molto piacevole avere anche la pausa al centro, funziona benissimo, ho allargato la corsa del servo e centrato la visuale, la velocità l'ho alzata a 30.

grazie non resta che provarlo sul campo per vedere quanto risulta pratico ma direi che va una meraviglia.
wrighizilla non è collegato   Rispondi citando
Vecchio 27 aprile 20, 11:34   #25 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
il loop è fantastico, ti ringrazio ancora per l'aiuto, penso di aver imparato qualcosa da questa esperienza anche solo facendo banali confronti

adesso sto cercando di costruire una controller per radiocomandi 2 canali in modo da avere 4 ruote sterzanti e poter programmare le posteriori settando la centratura, il reverse e la corsa disponibile.

sono arrivato qui, lo sketch adesso permette di settare reverse e corsa del servo ma non la centratura che ovviamente dovrà essere mantenuta proporzionale.

#include <Servo.h>
Servo myservo;
unsigned int rxpulse;
unsigned int newPos;
void setup() {
myservo.attach(10);
pinMode(8, INPUT);
}
void loop() {
rxpulse = pulseIn(8, HIGH);
newPos = map(pulseIn(8, HIGH), 1000, 2000, 5, 175);
myservo.write(newPos);
}

questo sketch vorrei che potesse sostituire il classico cavetto a Y dando il modo di settare i parametri di sterzo necessari a gestire la coppia di ruote posteriori.
vediamo se ci riuscirò, credo di avere abbastanza chiaro cosa manca ma ancora non l'ho saputo scrivere bene.

Ultima modifica di wrighizilla : 27 aprile 20 alle ore 11:38
wrighizilla non è collegato   Rispondi citando
Vecchio 29 aprile 20, 01:55   #26 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
risolto lo sketch per gestire alla meglio il servo posteriore 4ws con una radio 2ch.
permette di centrare lo sterzo, decidere gli endpoint e reversare il servo
funziona bene e adesso finisce sul camion

https://pastebin.com/s27QJ37c

questo lo schema



wrighizilla non è collegato   Rispondi citando
Vecchio 29 aprile 20, 07:35   #27 (permalink)  Top
User
 
L'avatar di nicolap
 
Data registr.: 02-10-2019
Residenza: Orvieto
Messaggi: 293
Ciao, se posso permettermi ti do un suggerimento...
Sulla riga 38 leggi il valore del canale sterzo e lo memorizzi sulla variabile rxpulse, poi sulla riga 39 fai leggere all'arduino lo stesso valore all'interno dell'operazione map. Il tutto funziona lo stesso ma potresti inserire rxpulse all'interno di map per snellire il ciclo ed evitare la stessa lettura due volte.

Inviato dal mio PRA-LX1 utilizzando Tapatalk
nicolap non è collegato   Rispondi citando
Vecchio 29 aprile 20, 10:17   #28 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
Citazione:
Originalmente inviato da nicolap Visualizza messaggio
Ciao, se posso permettermi ti do un suggerimento...
Sulla riga 38 leggi il valore del canale sterzo e lo memorizzi sulla variabile rxpulse, poi sulla riga 39 fai leggere all'arduino lo stesso valore all'interno dell'operazione map. Il tutto funziona lo stesso ma potresti inserire rxpulse all'interno di map per snellire il ciclo ed evitare la stessa lettura due volte.

Inviato dal mio PRA-LX1 utilizzando Tapatalk
grazie!! qualsiasi suggerimento o modifica è preziosa
compreso se vi viene a mente qualche caratteristica aggiuntiva utile al progetto oppure volete riscriverlo e migliorarlo.

avevo pensato di aggiungere la lettura del canale del gas in modo da renderlo inversamente proporzionale ai gradi di sterzata, in questo modo più dai gas e meno sterzo posteriore avresti... fino al massimo di velocità nella quale sei di fatto 2 ruote sterzanti.
questo potrebbe servire per avere parecchio sterzo quando si va piano tra ostacoli mentre eviterebbe di cappottare curvando in velocità.

potrebbe essere il prossimo passaggio, sempre se riesco a scriverlo

grazie ancora a tutti quelli che mi stanno aiutando, per merito vostro sono riuscito a muovere i primi passi in un ambiente che fino alla settimana scorsa mi spaventava solamente.

ho cambiato la stringa così:
rxpulse = pulseIn(8, HIGH);
newPos = map(rxpulse, antsx, antdx,postsx, postdx);

Ultima modifica di wrighizilla : 29 aprile 20 alle ore 10:26
wrighizilla non è collegato   Rispondi citando
Vecchio 29 aprile 20, 12:42   #29 (permalink)  Top
User
 
L'avatar di nicolap
 
Data registr.: 02-10-2019
Residenza: Orvieto
Messaggi: 293
Citazione:
Originalmente inviato da wrighizilla Visualizza messaggio
grazie!! qualsiasi suggerimento o modifica è preziosa

compreso se vi viene a mente qualche caratteristica aggiuntiva utile al progetto oppure volete riscriverlo e migliorarlo.



avevo pensato di aggiungere la lettura del canale del gas in modo da renderlo inversamente proporzionale ai gradi di sterzata, in questo modo più dai gas e meno sterzo posteriore avresti... fino al massimo di velocità nella quale sei di fatto 2 ruote sterzanti.

questo potrebbe servire per avere parecchio sterzo quando si va piano tra ostacoli mentre eviterebbe di cappottare curvando in velocità.



potrebbe essere il prossimo passaggio, sempre se riesco a scriverlo



grazie ancora a tutti quelli che mi stanno aiutando, per merito vostro sono riuscito a muovere i primi passi in un ambiente che fino alla settimana scorsa mi spaventava solamente.



ho cambiato la stringa così:

rxpulse = pulseIn(8, HIGH);

newPos = map(rxpulse, antsx, antdx,postsx, postdx);
Così va meglio!
Per lo sterzo proporzionale al gas sicuramente si può fare con poche righe aggiuntive e un cavetto a y per portare all'arduino il canale del gas. Nel pomeriggio scrivo di nuovo perché adesso non posso... Ciao

Inviato dal mio PRA-LX1 utilizzando Tapatalk
nicolap non è collegato   Rispondi citando
Vecchio 29 aprile 20, 18:55   #30 (permalink)  Top
User
 
L'avatar di nicolap
 
Data registr.: 02-10-2019
Residenza: Orvieto
Messaggi: 293
Citazione:
#define antsx 1000 //-- in front servo endpoint sx
#define antdx 2000 //-- in front servo endpoint dx
#define postsx 30//-- out rear servo sx if inverted with postdx it reverse
#define postdx 150 //-- out rear servo dx if inverted with postsx it reverse
#define centro 0 //-- add or subtract xx value to center steering
#define tolerance 5 //-- if your poor quality servo vibrates try 5
#define max_correction 50 // con questa riga definisci di quanti gradi correggere
#include <Servo.h>
Servo myservo;
unsigned int rxpulse;
unsigned int gaspulse;
unsigned int correction;
unsigned int newPos, oldPos;
void setup() {
myservo.attach(10); //-- rear servo signal out pin
pinMode(8, INPUT); //-- front servo signal in pin
pinMode(7, INPUT);
}
void loop() {
rxpulse = pulseIn(8, HIGH);
gaspulse = pulseIn(7, HIGH);
correction = map(gaspulse, antsx, antdx, 0, max_correction);
newPos = map(rxpulse, antsx, antdx, (postsx+correction), (postdx-correction));
if (abs(newPos - oldPos)> tolerance) {
oldPos = newPos;

myservo.write(newPos + centro);
}
}
Eccomi… Ho modificato il tuo sketch per ottenere un angolo di sterzata sul posteriore inversamente proporzionale al gas… Ovviamente è solo una base, e non ho neanche potuto testare nulla…
il risultato dovrebbe essere una correzione lineare che va da 0 a "max_correction" gradi. Fai le tutte le prove del caso prima di andare in pista
Spero di esserti stato di aiuto..
PS: secondo me questa discussione starebbe meglio nella sezione Elettronica
nicolap 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
buggy da completare BoBoPoP Automodellismo Mot. Scoppio Off-Road 41 18 maggio 16 16:56
monster da completare...! bronto_19 Automodellismo Mot. Elettrico Off-Road 2 22 giugno 10 16:35
Sto costruendo uno schiumino (o tzagi), mi aiutate??? crido96 Aeromodellismo Principianti 72 07 febbraio 10 01:26
Come completare una associated B4? ryan-j Automodellismo Mot. Elettrico On-Road 9 04 maggio 08 10:55



Tutti gli orari sono GMT +2. Adesso sono le 10:01.


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