关闭 JWChatham 打开了这个问题 2019 年 9 月 19 日 · 0 条评论 关闭 更多的是一个解决方案而不是一个问题……#734 JWChatham 打开了这个问题 2019 年 9 月 19 日 · 0 条评论 注释 JW查塔姆 评论了 2019 年 9 月 19 日 一些来自 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); } ” arkypita已完成 关闭 2020 年 1 月 15 日 喜欢 (0) 超程设置 #733 为最新提交添加了徽章 #1060 2.8inch_ESP32-2432S028R无法获取任何菜单 #56 2.8inch_ESP32-2432S028R显示屏支持 #55 编译错误 #54 文本部分超出了板中的可用空间 #53 2.8inch_ESP32-2432S028R无法获取任何菜单 #562.8inch_ESP32-2432S028R显示屏支持 #55编译错误 #54文本部分超出了板中的可用空间 #53编译失败:SdFat.h:没有那个文件或目录 #50esp32c3支持吗? #49慢跑算法 #48启用 WiFi 后,STA & AP 模式会暂停发送 G 代码。 #46
一些来自 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);
}
”