FORUM Syndrome-OC - Jacky-PC


  Electronique


  Idées & Conception


  PWM sur port // et horloge externe

 




EeKy NoX, 2 utilisateurs anonymes et 27 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PWM sur port // et horloge externe

n°76560
tix2
ALors toi,hein ,je serais ta m
Posté le 11-02-2007 à 13:07:17  profilanswer
 

Salut
 
j'ai pour ambition de faire un systeme de PWM pour vieux PC sous dos pour commander des servos sur le port //.
 
j'ai laissé un message là : http://forums.futura-sciences.com/thread126572.html
 
or le probleme était que je ne savais pas du tout comment coder ca (C, dos, TurboC, 386)
 
on m'a dit que mon pb serait d'acceder a une horloge fineet stable et j'ai pensé a ceci :
 
serait-il possible de faire pulser une horloge externe sur une entrée du port et de récuperer ce signal pour ma PWM ?
quel technique me conseillerez vous ? 555? Qtz ? (j'ai aucune idée de la solus a quartz ...)
 
voila, merci, ++ Tix.


---------------
Actuellement : <img src=\\\\\\\"http://www.bencastricum.nl/msn/status.php/26231b22-af9b-4ecf-a5b4-7b12014833d4.png\\\\\\\">
mood
Google
Posté le 11-02-2007 à 13:07:17  profilanswer
 

n°76561
lddw
Posté le 11-02-2007 à 13:28:16  profilanswer
 

Salut
 
j'avais fait un montage similaire avec des transistors de puissance sur le port parallèle.
 
Le timer était géré par un programme en Qbasic. (dos)

n°76565
tix2
ALors toi,hein ,je serais ta m
Posté le 11-02-2007 à 19:07:54  profilanswer
 

salut
 
je crois qu'on ne s'est pas compris :)
 
je voudrais récuperer des impultions "externe" au PC sur une pin d'entrée du PC pour gérer ma PWM
 
merci tout de meme pour ta réponse :)
 
++ Tix.


---------------
Actuellement : <img src=\\\\\\\"http://www.bencastricum.nl/msn/status.php/26231b22-af9b-4ecf-a5b4-7b12014833d4.png\\\\\\\">
n°76571
ced-2k
TODO : Insert text here.
Posté le 11-02-2007 à 22:59:00  profilanswer
 

Je crois que tu te prend la tête pour rien...
 
Si le PC n'est pas assez rapide que pour générer une clock assez précise pour ton utilisation, il ne sera pas assez rapide non plus pour réagir à une clock externe.

n°76574
tix2
ALors toi,hein ,je serais ta m
Posté le 12-02-2007 à 05:17:38  profilanswer
 

salut
 
je ne pense pas que le probleme soit la rapidité du PC (on m'a conseillé d'essayer une distrib de linux realtime) c'est plutot l'acces a cette horloge qui pose probleme :/


---------------
Actuellement : <img src=\\\\\\\"http://www.bencastricum.nl/msn/status.php/26231b22-af9b-4ecf-a5b4-7b12014833d4.png\\\\\\\">
n°76576
ced-2k
TODO : Insert text here.
Posté le 12-02-2007 à 08:13:39  profilanswer
 

Je ne voi pas en quoi cela pose problème?
Tu ajoute un handler à l'IRQ 0 (ou bien 8 je sais plus) et tu à tous les ticks de la clock du BIOS.
 
http://www.helpwithpcs.com/upgradi [...] ttings.htm
 
Si tu veux je regarde ce soir après le boulot pour te donner un exemple de code. Faut juste que je retrouve mon cours sur le sujet :p


Message édité par ced-2k le 12-02-2007 à 08:16:27
n°76590
tix2
ALors toi,hein ,je serais ta m
Posté le 12-02-2007 à 18:09:17  profilanswer
 

ha bha je veu bien, pi si tes cours sont scannés et qu'ils causent du sujet, ... :]
 
merci, ++ Tix.


---------------
Actuellement : <img src=\\\\\\\"http://www.bencastricum.nl/msn/status.php/26231b22-af9b-4ecf-a5b4-7b12014833d4.png\\\\\\\">
n°76593
ced-2k
TODO : Insert text here.
Posté le 12-02-2007 à 19:14:43  profilanswer
 

Voici un exemple super basique pour que tu vois comment ca marche.
Cela fonctionne sous TC, cala changera un peu avec d'autres compilos 'ex: _dos_getvect et _dos_setvect sous MS C)
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <dos.h>
  4. #include <conio.h>
  5. void interrupt (*old_irq0)();
  6. void interrupt inter0(void)
  7. {
  8. /* On fait notre traitement */
  9. /* TODO */
  10. /* On apelle l'ancien vecteur d'interrupt !! */
  11. old_irq0();
  12. }
  13. void main()
  14. {
  15. /* Récupère l'ancien vecteur d'interrupt */
  16. old_irq0 = getvect(0x08);
  17. /* Installe notre nouveau vecteur d'interrupt */
  18. setvect(0x08,inter0);
  19. /* Met le programme en résident */
  20. keep (0,(_SS+(_SP/16)-_psp));
  21. }


 
Et pour les cours malheureusement je n'ai pas ca en scan.
Mais j'espere que l'exemple t'aidera !!
 
 :hello:


Message édité par ced-2k le 12-02-2007 à 19:33:11
n°76596
ced-2k
TODO : Insert text here.
Posté le 12-02-2007 à 19:35:28  profilanswer
 

Ha oui j'oubliais les adrasses des vecteurs (a passer à getvect et setvect) :

Code :
  1. /*
  2. irq0 0x08  
  3. irq1 0x09  
  4. irq2 0x0A
  5. irq3 0x0B
  6. irq4 0x0C
  7. irq5 0x0D
  8. irq6 0x0E
  9. irq7 0x0F
  10. irq8 0x70  
  11. irq9 0x71  
  12. irq10 0x72  
  13. irq11 0x73  
  14. irq12 0x74  
  15. irq13 0x75  
  16. irq14 0x76  
  17. irq15 0x77  
  18. */

n°76615
tix2
ALors toi,hein ,je serais ta m
Posté le 13-02-2007 à 05:17:24  profilanswer
 

merci,  
 
wahou, ca a l'aire super rigolo tout ca :)
 
parcontre, j'aurais surement besoin d'aide pour savoir ou va va me mener :s
avec ca, je récupere quoi exactement ?
 
merciencore, ++ Tix. :)


Message édité par tix2 le 13-02-2007 à 05:19:10

---------------
Actuellement : <img src=\\\\\\\"http://www.bencastricum.nl/msn/status.php/26231b22-af9b-4ecf-a5b4-7b12014833d4.png\\\\\\\">
mood
Google
Posté le 13-02-2007 à 05:17:24  profilanswer
 


Aller à :
Ajouter une réponse

  FORUM Syndrome-OC - Jacky-PC


  Electronique


  Idées & Conception


  PWM sur port // et horloge externe

 

Hit Parade