Il me semble que ce sujet avait déja été évoqué, mais je ne me rappelle plus où ?
Jeremy ?
N'ayant pas de module HC05 ( les vrais !) mode=1=Maitre
je me rabat sur un module RN41 configuré en maitre
Ce module est utilisé pour transmettre une mesure de temperature exterieure (distance 18M entre RN41 et HC05 eslcave via 1 mur beton)
acquise par un PIC12F1840 DIP8, le tout alimenté par une batterie Li-ion 3600mAH 3,6V nominal
mon probleme est que je n'arrive pas à passer en mode Tres basse conso (300µA) , sinon ma batteire ne tiendra pas longtemps
sans recharge .
Advanced User Manual
rn-bluetooth-um Version 4.77 2/3/2011
Low power connect mode. Disables the Bluetooth radio and LED timers while not
connected. When set, the module will cycle between active (discoverable and
connectable) and low power deep sleep. This can save considerable power when the
module is waiting for long periods of time without a connection. The trade off is
additional latency when connecting or pairing. The value is a four digit number
made up of two one byte intervals. The first interval is the OFF period and the
second the ON period. Both are in Hex seconds (not decimal). The maximum value
is 20 seconds for either of the periods. Default is 0000 always actively waiting for a
connection.
Example: S|,2001 // cycle ON for one second and OFF for 32 seconds (HEX=20=>Decimal 32).
SW,<hex word> Enable low power SNIFF mode. Default is 0000=disabled. SNIFF mode allows
extreme low power operation. Device goes into a deep sleep, and wakes up every
625us * <hex word> to send/receive chars.
Example: SW,0050 enables Sniff mode with interval time of 50 milliseconds
This will cause the module to enter low power sleep, and wake once every 50
milliseconds to check for RF activity.
Deep Sleep mode can be used to obtain extremely low power operation. The device totally shuts down and
only draws about 300uA of current in this mode. To enable Deep Sleep, set the high order bit of the Sniff
word = 0x8000. This bit is NOT used to determine the sleep interval, it is only used as a flag to enable deep
sleep. For example, If you want ½ second sleep 0x0320, with Deep sleep, you would set the sniff word to
0x8320.
Cette doc technique montre plusieurs façon de reduire la conso
mais soit je comprends rien, soit chaque mode interfere ou est est particulier à une certaine config de base.
Nota: j'utilise le mode Maitre pour pouvoir accederà mon Esclave HC05
j'ai essayé avec ceci
Code : Tout sélectionner
UART3_Write_CText("Sniff mode deep sleep SW,0x8640 2sec \r\n");
Raz_Buffer1();
UART1_Write_CText("SW,8640\r\n");
Delay_1sec();
if(Index1>2)
{
UART3_Write_Text(Buffer1);CRLF3(); // espion UART3
}
Delay_1sec();
UART3_Write_CText("SI,0200 320ms \r\n");
Raz_Buffer1();
UART1_Write_CText("SI,0200\r\n"); // RN41
Delay_1sec();
if(Index1>2)
{
UART3_Write_Text(Buffer1);CRLF3();
}
Delay_1sec();
// 6sec -> 6000ms 6000/0.625=9600 => 0x2580
UART3_Write_CText("Si| ON 3sec/OFF 6sec duty cycle \r\n");
Raz_Buffer1();
UART1_Write_CText("S|,0306\r\n");
Delay_1sec();
if(Index1>2)
{
UART3_Write_Text(Buffer1);CRLF3();
}
Delay_1sec();
et dans la boucle principale de mon program
je fais les operations suivantes
boucle
acquistion mesure DS18B20
Attente cde "Mes1?"
Envoi valeur DS18B20
Kill liaison Bt <-- la conso devrait baisser !
Delay 10 secondes
connect liaison BT
goto boucle
je recupere bien ma mesure sur l'equipement distant (Horloge defilante 12 matrices)
mais la conso uniquement du module RN41 tourne entre 17mA et une pointe à 20mA lors de l'envoi mesure
et ne se reduit jamais en dessous ..
Avec le PIC inclus ,la conso globale est entre 21 et 24mA
L'UART1 Hardware pilote le RN41
mon Espion est sur UART3 software (ASM)
Code : Tout sélectionner
(12.001) Kill
(12.009) TEx=+29.12°C
(0.010) Kill
(1.002) TEx=+29.12°C
je n'ai trouvé AUCUN exemple sur le web à ce sujet
Nota :
Avec mes Transceivers HC12 ce serait OK , avec une reduction conso possible (testée OK!)
à <70µA en SLEEP ( pas en SLIP!)
mais la portée est trop courte < 10M en mode FU2 4800
because FAUSSE copie de HC12 .. pas ceux de PSPIC !