Meccanismo parabola con telecomando

1356

Commenti

  • modificato 23:47

    sempre a far casino sta redazione :D

    La mia casa continuerà  a viaggiare su due gambe e i miei sogni non avranno frontiere. 

    CHE GUEVARA
  • modificato 23:47

    Grazie dell'interessamento Windom, e scusa se lo faccio solo oggi ma sono stato in giro qualche giorno.

    Aspetterò con pazienza.

    Ciao.

     

  • modificato 23:47

    SSaluti a tutti, mi chiamo Elia. Mi diletto anch'io di elettronica ed affini. Pensando di fare cosa gradita ho pensato di fare uno schemino dei collegamenti sul progetto di Windom che allego. In attesa dei nuovi suggerimenti proposti da Windom, ed ulteriori sviluppi, attendo scalpitando. segnalate eventuali errori. Saluti.

  • modificato 23:47

    Nell' attesa cher venga pubblicato l'articolo, anticipo lo schema di come ho collegato il tutto al fine di controllare il puntamento via bus I2C.

    I motori funzionano a 12 volt e non possono essere controllati direttamente da Arduino che verrebbe bruciato immediatamente,occorre interporre un driver per motori C.C. come indicato nello schema.

    Siccome serve a poco lo schema senza il software,se qualcuno mi spiega come fare, pubblico anche questo. Resta il problema che il tutto è fatto in funzione della meccanica di rotazione modificata con l'aggiunta di un potenziometro per ottenera la posizione della meccanica stessa, come verrà spiegato dettagliatamente alla pubblicazione dell' articolo.  

    <br/><a data-cke-saved-href="http://oi60.tinypic.com/14l0w1k.jpg" href="http://oi60.tinypic.com/14l0w1k.jpg" target="_blank">View Raw Image</a>

     

    http://i60.tinypic.com/14l0w1k.jpg

  • modificato 23:47

    Grazie windom46 per lo schema. Adesso comincio a smanettare, qualcosa verrà fuori. Se non ti crea molto disturbo sarebbe molto gradito il software. Puoi allegarlo utilizzando il pulsante a sinistra "incolla da word". chiaramente deve essere in formato word. Grazie anticipatamente, saluti e a buon rendere.

  • modificato 23:47

    Come suggeritomi da chimera, allego il software per Arduino (IDE1.05) che sto utilizzando attualmente in giro per la Sardegna da oltre un mese senza problemi.

    Mentre ci sono, anticipo anche il link del video pubblicato su Youtube sulle ultime modifiche apportate e sul nuovo sistema di controllo via bluetooth con il Galaxy S3. 

     

    software per Arduino:

    /*  CONTROLLO BRANDEGGIO (Motore303) per Antenna SELFSAT, con ARDUINO-UNO, bussola
    *   CMPS10 e Display 16x2 in modalità I2C (SatWindom_I2C_rev.2)                 *
    *********************************************************************************/
    #include <Wire.h>                              // include librerie
    #include <LiquidCrystal_I2C.h>
    #include <EEPROM.h>                    
    #include <avr/wdt.h>
    #define Reset_AVR() wdt_enable(WDTO_30MS)      // softReset sistema
    #define ADDRESS 0x60                           // definisce indirizzo CMPS10
    #define inSF A1                                // pin in SatFinder
    #define inCom A2                        // pin in Pulsanti
    #define inPot A3                        // pin in Potenziometro
    #define ledMA 12                        // pin led man/auto
    #define inMot 13                        // pin motore acceso
    #define motDa 9                         // pin motore direzione(1)
    #define motDb 10                        // pin motore direzione(2)
    #define motEa 3                         // pin motore elevazione(1)
    #define motEb 11                        // pin motore elevazione(2)
    LiquidCrystal_I2C lcd(0x20,16,2);        // setta LCD (address, colonne, linee)

    int levelSF;                                   // livello segnale del SatFinder
    char level = -1;                               // barra segnale SatFinder
    byte oldState = LOW;                           // imposta stato bistabile
    int dirOut;                                    // lettura bussola in gradi
    int dirHB = EEPROM.read(0);                    // legge direziona dalla cella 0 
    int elevHB = EEPROM.read(1);                   // legge elevazione dalla cella 1 
    byte pass = 0;                                 // num.loop per limitare scrittura display
    const byte sicRot = 60;                        // sicurezza rotazione
    const byte centro = 183;                       // rotazione a 180°
    int posPot;                                    // posizione rotazione antenna
    const byte range = 1;                          // tolleranza su angolazioni
    byte dirLock = 0;                              // direzione OK
    byte elevLock = 0;                             // elevazione OK
    const byte velRid = 100;                       // riduzione velocità a 100/255
    const byte prox = 5;                           // gradi mancanti alla posizione
    byte centroRot = 0;                            // centro rotazione meccanica
    int manButton;                                 // ingresso comandi manuali
    char elevOut, skew;                            // valore elevazione e skew(da CMPS10)

    void setup(){
      lcd.init();                                 // inizializza lcd
      pinMode(inSF, INPUT);                        // ingresso livello SatFinder
      pinMode(inPot, INPUT);                       // cursore potenziometro rotazione
      pinMode(inCom, INPUT);                       // ingresso pulsanti comandi manuali
      pinMode(ledMA, OUTPUT);                      // LED manuale/auto
      pinMode(inMot, INPUT);                        // sensore motore acceso
      pinMode(motDa, OUTPUT);                      // motore orientamento 9/10
      pinMode(motDb, OUTPUT);
      pinMode(motEa, OUTPUT);                      // motore elevazione 3/11
      pinMode(motEb, OUTPUT);  
    // pin digitali 0-1-2-4-5-6-7-8 e analogico A0, liberi.
      ferma();                                     // ferma i motori
    if (inMot == LOW){lcd.backlight();}            // accende display
    // visualizza su display i valori memorizzati nella EEPROM 
      lcd.setCursor(0,0);
      lcd.print("**** HOTBIRD ***");
      lcd.setCursor(0,1);
      lcd.print("Dir.");
      lcd.print(dirHB, DEC);
      lcd.setCursor(9,1);
      lcd.print("Elev.");
      lcd.print(elevHB, DEC);
      lcd.print("  ");
      lcd.print("  ");
          delay(3000);                             // attesa 3 secondi
      lcd.clear();
    }

    void loop() {
      byte highByte, lowByte;                      // valori di highByte e lowByte per dirOut
      Wire.beginTransmission(ADDRESS);             // inizio comunicazione con CMPS10
      Wire.write(2);                               // invia registro per la lettura
      Wire.endTransmission();
      Wire.requestFrom(ADDRESS, 4);                // richiesta di 4 bytes da CMPS10
      while(Wire.available() < 4);                 // attesa disponibilità bites
      highByte = Wire.read();                      // lettura azimut(direzione)
      lowByte = Wire.read();                       // lettura decimali azimut(direzione)
      elevOut = Wire.read()+57;                    // lettura elevazione+compensazione
      skew = Wire.read();                          // lettura angolazione
      dirOut = ((highByte<<8)+lowByte)/10;         // calcolo direzione
      manButton = analogRead(inCom);               // valori comandi manuali immessi su(A2)
      posPot = map(analogRead(inPot),102,924,0,359);      // posizione rotazione rimappata
      levelSF = analogRead(inSF);                  // livello segnale SatFinder
    // Partitore resistivo per inviare 6 valori (100-200-300-400-500-600)
    // sul pin(A2) e ottenere un convertitore A/D per le varie funzioni.
    // 7,8K verso 5v.+ 6 da 2,2k per il partitore + 1 da 100k tra A2 e massa 

    //  ********* BISTABILE COMMUTAZIONE MAN./AUTO ******************
      if (manButton > 50 && manButton < 150) {     // manButton=100 (Manuale/Auto)
          if (oldState == LOW) {
          oldState = HIGH;                         // attiva automatismi e
          digitalWrite(ledMA, HIGH);               // accende LED
          elevLock = 0;                            // imposta elevLock e dirLock a 0
          dirLock = 0;
          }else{                                         
          oldState = LOW;                          // attiva comandi manuali e
          digitalWrite(ledMA, LOW);                // spegne LED
          }
          delay(500);                              // attende 1/2 secondo
        }
        if (oldState == LOW) {                     // comandi manuali attivato
          if (manButton < 50) ferma();                          // arresta motori
          if (manButton > 150 && manButton < 250) salva();      // 200;salva valori Elev.Dir. nella EPROM
          if (manButton > 250 && manButton < 350) alza();       // 300;alza antenna
          if (manButton > 350 && manButton < 450) abbassa();    // 400;abbassa antenna
          if (manButton > 450 && manButton < 550 && elevOut < sicRot) orario();    // 500;hiude antenna
          if (manButton > 550 && manButton < 650 && elevOut < sicRot) antiorario();// 600;apre antenna
          }else{orienta();}
        if (digitalRead(inMot) == HIGH) chiude();         // chiude ant.a motore acceso
    // ***** Scrive su LCD 16x2 con livello segnale *****
    pass = pass+1;                    // limitazione scrittura display
      if (pass == 1) {
        if (elevOut > 85) {           // controllo livello camper
      lcd.setCursor(0,0);
      lcd.print("LIVELLO___CAMPER");
      lcd.setCursor(0,1);
      if (((88-elevOut)==0) && ((skew-3)== 0)) { // usa gli assi pitch,roll(da compensare)
        lcd.print("*** IN PIANO ***");             // per controllare il livello del camper 
        }else{
      lcd.print("A/P ");
      lcd.print(88-elevOut, DEC);
      lcd.print("    ");
      lcd.setCursor(9,1);
      lcd.print("Lat.");
      lcd.print(skew-3, DEC);
      lcd.print("    ");
        }
      }else{                                // controllo posizionamento antenna
      lcd.backlight();
      lcd.setCursor(0,0);
      lcd.print("Elev.");
      lcd.print(elevOut, DEC);
      lcd.print("    ");
      lcd.setCursor(9,0);
      lcd.print("Dir.");
      lcd.print(dirOut, DEC);
      lcd.print("    ");
      lcd.setCursor(0,1);
        if (levelSF > 30) {                 // formazione barra livello segnale
         lcd.print("Level.");
         for (int lev=0; lev<=levelSF/8; lev++) {
           lcd.print(level);
       }
       lcd.print("          ");
       }else{
      lcd.print("Segn.");     
      lcd.print(levelSF);
      lcd.print("    ");
      lcd.setCursor(9,1);
      lcd.print("Pos.");
      lcd.print(posPot, DEC);
      lcd.print("          ");
      }
     }
    }
    if (pass > 50) {pass = 0;}                     // scrive su display ogni 50 loop
    delay(10);         
    }
    /***********  FUNZIONI RIPETITIVE  *****************/
    void alza() {
      digitalWrite(motEa, HIGH);
      if (((elevOut > elevHB-prox) && (elevOut < elevHB+prox)) || elevOut < 30){
        analogWrite(motEb, velRid);
        }else{
        digitalWrite(motEb, LOW);
      }
    }
    /***************************************************/
    void abbassa() {
      digitalWrite(motEb, HIGH);
      if (((elevOut > elevHB-prox) && (elevOut < elevHB+prox)) || elevOut > 80){
        analogWrite(motEa, velRid);
        }else{
        digitalWrite(motEa, LOW);
      }
    }
    /***************************************************/
    void orario() {        // gira in senso orario
      digitalWrite(motDb, HIGH);
      if (((dirOut > dirHB-prox) && (dirOut < dirHB+prox)) || posPot > 345){
        analogWrite(motDa, velRid);
        }else{
        digitalWrite(motDa, LOW);
      }
    }
    /***************************************************/
    void antiorario() {        // gira in senso antiorario
      digitalWrite(motDa, HIGH);
      if (((dirOut > dirHB-prox) && (dirOut < dirHB+prox)) || posPot < 15){
        analogWrite(motDb, velRid);
        }else{
        digitalWrite(motDb, LOW);
      }
    }
    /***************************************************/
    void ferma() {                                        // ferma rotazione motori
      digitalWrite(motDa, HIGH);
      digitalWrite(motDb, HIGH);
      digitalWrite(motEb, HIGH);                         
      digitalWrite(motEa, HIGH);
      oldState = LOW;                              // disattiva automatismi e
      digitalWrite(ledMA, LOW);                           // spegne LED
    }
    /***************************************************/
    void salva() {
    EEPROM.write(0, dirOut);                // memorizza direzione nella cella 0
    EEPROM.write(1, elevOut);               // memorizza elevazione nella cella 1
    delay(500);
    Reset_AVR();                            // resetta sistema
    }
    /***************************************************/
    void chiude() {                                // chiude antenna (MOTORE acceso)
        oldState = LOW;                     // disattiva automatismi e
        digitalWrite(ledMA, LOW);                  // spegne LED
        if (centroRot == 0){
          if (elevOut > sicRot) {alza();        // porta elevazione in sicurezza
          }else{
            if (posPot > centro + range) antiorario();
            if (posPot < centro - range) orario();  // porta rotazione a 180°
            }
          }
          if (posPot == centro) {
            centroRot = 1;
            digitalWrite(motDa, HIGH);      // ferma rotazione antenna
            digitalWrite(motDb, HIGH);
            }
          if (centroRot == 1) abbassa();
        }
    /***************************************************/
    void orienta() {                            // mantiene l'antenna entro i valore impostati
          if (elevOut > elevHB + range) {alza();          // alza antenna
          }else{                             // orienta antenna se elevOut < elevHB
            if (dirOut > dirHB + range) antiorario();
            if (dirOut < dirHB - range) orario();
            if ((dirOut > dirHB - range) && (dirOut < dirHB + range))  {
              digitalWrite(motDa, HIGH);    // ferma rotazione antenna
              digitalWrite(motDb, HIGH);
              dirLock = 1;                         // direzione OK
            }
            if (elevOut > elevHB + range) alza();  // alza antenna
            if (elevOut < elevHB - range) abbassa();      // abbassa antenna
            if ((elevOut < elevHB + range) && elevOut > (elevHB - range)) {
              digitalWrite(motEa, HIGH);                       // ferma elevazione antenna
              digitalWrite(motEb, HIGH);
              elevLock = 1;                               // elevazione OK
            }
          }
          if (((elevLock == 1) && (dirLock == 1)) || (levelSF > 80)) centra();
      }
    /*** Centraggio perfetto satellite. Programma ancora da sviluppare, in attesa di perfezionare
    il movimento della meccanica. Sostituendo almeno il motore della rotazione con uno Stepper,
    si avrebbe la massima precisione e la possibilità di bloccare la meccanica, con un minimo di
    tensione PWM su una fase. Resta da verificare l'influenza dei maggiori campi magnetici creati
    sul funzionamento della bussola. Per il momento la ricerca si ferma se durante la scansione,
    in prossimità delle posizioni salvate, il livello segnale supera il 30% ********************/
    void centra(){
      if (levelSF > 30) {                   // se il segnale supera il 30%, si ferma. 
      ferma();
      oldState = LOW;                 // attiva comandi manuali e
      digitalWrite(ledMA, LOW);             // spegne LED
      }
    }
    /*******************************  FINE PROGRAMMA  ********************************************/
     

  • modificato 23:47

    grazie, grazie, grazie *clapping* *biggrin*

  • modificato 23:47

    Grazie Windom ....  Domani comincerò a lavorarci.

    Ciao.

  • modificato 23:47

    Mi sono accorto di un erore del software rispetto allo schema elettrico, dovuto al fatto che a me non funzionava più il pin analogico A0 e quindi avevo usato i pin A1,A2 e A3.

    Si prega pertanto di correggere le linee:

    #define inSF A1                         // pin in SatFinder
    #define inCom A2                      // pin in Pulsanti
    #define inPot A3                        // pin in Potenziometro

    nel seguente modo:

    #define inSF A0                         // pin in SatFinder
    #define inPot A1                        // pin in Potenziometro
    #define inCom A2                      // pin in Pulsanti

    Va detto che si possono usare i pin analogici che si desidera, basta che ci sia corrispondenza tra schema elettrico e software.

    Ciao.

  • modificato 23:47

    aiuto! sono in possesso di un brandeggio come quello di windom46 sprovvisto di motorini qualcuno mi può dare una dritta a quale modello mi devo orientare e possibilmente dove poterli reperire. Chiaramente devo pilotarli con arduino utilizzando il progetto di windom46. Grazie

  • modificato 23:47

    ciao chimera, i motoriduttori originali, fanno circa 4,5 giri al minuto.

    Io quando avevo pensato di sostituire i miei, avevo visto questo:

    http://www.futuraelettronica.net/CATGEN2013_SEZIONI/Robotica_nuove_tecnologie.pdf

    pag.125 art. RH15912630. Se ci stanno come ingombro, oltre ad essere economici, dovrebbere essere perfetti.

    Ciao, a presto.

  • modificato 23:47

    Dovessi cambiare i motori adesso, però, sull' elevazione, essendo quello originale un po' lento, metterei il RH15812630, sempre a pag.125, che fa 9 RPM.

  • modificato 23:47

    Questo è l'interno dei motoriduttori originali, ingranaggio che sforza meno in nylon e gli altri metallici, niente di eccezionale. Quelli che dici tu, almeno dalla struttura esterna, sono senz'altro meglio, vedo pure che ci sono con diverso rapporto di riduzione. Non resta che provare (altezza 63 mm....ci stanno?). Come fai ad accoppiarli alla meccanica senza ingranaggi? Fai tutto con pulegge e cinghie dentate?

    Io, come vedi all'inizio del video, l'ho fatto sulla rotazione, riducendo a zero i giochi di accoppiamento.

    La cosa comporta diverse modifiche alla meccanica, che saranno spiegate dettagliatamente non appena in redazione troveranno il tempo di pubblicare l'articolo.

    A preso, ciao. 

    <img alt="" src="data:image/png;base64,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I/95qDtNUQ5gHhqvOa85qxkpCc4pKTitBBsqgYAm1gW5jAcvDgnVw1JjlOImYTgTtBC0EKSAytVirARiFgbRtbfMNC5dzEtv0DbhOCFNiCqftglpolEoe/AQp3W32dZg1tK5KVxcB7gO2xK8YqfO3VUF7DKAxDHQkYBDzUVdb0uHfnUdkhG9TpU5ZWrDRpFY0EZT2hn326btbPrepqqGl6DUga+6LLauxGnC28Sz7jZxs80UMB11hqzpFZWjZRLMI38WB/PY0LtaVUM5MM+6HfszHbeGprtB0nXsz5NwEQ9yeR75i1jHlQMr8RaxeneqcgAAIABJREFUt4jceQyG9qiVJw62mc9lmtiTFVNA09CZhVCoa8DwXCMZXmpUwx7fOnIXdxzAp70q+OW7x55zBELZWd6xF7dBLtuL2wOql3ed5V1nedddHDmLu+7iLiyCAiRrlezMb3vW3Q0qi6nbvIXK25g6JjZTKTljBGOESUso5oyCsw1ghsTs+1F5K5h1nFjTd2vP4bLhIRCSSsVUxw3iUtWzrudCgks8BaFG7P3CtKb9O3G5IRJs6tRN3P5GvtUmjDfZrEG7le66MMhvpHdNGA8KGOAqxbD4eFVOSxIpiRCYc8w5YgwxNlJ5peBXxjUgmdCasoaONZYnVb3E+KiizbVAm/m9Ex1sLibmDEFBZnOxL6Rno7akpGmboiqzpiqSOFwuFr/euvXFzZuffvLJe+++98orr/7tb3976aW/Pv/8X57405NXDq6dv3Cwu3dx9+yV3bNXTu9f2dm/+tD+wc7+tYf2DnfOXnvw7OEDuwd/3L1yau/qg2evndo/fGD34IHdg1N7Bw/uH5zaP3jw7NXT56/t7F99cO/yg3tXHty9/NDepZ29izv7lx/au3Dq9NmdvfN75y9fuHR49dpjDz/250cef/LJp24888xzDz/6+LWHH3v40SeuP/zo4fWHrz/8yPWHH3300ccfeezxa9euXzu8fvXg8PLly49cv/6nx5949OGH//z4E889++yNp5957tkbzzz15NNP/umF55997sYzN5556qUXbrz68ot/ffHG88/86fln/vzqS8999fkHrE2zYPnVJ++886+X//2357/77P3MnR3//M1br738zj/+9s1nH3z41r/eePWvn7zz5teffby4/UvmO00WC1yfCMxxyVAhcMnaHNdJWyWo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

  • modificato 23:47

    Non mi ha caricato l'immagine, ecco il link.

    http://i57.tinypic.com/p1teq.jpg

  • modificato 23:47

    i vecchi motorini funzionavano a 24v ed erano accoppiati tramite un ingranaggio in metallo che sono riuscito a conservare. Ho notato che i vecchi motori hanno lo stesso diametro dell'asse di rotazione, quindi posso utilizzare l'ingranaggio che viene blocccato con una coppiglia che funge da fermo. Comunque sto valutando l'idea di poter utilizzare qualche motore di alzacristallo di qualche auto, ma solo se sarà possibile utilizzare l'ingranaggio originale. Domani proverò a fare una foto all'interno del brandeggio.

  • modificato 23:47

    i vecchi motorini funzionavano a 24v ed erano accoppiati tramite un ingranaggio in metallo che sono riuscito a conservare. Ho notato che i vecchi motori hanno lo stesso diametro dell'asse di rotazione, quindi posso utilizzare l'ingranaggio che viene blocccato con una coppiglia che funge da fermo. Comunque sto valutando l'idea di poter utilizzare qualche motore di alzacristallo di qualche auto, ma solo se sarà possibile utilizzare l'ingranaggio originale. Domani proverò a fare una foto all'interno del brandeggio.

  • modificato 23:47

    Super Windom ,

     

    dimmi per l´ app Android usi App inventor? come fai a visualizzare piu di un dato analogico ?

     

    i dati li mandi in seriale -->serial.print? nello stesso metodo come li mandi sul lcd i2c?

    // visualizza su display i valori memorizzati nella EEPROM
      lcd.setCursor(0,0);
      lcd.print("**** HOTBIRD ***");

      serial.print ("**** HOTBIRD ***");
     

    lcd.setCursor(0,1);
      lcd.print("Dir.");
      lcd.print(dirHB, DEC);
      lcd.setCursor(9,1);
      lcd.print("Elev.");
      lcd.print(elevHB, DEC);
      lcd.print("  ");
      lcd.print("  ");
          delay(3000);                             // attesa 3 secondi
      lcd.clear();
    }

     

  • modificato 23:47

    Ciao tedesto, se ti riferisci al controllo via bluetooth con cellulare Android del video,  l’app l’ho fatta con MitAppInventor(beta). Con la versione 2, trovo che il BlocksEditor non vada avanti e poi sia di difficile gestione, ma forse dipende dal mio PC  un po’ vecchiotto o dal collegamento Internet.

    Per inviare i dati al cellulare, ho creato una stringa unica di 30 caratteri con una “X” finale come riferimento. I dati inviati sono:

    direzione, elevazione, skew, livello segnale, posizione potenziometro rotazione e stato bistabile manuale/automatico, per avere la certezza dello stato del controllo.

     

    String stringBT, strDir, strElev, strSkew, strLev, strPot, strOS;  // variabili trasmissione dati

    SoftwareSerial mySerial(pinRX, pinTX);  // impostare i pin 2=RX  4=TX

    /**************************** SETUP *********************************/

    void setup(){

     mySerial.begin(38400);              // settaggio comunicazione BT, IMPORTANTE! settare

                                                    // anche il modulo BT a 38400 con istruzioni AT

    ecc.ecc…….

    // stringa trasmissione dati

    strDir = String(dirOut) + "      "; strDir = strDir.substring(0,5);          // 5 spazi tra virgolette

    strElev = String(int(elevOut)) + "      "; strElev = strElev.substring(0,5);

    strSkew = String(int(skewOut)) + "      "; strSkew = strSkew.substring(0,5);

    strLev = String(int(levelSF)) + "      "; strLev = strLev.substring(0,5);

    strPot = String(int(posPot)) + "      "; strPot = strPot.substring(0,5);

    strOS = String(int(oldState)) + "      "; strOS = strOS.substring(0,4)+"X";

       stringBT = strDir + strElev + strSkew + strLev + strPot + strOS ;   // lunghezza stringa 30 bytes

       mySerial.print(stringBT);    // invia dati alla Seriale BT

     

    Nella app.apk le variabili vengono ricavate a blocchi di 5 caratteri, usando come riferimento la X.

    Va detto che il programma sarebbe più pulito trasmettendo la stringa di variabili separate da “;” e “:”  ottenendo l’accoppiata variabile/valore, così:

    stringBT = dir:strDir;elev:strElev;skew:strSkew ;level:strLev;  ecc…….   // lunghezza stringa 30 bytes

    Occorrerà poi splittare la stringa in ricezione per ricavare tutte le variabili. Io ho provato anche questo metodo ma il primo sistema secondo me è più veloce e introduce meno latenza nell’esecuzione dei comandi.

    Il tempo di mettere insieme tutto il materiale e vedro’ se qualcuno avrà voglia di pubblicarlo.

    Allego il link dell’ultima interfaccia in quanto sono riuscito, dopo aver corretto anche una formula per il calcolo dell’orientamento parabola trovata su Wikipedia ad ottenere i dati di puntamento usando latitudine/longitudine del GPS del cellulare o anche solo dalla triangolazione delle cellule telefoniche.

    http://i59.tinypic.com/14udziu.png

    Vorrei ancora riuscire a disattivare lo standby del display, tipo quando si usa il navigatore che il display rimane sempre acceso,  ma questa la vedo più dura in quanto non ho trovato istruzioni in merito.

  • modificato 23:47

    ciao chimera, può darsi che i primi brandeggi usassero motori a 24v, i miei invece, sono a 12v. Sui motori dei tergicristalli, a parte il fatto che bisogna riuscire a farceli stare, avevo sentito altre discussioni dove dicevano che i campi magnetici creati, rendevano impossibile l'utilizzo della bussola. Probabilmente o non sono sufficiente schermati contro i disturbi o assorbono troppo, creando maggior flusso magnetico. Penso che la prima idea che avevi avuto (eBay), non sia da scartare.

     

  • modificato 23:47

    Ciao windom46,

     

     

    grazie per la tua risposta , si mi riferivo proprio a quello .

    Grazie per la dritta segnali analogici , e da un po chesto giocando pure io con app invetor.

     

    Windom guardando il tuo schema controllo quanto fili arrivano al brandeggio? 10 + Antenna?

    4x motordriver

    12v ,5v,GND,Poti,SDA,SCL(CMPS10)

     

     

    Grazie

    Antonio

     

     

    [quote=windom46]

    Ciao tedesto, se ti riferisci al controllo via bluetooth con cellulare Android del video,  l’app l’ho fatta con MitAppInventor(beta). Con la versione 2, trovo che il BlocksEditor non vada avanti e poi sia di difficile gestione, ma forse dipende dal mio PC  un po’ vecchiotto o dal collegamento Internet.

    Per inviare i dati al cellulare, ho creato una stringa unica di 30 caratteri con una “X” finale come riferimento. I dati inviati sono:

    direzione, elevazione, skew, livello segnale, posizione potenziometro rotazione e stato bistabile manuale/automatico, per avere la certezza dello stato del controllo.

     

    String stringBT, strDir, strElev, strSkew, strLev, strPot, strOS;  // variabili trasmissione dati

    SoftwareSerial mySerial(pinRX, pinTX);  // impostare i pin 2=RX  4=TX

    /**************************** SETUP *********************************/

    void setup(){

     mySerial.begin(38400);              // settaggio comunicazione BT, IMPORTANTE! settare

                                                    // anche il modulo BT a 38400 con istruzioni AT

    ecc.ecc…….

    // stringa trasmissione dati

    strDir = String(dirOut) + "      "; strDir = strDir.substring(0,5);          // 5 spazi tra virgolette

    strElev = String(int(elevOut)) + "      "; strElev = strElev.substring(0,5);

    strSkew = String(int(skewOut)) + "      "; strSkew = strSkew.substring(0,5);

    strLev = String(int(levelSF)) + "      "; strLev = strLev.substring(0,5);

    strPot = String(int(posPot)) + "      "; strPot = strPot.substring(0,5);

    strOS = String(int(oldState)) + "      "; strOS = strOS.substring(0,4)+"X";

       stringBT = strDir + strElev + strSkew + strLev + strPot + strOS ;   // lunghezza stringa 30 bytes

       mySerial.print(stringBT);    // invia dati alla Seriale BT

     

    Nella app.apk le variabili vengono ricavate a blocchi di 5 caratteri, usando come riferimento la X.

    Va detto che il programma sarebbe più pulito trasmettendo la stringa di variabili separate da “;” e “:”  ottenendo l’accoppiata variabile/valore, così:

    stringBT = dir:strDir;elev:strElev;skew:strSkew ;level:strLev;  ecc…….   // lunghezza stringa 30 bytes

    Occorrerà poi splittare la stringa in ricezione per ricavare tutte le variabili. Io ho provato anche questo metodo ma il primo sistema secondo me è più veloce e introduce meno latenza nell’esecuzione dei comandi.

    Il tempo di mettere insieme tutto il materiale e vedro’ se qualcuno avrà voglia di pubblicarlo.

    Allego il link dell’ultima interfaccia in quanto sono riuscito, dopo aver corretto anche una formula per il calcolo dell’orientamento parabola trovata su Wikipedia ad ottenere i dati di puntamento usando latitudine/longitudine del GPS del cellulare o anche solo dalla triangolazione delle cellule telefoniche.

    http://i59.tinypic.com/14udziu.png

    Vorrei ancora riuscire a disattivare lo standby del display, tipo quando si usa il navigatore che il display rimane sempre acceso,  ma questa la vedo più dura in quanto non ho trovato istruzioni in merito.

    [/quote]

  • modificato 23:47

    Si, effettivamente più o meno è così, ma faccio prima a farti lo schema del cablaggio che vale più di 1000 spiegazioni. Il cavo dell'antenna che va al satfinder e poi al decoder è una cosa a parte.

    Come alimentazione, al brandeggio, arriva solo, oltre alla massa, il +5 volt, i 12 volt arrivano ai motori dal driver. I 3 fili (SDA,SCL e potenziom.) vengono collegati nella scatola stagna a quelli che arrivano dal controllo, praticamente, sono solo di passaggio.  

     

  • modificato 23:47

    Grazie  Windom

  • modificato 23:47

    Ciao Windom46,

     

    nel brandeggio hai lasciato i motori originali? l´elettronica con i relais interni non servono piu´ o si devono lasciare? i motori si collegano direttamente con il motordriver(emertee) ?

     

    grazie per la tua pazienza

    Antonio

  • modificato 23:47

    Nel brandeggio ho lasciato tutto com'era, collegandomi esclusivamente ai fili in uscita, 4 per i movimenti che vanno al driver + massa.

  • modificato 23:47

    il mio brandeggio viene collegato in comune con il +

     

     

     

    [url=http://www.fotos-hochladen.net][img]http://img5.fotos-hochladen.net/uploads/20140619213752uzamhotrs1.jpg[/img][/url]

    io l´ collegato cosi´

     

    ----------------sopra -    ------------------> Mot 1

    ---------------sotto -      ------------------->Mot 1

    ---------------destra -   -------------------->Mot2

    ---------------sinistra -  -------------------->Mot2

    ---------------   +           -------------------->COM +

    [url=http://www.fotos-hochladen.net][img]http://img5.fotos-hochladen.net/uploads/20140619221251l280kw7d56.jpg[/img][/url]

    sul motodriver ho collegato Power con 12V

     

                                      

  • modificato 23:47

    Io il mio l'ho collegato così ( il cavo di destra va al brandeggio). Come vedi oltre ai 4 fili dei motori e ai 3 passanti (bianco,grigio,marron) ci sono solo il nero di massa e il rosso grande dei 5 volt. Forse hanno cambiato qualcosa. Comunque se i motori girano fai solo attenzione che si fermino contro i fine corsa altrimenti bisogna invertire i fili, se mi ricordo bene, rosso e nero sui motoriduttori.

     

     

     

  • modificato 23:47

    Ciao tedesco, nel dubbio sono andato a cercarmi le intruzioni dei collegamenti del mio brandeggio ed effettivamente, come puoi vedere dall'immagine scannerizzata, hanno cambiato il comune dal negativo al positivo, cosa che sinceramente non capisco in quanto normalmente il comune è la massa.

    A questo punto, bisognerà fare arrivare anche il +12volt al brandeggio e modificare il software in modo che per attuare il comando non arrivi il positivo ma il negativo.

    Esempio:

    void alza() {
      digitalWrite(motEa, HIGH);
      if (((elevOut > elevHB-prox) && (elevOut < elevHB+prox)) || elevOut < 30){
        analogWrite(motEb, velRid);
        }else{
        digitalWrite(motEb, LOW);
      }
    }

     

    cambiare così:

    void alza() {
      digitalWrite(motEa, LOW);
      if (((elevOut > elevHB-prox) && (elevOut < elevHB+prox)) || elevOut < 30){
        analogWrite(motEb, velRid);
        }else{
        digitalWrite(motEb, HIGH);
      }
    }

    ... e così anche per tutte le altre istruzioni che controllano i motori (solo quelle).

    Certo non ci voleva, mi spiace solo di non avere un altro brandeggio come il tuo da fare le prove in quanto le polarità vanno rispettate per via dei condensatori elettrolitici che ricordo esserci sulle basette dei ralais, che scoppierebbero.

    Adattare il software alle tue esigenze non comporta comunque rischi, al massimo, i motori non girano.

    Eventualmente prova a cambiarne una funzione alla volta, iniziando da quella che ferma i motori.

     

     

     

     

     

  • modificato 23:47

    Ciao Windom ,

     

    grazie *pleasantry* ma questo l´avevo gia fatto .

    Ho altri problemini dove sicuramente mi puoi aiutare , dove nel tuo sketch si trovano i dati del satellite Hotbird? con due pusanti  vorrei implementare anche Astra 19,2  Pin Digitali 2 e 4?

    Ancora non ho risolto con il  Poti .....

     

    come hai fatto con il cmps10 dopo l´hai montato ? potresi postare qualche foto? si deve calibrare come documentazione?

    Calibration the CMPS10
    I would recommend evaluating the CMPS10 performance first before implementing this function. Its purpose is to remove offsets
    caused by constant magnetic sources around the CMPS10. First of all you need to determine North and align the CMPS10 with it, then
    write a sequence of 3 commands in the correct order with a small delay between bytes, 100ms will be more than adequate. The
    sequence to enter calibration mode is 0x31,0x45,0x5A, then calibrate the first point by sending 0x5E to the command register, this
    should also light the LED. The Compass should then be rotated 90° and 0x5E sent to the command register again, repeat for two
    further 90° rotations and the calibration completes and the LED turns off. Please make sure that the CMPS10 is not located nearto
    ferrous objects as this will distort the magnetic field and induce errors in the reading.

  • modificato 23:47

    Ciao tedesco,

    partiamo dai dati di puntamento che sono memorizzati nella eeprom(cella 0 e 1). La prima volta bisogna cercare il satellite con la ricerca manuale sui valori ricavati da tabelle che si trovano in Internet o da programmi tipo Satfinder (Android), valori che dipendono dalla tua posizione che in genere sono intorno a 38 e 173 gradi. Successivamente, memorizzare questi valori con "Salva" per poi ritrovarseli in fase di ricerca automatica. Per quanto riguarda Astra, io non l'ho previsto in quanto uso il decoder TivuSat con scheda che usa esclusivamente Hotbird, ho però notato che senza cambiare elevazione, basta ruotare l'antenna di circa 5 gradi e si prende, anche più forte di Hotbird e puoi sempre memorizzare questi valori per la ricerca successiva.

    La cmps10 non l'ho dovuta calibrare in quanto andava benissimo, mentre per la cmps03 che usavo prima e che si era scalibrata, ho usato questo sketch in modalità I2C che penso dovrebbe andare bene anche per la cmps10: 

     

    // CALIBRAZIONE CMPS03

    #include <Wire.h>
    #define sensorAddress 0x60  // indirizzo bussola:
    #define resultRegister 0x02  // indirizzo di memoria per il risultato
    #define calibrationRegister 22
    #define calibrationValue 0xF5
    int delayTime = 20000;
    void setup()
    {
    // avvia il bus I2C:
    Wire.begin();
    // avvia Seriale:
    Serial.begin(9600);
    }

    void loop()
    {
    setRegisterRX(sensorAddress, resultRegister);
    int bearing = readData(sensorAddress, 2);  // legge il risultato:
    Serial.print("posizione: ");    // stampa il risultato:
    Serial.print(bearing/10);
    Serial.println(" gradi");
    delay(10000);    // attesa 10 secondi per prossima lettura

    // calibrazione:
    Serial.println("puntare a NORD");
    delay (delayTime);
    setRegisterTX(sensorAddress, calibrationRegister, calibrationValue);
    Serial.println("NORD scritto");
    Serial.println("puntare a EST");
    delay (delayTime);
    setRegisterTX(sensorAddress, calibrationRegister, calibrationValue);
    Serial.println("EST scritto");
    Serial.println("puntare a SUD");
    delay (delayTime);
    setRegisterTX(sensorAddress, calibrationRegister, calibrationValue);
    Serial.println("SUD scritto");
    Serial.println("puntare a OVEST");
    delay (delayTime);
    setRegisterTX(sensorAddress, calibrationRegister, calibrationValue);
    Serial.println("CALIBRAZIONE FINITA");
    while(true) {};
    }
    void setRegisterRX(int address, int thisRegister) {// start I2C transmission:
    Wire.beginTransmission(address);   // write address to read from:
    Wire.write(thisRegister);   // end I2C transmission:
    Wire.endTransmission();
    }

    void setRegisterTX(int address, int thisRegister, int thisValue) {
    // start I2C transmission:
    Wire.beginTransmission(address);   // write address to write to:
    Wire.write(thisRegister);   // write value to write to:
    Wire.write(thisValue);   // end I2C transmission:
    Wire.endTransmission();
    }
    int readData(int address, int numBytes) {
    int result = 0; // the result is two bytes long
    Wire.requestFrom(address, numBytes);   // write I2C request for data:
    while (Wire.available() < 2 ) {    // wait for two bytes to return:
    }   // wait for result
    result = Wire.read() * 256;   // read the two bytes, and combine them into one int:
    result = result + Wire.read();
    return result;   // return the result:
    }

     

    Per quanto riguarda il montaggio della bussola, ho solo una foto a montaggio ultimato dell'antenna. Essendo ora integrati bussola e inclinometro, io l'ho sistemata nello scatolotto al posto dell' inclinometro, cercando di tenerla in piano in corrispondenza dei 38 gradi di elevazione e con il nord in avanti (usare solo viti in ottone o acciaio inox per via dei campi magnetici).

     

     

     

Lascia un Commento

GrassettoCorsivoCancellatoElenco ordinatoElenco non ordinato
Emoji
Immagine
Allineamento a sinistraAllineamento al centroAllineamento a destraPassa alla visualizzazione HTMLPassa alla visualizzazione pagina interaAccendere/spegnere le luci
Spostare immagine/file