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


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 06 settembre 12, 12:28   #101 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
ciao gawain..

perchè parli di pseudo PPM? quello dovrebbe essere proprio tutto il treno di segnali che di volta in volta si ripete dopo ogni 20 mS circa.... i segnali viaggiano in serie e man mano che arrivano vengono spedite ai pin verso i servo... per cui ogni pin riceve il segale in modo esclusivo... ....non mi meraviglio se nell'unico cavo passano tutti i segnali... ...altrimenti dovresti mettere un lettore ad interrupt per ogni canale? mi sembra strano..... per esempio le schede KK per i quadri cottero... prendono con delle spienette ogni canale singolarmente ... ma poi credo che al'interno della scheda abbiano un schema simile al tuo...


a partire dal tuo schema.. si potrebbe interrogare con il modulo capture di arduino... agendo direttamente sui registri... catturando l'interrupt generato dal fronte di salita.. ... misurando i valori di durata del segnale alto, ponendo i valori all'interno di una array si confrontano con l'ultimo treno ... se analizzano le differerenze per capire la decisione da prendere .... ecc.. è così che si sviluppa un drone-semi autonomo che ascolta i comandi del pilota...ma contemporaneamente legge i sensori... interpretando situazini critiche o desiderate .. il volo potrebbe essere assistito da Arduino



Citazione:
Originalmente inviato da gawain Visualizza messaggio
mi autoquoto per spiegare con un disegnino quello che confusamente ho tentato di dire...
in aggiunta per leggere fronti alterni basta porre inPPM.h
#define EDGE_DETECTOR_TOGGLE 1 // 0=reading PPM stream 1=reading alternate channel sequence from rx

ovviamente questo per quelle rx che non hanno il canale ppm

Ultima modifica di faustog_2 : 06 settembre 12 alle ore 12:36
faustog_2 non è collegato   Rispondi citando
Vecchio 26 settembre 12, 23:35   #102 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
Non funziona

non funziona questo semplice schema... l'ho provato.. i segnali vanno in conflitto
credevo che il multiplexer potesse in qualche modo evitare la sovraposizione del segnale alto... comunque... credo che occorre un canale di ingresso per ogni ch della ricevente

a dopo
fausto

Citazione:
Originalmente inviato da gawain Visualizza messaggio
mi autoquoto per spiegare con un disegnino quello che confusamente ho tentato di dire...
in aggiunta per leggere fronti alterni basta porre inPPM.h
#define EDGE_DETECTOR_TOGGLE 1 // 0=reading PPM stream 1=reading alternate channel sequence from rx

ovviamente questo per quelle rx che non hanno il canale ppm
faustog_2 non è collegato   Rispondi citando
Vecchio 27 settembre 12, 03:43   #103 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.069
Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
non funziona questo semplice schema... l'ho provato.. i segnali vanno in conflitto
credevo che il multiplexer potesse in qualche modo evitare la sovraposizione del segnale alto... comunque... credo che occorre un canale di ingresso per ogni ch della ricevente

a dopo
fausto
Assolutamente no, una paccata di diodi e via....
poi serve un minimo di codice per beccare l'impulso di sincronismo (facile) e resettare la sequenza di memorizzazione dei canali...
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766
romoloman non è collegato   Rispondi citando
Vecchio 27 settembre 12, 12:22   #104 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
!!!!!

ciao romoloman.. con arduino .. mi sono scritto una procedura che funziona molto bene con un solo canale, usando il pin 14 ..il modulo Input Capture , hardware molto preciso.. però usando i diodi e la resistenza da 2,7 k ...non funziona..
Esattamente..se uso un solo canale usando il diodo correttamente OK.. ma se metto due canali come lo schema non funziona! non scatta l'interrupt... probabile che rimane costantemente seganle alto.. quindi non rileva frotni di salita.. ne fronti di discesa..

infatti il firmware come logica funziona che dopo un fronte di salita... comincia a contare e asspetta un fronte di discesa... poi una volta rilevato memorizza in un array il valore e scambia il fronte come interrupt.. e così ad oltranza.. ti dico funziona alla grande.. ma appena metto due canali con diodi così come illustrato KO , niente! mi disiace smentirti.. amche a me sarebbe piaciuto... con un solo pin di ingresso risolvevo il problema... adesso ho mi realizzo un circuito tipo multiplexer... che mi convoglia tutto in unico segnale.. oppure devo avere 4 input tanti quanti sono i canali... tutto ci per poter realizare in futuro un quadricottero per esempio... dai confronti successivi tra i comandi del pilota e i gyro, ed eventuale accelerometro.. i segnali vengono opportunamente generati.

a dopo
fausto

Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Assolutamente no, una paccata di diodi e via....
poi serve un minimo di codice per beccare l'impulso di sincronismo (facile) e resettare la sequenza di memorizzazione dei canali...
faustog_2 non è collegato   Rispondi citando
Vecchio 27 settembre 12, 16:46   #105 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.069
Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
ciao romoloman.. con arduino .. mi sono scritto una procedura che funziona molto bene con un solo canale, usando il pin 14 ..il modulo Input Capture , hardware molto preciso.. però usando i diodi e la resistenza da 2,7 k ...non funziona..
Esattamente..se uso un solo canale usando il diodo correttamente OK.. ma se metto due canali come lo schema non funziona! non scatta l'interrupt... probabile che rimane costantemente seganle alto.. quindi non rileva frotni di salita.. ne fronti di discesa..

infatti il firmware come logica funziona che dopo un fronte di salita... comincia a contare e asspetta un fronte di discesa... poi una volta rilevato memorizza in un array il valore e scambia il fronte come interrupt.. e così ad oltranza.. ti dico funziona alla grande.. ma appena metto due canali con diodi così come illustrato KO , niente! mi disiace smentirti.. amche a me sarebbe piaciuto... con un solo pin di ingresso risolvevo il problema... adesso ho mi realizzo un circuito tipo multiplexer... che mi convoglia tutto in unico segnale.. oppure devo avere 4 input tanti quanti sono i canali... tutto ci per poter realizare in futuro un quadricottero per esempio... dai confronti successivi tra i comandi del pilota e i gyro, ed eventuale accelerometro.. i segnali vengono opportunamente generati.

a dopo
fausto
Sono sicuro che funziona... solo che probabilmente non hai un pull down sufficientemente deciso oppure hai i pull-up degli ingressi abilitati.
viene usato in quel modo per le schede che necessitano di un ppm composito...
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766
romoloman non è collegato   Rispondi citando
Vecchio 28 settembre 12, 20:34   #106 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
Vediamo Un Po

mi stavo documentando in merito alla gestione degli interrupt esterni, i pin dell'Atmel 328p corrispondenti :

pin 4 - PCINT18 (PD2)
pin 6 - PCINT20 (PD4)
pin 11
pin 12

CREDO CHE SE SI GESTISCONO GLI INTERRUPT CON QUESTO SISTEMA DOVREMMO RIUSCIRCI... OCCORRE UN PO DI STUDIO! ADESSO SONO ALL'INIZIO..



void setupRx() {
pinMode(2, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);

// interrupt change PCINT

PCICR |= (1 << PCIE2);
PCMSK2 = (1 << PCINT18) | (1 << PCINT20) | (1 << PCINT21) | (1 << PCINT22) ;
}


Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Sono sicuro che funziona... solo che probabilmente non hai un pull down sufficientemente deciso oppure hai i pull-up degli ingressi abilitati.
viene usato in quel modo per le schede che necessitano di un ppm composito...
faustog_2 non è collegato   Rispondi citando
Vecchio 28 settembre 12, 20:35   #107 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
Diodi , Quali?

QUALI DIODI USI?

Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Assolutamente no, una paccata di diodi e via....
poi serve un minimo di codice per beccare l'impulso di sincronismo (facile) e resettare la sequenza di memorizzazione dei canali...
faustog_2 non è collegato   Rispondi citando
Vecchio 28 settembre 12, 21:26   #108 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.069
Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
QUALI DIODI USI?
Se hai problemi prova a fare così:


Io ho usato dei 1N4148 con una resistenza da 1K come nello schema, senza transistor ne nulla, ma ho disabilitato il pullup interno:
digitalWrite(pin, 0) ;

dove pin è il tuo pin di input
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766

Ultima modifica di romoloman : 28 settembre 12 alle ore 21:30
romoloman non è collegato   Rispondi citando
Vecchio 28 settembre 12, 22:54   #109 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
ok

tutti componenti che ho a casa..

ma scusa perchè hai messo TO RX ...quindi from RX TO Arduino.. giusto ?

appena rietro provo a "impastare" sarebbe utile in modo che con con il solo inèut capture faccio tutto.... ...la RX è una 2,4 Ghz della Hitech

a dopo
fausto

Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Se hai problemi prova a fare così:


Io ho usato dei 1N4148 con una resistenza da 1K come nello schema, senza transistor ne nulla, ma ho disabilitato il pullup interno:
digitalWrite(pin, 0) ;

dove pin è il tuo pin di input
faustog_2 non è collegato   Rispondi citando
Vecchio 29 settembre 12, 00:14   #110 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
--

qui c'è la fonte di informazioni:

leggere impulsi dal radiocomando x modellismo con arduino???


Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
mi stavo documentando in merito alla gestione degli interrupt esterni, i pin dell'Atmel 328p corrispondenti :

pin 4 - PCINT18 (PD2)
pin 6 - PCINT20 (PD4)
pin 11
pin 12

CREDO CHE SE SI GESTISCONO GLI INTERRUPT CON QUESTO SISTEMA DOVREMMO RIUSCIRCI... OCCORRE UN PO DI STUDIO! ADESSO SONO ALL'INIZIO..



void setupRx() {
pinMode(2, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);

// interrupt change PCINT

PCICR |= (1 << PCIE2);
PCMSK2 = (1 << PCINT18) | (1 << PCINT20) | (1 << PCINT21) | (1 << PCINT22) ;
}
faustog_2 non è collegato   Rispondi citando
Rispondi

Bookmarks



Strumenti discussione
Visualizzazione

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
Coassiale mixed controller con arduino catman Circuiti Elettronici 12 01 aprile 11 23:17
quadricottero con arduino 2009 sailormann26 Aeromodellismo Progettazione e Costruzione 0 27 dicembre 10 23:12



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


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