Author Topic: PWM контрола на DC мотори со PIC16F628A  (Read 855 times)

Offline Devil

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 5329
  • Gender: Male
    • Македонски форум за електроника
PWM контрола на DC мотори со PIC16F628A
« Opened on 23.01.2012, Monday, 18:58:45 (Edited 22.06.2014, Sunday, 17:45:11) »
Денес нешто пробав да испрограмирам после долго време па седнав ицкуцав неколку реда код, не е нешто посебно ама нема врска, од досада го правев нека го има на форум можеби некому некогаш ќе му треба
инаку колку е изправен кодот знам само од симулацијата што ја правев, таму беше ОК, како работи во реалноста незнам

Code: [Select]
program PWM_DC_Kontrola
dim n as byte
sub procedure InitMain()
CMCON = 7
INTCON = 6
PORTA = 255
TRISA = 255
PORTB = 0
TRISB = 0
PWM1_Init(255)
end sub

main:
InitMain()
 n = 15
  PWM1_Start()
  PWM1_Set_Duty(n)

  while (TRUE)
     if (Button(PORTA,0,1,1)) then
         Delay_ms(40)
         Inc(n)
         PWM1_Set_Duty(n)
          while (RA0_bit <> 0)
            nop
          wend
      end if

      if (Button(PORTA,1,1,1)) then
          Delay_ms(40)
          Dec(n)
          PWM1_set_Duty(n)
          while (RA1_bit <> 0)
            nop
          wend
      end if
    Delay_ms(5)
    
  wend
end.

Во атачмент е и HEX фајлот ако му треба некому :)
Jас не сум себичен, помагам. Помагај и ти !

Секоја куќа си има свои куќни правила.Почитувај ги куќните правила!

Offline Devil

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 5329
  • Gender: Male
    • Македонски форум за електроника
Еве видео од ова, се гледа дека после одредено врме чекорот скока на поголемо ниво, ама тоа е од тоа што многу ќе беше долго видеото ако цело време снимам, па снимањето беше паузирано на одредено време :)

DC motor PWM control
Jас не сум себичен, помагам. Помагај и ти !

Секоја куќа си има свои куќни правила.Почитувај ги куќните правила!