你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

最容易实现的方波信号发生器(已用在步进电机的最佳驱.....

[复制链接]
fanjiezz 发布时间:2018-12-25 14:56
简易可调方波发生器  X( Q4 }5 ~, A1 b+ G
硬件:
0 O3 P7 y2 x# ?ESP- WROOM -32 一块  约21元9 q7 \: D8 n7 v) w0 c! F3 j

5 \7 d! x+ {3 O旋转编码器 一个           约2元3 Q3 r7 }* J/ @0 R# E3 e

1 {8 u2 Q4 `1 b9 o8 j软件:upycraft 1.0
6 C8 N$ U2 R+ m; D+ V0 v代码如下:
( o( X! V7 h' n1 f<#square wave  ESP32 20181222.py  q; ^& Y, j6 Z) ]% b
from machine import Pin,PWM
9 W2 d6 Z# u" K: n7 yimport time- {) y+ x" ^3 g4 G% h
1 G! j, k# I8 h) }( u8 B
plus = oldplus  = 0
8 e5 q; U6 q" h, ~6 @; {step = 10              #步进值 >=1
- S" J; u9 I7 r! o, [, |stepmax = 10000   #最高频率 <= 78000HZ# B" F; g# q7 g7 _0 a/ E% Y
stepmin = 100       #最低频率 >=1
( N2 C$ w1 L9 c+ v0 kIN1 = Pin( 25, Pin.IN , Pin.PULL_UP)   # 脚为旋转编码器上拉输入IN1' r& B1 K; }" d  R( V4 `) f4 w
IN2 = Pin( 26, Pin.IN , Pin.PULL_UP)   # 脚为旋转编码器上拉输入IN2: n( A; o# V" [# N  ^; r' H

% d- G! V8 |8 V0 H+ z2 vwhile 1:
: ~6 {, P7 E  x    if ( IN1.value()  &  IN2.value() ): #当IN1及IN2均为高电平时开始计数准备7 _$ {" b2 ]. H+ J- S& B
        time.sleep_ms( 5 )
4 M; _$ u5 m( G- n; B/ Z. _        if  IN1.value() < 1 :' [8 i3 X1 j+ B2 }- [
            plus = plus + step         #当IN1为低电平时正计数            
$ d! U. R/ p4 d& e8 f. c
            if  plus > stepmax:$ }  Q, P2 J8 P+ O) F  u( ]
                plus = stepmax

! _) V& @  Q' g; m8 B# n        if  IN2.value() < 1 :
3 G! ]/ x! u( B2 l            
plus = plus - step          #当IN2为低电平时倒计数$ r$ {% A- T! q* S4 V; W
            if  plus < stepmin:
, ?: e* q4 j7 J0 T( F. \2 J  D: Z' d                plus = stepmin
8 R6 u7 \" h3 G) Y' J0 d    if plus != oldplus:. ^- _( N$ A* k" t! K. G  }
        oldplus = plus
& Y( z# Y8 ^1 D5 p8 x: F        pwmn = PWM( Pin( 23 ), freq = plus, duty = 512 )" W+ R3 V/ y6 L
        print( plus )                     #打印监视) T4 [7 M$ J, F$ ^% p; [! V& v% `
    #time.sleep_ms( 50 )           #可不用

2 D& k+ [4 T; F! J>5 r& e8 o( L* h) f' H
  已用于步进电机的最佳数据测试中。+ T9 o! H3 K# |8 R
  后续再加一块Nokia5110 lcd显示屏作为显示,也用upycraft 1.0编程的。8 {: T/ U( a5 X1 ~
  用其他的同类低端器件也能实现上述目的,因后续需要用于其他方面及WIFI和BLE等,所以选了ESP32芯片。" i1 P/ }; e( u' F

4 q9 n4 }6 |7 w2 A                                  望引玉!
3 n. d, @8 \4 I3 `. a& Q9 O
# g' f: T( W' ^+ ?5 [) G
                谢谢!* y2 y6 t7 \* L% l+ U: O! o

% J+ Z  G0 j5 o/ p/ ~) p# X7 W
# U) W' ]; w1 v7 W& c8 y0 g
赞 收藏 评论5 发布时间:2018-12-25 14:56

举报

5个回答
tanic 回答时间:2018-12-25 15:25:28
什么鬼
leisyuer 回答时间:2018-12-26 09:09:09
为什么你的旋转编码器这么便宜?才2元一个?
fanjiezz 回答时间:2018-12-26 10:14:07
; T; C7 e7 g8 k4 ]3 x
fanjiezz 回答时间:2018-12-26 13:02:01
http://img1.ph.126.net/XloJ93BoO ... 066122257078739.png7 O5 U  X, U2 `& }* w3 v
图像发不出来,发个链接。
fanjiezz 回答时间:2018-12-26 16:35:25
昨晚已将Nokia LCD程序发出。请看链接:! @) l1 Z! g% k! O; q+ ]
https://www.stmcu.org.cn/module/forum/thread-618860-1-1.html
! T1 r  w- ], J& ]
# d  L2 h/ K% {5 k& B2 A另外:今天已发了一幅旋转编码器图和一个旋转编码器图链接,发不上来。
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版