Как управлять двигателями Bldc с Arduino при управлении по последовательному соединению? - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь управлять двигателем BLDC (с помощью esc) с помощью моего arduino.Arduino получает команды от последовательного соединения с Raspberry Pi, который запускает программу Python, которая многократно посылает числа для управления двигателем.

Я намерен контролировать скорость двигателей через Raspberry Pi по последовательному соединению.До сих пор я никогда не мог вращать двигатель при отправке данных.

include <Servo.h>
Servo ESC;     // create servo object to control the ESC

int incomingByte = 0;

void setup() {

  Serial.begin(9600);

  ESC.attach(3,1000,2000); // (pin, min pulse width, max pulse width in microseconds)

}

void loop() {
    ESC.write(Serial.parseInt());
    //incomingByte = Serial.parseInt();
}
import tkinter as tk
import serial

tracked_var = 0


def outputValue():
    print(tracked_var)
    ser.write(value.encode())
    window.after(50, outputValue)


def update_tracked_variable(value):
    global tracked_var
    tracked_var = value


def background(color):
    window.configure(bg=color)
    scale = tk.Scale(window, from_=0, to=20, command=update_tracked_variable)
    scale.pack()


ser = serial.Serial('/dev/ttyUSB0', 9600)
window = tk.Tk()
window.title("Drone Control")
background("black")
outputValue()
window.mainloop()

Когда я отправляю значения в arduino, я не получаю движения от мотора.Этот код был немного изменен по сравнению с простым потенциометрическим сервоконтроллером.

...