Kan RPi vara användbar för detta projekt?

Permalänk

Kan RPi vara användbar för detta projekt?

Hej på er alla!

Jag är intresserad av modelljärnväg och funderar på en kontroller för en plankorsning (järnvägsövergång).

Ett problem med detta är att ett riktigt s.k. vägskydd är en realtidsanläggning, som behandlar flera olika insignaler parallellt och där olika processer kan interrupta varandra var som helst i sina resp. sekvenser.

Jag har sammanfattat mina tankar om projektet här: PIlankorsning

Mina främsta frågor rörande detta är:

  1. Tror Ni att RPi har tillräcklig kapacitet för att köra de olika processerna/trådarna parallellt, utan att lagget blir märkbart?

  2. Vilket programmeringsspråk tror Ni skulle vara lämpligt för ett dylikt projekt? Python? Java? Något annat?

Jag har viss erfarenhet av programmering, men skulle inte kalla mig duktig på det. Jag har dock använt en RPi för att reagera på yttre stimuli, styra servon m.m.: RPi Watchdog.

Alla synpunkter mottages tacksamt.

Permalänk
Medlem

@Anders_Wa: Jag skulle tro att det fungera alldeles utmärkt - det kan naturligtvis förekomma lagg och otyg, men det är nog först när du lastar pajjen. Du kan sätta alla GPIO-pinnar som interrupts, vilket innebär att om en signal går hög blir mjukvaran meddelad om detta istf. för att mjukvaran ska polla alla pinnar.

Din dokumentation är grymt omfattande. Har du foton på din anläggning? Jag är väldigt intresserad isåfall!

Permalänk
Medlem
Skrivet av Anders_Wa:

Hej på er alla!

Jag är intresserad av modelljärnväg och funderar på en kontroller för en plankorsning (järnvägsövergång).

Ett problem med detta är att ett riktigt s.k. vägskydd är en realtidsanläggning, som behandlar flera olika insignaler parallellt och där olika processer kan interrupta varandra var som helst i sina resp. sekvenser.

Jag har sammanfattat mina tankar om projektet här: PIlankorsning

Mina främsta frågor rörande detta är:

  1. Tror Ni att RPi har tillräcklig kapacitet för att köra de olika processerna/trådarna parallellt, utan att lagget blir märkbart?

  2. Vilket programmeringsspråk tror Ni skulle vara lämpligt för ett dylikt projekt? Python? Java? Något annat?

Jag har viss erfarenhet av programmering, men skulle inte kalla mig duktig på det. Jag har dock använt en RPi för att reagera på yttre stimuli, styra servon m.m.: RPi Watchdog.

Alla synpunkter mottages tacksamt.

Om du är rädd att den inte räcker till så kan du köpa denna som är mycket snabbare.

http://www.hardkernel.com/main/products/prdt_info.php?g_code=...

ODROID-XU4

* Samsung Exynos5422 Cortex™-A15 2Ghz and Cortex™-A7 Octa core CPUs * Mali-T628 MP6(OpenGL ES 3.0/2.0/1.1 and OpenCL 1.1 Full profile) * 2Gbyte LPDDR3 RAM PoP stacked * eMMC5.0 HS400 Flash Storage * 2 x USB 3.0 Host, 1 x USB 2.0 Host * Gigabit Ethernet port * HDMI 1.4a for display * Size : 82 x 58 x 22 mm approx.(including cooling fan)

eller om du vill ha ännu mer kraft så funkar denna med den har 4GB ram.

https://www.dfrobot.com/index.php?route=product/product&produ...

LattePanda 4G/64GB

Processor: Intel Cherry Trail Z8300 Quad Core 1.8GHz Operation System: Full edition of Windows 10 / Linux Ram: 4GB DDR3L Storage Capability: 64GB USB: USB 3.0*1 USB 2.0*2 WiFi and Bluetooth 4.0 Co-processor: ATmega32u4 GPIO: 2 GPIOs for Intel chip 20 GPIOs for Arduino Power: 5v/2A Dimension: 3.46"x2.76" Weight: 100g

Permalänk
Medlem

Riktigt häftigt!
Skulle gärna också se bilder på din bana^^
För att svara på din fråga tror inte jag det är några problem alls, är ju inte direkt några tunga grejjer du ska göra.

Om jag tolkar dokumentationen rätt och hur verkligheten ser ut så vill du ju styra en en bom med tillhörande ljud/ljus baserat på insignaler.
Även om jag tror att RPi skulle fungera här så tror jag att mikroprocessorer(typ PIC) vore mer lämpligt då du kan bygga små enheter och placera en vid varje korsning. Detta gör ju att du enkelt kan bygga ut din järnväg med nya korsningar utan att bli begränsad av antalet GPIO, även ta bort enheter givetvis.
Vill du ha en "huvuddator" kan du ju koppla mikroprocessorna till en pi exempelvis och få lite indata om vilka bomar som är nere m.m.
Kanske vill du via ett gränssnitt köra bommarna manuellt så går säkert detta att ordna också.
Du slipper ju även bekymret med trådar då du har en "dator" vid varje bom.

Nåväl, det var min lite annorlunda input på det hela

Permalänk

Tyvärr finns inga foton, eftersom banan ännu inte är byggd, men det finns omfattande ritningar.

Jag har uppdaterat beskrivningen på Dropbox. Där finns nu även länkar till (ofullständig) Python-kod.

Permalänk
Medlem

Nu har du redan börjat på RPi och jag tror den räcker till detta, men normalt sett i liknande system vill du inte ha "datorer" annat än i övervakningssyfte, passiva komponenter och t.ex. en avr eller pic gör jobbet säkrare och stabilare samt är bättre anpassade för system som detta.

Det kan vara mer jobb initialt och även om programmeringen för chip kan verka svår är det faktiskt ganska lätt, 90% är bara "är något av eller på, gör detta", fördelen sedan är att om du t.ex. designar en krets som själv kan sköta bom, dirigering m.m. och har någon form av kommunikation in/ut från kretsen med alternativ för styrning via t.ex. en RPi eller vad som går systemet sedan att bygga ut genom att bara lägga till nya kretsar vid de nya platserna och koppla in dem.
En annan fördel är att om t.ex. en felar dör inte hela systemet utan det går att anpassa efter fel signalen istället för att om RPi ger sig dör hela systemet.

Något i denna stil:
http://electronicswork.blogspot.se/2011/11/automatic-railway-...