It has been a very long time since my last post about my RC car; I have made some progress since then, my car works perfectly when I control it from the iPhone or iPad app. Since the first try, I decided to develop my own PWM driver, because the one I was using didn’t have a good enough response time for my needs; and with my own driver, it works great, the car responds quickly to commands. This change was only possible because I bought a Raspberry Pi B+, which now has the 2 pwm channels outputs available o the extension port.
So today I decided to migrate the Raspberry Pi of my RC car from Rasbian to Arch Linux, because Arch Linux is supposed to be a very light and easy to use embedded Linux distrib.
I was not disappointed, the operation was quite easy, I just followed the steps on this wiki : http://archlinuxarm.org/platforms/armv6/raspberry-pi. I created my sd card with an old ubuntu I have, because I didn’t have time to try to do it on Mac OSX, but maybe later I will try and post the steps here.
Then I had to make the wifi work (as a client), I also just followed the steps on the arc linux netctl wiki https://wiki.archlinux.org/index.php/Netctl. All I needed was to install some package, but no worry, they are automatically suggested when you follow the steps.
Last step, make my own daemon work on Arch Linux, the only difference was to migrate the daemon system to systemd. I started to use systemd recently, and I find it quite powerfull and easy to use. So I just made that service file :
# PiCarux [Unit] Description=PiCarux Daemon After=netctl@wlan0\x2dLivebox\x2dUnsigned.service [Service] Type=forking ExecStart=/root/picar/PiCarux [Install] WantedBy=multi-user.target
That’s all for today, next step (and a big one) : I just order a RPM sensor for the brushless motor and I want to use it to apply a PID controller. I will first need to find out how the sensor works (there is no description of the kind of signal it sends), the I will have to manage to capture the signal of the Raspberry Pi (that could be hard assuming the signal could have a quite high frequency), and last I will have to develop my PID algorithm ! A lot of work to keep my mind up during the winter 🙂