[C] Programmation d'un microcontrolleur

Programmation d'un microcontrolleur [C] - C - Programmation

Marsh Posté le 22-01-2007 à 23:22:55    

Bonjours à tous !
 
Voila le but du project est de constituer une "sorte dynamometre" pour moteur à air ! Celui-ci ressemble plus à un controlleur de compte tour qu' a un réelle dynamometre car ce dynamometre ne prendra aucune mesure de puissance !
Par contre il devra controler un moteur electrique qui fera office de charge au moteur à air, via un Mosfet.
 
Le principe, un moteur à air est directement relié à un moteur electrique. Le moteur electrique exerce une force sur le moteur à air en fonction de la charge de celui-ci (charge controlé par un mosfet). Un capteur detecte la vitesse de rotation du moteur à air et indique cette valeur au microcontrolleur qui ajuste en fonction de la vitesse voulu (entrée par l utilisateur) la charge du moteur electrique afin d obtenir la valeur de rotation désiré du moteur à air. De plus il faut affiché la vitesse en temp reelle mesuré par le capteur (capteur de rotation a effet hall).
 
 
Je suis actuellement munis d'un microcontrolleur philips 8051, plus exactement le P89C664HBA. On m'a recommandé d'utiliser le logiciel Keil mais je n'ai que très peu de notion en language C...  
Mon soucis premier est de pouvoir mesuré via le capteur à effet hall la frequence de rotation du moteur à air, je pense pouvoir mesure cette frequence à l'aide de 2 clocks interne au microcontrolleur. La premiere (T0) determinant le temp de mesure et la seconde (T1) permettant de mesuré les valeurs prise par le capteur. Il suffit ensuite de divisé le nombre de pulse haute enregistré par T1 par le temp de mesure T0. Le probleme est que je ne sais codé en C cette "chose" !?
 
en vous remerciant à l avance !  
 
 
 
 

Reply

Marsh Posté le 22-01-2007 à 23:22:55   

Reply

Marsh Posté le 22-01-2007 à 23:49:38    

nde-cyrano a écrit :

Je suis actuellement munis d'un microcontrolleur philips 8051, plus exactement le P89C664HBA. On m'a recommandé d'utiliser le logiciel Keil mais je n'ai que très peu de notion en language C...
Mon soucis premier est de pouvoir mesuré via le capteur à effet hall la frequence de rotation du moteur à air, je pense pouvoir mesure cette frequence à l'aide de 2 clocks interne au microcontrolleur. La premiere (T0) determinant le temp de mesure et la seconde (T1) permettant de mesuré les valeurs prise par le capteur. Il suffit ensuite de divisé le nombre de pulse haute enregistré par T1 par le temp de mesure T0. Le probleme est que je ne sais codé en C cette "chose" !?


D'une part, il faut que tu connaisses correctement les bases du langage C standard. Ca, déjà, c'est pas gagné. Il faut du temps et de la pratique.

 

Ensuite, et parce que tu utilises une plateforme spécifique, tu dois apprendre à maitriser cette plateforme. Le 8051, c'est un micro-contrôleur, c'est à dire un microprocesseur très simple, de la mémoire interne, de la mémoire code interne ou externe selon les modèles, de la mémoire externe et des périphériques internes et (parfois), externes.

 

Parmi ces périphériques internes, les timers et leur implication dans le soft via des interruptions.

 

Tout ce qui est interne est spécifié par la doc du 8051. Tout est accessible directement en C via des extension dont du comprendras le sens en lisant la doc du compilateur Keil, et après avoir lu la doc du 8051.

 

Tout ça nécessite du temps et par mal d'expérimentations pour arriver à tout maitriser. C'est pas très compliqué, assez limité, mais ça fait beaucoup de choses d'un coup...

 


Message édité par Emmanuel Delahaye le 22-01-2007 à 23:50:03

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 23-01-2007 à 00:12:59    

Merci pour cette premiere orientation, je vais de ce pas lire les docs !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed