Discussion:IMA4 2020/2021 EC3

De Wiki d'activités IMA

Lecture du Wiki au 24/2/2021

  • Wiki vide mis à part un schéma non expliqué ;
  • pas de soin porté au formatage de la page Wiki ;
  • le choix des E/S pour la commande moteur semble aléatoire, réfléchir un peu en considérant le code ci-dessous permettant de générer des signaux PWM sur un ATMega328p.
// For servo-motors PWM (pulse between 1ms and 2ms)
void init_servos(void){
/* Timer 2 control pins 3 and 11 */
DDRD |= 0x08; // Pin 3
DDRB |= 0x08; // Pin 11
/* Timer 2 configuration               */
/*   - WGM2 for fast PWM = 011         */
/*   - COM2 for normal outputs = 10    */
/*   - CS2 with 256 as prescaler = 110 */
TCCR2A = (1<<COM2A1) | (1<<COM2B1) | (1<<WGM21) | (1<<WGM20);
TCCR2B = (1<<CS21) | (1<<CS22);
/* So one unit in OCR2A or OCR2B represents 256/16000000*1000*1000=16 us */
/* For a pulse of 1ms, 62 units are needed, 125 for a pulse of 2ms       */
/* The servo-motor must work with a period of 4ms                        */
}