精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

方波發生器如何在引腳9產生PWM信號?

電子設計 ? 來源:電路城 ? 作者:電路城 ? 2021-04-28 09:31 ? 次閱讀

這是一個簡單的方波發生器,主要使用TimerOne庫,可讓您在引腳9產生PWM信號

硬件部件:

Arduino Nano R3 × 1個

Adafruit標準LCD-16x2藍色白色× 1個

按鈕開關,瞬間 × 3

單圈電位器-10k歐姆× 1個

軟件應用程序和在線服務:

Arduino IDE

這是一個簡單的方波發生器,主要使用TimerOne庫,使您可以在引腳9處生成PWM信號,范圍約為5Hz至1 Mhz,并且可以將占空比從0調整到100%。

原理圖:

設備非常易于構建,僅包含幾個組件:

Arduino Nano微控制器

液晶顯示器

三個上拉電阻

三個按鈕

脈沖發生器可以使用連接到Arduino數字輸入6和7的按鈕來調整脈沖重復周期。13個輸入引腳可讓您調整占空比。持續時間和占空比讀數顯示在LCD 16×2指示器的第一行中,頻率讀數顯示在第二行中。調整脈沖重復周期的最小步長是1μs,因此頻率將離散變化,例如1μs是1 MHz,2μs是500 kHz,3μs是333.333 Hz,依此類推,并且隨著頻率的降低,其調整的平滑度增加。這在較高的頻率上是不切實際的,但這就是簡化的代價。

為了可視化輸出信號,我使用了小型單通道示波器。最后,將設備安裝在合適的盒子中,這是電子實驗室中的另一個有用工具。

源碼:

#include 《TimerOne.h》

#include 《LiquidCrystal.h》

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// RS,E,D4,D5,D6,D7

unsigned long t=1000,f,k=512;// default 1000 μs (1000 Hz), meander, pulse duration is equal to duty cycle k = 512 (50%)

byte k1,kn,kn1,kn2;

int drive,drive0;

void setup()

{

lcd.begin(16, 2);// LCD 16X2

pinMode(10, OUTPUT);

pinMode(6,INPUT);// button at input 6

pinMode(7,INPUT);// button at input 7

pinMode(13,INPUT);// button at input 13

}

void loop()

{

Timer1.initialize(t); // period

Timer1.pwm(9, k); // k - fill factor 0-1023. We remove the signal from the output 9

kn=digitalRead(6);// button input 6 (- pulse period)

kn1=digitalRead(7);// button input 7 (+ pulse period)

kn2=digitalRead(13);// button input 13 (+ circle fill factor)

if(kn==HIGH){ // decreasing the period

drive++;

if(drive《30){

t=t-1;

}

// if the button is held for a long time, the correction of the pulse period x10 x100 x1000 is accelerated

else if(drive》30 && drive《60 ){

t=t-10;

}

else if(drive》=60 && drive《100){

t=t-100;

}

else if(drive》=100){

t=t-1000;

}

}

else{

drive=0;

}

if(kn1==HIGH){// adding a period

drive0++;

if(drive0《30){

t=t+1;

// if the button is held for a long time, the correction of the period x10 x100 x1000 is accelerated

}

else if(drive0》30 && drive0《60 ){

t=t+10;

}

else if(drive0》=60 && drive0《100){

t=t+100;

}

else if(drive0》=100){

t=t+1000;

}

}

else{

drive0=0;

}

if(t==0 || t》300000){ // limiting the pulse duration to the minimum, if 0 μs or more than 300 ms (3.33 Hz), then the period is 1 μs

t=1;

}

if(t》200000 && t《300000){ // limiting the pulse duration to the maximum, if more than 200 ms, but less than 300 ms (3.33 Hz), then the period is 200 ms (5 Hz)

t=200000;

}

f=1000000/t; // calculate the frequency

k1=k*100/1024; // calculate% fill factor

if(kn2==HIGH){// button for adjusting the fill factor (in a circle from 50 to 100%, then from 0 to 100%)

k=k+16;// step 16 out of 1024 (you can do 8 for smoother adjustment)

}

if(k==1024){

k=0;

}

// displaying information on the indicator

lcd.setCursor(0,0);

lcd.print(“T=”);

lcd.print(t);

lcd.print(“ us”);

lcd.setCursor(12,0);

lcd.print(k1);

lcd.print(“ %”);

lcd.setCursor(0,1);

lcd.print(“F=”);

lcd.print(f);

lcd.print(“ Hz”);

delay(300);

lcd.setCursor(0,0);

lcd.print(“ ”);

lcd.setCursor(0,1);

lcd.print(“ ”);

}
責任編輯:pj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7487

    瀏覽量

    151042
  • 發生器
    +關注

    關注

    4

    文章

    1362

    瀏覽量

    61621
  • PWM信號
    +關注

    關注

    3

    文章

    93

    瀏覽量

    20130
收藏 人收藏

    評論

    相關推薦

    基于PIC16F877A的方波信號發生器電路設計

    !方波信號是數字電路中非常重要的信號源!其產生方法有很多途徑"本設計是基于MPLAB平臺通過對方波信號
    發表于 10-14 16:16 ?128次下載

    穩定的方波發生器

    穩定的方波發生器
    發表于 03-21 09:22 ?1046次閱讀
    穩定的<b class='flag-5'>方波</b><b class='flag-5'>發生器</b>

    頻率可調的方波信號發生器設計及電路

    頻率可調的方波信號發生器設計及電路      用單片機產生頻率可調的方波
    發表于 05-31 15:44 ?1.4w次閱讀
    頻率可調的<b class='flag-5'>方波</b><b class='flag-5'>信號</b><b class='flag-5'>發生器</b>設計及電路

    信號發生器方波插入裝置電路圖

    信號發生器方波插入裝置電路圖
    發表于 06-30 13:46 ?640次閱讀
    <b class='flag-5'>信號</b><b class='flag-5'>發生器</b>的<b class='flag-5'>方波</b>插入裝置電路圖

    基于FPGA和PWM的多路信號發生器設計

    基于運放的信號發生器精度低且穩定性和可調節性差,而基于DDS的信號發生器則成本高、電路復雜。為此提出了基于FPGA+PWM的多路
    發表于 11-18 09:42 ?6821次閱讀
    基于FPGA和<b class='flag-5'>PWM</b>的多路<b class='flag-5'>信號</b><b class='flag-5'>發生器</b>設計

    詳解方波發生器電路圖和應用

    什么是方波發生器方波發生器其實是一種能夠產生方波的非正弦波形振蕩
    的頭像 發表于 01-09 09:28 ?1.3w次閱讀

    函數信號發生器產生信號的方法有哪些?

    函數信號發生器產生信號的方法有哪些? 函數信號發生器是一種在電子設備測試和測量中常用的儀器,用于
    的頭像 發表于 11-20 16:23 ?1233次閱讀

    信號發生器的特點 信號發生器可以產生哪些波形?

    : 1. 多功能:信號發生器可以產生多種不同的波形,包括正弦波、方波、鋸齒波、三角波、脈沖波等。這些波形可以根據實際需求進行調節和選擇,具有較好的靈活性。 2. 大范圍輸出:
    的頭像 發表于 12-21 15:05 ?1398次閱讀

    proteus信號發生器怎么設置方波

    Proteus信號發生器是一種強大的虛擬儀器,可以生成各種類型的電子信號,包括方波信號。在本文中,我們將詳細介紹如
    的頭像 發表于 02-23 16:44 ?9109次閱讀

    函數信號發生器怎么輸出方波

    函數信號發生器是一種能夠產生多種波形信號的電子儀器,廣泛應用于科研、教育、通信、電子測量等領域。其中,方波作為一種常見的波形
    的頭像 發表于 05-30 16:00 ?2110次閱讀

    方波信號發生器的作用及原理

    方波信號發生器作為一種重要的電子測試設備,在電子工程、通信、科研及教育等領域具有廣泛的應用。它能夠產生特定頻率和幅度的方波
    的頭像 發表于 05-30 16:33 ?2510次閱讀

    信號發生器的使用方法 信號發生器的幅值是有效值嗎

    表示方式以及相關概念。 一、信號發生器的分類 函數信號發生器產生正弦波、方波、三角波等基本波
    的頭像 發表于 06-03 10:56 ?2506次閱讀

    信號發生器頻率怎么調

    信號發生器的類型 在調整信號發生器的頻率之前,首先需要了解所使用的信號發生器的類型。常見的
    的頭像 發表于 06-03 11:06 ?1494次閱讀

    信號發生器輸出方波需要設置什么參數

    信號發生器是一種電子設備,用于生成具有特定頻率、幅度和波形的電信號。在許多應用中,方波信號是非常有用的,例如測試數字電路、模擬開關操作或進行
    的頭像 發表于 06-03 11:08 ?1684次閱讀

    方波發生器電路圖 方波發生器的工作原理和結構

    方波發生器,也稱為非正弦波形振蕩或自由運行的多諧振蕩,是一種能夠自主產生周期性方波
    的頭像 發表于 07-17 17:25 ?3393次閱讀
    <b class='flag-5'>方波</b><b class='flag-5'>發生器</b>電路圖 <b class='flag-5'>方波</b><b class='flag-5'>發生器</b>的工作原理和結構