Εμφάνιση αποτελεσμάτων : 1 έως 3 από 3

Θέμα: Απορία: PWM (50 Hz) σε PIC16F887

  1. #1
    Μέλος Το avatar του χρήστη Stergios_[.gr]
    Όνομα
    Στέργιος
    Εγγραφή
    Dec 2008
    Περιοχή
    Αθήνα
    Μηνύματα
    930

    Προεπιλογή Απορία: PWM (50 Hz) σε PIC16F887

    Έχω έναν pic16F887, χωρίς εξωτερικό ρολόι, από τον οποίον θέλω να βγάλω PWM (pulse-width modulation) συχνότητας 50Hz ώστε να οδηγήσω έναν σερβοκινητήρα.
    Χρησιμοποιώντας MikroBasic, κ με συχνότητα ρολογιού δηλωμένη 8ΜΗΖ από την ΜΒ, μου βάζει error:
    Κώδικας:
    PWM1_Init(50) ' Initialize PWM1 module at 50Hz <--ARGUMENT OUT OF RANGE
    Τι θα πρέπει να κάνω για να το καταφέρω?

    Ευχαριστώ

    Links:


    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη Stergios_[.gr]
    Όνομα
    Στέργιος
    Εγγραφή
    Dec 2008
    Περιοχή
    Αθήνα
    Μηνύματα
    930

    Προεπιλογή

    Ο κώδικας της MikroBasic τον οποίον προσπαθώ να γράψω:
    Κώδικας:
    program PWM_stergios
    ' * Description
    '     This is simple test program to see how PWM library works. Using analog
    '     input to read a potentiometer and sending the potentiometers value to
    '     change the duty cycle of the PWM pulse on the CCP output pin (RC2).
    '
    ' * Test configuration
    '     MCU:            P16F887
    '     Dev.Board:      44pin demo board
    '     Oscillator:     internal
    
    dim temp_res as word
    dim temp_res8 as byte
    
      PWM1_Init(50)            ' Initialize PWM1 module at 50Hz
      Pwm_Start                  ' Start PWM
    
    main:
      ANSEL  = %00000001         ' Configure AN0 pin as analog
      TRISA  = %00000001         ' PORTA is input
      PORTC =  $FF               ' Initialize PORTC
    
      while TRUE
        temp_res = ADC_Read(0)   ' Get 10-bit results of AD conversion
        temp_res8 = temp_res >> 8 ' use 8-bit
        Pwm1_Change_Duty(temp_res) ' Change duty ratio
      wend
    
    end.

    0 Not allowed! Not allowed!

  3. #3
    Μέλος Το avatar του χρήστη Stergios_[.gr]
    Όνομα
    Στέργιος
    Εγγραφή
    Dec 2008
    Περιοχή
    Αθήνα
    Μηνύματα
    930

    Προεπιλογή

    ΛΥΘΗΚΕ:

    Κώδικας:
    program PWM_stergios
    ' * Description
    '     This is simple test program to see how PWM library works. Using analog
    '     input to read a potentiometer and sending the potentiometers value to
    '     change the duty cycle of the PWM pulse on the CCP output pin (RC2).
    '
    ' * Test configuration
    '     MCU:            P16F887
    '     Dev.Board:      44pin demo board
    '     Oscillator:     internal
    
    dim temp_res as word
    dim temp_res8 as byte
      OSCCON = %001              ' Setting internal oscillator at 125Khz
      PWM1_Init(50)              ' Initialize PWM1 module at 50Hz
      Pwm_Start                  ' Start PWM
    
    main:
      ANSEL  = %00000001         ' Configure AN0 pin as analog
      TRISA  = %00000001         ' PORTA is input
      PORTC =  $FF               ' Initialize PORTC
    
      while TRUE
        temp_res = ADC_Read(0)   ' Get 10-bit results of AD conversion
        temp_res8 = temp_res >> 8 ' use 8-bit
        Pwm1_Change_Duty(temp_res) ' Change duty ratio
      wend
    
    end.

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. PWM vs dimmer , PWM vs PSU για μοτερ ?
    By BeetleJuice in forum Ερωτήσεις Αρχάριων
    Απαντήσεις: 38
    Τελευταίο Μήνυμα: 29-04-15, 15:23
  2. Απαντήσεις: 10
    Τελευταίο Μήνυμα: 10-01-15, 14:28
  3. μνήμη μικροελεγκτή pic16f887
    By angelkos in forum Μικροελεγκτές
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 29-08-13, 17:27
  4. τηλεχειριζομενο οχημα (ROV) με pic16F887
    By efthgeorge in forum Ερωτήσεις Αρχάριων
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 01-05-10, 12:48

Tags for this Thread

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας