L298 med två DC-motorer (på RPi)

Teknisk support för produkter som finns på http://www.m.nu. Generella diskussioner rörande hårdvara hänvisas till teknikforumet.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
gregoff
Tar hemautomation på allvar
Inlägg: 50
Blev medlem: 22 aug 2014, 10:33
Ort: Växjö

Re: L298 med två DC-motorer (på RPi)

Inlägg av gregoff »

supportM skrev:Okej, så här kan du göra. Batteriet kopplar du direkt till motorkontrollern, men du skarvar den också och kopplar in en sån här:
https://www.m.nu/ubec-dcdc-stepdown-buc ... -1019.html
UBECen ska tydligen vara ganska effektiv så det inte blir så stor förlust vid omvandlingen.
Med denna får du 5.25V med ~0.5A om batteriet är på 0.28A, vilket bör räcka gott till Raspberryn. Värt att tillägga är också att om du vill spara på batteriet maximalt kan det vara värt att överväga en RPi Model A, då den drar betydligt mindre än Model B (Googla, finns ganska många olika tester). Den har dock bara en USB-port:
https://www.m.nu/dator-raspberry-pi-mod ... p-753.html
Finns ett projekt som gick ut på att bygga en självgående Pi-båt som du kanske kan ta lite inspiration av:
http://www.instructables.com/id/Making- ... rry-Pi-a-/
Ok, ska fundera på skarvningen.

Tänkte köra på en RPi B+. Den har 4 st USB portar (kommer behöva minst två) och lite lägre strömförbrukning än RPi B, men inte lika lite som A. Dessutom använder B+ microSD vilket gör att minneskortet inte sticker ut så mycket heller.
Användarvisningsbild
supportM
Moderator
Inlägg: 1010
Blev medlem: 20 aug 2014, 10:27
Ort: Linköping
Kontakt:

Re: L298 med två DC-motorer (på RPi)

Inlägg av supportM »

Okej!
En liten uppdatering. Vi har tittat lite på motorkontroller och kommit fram till att använda denna istället (använder L293 istället, men bör inte vara så stor skillnad. Framför allt så sätter man den direkt på RPi:ns GPIO, så det blir betydligt färre kablar att dra omkring!) :
https://www.m.nu/raspirobot-board-v2-p-1477.html

En annan fördel är att den kan förse Pi:n med ström direkt från ett batteripack (samt har en port för avståndsmätare om man vill köra en sån). De föreslår 9V (6x AA-batterier), så du kanske får titta på om den kan fungera med 12V också ifall du hellre vill använda det. Jag kommer använda en sån här för batterierna:

https://www.m.nu/6-x-aa-battery-holder- ... 962.html11

Sen använder jag en sån här för motorerna:

https://www.m.nu/robotplattform-2wd-ink ... -1129.html

Och ovanpå en Raspberry Pi Model B+.

Återkommer när jag har nåt nytt att berätta! :wink:
// Officiellt supportkonto för m.nu
gregoff
Tar hemautomation på allvar
Inlägg: 50
Blev medlem: 22 aug 2014, 10:33
Ort: Växjö

Re: L298 med två DC-motorer (på RPi)

Inlägg av gregoff »

supportM skrev:Okej!
En liten uppdatering. Vi har tittat lite på motorkontroller och kommit fram till att använda denna istället (använder L293 istället, men bör inte vara så stor skillnad. Framför allt så sätter man den direkt på RPi:ns GPIO, så det blir betydligt färre kablar att dra omkring!) :
https://www.m.nu/raspirobot-board-v2-p-1477.html

En annan fördel är att den kan förse Pi:n med ström direkt från ett batteripack (samt har en port för avståndsmätare om man vill köra en sån). De föreslår 9V (6x AA-batterier), så du kanske får titta på om den kan fungera med 12V också ifall du hellre vill använda det. Jag kommer använda en sån här för batterierna:

https://www.m.nu/6-x-aa-battery-holder- ... 962.html11

Sen använder jag en sån här för motorerna:

https://www.m.nu/robotplattform-2wd-ink ... -1129.html

Och ovanpå en Raspberry Pi Model B+.

Återkommer när jag har nåt nytt att berätta! :wink:
Detta ser ut exakt ut som det jag letar efter! Endast en strömkälla utan fulkopplingar med simpla python exempel. Perfekt!

Synd bara att min order innehållandes bland annat en L298 precis gick iväg så det får bli en order till ;-)

Känns som att jag bör hålla mig till 9V oavsett i och med att dom rekommenderar det. Nu kvarstår det att luska ut vilka motorer man ska använda sig av!
Användarvisningsbild
supportM
Moderator
Inlägg: 1010
Blev medlem: 20 aug 2014, 10:27
Ort: Linköping
Kontakt:

Re: L298 med två DC-motorer (på RPi)

Inlägg av supportM »

Aj då! :)
Ja det fanns ju ett helt bibliotek dedikerat för just den där kontrollern också, det kanske du såg. Den hade stöd för PWM också, vilket är det du vill använda för att ställa hastigheten på motorerna.
Måste bara få RPi:n att koppla upp mot något nätverk nu, så jag kan installera mjukvaran. Måste säga att än så länge har det varit extremt simpelt att koppla in, 6 sladdar (2 per motor, 2 till batterierna). Sen kanske du kommer behöva koppla in någon receiver för att fjärrstyra det hela, men det kanske du har koll på :)
// Officiellt supportkonto för m.nu
gregoff
Tar hemautomation på allvar
Inlägg: 50
Blev medlem: 22 aug 2014, 10:33
Ort: Växjö

Re: L298 med två DC-motorer (på RPi)

Inlägg av gregoff »

supportM skrev:Aj då! :)
Ja det fanns ju ett helt bibliotek dedikerat för just den där kontrollern också, det kanske du såg. Den hade stöd för PWM också, vilket är det du vill använda för att ställa hastigheten på motorerna.
Måste bara få RPi:n att koppla upp mot något nätverk nu, så jag kan installera mjukvaran. Måste säga att än så länge har det varit extremt simpelt att koppla in, 6 sladdar (2 per motor, 2 till batterierna). Sen kanske du kommer behöva koppla in någon receiver för att fjärrstyra det hela, men det kanske du har koll på :)
Jag kommer att koppla in ett 3G modem som "receiver" och styra det hela från en mobiltelefon över mobilnätet för extra lång räckvidd ;-) Eventuell lagg och sånt gör inte så mycket. Det är trots allt ingen racingbåt jag ska göra.

Om du har tips på vilka värden jag ska hålla mig inom när det gäller motorerna (Volt och Ampere) så är jag tacksam (igen). Är inte så duktig på just el-bitarna.
Användarvisningsbild
supportM
Moderator
Inlägg: 1010
Blev medlem: 20 aug 2014, 10:27
Ort: Linköping
Kontakt:

Re: L298 med två DC-motorer (på RPi)

Inlägg av supportM »

Vi har ingen aning om hur man beräknar motoreffekt för båtar... så det är nog bara att testa. Räcker det inte med ~9V så vet jag inte hur man ska göra, möjligt att kontrollern stödjer högre. Du kanske kan googla lite ;)

Jag fixar nog nån liten guide till själva programmeringen imorgon, om du inte använder dig av guiden som redan finns länkad :)
// Officiellt supportkonto för m.nu
gregoff
Tar hemautomation på allvar
Inlägg: 50
Blev medlem: 22 aug 2014, 10:33
Ort: Växjö

Re: L298 med två DC-motorer (på RPi)

Inlägg av gregoff »

supportM skrev:Vi har ingen aning om hur man beräknar motoreffekt för båtar... så det är nog bara att testa. Räcker det inte med ~9V så vet jag inte hur man ska göra, möjligt att kontrollern stödjer högre. Du kanske kan googla lite ;)

Jag fixar nog nån liten guide till själva programmeringen imorgon, om du inte använder dig av guiden som redan finns länkad :)
Det ser jag fram emot! Fixar det troligen utefter vad som står på github men exempel är alltid trevligt.

Lade en beställning på kortet nu. Nu gäller det bara att koppla in rätt storlek på motorerna :-)
Användarvisningsbild
supportM
Moderator
Inlägg: 1010
Blev medlem: 20 aug 2014, 10:27
Ort: Linköping
Kontakt:

Re: L298 med två DC-motorer (på RPi)

Inlägg av supportM »

Okej!
Ja jag packade den ordern, misstänkte att den var din. :wink:
Jag har skrivit ihop en kod-fil med större delen av de anrop du kommer använda. Har satt ihop en liten robot så ska bara kolla så att det funkar på batteridriften (kanske lägger upp en liten video). Tänkte även skriva en liten guide för hur man autostartar skriptet. Uppstarten tar som regel kanske 30 sek, antar att man får ställa in att den loggar in i X automatiskt för annars ber dem om användarnamn/lösenord vid uppstart. Detta gör du genom "sudo raspi-config".
Lägger upp koden i eftermiddag!
// Officiellt supportkonto för m.nu
Användarvisningsbild
supportM
Moderator
Inlägg: 1010
Blev medlem: 20 aug 2014, 10:27
Ort: Linköping
Kontakt:

Re: L298 med två DC-motorer (på RPi)

Inlägg av supportM »

Okej! Då var det dokumentationsdags.

Vi använder alltså robotplattformen med två motordrivna hjul tillsammans med en Raspi Robot v2 motorkontroller (L293-baserad), ett batteripack för 6xAA-batterier och en Raspberry Pi Model B+. Länkar till alla delar:

https://www.m.nu/robotplattform-2wd-ink ... -1129.html
https://www.m.nu/raspirobot-board-v2-p-1477.html
https://www.m.nu/6-x-aa-battery-holder- ... p-962.html
https://www.m.nu/b-paketkonfigurator-ra ... -1516.html

Att ansluta det hela är väldigt simpelt. Det går att provköra motorerna på Raspberry Pi:ns strömförsörjning innan man ansluter batteripacket. Då sätter man helt enkelt RaspiRobotBoard v2 på GPIO-porten (använder man B+ får man se till att den sitter på rätt ställe), och därefter ansluter man motorerna till "L" och "R" på utgångarna.

Därefter är det färdigt att provköra! Här följer ett stycke kod som först släcker de två LED-lamporna på RRB2, och sen tänder en av dem. På detta sätt ser man när RPi:n bootat upp och startat skriptet när endast en av lamporna lyser.
I övrigt är koden rätt välkommenterad. Jag döpte denna fil till "Rasrob2.py" och placerade den i mappen /home/pi/python/ .

Kod: Markera allt

# This is a collection of sample code for the
# Raspi Robot v2:
# https://www.m.nu/raspirobot-board-v2-p-1477.html
#
# It uses the "raspirobotboard2" Python library from:
# https://github.com/simonmonk/raspirobotboard2
#
# By: Jonas Lundblad @ www.m.nu

# Import the RaspiRobot library and init variable "rr"
# as the controller
from rrb2 import *
from time import sleep
rr = RRB2()


# The RRB2 has two LED lights that can be controlled:

rr.set_led1(0)
rr.set_led2(1)
time.sleep(3)
# To control the motor(s), there are two different interfaces.
# Here is the simple interface:

# Set the same speed to both motors (half speed), direction forward
# (until user overrides the command)
rr.forward()
rr.set_led1(1)

# Sleep command to delay for 1 second
time.sleep(1)

#Stop the motor
rr.stop()
rr.set_led1(0)

time.sleep(1)
# It is also possible to define amount of time (in seconds):
#rr.forward(1)

# And finally, setting the motor speed (1 is full speed):
#rr.forward(1, 0.1)


# The second interface is more advanced and looks like this:
# rr.set_motors(left_speed, left_direction, right_speed, right_direction)

# Setting half speed and different directions wold be:
rr.set_motors(0.5, 1, 0.5, 0)
time.sleep(2)
rr.set_motors(0, 0, 0, 0)
time.sleep(1)
# Reverse rotation
rr.set_motors(0.5, 0, 0.5, 1)
time.sleep(2)
rr.stop()

# Additionally, it is possible to connect a "HC-SR04"
# Ultrasonic distance sensor to the connector labeled "SONAR"
# https://www.m.nu/hcsr04-ultrasonic-sensor-p-1072.html

# To get the distance from such a device, simply type:

#rr.get_distance()

Men vad är väl ett skript som man måste logga in och starta manuellt? Vi vill ju såklart att det startar automatiskt när Pi:n gör det. Vi börjar med att skapa ett "shellscript", vilket är en körbar fil. Jag döpte min fil till "pylaunch.sh" och placerade den i samma mapp som python-skriptet:

Kod: Markera allt

#!/bin/sh
# pylaunch.sh
# execute a script on startup

cd /
cd home/pi/python
sudo python Rasrob2.py
cd /
Om man nu kör detta script kommer det exekvera Python-koden.

Vi vill även logga felmeddelanden med mera som kan tänkas skrivas ut av skriptet. För att lagra dessa på ett smidigt ställe skriver vi:

Kod: Markera allt

cd /home/pi/python
mkdir logs
Och skapar då en mapp i vilken vi kan placera loggar.

För att sedan få det att autostarta använder vi "cron", som kan användas för att schemalägga olika aktiviteter.
För att öppna konfigurationen för cron skriver man

Kod: Markera allt

sudo crontab -e
Och då öppnas en fil i nano (den textbaserade texteditorn). Ta dig längst ner med piltangenterna och lägg till följande rad:

Kod: Markera allt

@reboot sh /home/pi/python/pylaunch.sh >/home/pi/python/logs/cronlog 2>&1
Denna kod kör skriptet vid uppstart och loggar eventuella utskrifter till en cronlog-fil i mappen vi skapade tidigare.

Mycket svårare än så är det inte, och här är en liten video på slutresultatet!

https://www.youtube.com/watch?v=PofHrANuHpM

//Jonas, m.nu
// Officiellt supportkonto för m.nu
gregoff
Tar hemautomation på allvar
Inlägg: 50
Blev medlem: 22 aug 2014, 10:33
Ort: Växjö

Re: L298 med två DC-motorer (på RPi)

Inlägg av gregoff »

Detta är som julafton för nördar!

Tack för alla script, tips, tankar och idéer! Ska bli spännande att få hem prylarna!

Lite småhäftigt med de inbyggda lamporna på kortet. Dessa kan man t.ex enkelt ställa in till att lysa när enheten har bootat och den andra för när man anslutit till en extern server (ska som sagt styra detta via nätet)

Att man kunde lägga upp ett script i crontab att bara köras en gång vid uppstart var en nyhet för mig. Praktiskt!

Lägger upp en video själv med när jag fått saker och ting lira.

Tack igen!
Användarvisningsbild
supportM
Moderator
Inlägg: 1010
Blev medlem: 20 aug 2014, 10:27
Ort: Linköping
Kontakt:

Re: L298 med två DC-motorer (på RPi)

Inlägg av supportM »

Båda lyser direkt vid boot, som du ser slocknar den ena strax innan den börjar röra sig.
Det är för att jag släcker båda i koden och sen tänder den ena. Men man kan använda dem som statusindikatorer :)

Hade lite problem med att motorerna drog ojämnt, förhoppningsvis var det bara problem med motorerna eller hjulen (de såg lite snea ut). Ska nog göra en likadan guide för L298 också, bara utifall.
// Officiellt supportkonto för m.nu
dataknutte
Wannabe
Inlägg: 8
Blev medlem: 27 aug 2014, 08:47
Ort: Växjö

Re: L298 med två DC-motorer (på RPi)

Inlägg av dataknutte »

Nu var ni ju jobbiga! Köpte robotunderdelen tidigare. Fick ju för mig att lägga en beställning på RaspiRobot Board V2
[820024001]. + Lite annat kul man hittade. Så nu finns det bara 2 i lager kvar! Allt detta för att jag först fick onsdagsmailet och därefter börja läsa på detta forum. Och sedan har man fått lön...
Jag skulle ju inte köpa något denna månaden hade jag ju tänkt.
:wink:
Användarvisningsbild
supportM
Moderator
Inlägg: 1010
Blev medlem: 20 aug 2014, 10:27
Ort: Linköping
Kontakt:

Re: L298 med två DC-motorer (på RPi)

Inlägg av supportM »

Håll i dig, det kommer mer intressanta guider och byggen framöver ;)

//Jonas, m.nu
// Officiellt supportkonto för m.nu
larky
Moderator
Inlägg: 1166
Blev medlem: 01 feb 2008, 12:21
Ort: Skellefteå
Kontakt:

Re: L298 med två DC-motorer (på RPi)

Inlägg av larky »

Här en kickstarter som jag inte hittade när jag först läste den här tråden, den handlar om motordrivning för båtar.
Lite siffror kan man nog låna därifrån hur mycket drivkraft du kan få ut per watt.

https://www.kickstarter.com/projects/84 ... ecommended
gregoff
Tar hemautomation på allvar
Inlägg: 50
Blev medlem: 22 aug 2014, 10:33
Ort: Växjö

Re: L298 med två DC-motorer (på RPi)

Inlägg av gregoff »

Testade kortet nu och satte i 6 x AA batterier och den bootar bra och fint. DOCK, blir kretsarna _väldigt_ varma på RRB-kortet. Jag kör batteriet direkt via RRB-kortet vilket borde vara ok med tanke på att den ska klara 12 V.

Bör jag oroa mig över värmen?
Skriv svar