开源改变世界!!

更多的是一个解决方案而不是一个问题…… #734

推推 grbl 2年前 (2023-01-27) 159次浏览
关闭
JWChatham 打开了这个问题 2019 年 9 月 19 日 · 0 条评论
关闭

更多的是一个解决方案而不是一个问题……#734

JWChatham 打开了这个问题 2019 年 9 月 19 日 · 0 条评论

注释

更多的是一个解决方案而不是一个问题...... #734

一些来自 ebay 的 15 瓦 pwm 激光器的信号是反向的。
我花了很长时间才弄明白这一点……但一切都在反向运行,就激光的功率而言……我的板输出的 pwm 信号是 0-1023 pwm 信号。然而,laserGRBL 读取并输出 0-255(可能还有 0-1023)。

我的一个建议是在预览“目标光栅图像”屏幕后,能够将页面上的 0-255 反转为 255-0。它显示“目标图像”并具有 S-min 和 S-max 的地方……
允许用户输入 255 作为最小值和 0 作为最大值,这可能会在没有 arduino 重新映射的情况下解决问题。

在我的特定激光器上,1023 处于关闭状态且 0(零)= 开启。
所以我只是拿了一个arduino并重新映射了信号。
它就像反转信号一样简单。如果您不熟悉这个术语,只需将这段代码放入您的 arduino 中即可。

const int analogInPin = A0; // “板输出信号”连接到的模拟输入引脚
const int analogOutPin = 9; // 激光器连接到的模拟输出引脚

int 传感器值 = 0; // 从板上读取的值
int outputValue = 0; // 值输出到 PWM(模拟输出)

void setup() {
// 以 9600 bps 初始化串行通信:
Serial.begin(9600);
}

void loop() {
// 读取模拟输入值:
sensorValue = analogRead(analogInPin);
// 将其映射到模拟输出的范围:
outputValue = map(sensorValue, 0, 1023, 255, 0);
// 改变模拟输出值:
analogWrite(analogOutPin, outputValue);

// 将结果打印到串行监视器:
Serial.print(“sensor = “);
串行打印(传感器值);
Serial.print(“\t 输出 = “);
Serial.println(outputValue);

// 在下一个循环之前等待 2 毫秒,以便模数转换器
// 在最后一次读取后稳定下来:
delay(2);
}