1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標(biāo)題: 有錯(cuò)誤 STM32單片機(jī)雙電機(jī)團(tuán)環(huán)跟隨控制程序,使用500線(xiàn)編碼器 [打印本頁(yè)]

作者: 超大俠    時(shí)間: 2023-11-21 17:01
標(biāo)題: 有錯(cuò)誤 STM32單片機(jī)雙電機(jī)團(tuán)環(huán)跟隨控制程序,使用500線(xiàn)編碼器
基于STM32的雙電機(jī)團(tuán)環(huán)跟隨控制,使用500線(xiàn)編碼器

單片機(jī)源程序如下:
  1. #include "main.h"
  2. #include "pwm.h"
  3. #include "SDS.h"
  4. #include "DataScope_DP.h"


  5. u32 SET_SPEED=300;
  6. u8 Key=0;        
  7. Pid_struct Main_pid_parameter,Slave_pid_parameter;

  8. int main(void)
  9. {
  10.     unsigned char i;          //計(jì)數(shù)變量
  11.     unsigned char Send_Count; //串口需要發(fā)送的數(shù)據(jù)個(gè)數(shù)

  12. /********中斷優(yōu)先級(jí)設(shè)置********/   
  13.     Rcc_init();
  14.     NVIC_Config();

  15.     delay_init();
  16.     PWM_Init(3999,0);    //0分頻。PWM頻率=72000/(4000*1)=14Khz
  17.   
  18.     USART1_Config();
  19.     KEY_Init();   
  20.    
  21.     TIM1_init();
  22.     TIM2_init();   // TIM1/2 編碼器
  23.    
  24.     TIM4_Init(4999,71);   // 5ms 編碼器計(jì)時(shí)  
  25.    
  26.     Speed_PIDInit(&Main_pid_parameter);    //PID初始化
  27.     Speed_PIDInit(&Slave_pid_parameter);
  28.                
  29. while(1){
  30.      
  31. //      Send_Count = DataScope_Data_Generate(3); //生成10個(gè)通道的 格式化幀數(shù)據(jù),返回幀數(shù)據(jù)長(zhǎng)度
  32. //            for( i = 0 ; i < Send_Count; i++)  //循環(huán)發(fā)送,直到發(fā)送完畢   
  33. //            {
  34. //              while((USART1->SR&0X40)==0);  
  35. //                USART1->DR = DataScope_OutPut_Buffer[i]; //從串口丟一個(gè)字節(jié)數(shù)據(jù)出去      
  36. //             }
  37. //        
  38. //      delay_ms(5); //20fps, 幀間隔時(shí)間。 不同電腦配置及 USB-TTL 設(shè)備的優(yōu)劣均會(huì)影響此時(shí)間的長(zhǎng)短,建議實(shí)測(cè)為準(zhǔn)。  
  39.    
  40. }   }


  41. void NVIC_Config(void)
  42. {
  43.          NVIC_InitTypeDef NVIC_InitStructure;                                          //復(fù)位NVIC寄存器為默認(rèn)值        
  44.      NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);           //設(shè)置中斷優(yōu)先級(jí)組
  45.         
  46.         
  47.      NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;   // 10ms 中斷
  48.          NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0 ;
  49.          NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;               
  50.          NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        
  51.          NVIC_Init(&NVIC_InitStructure);        
  52.          
  53.       NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
  54.       NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =0;
  55.       NVIC_InitStructure.NVIC_IRQChannelSubPriority =2;
  56.       NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  57.       NVIC_Init(&NVIC_InitStructure);  
  58. }


復(fù)制代碼

原理圖: 無(wú)
仿真: 無(wú)
代碼: Double_motor_STM32.7z (298.44 KB, 下載次數(shù): 12)


作者: mick32    時(shí)間: 2023-11-23 08:13
This can't be used without schematic




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1