Somehow I cannot get any PPM readings with the BLDC tool. I think it is supposed to display some values when I pull the trigger, but there is nothing. Not even random values. Any idea what I am doing wrong? I hooked up a servo instead of the VESC and I can controll that essily with my remote.
did you enable Realtime data?
Yes. I tried a lot of things, but there is nothing on the screen.
Here is a video of the situation: https://youtu.be/xz4k2G3NhTQ
1:07 not connected…
Well you should connect first…
I know. I said it was turned off while recording. I tried numerous times while connected.
Cool, you got your Vesc repaired!
What did you do since you received it again? Did you get a report on what was broken or what has been changed?
Can you do the motor setup over USB using the Vesctool and then start the motor on the real time panel via the software ( start with low erpm e.g. 2000 and clamp or bolt down your motor as the accelaration to this rpm is almost immediate and the inertia throws the motor around)? I ask all this, because maybe your PPM input is still broken. This would only be a small hurdle as I have arduino code for controlling the Vesc via serial, so probably only an hour to change the setup.
Awesome!! Apparently only a small TVS Diode was broken. Danny from DieBie Engineering in Holland fixed it for free. Very nice of him.
I can run the motor fine from the tool. I just never read any signals. Your can bus system sounds good, but I am using every single pin of my Arduino Nano already. So I only have the PWM Pin for the PPM signal to play with. (I think pin 10 in this case.) Does that work?
AI don’t know how you could check if your PPM pin on your Vesc is really broken, but it does not sound unlikely to me as you said some time ago you measured 8V on this pin, which is quite high for a 3.3V microcontroller even on a 5V compatible pin. You could check this maybe with a real RC recevier connnected only to the header on the vesc. I know controlling the vesc via serial might be more difficult than only connecting a PPM signal, but I think it’s the second easiest option.
I don’t use CAN, in fact I didn’t even bother populating the IC on the PCB, i only use a serial connection. You only have to be careful with the Tx/Rx Pins of the VESC. Those are 3.3V only, i.e. if you use a 5V arduino you need to adjust the voltage on the Rx Pin of the vesc.
I think you need two signal pins on the arduino to control the Vesc via serial, as the communication is always bidirectional. This means you can read all values from the Vesc, too. More important is you get error checking.
I think you would not need additional pins on your arduino. You can use the TX/RX pins of the serial connection you use to program the arduino. Those should be also available on the pin headers.
I tested this quickly with an Arduino Mega, but I am now using an 3.3V Ardunio on a esp8266.
I used this code “GitHub - RollingGecko/VescUartControl at VESC6”, but I have simplified it for my application. I only connect 3.3V GND and RX/Tx crossed to the esp8266 and the vesc. Then I control and view all data on my remote (my phone ) via wifi. With this code you only call a funtion “Set Duty Cycle” and you can set your desired motor speed or current or …
That’s how I had connnected my testsetup with an Aruino Mega:
Edit: the drawing was wrong, there should have been a voltage divider in the line from arduino tx → voltage divider → vesc rx.
You could be more careful with more protection resistors and other circutry but this worked for me.
I will check my pins sometime tomorrow. I could give up a temperature sensor. But that just frees up an analogue pin. I doubt thats enough.
He is talking about Serial.
That is pin 0 and 1 (RX and TX) I doubt you connected them anywhere else…
Other thing would be Analog Input of VESC, but that is not that secure/safe.
Ok, I checked with my RC remote and I also did not read any signal. So PPM is probably broken.
I guess I can only try yours and Flos suggestion. RX is currently used for a display : ) TX is free. But I can put the display on the now unsuded PPM pin. So that should work. So I connect them like on Flos drawing? What about 5V vs 3V ? My Arduino runs on 5V.
I changed my PCB so its now connected to the VESC over Rx Tx. Still wondering which pins I need to connect to on the VESC, if there are voltage issues about 3 and 5 volts and about the code I need. Never worked with Rx Tx before.
I went ahead and made a little documentation of what my initial minimal testrun was.
This should work right out of the box. Just be careful as I don’t know about all your other connections. With the resistors in the line you should be pretty safe against frying your ESC again, but I don’t know your setup.
Oh boy. I made the connections which was alright, but the code looks so complicated that I don´t know how to integrate into my current Code that controls the rest of the board.
This is my current code: Arduino Cloud