| nouvelle bidouille: programmation AtTiny 2313 | |
|
|
Auteur | Message |
---|
JEAN-LOUIS Membre intéressé
Messages : 61 Date d'inscription : 22/05/2012 Age : 83 Localisation : 4800 VERVIERS BELGIQUE Emploi/loisirs : PENSIONE / FERROVIPATHE / ELECTRONIQUE
| Sujet: nouvelle bidouille: programmation AtTiny 2313 Mar 26 Juin - 13:58 | |
| bonjour,
ceci est plutôt dirigé vers "SAVIGNI EXPRESS":
en fait, j'ai lu dans ton profil que tu maîtrisais l'AtTiny 2313
c'est justement celui que j'ai choisi pour un montage. je voudrais ((pour mon train électrique) faire une séquence d'accélération/décélération qui imite la manière du DCC. voila ce que j'ai pondu (en MikroBasic)
dans la routine "Init" : PWM1_Init(_PWM1_FAST_MODE,_PWM1_PRESCALER_256,_PWM1_NON_INVERTED,traction)
+ 2 procedures:
sub procedure Accelerer
while (traction<255)
delay_ms(100)
traction = traction +1
PWM1_Set_Duty(tractio)
wend
ens sub
sub procedure Freiner
while (traction > 40)
delay_ms(100)
traction = traction -1
PWM1_Set_Duty(traction)
wend
end sub
qu'en pense tu : j'ai deux doutes quand au choix du "prescaler" ainsi que du nombre de crans de traction, dois-je compter sur 255 ou 1023.
merci pour ta réponse
Jean-Louis
ps/ quand mon bidouillage sera au point, j' éditerai les plans et schémas, mais,pour l'instant c'est un peu prématuré.
J. | |
|
| |
Savignyexpress Membre actif
Messages : 110 Date d'inscription : 16/05/2012 Age : 61 Localisation : Suisse Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique
| Sujet: Re: nouvelle bidouille: programmation AtTiny 2313 Mar 3 Juil - 10:56 | |
| Hello Jean-Louis,
Je vais jeter un oeil plus approfondi aux paramètres du timer que tu as choisi en les comparant à la doc de l'Attiny2313.
L'utilisation du timer 1 que tu fais ressemble à ce que j'ai mis en place pour générer le signal de commande des servo-moteurs qui animent mon PN.
Je développe en C plutôt qu'en MikroBasic. Pourrais-tu s.t.p. lister les constantes avec leurs valeurs qu'il est possible de passer à la routine PWM1_Init ?
Ainsi je m'y retrouverai plus facilement.
Merci, bonne journée et meilleures salutations. | |
|
| |
Savignyexpress Membre actif
Messages : 110 Date d'inscription : 16/05/2012 Age : 61 Localisation : Suisse Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique
| Sujet: Quelques éléments de réponse Mar 3 Juil - 21:26 | |
| Hello Jean-Louis,
J'ai téléchargé la doc de MikroBasic et je pense avoir pu faire le parallèle avec ce que je fais en C.
Prescaler Le prescaler divise la fréquence du microcontrôleur (qui est par défaut 1 MHz). Il définit donc la résolution du timer ainsi que la durée correspondant à sa valeur maximale.
Donc, si tu divises la fréquence par 256 (ou multiplie la période par 256), tu obtiens: 3906.25 Hz ou 0.000256 s (0.256 ms).
Duty-cycle Le duty-cycle est la durée durant laquelle le signal PWM est actif. Comme tu travailles avec le timer 8 bits, la valeur maximale est de 255 pour un duty-cycle de 255.
Sinon, c'est bien les 2 boucles pour l'accélération - freinage me semblent correctes.
En espérant t'avoir aidé, je te souhaite une bonne soirée et t'adresse mes meilleures salutations. | |
|
| |
JEAN-LOUIS Membre intéressé
Messages : 61 Date d'inscription : 22/05/2012 Age : 83 Localisation : 4800 VERVIERS BELGIQUE Emploi/loisirs : PENSIONE / FERROVIPATHE / ELECTRONIQUE
| Sujet: Re: nouvelle bidouille: programmation AtTiny 2313 Mer 4 Juil - 8:33 | |
| Bonjour ,
merci à S-E pour ta réponse,. en fait je pense que la bibliothèque de chez Mikro Electronika fonctionne aussi bien en "C" que en "Basic", en fait lorque l'on regarde le listing "assembler" généré lors d'une compilation on trouve un appel genre :"call PWMx" . suite à ta réponse , je pense que je peu pousser la valeur du "préscalaire" jusqu'a 1024 puisque je souhaite obtenir un accélération/freinage d'environ une quinzaine de secondes
merci et à plus
Jean-Louis | |
|
| |
Savignyexpress Membre actif
Messages : 110 Date d'inscription : 16/05/2012 Age : 61 Localisation : Suisse Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique
| Sujet: Re: nouvelle bidouille: programmation AtTiny 2313 Mer 4 Juil - 10:09 | |
| Hello Jean-Louis, C'est en jouant sur le temps d'attente entre les appels à PWM1_Set_Duty(tractio) que tu contrôleras le temps d'accélération / freinage. Le prescaler influence la fréquence du signal de base. Selon sa valeur, le timer compte plus ou moins vite, mais comme le duty-cycle est exprimé en valeurs du timer, le rapport entre l'état haut et la période du signal reste inchangé. Il faut choisir le prescaler en fonction de la fréquence PWM acceptable par le moteur. Il semble que l'ordre de grandeur dans les décodeurs digitaux soit au moins de 6 KHz voire plus. Plusieurs possibilités sont à envisager:
- Conserver 256 pour le prescaler, fréquence de 3.9 KHz. Cela devrait déjà marcher même si on est au-dessous des 6 KHz.
- Passer à 64, fréquence d'environ 16 KHz. L'avantage est qu'on est certain d'être en dehors des fréquences audibles au cas où des vibrations se produiraient.
De toute manière, il faut faire quelques essais. Si tu as une vieille loco pour les tous premiers tests, cela te permettra d'affiner les réglages sans crainte pour le moteur. Bonne suite et meilleures salutations. PS: Je serai absent du 6 au 14 juillet sans accès au forum. Nous pourrons reprendre ces échanges plus tard. | |
|
| |
JEAN-LOUIS Membre intéressé
Messages : 61 Date d'inscription : 22/05/2012 Age : 83 Localisation : 4800 VERVIERS BELGIQUE Emploi/loisirs : PENSIONE / FERROVIPATHE / ELECTRONIQUE
| Sujet: Re: nouvelle bidouille: programmation AtTiny 2313 Jeu 5 Juil - 8:09 | |
| merci, explication lumineuse!!!!
Jean-Louis | |
|
| |
Contenu sponsorisé
| Sujet: Re: nouvelle bidouille: programmation AtTiny 2313 | |
| |
|
| |
| nouvelle bidouille: programmation AtTiny 2313 | |
|