Category: Educational

Raspberry Pi PICO – RP2040

Having worked with computers in 40+ years I must admit that I sometime dig into nostalgia and look at vintage computers before I recall how little you got done and how much time things took. The world has moved on – and thanks for that. RP2040 or Raspberry Pi Pico if you like is a…

Read the full article

Automotive Control System

The wheels above are cool, specially since they can carry a lot of weight. But, the motors are 2 x 2.5KW and the belt driven design is very open making it easy to be contaminated. The powerfully motors are more designed for speed than for driving slowly, but I will optimize that later. Position system…

Read the full article

Using old solder paste

I just started on 2 new motor drivers for my new project and soldered DRV8301 which is a dense 58 pin crab using an old solder paste. Soldering these crabs are easy and done in minutes, but I struggled with this paste and ended up with a driver that had pins not connected causing 2…

Read the full article

ISO1042 Galvanic CANbus

I recently discovered this chip (ISO1042) and wanted to share a circuit I found. This circuit is excellent, but it has two flaws: Firstly you need a small isolation coil 10-20uH between ISO 1042 and VCC1. This act as a filter so that higher frequencies used by the buck converter in ISO1042 do not disturb…

Read the full article

Motor Algorithm – Part 3 – Vector Table

As mentioned in part2 I want to create a 360 degree vector table with PWM duties for A,B and C. This allows me to drive sinusoidal by simply stepping 0 to 359. To do this I create a small C application as follows: #include “stdio.h” #include “stdlib.h” #include “math.h” int main(int argc, char* argv) { FILE* fd = fopen(“vectors.cpp”, “w”); if (fd != NULL) { fprintf(fd, “alSinusVector _vector[AL3P_VECTOR_SIZE]=\n”); fprintf(fd, “{\n”); for (int i = 0; i < 360; i++) {…

Read the full article