Les dessoudeurs de l'extrême
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Le forum pour tous les bidouilleurs electroniciens, du novice à l'expert !
 
AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Bienvenue ! Des questions sur l'électronique? Ou passionnés par ce domaine? Partageons nos savoirs et compétences en vous inscrivant.
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

 

 nouvelle bidouille: programmation AtTiny 2313

Aller en bas 
2 participants
AuteurMessage
JEAN-LOUIS
Membre intéressé
Membre intéressé



Messages : 61
Date d'inscription : 22/05/2012
Age : 83
Localisation : 4800 VERVIERS BELGIQUE
Emploi/loisirs : PENSIONE / FERROVIPATHE / ELECTRONIQUE

nouvelle bidouille: programmation AtTiny 2313 Empty
MessageSujet: nouvelle bidouille: programmation AtTiny 2313   nouvelle bidouille: programmation AtTiny 2313 EmptyMar 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.
Revenir en haut Aller en bas
Savignyexpress
Membre actif
Membre actif
Savignyexpress


Messages : 110
Date d'inscription : 16/05/2012
Age : 61
Localisation : Suisse
Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique

nouvelle bidouille: programmation AtTiny 2313 Empty
MessageSujet: Re: nouvelle bidouille: programmation AtTiny 2313   nouvelle bidouille: programmation AtTiny 2313 EmptyMar 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.
Revenir en haut Aller en bas
Savignyexpress
Membre actif
Membre actif
Savignyexpress


Messages : 110
Date d'inscription : 16/05/2012
Age : 61
Localisation : Suisse
Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique

nouvelle bidouille: programmation AtTiny 2313 Empty
MessageSujet: Quelques éléments de réponse   nouvelle bidouille: programmation AtTiny 2313 EmptyMar 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.
Revenir en haut Aller en bas
JEAN-LOUIS
Membre intéressé
Membre intéressé



Messages : 61
Date d'inscription : 22/05/2012
Age : 83
Localisation : 4800 VERVIERS BELGIQUE
Emploi/loisirs : PENSIONE / FERROVIPATHE / ELECTRONIQUE

nouvelle bidouille: programmation AtTiny 2313 Empty
MessageSujet: Re: nouvelle bidouille: programmation AtTiny 2313   nouvelle bidouille: programmation AtTiny 2313 EmptyMer 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
Revenir en haut Aller en bas
Savignyexpress
Membre actif
Membre actif
Savignyexpress


Messages : 110
Date d'inscription : 16/05/2012
Age : 61
Localisation : Suisse
Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique

nouvelle bidouille: programmation AtTiny 2313 Empty
MessageSujet: Re: nouvelle bidouille: programmation AtTiny 2313   nouvelle bidouille: programmation AtTiny 2313 EmptyMer 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.
Revenir en haut Aller en bas
JEAN-LOUIS
Membre intéressé
Membre intéressé



Messages : 61
Date d'inscription : 22/05/2012
Age : 83
Localisation : 4800 VERVIERS BELGIQUE
Emploi/loisirs : PENSIONE / FERROVIPATHE / ELECTRONIQUE

nouvelle bidouille: programmation AtTiny 2313 Empty
MessageSujet: Re: nouvelle bidouille: programmation AtTiny 2313   nouvelle bidouille: programmation AtTiny 2313 EmptyJeu 5 Juil - 8:09

merci, explication lumineuse!!!!

Jean-Louis
Revenir en haut Aller en bas
Contenu sponsorisé





nouvelle bidouille: programmation AtTiny 2313 Empty
MessageSujet: Re: nouvelle bidouille: programmation AtTiny 2313   nouvelle bidouille: programmation AtTiny 2313 Empty

Revenir en haut Aller en bas
 
nouvelle bidouille: programmation AtTiny 2313
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un langage sympa pour débuter en programmation
» Choix d'une plaque de développement pour la programmation de PIC
» Blog sur la programmation en C et aussi en GCbasic principalement pour les PIC
» Nouvelle année
» Demande d'une nouvelle section

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Les dessoudeurs de l'extrême :: RÉALISATIONS :: BIDOUILLAGES-
Sauter vers: