Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Quelle valeur de résistances pour SCL et SDA?
En partant de la latitude + longitude du lieux et la date du jour donnée par la RTC, le module calcul les heures minutes du levé et couché du soleil (qui changent tous les jours).
Exemple pour l'évènement "Levé du soleil" :
Dans le programme principal du PIC, on compare l'heure minute de levée calculée avec l'heure minute de la RTC.
Si il y a égalité nous sommes le jour.
Le programme PIC et le module "SunCalc_Library" (en MikroBasic) se trouvent dans le document ci-joint.
Exemple pour l'évènement "Levé du soleil" :
Dans le programme principal du PIC, on compare l'heure minute de levée calculée avec l'heure minute de la RTC.
Si il y a égalité nous sommes le jour.
Le programme PIC et le module "SunCalc_Library" (en MikroBasic) se trouvent dans le document ci-joint.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Quelle valeur de résistances pour SCL et SDA?
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Gérard a écrit :Bonjour à tous,
Si je comprends bien, tu pilotes les matrices par cette appli.
.
uniquement si je veux modifier la plage horaire .. qui est stockée dans l'eeprom du PIC
Tu penses que le PWM serait compliqué?
...
une commande en PWM est facileà mettre en oeuvre
le PWM mobilise le Timer2
exemple en mode 8 bits, devrait etre suffisant
ici la consigne est une entree analogique
Code : Tout sélectionner
// en mode 8 bits 255 pas
Ratio=0;
PWM1_Init(5000L); // 5Khz
PWM1_Set_Duty(Ratio);
PWM1_Start();
M=ADC_Get_Sample(3); // lecture AN3 sur RA4
Ratio= M >>2 ;
PWM1_Set_Duty(Ratio);
le meme en mode 10 bits,
légerment plus compliqué à initialiser, mais reglage tres fin en 1024 pas
c'est du C , mais pas loin de l'ASM !
Code : Tout sélectionner
// en mode 10 bits 1024 pas
Print_Cte_String(" Init PWM1 10bits at 1000Hz on RC2 \r\n");
TRISC2_bit = 1; //set TRIS bit
// CCPTMRS0: PWM TIMER SELECTION CONTROL REGISTER
CCPTMRS0 = 0x00; //select timer resources, Timer2 for CCP1 and all others, page 208
PR2 = 0xff; // load with PWM period value (fixed at 1 kHz at 16Mhz)
//CCPxCON
// bit 7-6 PxM<1:0>: Enhanced PWM Output Configuration bits
//00 = Single output; PxA modulated; PxB, PxC, PxD assigned as port pins
// bit 5-4 DCxB<1:0>: PWM Duty Cycle Least Significant bits
//Half-Bridge ECCP Modules(1):
//1100 = PWM mode: PxA active-high; PxB active-high
CCP1CON = 0b00001100; // setup for PWM mode 5:4 are PWM Duty Cycle LSB
CCPR1L = 0x00; // eight high bits of duty cycle
// T2CON = 0b00000101; // Timer2 On, 1:1 Post, 4x prescale at 8MHz
// PWM at 1KHz
T2CON = 0b00000110; // Timer2 On, 1:1 Post, 16x prescale at 16MHz
// T2CKPS1_bit=1;// Timer2-type Clock Prescale Select bits =1/16
// T2CKPS0_bit=1
TRISC2_bit = 0;
// init à 0
IRatio=0;
CCP1CON.DC1B0 = IRatio & 1; //set low bit
CCP1CON.DC1B1 = (IRatio >> 1) & 1; //set second lowest
CCPR1L = (IRatio >> 2); //set highest eight
CRLF1();
do
{
EA1 = ADC_Read(1); // Get 10-bit results of AD conversion
IRatio=EA1;
CCP1CON.DC1B0 = IRatio & 1; //set low bit
CCP1CON.DC1B1 = (IRatio >> 1) & 1; //set second lowest
CCPR1L = (IRatio >> 2); //set highest eight
Delay_ms(1000); // <- optionnel
}
while(1);
l'idée de PSPIC est tentente aussi .. meme si plus compliquée.
Quelle valeur de résistances pour SCL et SDA?
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
pourrais-tu partager ta librairie.. en format *.txt ou via une librairie *.mcl + Header entete
je serai interessé à la tester ( en C) pour remplacer ma plage horaire
pspic a écrit :En partant de la latitude + longitude du lieux et la date du jour donnée par la RTC, le module calcul les heures minutes du levé et couché du soleil (qui changent tous les jours).
Exemple pour l'évènement "Levé du soleil" :
Dans le programme principal du PIC, on compare l'heure minute de levée calculée avec l'heure minute de la RTC.
Si il y a égalité nous sommes le jour.
Le programme PIC et le module "SunCalc_Library" (en MikroBasic) se trouvent dans le document ci-joint.
Projet_OuvFerm_Volets.pdf
pourrais-tu partager ta librairie.. en format *.txt ou via une librairie *.mcl + Header entete
je serai interessé à la tester ( en C) pour remplacer ma plage horaire
Quelle valeur de résistances pour SCL et SDA?
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Mon idée :
les 120 LED pilotés par des MCP23016. La sortie à 1 va allumer la LED. Toutes les cathodes reliées à un MOS qui va commuter la masse.
Avec un courant de 10mA/LED, si elles sont toutes allumées, ça fait 1,2A. Quel MOS conseillez-vous? La grille sera pilotée par PWM.
Pierre, ta solution est trop compliquée pour moi mais je te remercie pour tous tes conseils.
Je suis sûr que j'en aurai encore besoin.
Paul, je vais essayer de comprendre le mode 8 bit.
les 120 LED pilotés par des MCP23016. La sortie à 1 va allumer la LED. Toutes les cathodes reliées à un MOS qui va commuter la masse.
Avec un courant de 10mA/LED, si elles sont toutes allumées, ça fait 1,2A. Quel MOS conseillez-vous? La grille sera pilotée par PWM.
Pierre, ta solution est trop compliquée pour moi mais je te remercie pour tous tes conseils.
Je suis sûr que j'en aurai encore besoin.
Paul, je vais essayer de comprendre le mode 8 bit.
Quelle valeur de résistances pour SCL et SDA?
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Gérard a écrit :Quel MOS conseillez-vous? La grille sera pilotée par PWM.
j'utilise souvent l' IRFZ14 mosfet canal N TO220 coté 0V ( exemple: cde mini fer à souder 5V, commande PWM d'une ampoule 12V 20W))
ou l' AO602 en CMS ? utilisé par TempsX pour son fer à souder reglable ?
ou un IRF9Z24 MOSFET TO220 canal P coté + aLim
As-tu un schema à montrer ?
j'ai deja utilisé le MCP23017, qui est similaire , à part I2C à 1,7MHz maxi et brochage different
Attention :
combien de leds en serie as-tu au maximum sur tes sorties MCP23016 ?
l'alim est de 5V maxi ! ce qui limite à 2 ou 3 led rouge maxi en serie ... ou 1 à 2 led blanches
Bizarre, noté 25mA capability , mais plus loin
les sorties MCP23016 en sink courant peuvent absorber plutot 8,5mA nominal sous 4,5V
et donc je verrai plutot (pas le chien !) un MOSFET canal P coté +alim avec ANODES Communes Leds .
Quelle valeur de résistances pour SCL et SDA?
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
La doc du 23016 dit +/- 20mA par sortie avec un maximum de 200mA au total. Si je limite à 10mA/LED, ça fera 160mA max par circuit. Je vais voir pour le canal N dont tu parles.
Chaque LED est pilotée par une sortie.
Chaque LED est pilotée par une sortie.
Quelle valeur de résistances pour SCL et SDA?
Bonjour Paul,
La source est ici: https://forum.mikroe.com/viewtopic.php?f=10&t=16694
Bon courage par la conversion en MikroC.
pourrais-tu partager ta librairie.. en format *.txt ou via une librairie *.mcl + Header entete
je serai intéressé à la tester ( en C) pour remplacer ma plage horaire
La source est ici: https://forum.mikroe.com/viewtopic.php?f=10&t=16694
Bon courage par la conversion en MikroC.
Quelle valeur de résistances pour SCL et SDA?
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Gérard a écrit :La doc du 23016 dit +/- 20mA par sortie avec un maximum de 200mA au total. Si je limite à 10mA/LED, ça fera 160mA max par circuit. Je vais voir pour le canal N dont tu parles.
Chaque LED est pilotée par une sortie.
j'ai bien lu la datasheet ...
par contre ne pas confondre les indications :
Output clamp current, IOK (VO < 0, or VO > VDD) ..... ± 20 mA
les 20mA .. courant maxi de (limitation) protection !
------------------------------------------------------------------------
TABLE 2-1: DC CHARACTERISTICS
Output Low Voltage
D010 I/O Ports VOL — — 0.6 V IOL = 8.5 mA, VDD = 4.5V
------------------------
Output High Voltage
D010 I/O Ports VOH VDD-0.7 — — V IOH = 3.0 mA, VDD = 4.5V
------------------------------------------------------------------
on voit ici que la sortance est bien plus élevée en mode SINK
8,5mA au lieu de 3,5mA
d'ou le choix ANODE commune pour les leds
si alim=5V DC
aux bornes de(s) la led(s)
5V - (VOL)0,6v - 0,4V(Mosfet) => 4V !
R serie 4-1,5=2,5V => 270 à 330 ohms si 1 seule led (rouge)
c'est mon avis , mais c'est toi qui choisit et décide..
Quelle valeur de résistances pour SCL et SDA?
Retourner vers « Coin Fourre-tout »
Qui est en ligne
Utilisateurs parcourant ce forum : Google [Bot] et 14 invités