annuncio

Comprimi
Ancora nessun annuncio.

Nuovo utente... Nuovo quadricottero...

Comprimi
X
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • Nuovo utente... Nuovo quadricottero...

    Buongiorno Ragazzi, sono utente fresco, fresco e ne approfitto per presentarmi (non ho trovato una sezione dedicata alla presentazioni e mi scuso se qui sono O.T.).
    Mi sono costruito il mio quadricottero. Il mio divertimento e' progettarlo, costruirlo e alla fine vederlo funzionare come dico io. La meta del lungo cammino che ho intrapreso sara' un drone completamente autonomo in grado di volare anche in spazi ristretti. Non so se ce la faro' mai, ma il bello e' provarci. Ovviamente, per rendere tutto piu' divertente, ho deciso di fare tutto da zero e di provare con un controllore che, mi sembra, nessuno ha ancora usato: il cubloc320. In realta' questo fa "solo" da flight control mentre per la navigazione ne usero' un altro. Attualmente sono nella fase dei primi "saltelli" ed il controllo di stabilita' lascia ancora a desiderare, ma piano, piano...
    Vorrei approfittare per farvi qualche domanda:
    - i PID li faccio girare a interupt a tempo fisso in modo da eliminare deltaT come variabile. I miei PID girano a 30 mS (33Hz). Pensate sia sufficiente per un buon controllo?
    - Nei miei PID non tengo conto della potenza dei motori applicata al momento pensando che la correzione dei PID abbia lo stesso effetto con i motori a bassa potenza e con i motori al massimo (supponendo che la curva dei motori sia piu o meno lineare). Sono stato troppo ottimista?
    Basta va! Scusate, mi e' scappata la mano e ho scritto un poema.

    Vi ringrazio per la sopportazione se siete arrivati a leggermi fino a qua e complimenti:
    ho letto discussioni molto interessanti di gente molto preparata.

    Lorenzo

  • #2
    Originariamente inviato da lorenzo5775 Visualizza il messaggio
    Buongiorno Ragazzi, sono utente fresco, fresco e ne approfitto per presentarmi (non ho trovato una sezione dedicata alla presentazioni e mi scuso se qui sono O.T.).
    Mi sono costruito il mio quadricottero. Il mio divertimento e' progettarlo, costruirlo e alla fine vederlo funzionare come dico io. La meta del lungo cammino che ho intrapreso sara' un drone completamente autonomo in grado di volare anche in spazi ristretti. Non so se ce la faro' mai, ma il bello e' provarci. Ovviamente, per rendere tutto piu' divertente, ho deciso di fare tutto da zero e di provare con un controllore che, mi sembra, nessuno ha ancora usato: il cubloc320. In realta' questo fa "solo" da flight control mentre per la navigazione ne usero' un altro. Attualmente sono nella fase dei primi "saltelli" ed il controllo di stabilita' lascia ancora a desiderare, ma piano, piano...
    Vorrei approfittare per farvi qualche domanda:
    - i PID li faccio girare a interupt a tempo fisso in modo da eliminare deltaT come variabile. I miei PID girano a 30 mS (33Hz). Pensate sia sufficiente per un buon controllo?
    - Nei miei PID non tengo conto della potenza dei motori applicata al momento pensando che la correzione dei PID abbia lo stesso effetto con i motori a bassa potenza e con i motori al massimo (supponendo che la curva dei motori sia piu o meno lineare). Sono stato troppo ottimista?
    Basta va! Scusate, mi e' scappata la mano e ho scritto un poema.

    Vi ringrazio per la sopportazione se siete arrivati a leggermi fino a qua e complimenti:
    ho letto discussioni molto interessanti di gente molto preparata.

    Lorenzo
    Ciao Lorenzo, intanto complimenti.
    Lo ha gia fatto volare, qualche video, altre info del progetto tipo gyroscopio che hai usato e sensori?

    PID senza delta T va benissimo, io nel mio ARMQUAD ( che e' il mio progetto di quadricottero basato su ARM puoi trovare il trhead inquesta sezione ) non uso delta T e nemmeno interrutp fisso. Semplicemente e' un loop che chiama subroutine e ricomincia da cabo. L'unico interrupt usato e' quello per leggere il radiocomando.
    Siccome il tempo di esecuzione sara' sempre lo stesso il delta T non serve, si dovranno variare i valori del PID in caso di aggiunte di codice che aumentano il tempo di esecuzione.
    33Hz pero' sono sinceramente troppo pochi per ottenere un buon controllo, come minimo devi salire a 100Hz-150Hz ( io su ARM ho 1Khz )

    La risposta alla seconda domanda e': va benissimo come hai fatto tu

    Ciao, Danilo
    Quadricottero News
    http://www.facebook.com/Quadricottero

    Commenta


    • #3
      Ciao Lorenzo,
      benvenuto, non disponiamo di una hall di presentazione, ma la community e' parecchio attiva e ci sono personaggi di tutto rilievo e competenza in questo forum.
      Il progetto che vuoi affrontare richiede sacrificio, conoscenza e tempo.
      Come avrai visto non sei l'unico con una idea del genere, ma sono certo che le soddisfazioni saranno grandi.
      Lascio la parola agli altri partecipanti piu' esperti, ma credo che il valore letto dai sensori, vada interpretato dal software di controllo che in base a certi comportementi o dinamiche reagira' piu' o meno violentemente.
      La curva dei motori sara' tanto piu' lineare tanto maggiore sara' la risoluzione dei regolatori.

      Saluti.

      Commenta


      • #4
        Grazie per l'accoglienza.
        Ho visto che il forum e' molto attivo e che le competenze in elettronica, programmazione e controllo di processo sono veramente elevate.
        Spero di non diventare troppo tedioso in futuro cercando di approfittare un po' delle vostre conoscenze: so gia' che ne avro' molto bisogno.
        Comunque, anche se raggiungere il mio scopo e' un traguardo molto ambizioso, il solo fatto della ricerca, conoscenza e progettazione so che mi dara' molte soddiafazioni anche se il risultato non sara' quello sperato.
        comunque, Danilo, solo per chiarirmi le idee e non partire con errori concettuali:
        - come fai a mantenere il tuo loop di esecuzione costante senza interupt? Certo, non variera' di molto, ma avrai pure qualche "if then..." o salti a seconda delle condizioni di esecuzione che ti faranno eseguire di volta in volta qualche istruzione in piu' o in meno.
        - Ho interpretato che il tuo Arm esegue tutto il tuo programma in 1mS (equivalente a 1Khz) Ma se il comando pwm dei motori lavora tra 1 e 2 mS ... mi manca la quadratura del cerchio

        Il mio progetto utilizza gli stessi motori e eliche del mikrokopter, comandati da dei normali regolatori commerciali in pwm che faccio lavorare a 200Hz (testati con l'oscilloscopio lavorano perfettamente).
        Come IMU uso una CHR6D (http://www.pololu.com/file/0J276/chr6d_datasheet.pdf)
        con l'ultimo software che implementa anche il filtro di Kalman. la IMU la leggo con il cubloc320 in seriale a 115Kbaud mentre uso un pic per convertire i sei canali pwm della ricevente R/C in I2c che leggo, ovviamente nel cubloc320. La seconda seriale del cubloc la uso con un link radio a 432Mhz per la ground station (per ora la tengo disabilitata perche' ho da pelare le gatte con la stabilita').
        Gia predisposti, ma per ora disabilitati, ci sono un sensore a ultrasuoni per decollo e atterraggio autonomi oltre che al mantenimento dell' altezza a bassa quota ( < 6m ), un sensore di pressione per il mantenimento della quota oltre i 6m e un magnetometro per il mantenimento preciso della prua.
        Quando tutto questo sara' perfettamente funzionante (se lo sara' mai), un secondo processore fara' da navCtrl con GPS, sensori ultrasuoni per evitare ostacoli in ambienti ristretti e modem gprs per interfaccia via web.
        Si, lo so, sto volando molto alto, ma qualcuno un giorno mi disse: "poniti sempre obbiettivi molto alti!" e poi e' una cosa che faccio solo per me, quindi non deludero' nessuno e, anche se tutto dovesse finire in pattumiera, mi saro' comunque divertito.

        Grazie mille per i vostri consigli. Ovviamente, le mie domande sono solo per cercare di capire dove sbaglio e non per mettere in discussione il vostro operato, dato che ho visto che i vostri mezzi funzionano gia' molto bene.

        Lorenzo

        Commenta


        • #5
          Originariamente inviato da lorenzo5775 Visualizza il messaggio
          Grazie per l'accoglienza.
          Ho visto che il forum e' molto attivo e che le competenze in elettronica, programmazione e controllo di processo sono veramente elevate.
          Spero di non diventare troppo tedioso in futuro cercando di approfittare un po' delle vostre conoscenze: so gia' che ne avro' molto bisogno.
          Comunque, anche se raggiungere il mio scopo e' un traguardo molto ambizioso, il solo fatto della ricerca, conoscenza e progettazione so che mi dara' molte soddiafazioni anche se il risultato non sara' quello sperato.
          comunque, Danilo, solo per chiarirmi le idee e non partire con errori concettuali:
          - come fai a mantenere il tuo loop di esecuzione costante senza interupt? Certo, non variera' di molto, ma avrai pure qualche "if then..." o salti a seconda delle condizioni di esecuzione che ti faranno eseguire di volta in volta qualche istruzione in piu' o in meno.
          - Ho interpretato che il tuo Arm esegue tutto il tuo programma in 1mS (equivalente a 1Khz) Ma se il comando pwm dei motori lavora tra 1 e 2 mS ... mi manca la quadratura del cerchio

          Il mio progetto utilizza gli stessi motori e eliche del mikrokopter, comandati da dei normali regolatori commerciali in pwm che faccio lavorare a 200Hz (testati con l'oscilloscopio lavorano perfettamente).
          Come IMU uso una CHR6D (http://www.pololu.com/file/0J276/chr6d_datasheet.pdf)
          con l'ultimo software che implementa anche il filtro di Kalman. la IMU la leggo con il cubloc320 in seriale a 115Kbaud mentre uso un pic per convertire i sei canali pwm della ricevente R/C in I2c che leggo, ovviamente nel cubloc320. La seconda seriale del cubloc la uso con un link radio a 432Mhz per la ground station (per ora la tengo disabilitata perche' ho da pelare le gatte con la stabilita').
          Gia predisposti, ma per ora disabilitati, ci sono un sensore a ultrasuoni per decollo e atterraggio autonomi oltre che al mantenimento dell' altezza a bassa quota ( < 6m ), un sensore di pressione per il mantenimento della quota oltre i 6m e un magnetometro per il mantenimento preciso della prua.
          Quando tutto questo sara' perfettamente funzionante (se lo sara' mai), un secondo processore fara' da navCtrl con GPS, sensori ultrasuoni per evitare ostacoli in ambienti ristretti e modem gprs per interfaccia via web.
          Si, lo so, sto volando molto alto, ma qualcuno un giorno mi disse: "poniti sempre obbiettivi molto alti!" e poi e' una cosa che faccio solo per me, quindi non deludero' nessuno e, anche se tutto dovesse finire in pattumiera, mi saro' comunque divertito.

          Grazie mille per i vostri consigli. Ovviamente, le mie domande sono solo per cercare di capire dove sbaglio e non per mettere in discussione il vostro operato, dato che ho visto che i vostri mezzi funzionano gia' molto bene.

          Lorenzo
          Anche io ho iniziato per soddisfazione personale mi sono reso conto pero' che per ottenere funzioni avanzate come gps e navigazione il lavoro e' molto lungo e farlo da solo e' molto oneroso in termini di tempo e di testing oltre che per documentarsi sulle cose che non si sanno dal momento che " nessuno nasce imparato "
          Per questo motivo penso di lasciare il mio armquad allo stato attuale e cioe' volo semplice senza gps/navigazione usandolo per volo da divertimento / addestramento.
          Mentre per cose piu complesse mi oriento verso progetti open source come il nascente UAVXArm e anche sulla nascente Multipilot 2.0 sempre basata su ARM progetto di Roberto (Redfox)

          Per quanto riguarda 1 Khz e' la misura reale del tempo di esecuzione del loop completo, in realtà all'inizio sono arrivato anche a 10Khz quando basavo il volo solo sui giroscopi e sulla componente P del PID.
          Gli esc anche nel mio caso sono PWM commerciali pilotati a 500Hz
          Sono pilotati attraverso porte PWM Hardware e non routine pwm software quindi l'uscita PWM viene aggiornata con il valore che deve assumere ogni ms la quale genera PWM a 500Hz verso l'esc, in sostanza non si deve attendere che la routine sia conclusa per procedere alle altre esecuzioni in quanto vengono usati i timer e relativi interrupt

          Purtroppo la CHR6D, se non hanno cambiato sensori, e' molto sensibile alle vibrazioni e per ottenere buone prestazioni bisogna sudarci sopra.
          Leggeti questo in proposito Vassilis’ Projects
          Quadricottero News
          http://www.facebook.com/Quadricottero

          Commenta


          • #6
            Grazie Danilo.
            Molto interessante il blog di vassilis. Fortunatamente mi si era accesa la lampadina del dubbio, per cui ho montato tutta l'elettronica su piccoli silent block e ulteriormente la IMU. Infatti, monitorando la IMU con i motori ad alto regime non ho notato grossi problemi. Credo che il nuovo software della IMU uscito in febbraio, abbia dato una mano a risolvere questo problema.
            E' molto probabile che con il proseguimento del mio progetto e acquisendo nuove conoscenze mi rendero' conto che come l'ho pensato diventerebbe troppo dispendioso in termini di energie per cui deviero' magari su soluzione piu' "plug&play", ma fino ad allora mi voglio divertire a combattere.

            Sicuramente mi leggero' tutte le righe di questo forum

            Lorenzo

            Commenta

            Sto operando...
            X