Version 0.0
09 Mai 2015


Moteur DC et PWM
Hardware :
PIC 18F2550 sur
StartUSB MikroE Card
Platine de commande stylet enregistreur : Moteur + cabestan entrainant (un stylet et ) un potar de recopie de position
Module Keyes L298 Pont H (miniinthebox)
Alim 10V 1A mini
Pickit 3 .. alimente le PIC en 5V , et usage ICSP
optionnel: Interface 2TR TTL/RS232

Software
MikroC Pro 6.50 sur PC WIN 8
Pickit3 standalone sur PC WIN 8
Vbray terminal sur PC XP



Test Pilotage moteur DC avec un PontH et PWM

Testé avec oscillateur interne Fosc=8Mhz

images/t_StartUSB_18F2550_Proto_Motor_PWM.gif images/t_StartUSB_18F2550_Proto_Motor_Potar.g ../common/GIF/t_Keyes_L298.gif
Prototype test Moteur detail Moteur, entrainement stylet,potar recopie pont H pour 2 moteurs DC


Schema :

images/18F2550_PWM_DC_Motor_150509.jpg
18F2550_PWM_DC_Motor_150509.DSN

Attention à la config des bits , pour l'Horloge FOSC
assez compliqué sur les PICs avec USB !

imagest_StartUSB_18F2550_PWM2_RB3_Config.gif

Attention PMW2 CCP2 output multiplexee entre C1 et RB3
le fichier de config idoine : P18F2550_FOSC_8Mhz_19200bds_CCP2_RB3.cfgsch
Si la config est OK, FOSC (interne) =8MHZ, et la COM est bien à 19200 bauds


Hardware :
L'oscillateur à quartz 8Mhz , n'est pas utilisé
Module StartUSB 18F2550 de MikroE
VCC +5V Alim potar 22K recopie position chariot
Gnd 0V Alim potar 22K recopie position chariot
RA0 analog input <- Potar 22K de recopie position chariot 0 à 5V
RA1 analog input <- Potar 10K de consigne duty-cycle PWM 0 à 5V
RA2 N.C.
GND Keyes L298 <--- ----------Alim externe 0V
UB Keyes L298 <------------- Alim externe +10V
RA3 output -------------------> ENA Keyes L298
RB3 output --- PWM CCP2 --> IN2 Keyse L298
RC2 output --- PWM CCP1 --> IN1 Keyes L298
Gnd 0V ----------------------Gnd 0V Keyes L298 --- Alim Potar 10K consigne PWM
--------------(Strap 5V-EN ON) +5V Keyes L298 --- Alim Potar 10K Consigne PWM
-------------------------------MotorA Keyes L298 -- moteur DC platine
-------------------------------MotorA Keyes L298 -- moteur DC Platine
-------------------------------Gnd 0V Keyes L298 --- Alim platine BP
-----------------------------------+5V Keyes L298 --- Alim platine BP

RB2 output -------------Led blanche ----- 1K --<+5V Signalisation FDC Maxi (Pos >950)
RB1 output -------------Led verte / carte-- 1K --<+5V Signalisation FDC Mini (Pos <50)
RC0 <-- input ----------BP Jaune Gauche (va vers position 1023)
RC1 <-- input ----------BP vert Droite (va vers position 0)
strap led RA1 sur la carte Startusb..enlevé
RC6 Tx UART -> interface 2Tr -> RS232 PC 19200,8,N,1
RC7 Rx UART <-- interface 2Tr <- RS232 PC


Software :

Malgré l'Init ADC via la bibliotheque, celle ci est reprise via les registre MCU (aspect didactique)
et la mesure est faite aussi via les registre MCU.
Asservissement de position..
RA0 est utilisée comme entrée ANA , reçoit le curseur du Potar de recopie (lineaire 22K), alimenté en 5V PIC
Le Potar (Rotatif 270° de 10K) sur EA1 (Pin RA1) sert de consigne de position sur entree Ana RA1!
les BP de commandes de Sens, sont donc supprimes
le deplacement du stylet suit la commande du potar de consigne .
Led verte sur RB1 = FDC mini
Led Blanche (externe) sur RB2 => FDC Maxi
Le GAIN de boucle est realisé par la valeur de PWM proportionelle à l'ecart Mesure consigne
en fait c'est le complement 255-PWM avec une valeur maxi et mini
la partie integrale est issue aussi de l'ecart Mesure consigne :
=> TempoXmS de duree d'action PWM sur le moteur
on a ainsi une bon compromis entre vitesse de reponse et precision de position
Attention: le GAIN de boucle est directement lié à la tension d'alimentation du module Keyse L298
vu que la puissance appliquée au moteur est P= f(U*U*(255-Dutycyle setpoint))
reglage pour U=10V (autre jeu pou U=8V)
delai de boucle :
termps d'execution variable f(ecart de mesure )+ duree de la sortie UART + delay(5mS à 50mS)
nota : pas de filtrage sur mesures ANA : consigne et mesure de position
La liaison UART 19200,8,N,1 n'est pas indispensable..



Resultat : Commande souple et precise..


Projet complet MikroC Pro

// MikroC PRO 6.50
// Project : 18F2550_ADC_UART_PWM_L298.mcppi
// Directory : C:\_MikroC\_MesProjets_MikroC\_18F2550_PWM_PontH\
// Source : 18F2550_ADC_UART_Cde_DC_Motor_BF_150507.c

Source : 18F2550_ADC_UART_Cde_DC_Motor_BF_150509.c documenté !
chargeur : 18F2550_ADC_UART_Cde_DC_Motor_BF_150509.hex
Datasheet :PIC18F2550_USB_39632e.pdf

paulfjujo@free.fr


Retour à l'index general