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 ---
Forum général en BASIC et PASCAL !

Modérateur : Gérard

Mikrobasic
cyril13110
Confirmé
Confirmé
Messages : 724
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#31 Message par cyril13110 » lun. 24 juil. 2017 12:59

Tango a écrit :OK Temps-x et merci,
Mais j'en suis déjà plus loin que faire clignoter une LED ! C'est pourquoi je m'attaque à la série 18F. Autre chose, est-ce-que quelqu'un de vous utilise le petit utilitaire "TIMER CALCULATOR" de Mikroelektronika pour le calcul des interruptions. Je trouve ce truc bien sympa. Et vous ? Merci. A+ ... Bye ...
Gilles


salit a tous,
il est pas mal comme soft et il permet de bien se faciliter la vie par contre jai eu un petit pribleme avec mais bon javais besoin dun timing bien precis et du jetais obligé de regler mes timer par approche successifs ( pour le generateur ctss dans la partie projet basic).

mais pour des bases de temps qui ne demande pas trop de precision il est tres bien.

Mikrobasic
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#32 Message par Gérard » lun. 24 juil. 2017 21:47

Tango a écrit :Bonjour,
...
OK Gérard pour ta réponse, il suffit dans le "main:" d'appeler les procédures au moment ou on veut les exécuter.


Bonjour,
C'est exactement ça.

Tango a écrit :Encore merci à vous et bonne journée. A + ...
Gilles.


Pas de quoi, c'est avec plaisir, ça sert à ça un forum.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Mikrobasic
Tango
Débutant
Débutant
Messages : 39
Âge : 73
Enregistré en : février 2017
Localisation : Vosges

#33 Message par Tango » lun. 31 juil. 2017 20:23

Bonjour à tous,

Dans la commande :


Code : Tout sélectionner

      
     PWM1_Init 
(500)                 ' fréquence 500 Hz
     PWM1_Start()                     '
 démarrage
     PWM1_Set_Duty
(126)          ' largeur d'impulsion à environ 50 %
     delay_ms (temps)               ' temporisation' 
     PWM1_Stop
()                      ' arrêt


Cette extrait de code fonctionne.

Question :

Si je passe en dessous de 500 la fréquence de PWM1_Init, j'ai un message d'erreur lors de la compilation (Build). Il serait donc impossible d'avoir des créneaux supérieurs à 0.002 s soit 2 millisecondes. Je désirerais avoir des créneaux de 0.02 s soit 20 millisecondes, fréquence 50 Hz pour faire varier la vitesse d"un petit moteur 12 V DC. Le rendement du moteur est meilleure en basse fréquence. Comment faire ? Si vous avez des idées ... Merci ...
Gilles

Mikrobasic
cyril13110
Confirmé
Confirmé
Messages : 724
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#34 Message par cyril13110 » lun. 31 juil. 2017 21:45

salut tango,
1 , 2, 3.....aie mince je ne suis paq assez bon en rango....
bon ok je sort......

ptdr....
tu peut passer par un timer.
tu decoupe ta periode en 255, tu gait incrementer une variable et des que tu passe le seuil qie ta preregle tu bascule ta sortie.
regarde dans les montages en basic le ctss regarde ici...
http://www.fantaspic.fr/viewtopic.php?f=21&t=325
ces t comme ca que jai fait un generateur de frequence de precision pour mon cousin pour la radio.
jai poussé le crenneau encore plus loin afin de generer des sinusoide avec le moins harmonique possible.
mais pour une commande de moteur tu peut simplifier.

sur le meme principe jai cree sur un seul pic 8 sorties pwm autonome a 2.5khz.....

Mikrobasic
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#35 Message par Jérémy » lun. 31 juil. 2017 22:38

Bonsoir ici,

Effectivement ut ne peut pas descendre en dessous de 500 Hertz avec cette fonction PWM . Il faut fabriquer ton MLI grâce a deux timers .
Un premier timer qui dure dans les 20ms , au bout des 20ms il déclenche un deuxième timer de la durée souhaité qui mettra ta sortie a 1.

Voila dans les grandes lignes .

Paulfjujo avait fait un testeur de servomoteur trés bien expliqué (mais c'est du C) regarde ici : testeur de servo .

La coïncidence es sympa , car j'ai fais le même bricolage aujourd’hui. Ma télécommande doit faire bouger un servo-moteur .
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Mikrobasic
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#36 Message par Temps-x » mar. 1 août 2017 00:42

Bonjour Tango, et bonjour à tous,

Il serait donc impossible d'avoir des créneaux supérieurs à 0.002 s soit 2 millisecondes.


Si c'est possible, mais il faut changer de quartz par un quartz de 500 Khz, ce qui va ralentir énormément le programme.

A voir en fonction du Pic, si tu peux pas te servir de l'oscillateur interne, qui normalement doit posséder cette fréquence,
ce qui évite de mettre un quartz, et de récupérer deux pattes.

Tu travailles avec quelle Pic ?

A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Mikrobasic
Tango
Débutant
Débutant
Messages : 39
Âge : 73
Enregistré en : février 2017
Localisation : Vosges

#37 Message par Tango » mar. 1 août 2017 15:29

Bonjour et merci à vous tous,
Vos réponses son très pertinentes, et m'ont donné plein d'idées, en particulier le projet d'un thermomètre d'extérieur avec le servomoteur. Un petit bonhomme en contreplaqué qui met son chapeau quand il fait chaud :roll: ! C'est une première approche, je vous tiendrez au courant. Pour répondre à Temps-x, dans la famille des 18F, j'ai acheté trois 18F25K20. J'ai aussi quelques 16F877A, 16F628A, 16F88 et l'inévitable premier avec lequel j'ai fais clignoter ma première LED, l'inévitable 12F675 ! Je suis rassuré pour le PWM, que ce n'est pas un problème que je n'aurais pas compris. Ce forum est super avec des gars formidables et de plus qui programment en Basic ! :-D . A+ ... Bye
Gilles

Mikrobasic
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#38 Message par paulfjujo » mar. 1 août 2017 16:10

bonsoir,



On peut LEURRER la librairie PWM MikroC


pour obtenir par exemple
une periode PWM de 4mS à 16Mhz
ou une periode PWM de 16mS à 4MHz
en modifiant les diviseurs de Timer2 ...

on initialise SURTOUT PAS le PWM avec la lib MikroC .

Code : Tout sélectionner


 
//  PWM1_Init(1000L);

  // over  Init Timer2
  // maximum de divseurs
  
  T2OUTPS0_bit
=1;     // postscaler =1/16
  T2OUTPS1_bit=1;
  T2OUTPS2_bit=1;
  T2OUTPS3_bit=1;
  T2CKPS1_bit=1;  //prescaler select=11 => 1/64
  T2CKPS0_bit=1;
  PWM1_Set_Duty(Ratio);
  PWM1_Start();

   //PWM1_Stop();
    Read_Msg_Eeprom(0x0050); 
    CRLF
();


Testé sur un 12F1840 .. avec Fosc interne de 4MHz


je mettrais le test complet ici si demande ...

PWM_16mS_4MHz.JPG
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Mikrobasic
cyril13110
Confirmé
Confirmé
Messages : 724
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#39 Message par cyril13110 » mar. 1 août 2017 20:31

Tango a écrit :Ce forum est super avec des gars formidables et de plus qui programment en Basic ! :-D . A+ ... Bye
Gilles


ha une personne de plus qui travaille en Basic....

Mikrobasic
Tango
Débutant
Débutant
Messages : 39
Âge : 73
Enregistré en : février 2017
Localisation : Vosges

#40 Message par Tango » mer. 14 mars 2018 14:16

Bonjour,
Avez-vous un avis sur le "Programmateur MikroProg Suite for PIC".
Merci.


Retourner vers « Langage BASIC & PASCAL »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 27 invités