OpenXsensor met Arduino Nano
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
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