亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 自制蘿莉無刷電調 [打印本頁]

作者: away24680    時間: 2020-4-23 11:07
標題: 自制蘿莉無刷電調
首先感謝蘿莉大神的一系列教程,原貼地址
貼內有詳細教程,本人只把圖紙和固件拷貝至此,為方便廣大電子愛好者下載學習;
PN版

全N



固件燒錄

固件;全N版
只有hex文件,無源碼: 蘿麗全N無刷固件.rar (2.07 KB, 下載次數: 177)

以及pcb抄板文件
注意:pcb文件有錯誤
有能力者自行修改
錯誤在單片機的vcc采用了電池的正極供電,切勿要從7805穩壓 【我愛蘿麗愛蘿麗】再開新坑 無刷電調 DIY教程.docx (252.87 KB, 下載次數: 173) 芯片處供電。
由于全N性能較好固件只有全N如需PN自行下載或私信;




作者: away24680    時間: 2020-4-23 11:11
全N和PN的原理圖位置錯了,大家注意,全N指的是用的MOS管都為nMOS
作者: lhxtzlhxtz    時間: 2020-12-22 10:31
你的電路圖全部都有錯誤
作者: 霸氣范    時間: 2021-6-27 12:44
電路圖好像兩個 全n和pn的有錯誤,電源反了吧

作者: zh68a11    時間: 2022-3-13 20:41
不錯,謝謝樓主。
作者: zhhdok    時間: 2023-4-9 11:22
太棒了留下記號
作者: zhhdok    時間: 2023-4-9 11:22
lhxtzlhxtz 發表于 2020-12-22 10:31
你的電路圖全部都有錯誤

???
作者: zhhdok    時間: 2023-4-9 14:07
能把c分享一下嗎
作者: fsyczxyy    時間: 2023-6-8 13:13
不給源碼 這不浪費感情嘛,我給你寫一個示例代碼把
#include <reg51.h>
#define FOSC 11059200L
#define BAUD 9600
#define TIMER_CLOCK 921600L

sbit IN1 = P1^0;  //引腳定義
sbit IN2 = P1^1;
sbit IN3 = P1^2;
sbit IN4 = P1^3;

unsigned char code PWM_HL[8] = {0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x3F}; //PWM占空比

void delay_us(unsigned char i)
{
    while(i--);
}

void delay_ms(unsigned char i)
{
    unsigned char j;
    while(i--)
        for(j = 0; j < 110; j++);
}

void Timer0Init()
{
    TMOD &= 0xF0;
    TMOD |= 0x01; //16位計數器模式
    TH0 = 0x3C;
    TL0 = 0xB0;
    ET0 = 1;
    TR0 = 1;
    EA = 1;
}

void SerialInit()
{
    PCON = 0x00;
    SCON = 0x50;
    TMOD |= 0x20; //Timer1為8位自動重載定時器模式
    TH1 = 256-((FOSC/12/32)/BAUD);
    TL1 = TH1;
    TR1 = 1;
}

void PWM(unsigned char speed)
{
    unsigned char i;

    if(speed > 7)
        speed = 7;

    for(i = 0; i < 500; i++)
    {
        if(speed > i >> 8)
            IN1 = 1;
        else
            IN1 = 0;
        if(speed > i >> 6)
            IN2 = 1;
        else
            IN2 = 0;
        if(speed > i >> 4)
            IN3 = 1;
        else
            IN3 = 0;
        if(speed > i >> 2)
            IN4 = 1;
        else
            IN4 = 0;

        delay_us(1);
    }
}

void main()
{
    SerialInit();
    Timer0Init();
    while(1)
    {
        PWM(5);
        delay_ms(2000);
        PWM(2);
        delay_ms(2000);
    }
}

void Timer0_ISR() interrupt 1
{
    static unsigned char count = 0;
    static unsigned char speed = 0;
    TH0 = 0x3C;
    TL0 = 0xB0;
    count ++;
    if(count >= 10)
    {
        count = 0;
        if(SBUF > 10)
            speed = SBUF - 10;
        else
            speed = 0;
    }
    PWM(speed);
    TF0 = 0;
}
```

在此示例中,我們使用了定時計數器Timer0來產生控制無刷電機(4相)的PWM信號。通過修改定時器的計數方式和TH0、TL0寄存器的值,可以實現不同的PWM頻率和占空比。具體實現步驟為:

1. 根據控制要求,定義引腳和占空比常量
2. 初始化定時器Timer0,并編寫相應的定時器中斷服務函數Timer0_ISR()
3. 初始化串口通信,并在主函數中調用PWM()函數來控制無刷電機的速度和方向
作者: 房子    時間: 2024-4-29 06:24
fsyczxyy 發表于 2023-6-8 13:13
不給源碼 這不浪費感情嘛,我給你寫一個示例代碼把
#include  
#define FOSC 11059200L

技術哥牛,看不懂。支持一波!!!
作者: zhhdok    時間: 2024-6-22 23:50
fsyczxyy 發表于 2023-6-8 13:13
不給源碼 這不浪費感情嘛,我給你寫一個示例代碼把
#include  
#define FOSC 11059200L

牛人
作者: kloo4568    時間: 2024-7-9 16:12
漂亮,我一直在做,就是沒做出來
作者: Eliyas    時間: 2024-11-5 10:49
打樣的話,板子面積會不會很大呀?
作者: QQQQ987    時間: 2025-2-21 21:01
錯誤都發出來,這是要鬧啥???
作者: 房子    時間: 2025-9-8 16:58
#include <reg51.h> #define FOSC 11059200L #define BAUD 9600 #define TIMER_CLOCK 921600L  // 三相無刷電機控制引腳定義 sbit PHASE_A_H = P1^0;  sbit PHASE_A_L = P1^1; sbit PHASE_B_H = P1^2; sbit PHASE_B_L = P1^3; sbit PHASE_C_H = P1^4; sbit PHASE_C_L = P1^5;  unsigned char code PWM_HL[8] = {0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x3F}; // PWM占空比等級  void delay_us(unsigned char i) {     while(i--); }  void delay_ms(unsigned char i) {     unsigned char j;     while(i--)         for(j = 0; j < 110; j++); }  void Timer0Init() {     TMOD &= 0xF0;     TMOD |= 0x01; // 16位計數器模式     TH0 = 0x3C;     TL0 = 0xB0;     ET0 = 1;     TR0 = 1;     EA = 1; }  void SerialInit() {     PCON = 0x00;     SCON = 0x50;     TMOD |= 0x20; // Timer1為8位自動重載定時器模式     TH1 = 256-((FOSC/12/32)/BAUD);     TL1 = TH1;     TR1 = 1; }  // 三相PWM控制函數 void PWM(unsigned char speed) {     unsigned char i;      if(speed > 7)         speed = 7;      for(i = 0; i < 500; i++)     {         // 控制A相         if(speed > i >> 8)             PHASE_A_H = 1;         else             PHASE_A_H = 0;         if(speed > i >> 6)             PHASE_A_L = 1;         else             PHASE_A_L = 0;         // 控制B相         if(speed > i >> 4)             PHASE_B_H = 1;         else             PHASE_B_H = 0;         if(speed > i >> 2)             PHASE_B_L = 1;         else             PHASE_B_L = 0;         // 控制C相         if(speed > i >> 0)             PHASE_C_H = 1;         else             PHASE_C_H = 0;         if(speed > (i >> 0) + 1)             PHASE_C_L = 1;         else             PHASE_C_L = 0;          delay_us(1);     } }  void main() {     SerialInit();     Timer0Init();     while(1)     {         PWM(5);         delay_ms(2000);         PWM(2);         delay_ms(2000);     } }  void Timer0_ISR() interrupt 1 {     static unsigned char count = 0;     static unsigned char speed = 0;     TH0 = 0x3C;     TL0 = 0xB0;     count ++;     if(count >= 10)     {         count = 0;         if(SBUF > 10)             speed = SBUF - 10;         else             speed = 0;     }     PWM(speed);     TF0 = 0; } //直流無刷全N源代碼




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