有老外放出了程序来了 这是第二版的 增加了继电器去控制加感 整体的调谐方式并没有改变多少
把程序贴上来 大家可以对程序进行修改 就能进行调谐了 问题已经找到 程序编译通过没有问题,
该程序使用180°伺服舵机,和一个抽头的电感
使用13口控制高频继电器 切换电感大小,使用9口控制伺服舵机,模拟口0 为驻波表检波输出电压输入
// autotuner
#include <servo.h>// we will use a servo
servo cap; // for rotating the capacitor
int cappin = 9; // attached to pin 9
int indpin = 13; // inductor relay on pin 13
int reflpin = 0; // reflection input on analog pin 0
int pos = 0;
boolean bestindpos = high;
int cappos = 0;
int bestcappos = 0;
int refl = 0;
int bestrefl = 1023;
void setup() {
cap.attach(cappin);
}
void loop() {
// reset
bestcappos = 0;
bestindpos = high;
bestrefl = 1023;
cap.write(0); // turn capacitor to start position
delay(500); // this will take a bit of time, so wait
// find best reflection with full inductance
digitalwrite(indpin, high);
delay(200);
for(pos = 0; pos < 180; pos += 3)
{
cap.write(pos);
delay(15);
refl = analogread(reflpin);
if (refl < bestrefl) {
bestrefl = refl;
bestcappos = pos;
bestindpos = high;
}
}
// find best reflection with reduced inductance
digitalwrite(indpin, low);
delay(200);
for(pos = 180; pos > 0; pos -= 3)
{
cap.write(pos);
delay(15);
refl = analogread(reflpin);
if (refl < bestrefl) {
bestrefl = refl;
bestcappos = pos;
bestindpos = low;
}
}
// select best capacitance and inductance
digitalwrite(indpin, bestindpos);
cap.write(bestcappos);
// wait before re-entering the loop...
delay(10000);
}