Er staat helaas nergens hoelang de sensor nodig heeft van 'off' resp 'standby' naar 'running'...
Special Member
Er staat helaas nergens hoelang de sensor nodig heeft van 'off' resp 'standby' naar 'running'...
Schakelen van de voeding is niet nodig.
De sensor gaat naar standby door een I2C 'Stop ranging" commando.
En ook door pin 5 (xshut) laag te trekken.
Dat moet toch voldoende zijn.
Startup tijd is 1.2 milli-seconden.
Golden Member
Omdat het exacte gebruik alles uitmaakt voor het stroomgebruik, is het nu wel fijn om te weten waar TS heen wil met zijn toepassing.
Is 1Hz bij 20ms genoeg, of moet het vaker en/of nauwkeuriger?
Hi allen,
Dank voor jullie reacties, heeft me echt verder geholpen!!
Ik ben even een paar dagen wezen friemelen.
Allereerst draait de AtMega veel zuiniger momenteel.
De klok heb ik weggehaald waardoor er eigenlijk alleen een IC is
Door het gebruiken van de sleep mode gebruik ik nu nog 40uA.
Als ik de blink sketch gebruik zit ik op 2-6,5 mA (LED uit - LED aan).
Nu ik eenmaal weer mijn sensor heb aangesloten gebruikt de hele set 12mA.
Bovenal dus wel vooruit gegaan, maaaar, het kan nog beter.
Ik wil namelijk nog dat de sensor gaat slapen en zelf weer wakker wordt. Daar heb ik inmiddels al heel wat youtube, google voor afgestruind evenals dat ik er pittig wat uren in heb zitten, het wilt niet lukken.
De datasheet blijft mij wat onduidelijk: https://www.st.com/resource/en/data_brief/vl53l1x-satel.pdf
Wanneer ik een verbinding maken tussen XSHUT en NC1 dan gaat de sensor uit (denk ik, want de mA gaat terug naar 0.04 op de meter).
Echter, ik weet niet hoe ik hem weer wakker krijg, ook in de programmering loop ik te stoeien hoe ik een verbinding tussen XSHUT en NC1 ga maken met dus enkel het IC, daarnaast moet ik hem wakker krijgen.
Er is een INT aansluiting wat interrupt zou kunnen zijn, deze heb ik wel getest maar geen resultaat
Ik probeer het daarom nogmaals hier, hebben jullie misschien een idee hoe dit voor elkaar te krijgen is?
code:
/* THEBULB. THE SO-LOO-TION SENSOR */
#include <Wire.h>
#include <LowPower.h>
#include <VL53L1X.h>
VL53L1X sensor;
void setup()
{
Serial.begin(115200);
Wire.begin();
Wire.setClock(100000); // use 400 kHz I2C //
/* for (int i = 0; i < 20; i++){
pinMode(i, OUTPUT);
}
*/
pinMode(7, OUTPUT);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(3, OUTPUT);
sensor.setTimeout(500);
if (!sensor.init())
{
Serial.println("Let op: de sensor wordt momenteel niet gedetecteerd. Controleer aansluitingen. ");
while (1);
}
sensor.setDistanceMode(VL53L1X::Long);
sensor.setMeasurementTimingBudget(50000); //50000
sensor.startContinuous(100);
}
void loop()
{
Serial.print(sensor.read());
digitalWrite(3, HIGH);
digitalWrite(12, HIGH);
if (sensor.readRangeContinuousMillimeters () <=1000 ) { //schakelafstand wordt hier ingevoerd. Onder deze waarde is de schakeling actief.
digitalWrite (7, HIGH);
digitalWrite (13, HIGH);
}else { //hoger dan de schakelafstand.
digitalWrite (7, LOW);
digitalWrite(13, LOW);
LowPower.powerDown(SLEEP_FOREVER , ADC_OFF, BOD_OFF);
}
if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT");}
Serial.println();
}
NC staat voor "Not Connected". Dus die doet niks (meestal toch).
XShut kun je aan een pin van de Arduino koppelen zodat je die hoog en laag kunt trekken.
Special Member
Een PIR detector gebruikt maar iets van 40uA. (350mA per jaar in vol gebruik)
De rest kan gewoon altijd in slaap blijven tot de PIR iets ziet...
Lijkt me toch een veel economischer oplossing...
Golden Member
Die sensor is een sensor en die willen graag dat ze iets opgedragen wordt. Hij heeft, met die paar µA's, ook niet de energie om iets van betekenis te doen. Je hebt een processor, die kun je makkelijk op gezette tijden wakker laten worden, die sensor aan laten zetten, zijn werk laten doen en allebei weer terug laten slapen.
Dan nog zal de oplossing van Arco stukken zuiniger blijken.
Op 19 juni 2020 12:27:02 schreef DarthVader072:
Nu ik eenmaal weer mijn sensor heb aangesloten gebruikt de hele set 12mA.
Bovenal dus wel vooruit gegaan, maaaar, het kan nog beter.
Weet je zeker dat de sensor wel in sleep mode kan?
Wellicht dat ik er overheen gekeken heb, maar ik zie dat nergens.