OpenXsensor met Arduino Nano

4.3
(3)

Ik ben onlangs overgestapt van de Arduino Pro Mini’s naar de Nano vanwege verschillende dingen:

  • Stabiele klok @ 16Mhz met lage spanningen, nodig voor multi-in-one sensorconfiguratie.
  • 3.3v-uitgang, ook gebruikt voor VREF (referentiespanning voor analoge sensoren, spanning, stroom enz.)
  • Direct programmeerbaar via USB
  • Goedkoper dan Pro Mini’s

https://github.com/openXsensor/openXsensor

Een stroomsensor configureren voor gebruik met ETHOS

 

Een opmerking voor wie stroomsensoren wil bouwen voor gebruik met ETHOS.

Zoals voor nu, zendt OpenXsensor negatieve waarden rond 0 ampère uit.
Deze negatieve waarden worden in Ethos als ongeldig beschouwd.
Daarom zal Ethos uiteindelijk steeds sensor verloren aankondigingen.

Om dit te voorkomen, moeten we er zeker van zijn dat OpenXsensor alleen 0 of positieve waarden uitstuurt.

in het bestand: openXsensor/ oXs_out_frsky.cpp

Zoek naar het volgende op regel 597:

 

#if defined(ARDUINO_MEASURES_A_CURRENT) && (ARDUINO_MEASURES_A_CURRENT == YES)  
    if ( oXs_Current.currentData.milliAmps.available) {
      oXs_Current.currentData.milliAmps.available = false ; 
      sport_currentData.value = oXs_Current.currentData.milliAmps.value  / 100 ;
      sport_currentData.available = true ;
    }  
#elif defined(AN_ADS1115_IS_CONNECTED) && (AN_ADS1115_IS_CONNECTED == YES ) && defined(ADS_MEASURE) && defined(ADS_CURRENT_BASED_ON)
    if ( oXs_ads1115.adsCurrentData.milliAmps.available ) {
      oXs_ads1115.adsCurrentData.milliAmps.available = false ;
      sport_currentData.value = oXs_ads1115.adsCurrentData.milliAmps.value  / 100 ;
      sport_currentData.available = true ;
    }  
#endif

en verander het in:

#if defined(ARDUINO_MEASURES_A_CURRENT) && (ARDUINO_MEASURES_A_CURRENT == YES)  
    if ( oXs_Current.currentData.milliAmps.available) {
      oXs_Current.currentData.milliAmps.available = false ; 
      sport_currentData.value = oXs_Current.currentData.milliAmps.value  / 100 ;
      if (sport_currentData.value >= 0) {
        sport_currentData.available = true ;
      }
    }  
#elif defined(AN_ADS1115_IS_CONNECTED) && (AN_ADS1115_IS_CONNECTED == YES ) && defined(ADS_MEASURE) && defined(ADS_CURRENT_BASED_ON)
    if ( oXs_ads1115.adsCurrentData.milliAmps.available ) {
      oXs_ads1115.adsCurrentData.milliAmps.available = false ;
      sport_currentData.value = oXs_ads1115.adsCurrentData.milliAmps.value  / 100 ;
      if (sport_currentData.value >= 0) {
        sport_currentData.available = true ;
      }
    }  
#endif

 

 

 

Hoe nuttig was dit bericht?

Klik op een ster om deze te beoordelen!

Gemiddelde score 4.3 / 5. Aantal stemmen: 3

Tot nu toe geen stemmen! Wees de eerste die dit bericht beoordeelt.

Het spijt ons dat dit bericht niet nuttig voor u was!

Laten we dit bericht verbeteren!

Vertel ons hoe we dit bericht kunnen verbeteren?

Dit vind je misschien ook leuk...

1 reactie

  1. Theo schreef:

    Beste Sven,
    Voor het meten van stroom ook de NANO toegepast.
    Alles werkt. Tot ik de stroom sensor weer aansloot aan mn moke-up. ( nadat hij geheel los even in de opslag gelegen heeft)
    De sensor weer laten ontdekken in het telemetrie scherm.
    Start mooi op maar gaf geen uitlezing deze bleef op 0.0 volt staat.
    Dit veranderde nadat ik de USB poort op de pc aangesloten heb. ( ik weet jij raad dat af)
    Heb jij enig idee wat hier de oorzaak van is?
    Hoe kan ik zorgen dat de sensor gewoon opstart zonder pc ?
    Graag verneem ik.
    Met vriendelijke groet,
    Theo

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *