0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)械變阻器的控制器設(shè)計(jì)原理及控制命令

電子設(shè)計(jì) ? 來源:csdn ? 作者:卓晴 ? 2021-01-01 09:44 ? 次閱讀

雖然現(xiàn)在有很多可以用來當(dāng)做變阻器的器件:比如場效應(yīng)管、X9C103數(shù)字電位器,但是由于存在非線性、寄生電容,所以在很多測量場合還是需要機(jī)械變阻器來完成。

■ 說明

在2020/9/18日,由于外部機(jī)械碰撞,使得BLUETOOTH接口斷裂,整個(gè)模塊就報(bào)廢掉了。

拆解前的機(jī)械變阻電位器

01設(shè)計(jì)原理

機(jī)械變阻器

機(jī)械變阻器的控制器是由STM32F103為核心,外部使用兩個(gè)A4950做起小型直流電機(jī)驅(qū)動(dòng)器。通過ZIGBEE串口模塊接收控制命名。

在控制上還有八個(gè)IO端口,可以通過命令任意配置成OUT,IN。
八個(gè)IO口通過左右兩個(gè)相同的六管腳插座輸出,從左到右分配定義為:

另外一個(gè)端口與畫面定義相同,只是BIT的序號(hào)從4到8.

pIYBAF_jCimAHYUQAAU-oj2aAGA816.png

變阻器的執(zhí)行部件是由帶有減速齒輪箱的直流電機(jī)。直流電機(jī)配有霍爾轉(zhuǎn)速嗎盤。

該電機(jī)通過軟塑料管可以與多圈電位器相連,通過轉(zhuǎn)動(dòng)帶動(dòng)電位器轉(zhuǎn)動(dòng)。

控制命令

控制命令的說明文檔:
DesignCenter\MyResearch\202\機(jī)械可變電阻

控制命令在軟件SerialText.C中表示:如下面代碼所示:
//------------------------------------------------------------------------------
void SerialDebugProcessBuffer(void) {
	SerialDebugBuffer2Argument();
	if(g_ucSDANumber == 0) return;

	if(strcmp("hello",				(char *)STD_ARG[0]) == 0)
		printf("%s is ready !\r\n", VERSION_STRING);
 else IFARG0("11pwm1") {
     int nNumber;
     sscanf(SDA(1), "%d", &nNumber);
     SetPWM1(nNumber);
 }else IFARG0("11pwm2") {
     int nNumber;
     sscanf(SDA(1), "%d", &nNumber);
     SetPWM2(nNumber);

 } else IFARG0("11pwm12") {
     int nNumber;
     sscanf(SDA(1), "%d", &nNumber);
     SetPWM12(nNumber);

 } else IFARG0("varistorcount1") {
     int nNumber;
     sscanf(SDA(1), "%d", &nNumber);
     int nPWM = 20;
     if(STD_NUM > 2) {
         sscanf(SDA(2), "%d", &nPWM);
         if(nPWM > 50) nPWM = 50;
     }
     SetCount1(nNumber, nPWM);
 } else IFARG0("varistorcount2") {
     int nNumber;
     sscanf(SDA(1), "%d", &nNumber);
     int nPWM = 20;
     if(STD_NUM > 2) {
         sscanf(SDA(2), "%d", &nPWM);
         if(nPWM >= 50) nPWM = 50;
     }
     SetCount2(nNumber, nPWM);
 } else IFARG0("varistorsetbit") {
     int nNumber;
     sscanf(SDA(1), "%x", &nNumber);
     SetBit((unsigned char)nNumber);
 } else IFARG0("varistorclearbit") {
     int nNumber;
     sscanf(SDA(1), "%x", &nNumber);
     ClearBit((unsigned char)nNumber);
 } else IFARG0("varistorsetbitvalue") {
     int nNumber;
     sscanf(SDA(1), "%x", &nNumber);
     SetBitValue((unsigned char)nNumber);
 } else IFARG0("varistorgetstatus") {
     char szString[32];
     sprintf(szString, "%d %d %d\r\n", GetBitValue(), GetCount1(), GetCount2());
     printf("%s", szString);
     int nLength = strlen(szString);
     int i;
     for(i = 0; i < nLength; i ++) {
         UART2SendChar(szString[i]);
     }

 } else IFARG0("varistorsetbitoutin"){
     int nNumber;
     sscanf(SDA(1), "%x", &nNumber);
     SetBitOutIn((unsigned char)nNumber);
 }

在JPGA25DOP中帶有Python調(diào)用命令程序函數(shù),相應(yīng)的命令見下面的代碼:

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# JPGA25.PY                    -- by Dr. ZhuoQing 2020-01-26
#
# Note:
#============================================================

from head import *

from tsmodule.tshardware import *

def jpgasetbitoutin(bit):
    ccloadSerial.write(b'varistorsetbitoutin %x\r'%bit)

def jpgagetstatus():
    if ccloadSerial.inWaiting() > 0:
        ccloadSerial.read(ccloadSerial.inWaiting())

    ccloadSerial.write(b'varistorgetstatus\r')

    for i in range(100):
        if ccloadSerial.inWaiting() > 0: break
        time.sleep(0.01)

    time.sleep(0.01)

    return ccloadSerial.read(ccloadSerial.inWaiting())

def jpgasetbitvalue(bit):
    ccloadSerial.write(b'varistorsetbitvalue %x\r'%bit)


def jpgarun1(step, speed=20):
    ccloadSerial.write(b'varistorcount1 %d %d\r'%(step, speed))

def jpgarun2(step, speed=20):
    ccloadSerial.write(b'varistorcount2 %d %d\r'%(step, speed))

測試結(jié)果

通過以下代碼,使得變阻器變動(dòng),通過DM3068數(shù)字萬用表測量電阻。 變阻器的引腳三個(gè),從右到左,分別是滑動(dòng)端,固定端1,固定端2.

指令中,如果RUN的參數(shù)為正,則滑動(dòng)端與固定端2的電阻減少,與固定端1的電阻增加。 移動(dòng)總步數(shù)大約為4500。

由于使用ZIGBEE進(jìn)行命令控制,其中會(huì)出現(xiàn)丟失命令數(shù)據(jù)包的情況,所以在移動(dòng)過程中電阻的變化會(huì)出現(xiàn)暫留的情況。

pIYBAF_jCneAETVtAAA5-ybzhQ0630.png

下面是對于第二個(gè)電阻測試的結(jié)果。每移動(dòng)一次,測量滑動(dòng)端至固定端2 之間的電阻。

o4YBAF_jCoqAa1LoAAAyZy2LZe4498.png

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# EXE1.PY                      -- by Dr. ZhuoQing 2020-01-26
#
# Note:
#============================================================
from headm import *
from tsmodule.tsvisa import *
dm3068open()
from jpga25 import *
#------------------------------------------------------------
jpgarun2(5500, 50)

#exit()
time.sleep(2)
#------------------------------------------------------------
resdim = []
pltgif = PlotGIF()
for i in range(80):
    jpgarun2(-50, 20)
    time.sleep(.5)
    res = dm3068res()

    printff(i, res)
    resdim.append(res)

    plt.clf()
    plt.plot(resdim)
    plt.xlabel('Sample')
    plt.ylabel('Resistor(ohm)')
    plt.pause(.01)

    pltgif.append(plt)

pltgif.save(r'd:\temp\res.gif', 50, 3000)

jpgarun2(5500, 50)

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16384

    瀏覽量

    178345
  • 場效應(yīng)管
    +關(guān)注

    關(guān)注

    47

    文章

    1163

    瀏覽量

    63999
  • 數(shù)字電位器
    +關(guān)注

    關(guān)注

    4

    文章

    267

    瀏覽量

    83245
  • 變阻器
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    16424
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    UCD90320定序和系統(tǒng)健康控制器PMBus命令參考

    電子發(fā)燒友網(wǎng)站提供《UCD90320定序和系統(tǒng)健康控制器PMBus命令參考.pdf》資料免費(fèi)下載
    發(fā)表于 11-29 15:53 ?0次下載
    UCD90320定序<b class='flag-5'>器</b>和系統(tǒng)健康<b class='flag-5'>控制器</b>PMBus<b class='flag-5'>命令</b>參考

    滑動(dòng)變阻器有哪些分類?

    是一種基于數(shù)字信號(hào)處理技術(shù)的變阻器,可以實(shí)現(xiàn)對電阻值的精確調(diào)節(jié)和快速切換。數(shù)字變阻器通常采用微處理或數(shù)字信號(hào)處理作為核心控制器,通過改變
    發(fā)表于 11-07 10:08

    電機(jī)控制器原理是什么?類型有哪些?

    電機(jī)控制器是用于控制電機(jī)運(yùn)行的設(shè)備,其主要功能是將電能轉(zhuǎn)換為機(jī)械能,同時(shí)根據(jù)需要調(diào)節(jié)電機(jī)的速度、轉(zhuǎn)矩和方向。電機(jī)控制器的原理主要基于電力電子技術(shù)、自動(dòng)
    的頭像 發(fā)表于 10-21 13:48 ?435次閱讀

    車載智能控制器 工程機(jī)械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國產(chǎn)化替代

    控制器總線
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年08月29日 10:43:57

    EtherCAT運(yùn)動(dòng)控制器在SCARA和碼垛機(jī)械手中的應(yīng)用

    以XPLC104HR控制器為例,介紹正運(yùn)動(dòng)SCARA和碼垛機(jī)械手的應(yīng)用。
    的頭像 發(fā)表于 08-28 10:10 ?325次閱讀
    EtherCAT運(yùn)動(dòng)<b class='flag-5'>控制器</b>在SCARA和碼垛<b class='flag-5'>機(jī)械</b>手中的應(yīng)用

    移動(dòng)工程機(jī)械控制器,車載智能控制器,碩博電子

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年08月08日 10:18:12

    機(jī)械壓力控制器使用與調(diào)整方法

    機(jī)械壓力控制器是一種廣泛應(yīng)用于工業(yè)領(lǐng)域,用于監(jiān)測和控制壓力的設(shè)備。它通過機(jī)械結(jié)構(gòu)實(shí)現(xiàn)對壓力的測量和控制,具有結(jié)構(gòu)簡單、可靠性高、維護(hù)方便等優(yōu)
    的頭像 發(fā)表于 06-19 11:00 ?1037次閱讀

    機(jī)械式壓力控制器的基本工作原理

    機(jī)械式壓力控制器是一種廣泛應(yīng)用于工業(yè)自動(dòng)化控制領(lǐng)域的設(shè)備,其主要功能是監(jiān)測和控制壓力系統(tǒng)的壓力值。本文將詳細(xì)介紹機(jī)械式壓力
    的頭像 發(fā)表于 06-19 10:57 ?1039次閱讀

    移動(dòng)機(jī)械控制器 車載智能控制器 CAN總線控制器

    控制器機(jī)械
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年06月13日 17:02:51

    控制器與運(yùn)動(dòng)控制器的區(qū)別

    隨著現(xiàn)代工業(yè)技術(shù)的快速發(fā)展,控制技術(shù)在各種機(jī)械設(shè)備中扮演著越來越重要的角色。微控制器和運(yùn)動(dòng)控制器作為兩種常見的控制設(shè)備,在各自的領(lǐng)域發(fā)揮著重
    的頭像 發(fā)表于 06-13 14:52 ?647次閱讀

    運(yùn)動(dòng)控制器控制形式有哪些

    運(yùn)動(dòng)控制器是現(xiàn)代工業(yè)自動(dòng)化和機(jī)器人技術(shù)中的核心組件,負(fù)責(zé)對機(jī)械系統(tǒng)進(jìn)行精確的控制和調(diào)度。運(yùn)動(dòng)控制器控制形式多種多樣,每種形式都有其特定的應(yīng)
    的頭像 發(fā)表于 06-13 09:23 ?726次閱讀

    PLC控制器是什么?PLC控制器的基本結(jié)構(gòu)介紹

    PLC控制器主要是指數(shù)字運(yùn)算操作電子系統(tǒng)的可編程邏輯控制器,用于控制機(jī)械的生產(chǎn)過程。也是公共有限公司、電源線車等的名稱縮寫。 ? PLC 的英文全稱是:Programmable log
    的頭像 發(fā)表于 06-12 08:46 ?1026次閱讀

    PID控制器與PWM控制器的區(qū)別

    在工業(yè)自動(dòng)化和控制系統(tǒng)設(shè)計(jì)中,PID控制器(比例-積分-微分控制器)和PWM控制器(脈沖寬度調(diào)制控制器)是兩種常用的
    的頭像 發(fā)表于 06-05 18:25 ?3237次閱讀

    EtherCAT運(yùn)動(dòng)控制器Delta機(jī)械手應(yīng)用

    以正運(yùn)動(dòng)ZMC406R運(yùn)動(dòng)控制器為例,講解Delta機(jī)械手運(yùn)動(dòng)控制應(yīng)用開發(fā)。
    的頭像 發(fā)表于 05-09 10:47 ?1646次閱讀
    EtherCAT運(yùn)動(dòng)<b class='flag-5'>控制器</b>Delta<b class='flag-5'>機(jī)械</b>手應(yīng)用

    國產(chǎn)自主可控工程機(jī)械控制器

    隨著科技的飛速發(fā)展,工程機(jī)械控制器在工程中的作用日益凸顯。而今,碩博電子的工程機(jī)械控制器已成為眾多頭部企業(yè)的信賴之選。這背后,究竟隱藏著哪些不為人知的秘密呢?1、更高的產(chǎn)品性價(jià)比碩博電
    的頭像 發(fā)表于 02-01 11:24 ?650次閱讀
    國產(chǎn)自主可控工程<b class='flag-5'>機(jī)械</b><b class='flag-5'>控制器</b>