Fordons-controller för signal-ljus, ljud osv
Postat: 14 juli 2020, 12:56:42
Hej alla!
Jag kommer länka till denna tråd frånde inlägg jag gör här angående mitt projekt samt uppdatera första posten löpande.
Diskutioner i tråden bör därför hållas till ämnet samt ha ett konstruktivt innehåll.
Mitt mastodont-projekt är en blygsam ljus- och ljud-controller, med framtida ambitioner med både mobil-integration samt motor-styrning (styra en e-motor-controller).
Tanken med projektet är att ge en flexibel helhetslösning för allt möjligt fordons-relaterat och kunna ersätta ett komplett elsystem (minus laddning/tändning osv) i en bil, moped, elcykel eller barnens eldrivna gocart.
Målet är att fritt kunna välja ingångar från olika källor (tex befintliga eglage) och styra olika typer av belysning, kunna köra 12-V blinkers&lampor direkt från biltema el dyl, alternativt kunna köra hemmabyggda strömsnåla led-ramper på säg 6.25V om man hellre vill det.
Grunden jag bygger nu kommer att användas som en hub till mitt "SmartFordon™", där jag kan koppla in moduler för att bygga ut systemet, tex styra telefonen via blåtand och utnyttja fast installerad ljudanläggning som musik-utgång.
Tanken jag har just nu är att meny/display-systemet kan bli just en sådan modul, där driving av displayen samt logik för menysystemet är lokalt i skärm-modulen, men att den får inputs(knapptryckningar) samt data (tex hastighet osv) från den centrala enheten via befintlig i2c-bus.
Min design bygger på ett huvud-kontrollerkort (arduino osv) samt en klase dotter-kort som tex baklykte-kretskortet, som har alla funktioner (blinkers, bakljus, bromsljus osv) styrda av en I2C pin extender (mcp23008).
Effektivt innebär det at jag har ett dotterkort för respektive "installations-zon" och samma 5 ledare till varje zon.
Jag ansluter alltså en blinker-utgång till det kretskort som är närmast, som via inbyggda transistorer kan styra högre strömstyrkor och som styrs via det "lokala nätverket"(i2c) från huvudkretskortet.
Knappar, reglage, lampor osv skapar alltså bara en lokal kabelhärva att ta itu med, men då alla enheter ansluts till samma ledare så påverkas inte huvud-enheten av att man kopplar in/ur ytterligare in-/utgångar.
Med andra ord kan jag, om jag vill, koppla på en släpvagn till mitt projekt, som ansluts på samma sätt som en extra baklykta, till samma 4-5 ledare, men att släpvagnen har full ljus-uppsättning samt också möjlighet att kommunicera med huvud-enheten, tex om jag vill ha knappar i barn-kärran eller en våg i lastkärran.
Så kabeldragningen är planerad till 5 ledare för både ström och signal.
I2C kräver data och klocka, samt strömförsörjning och jord.
Alla lampor och tyngre strömförbrukare får en separat ledare, kallad högströmsledaren då den ska kunna leverera kräm upp till till några hundra watt till ett fordons alla lampor. (högströmsledarens dimensioner anpassas till förväntade laster)
så med gemensam jord för data och "högströmsledaren" så är våra ledare följande: i2c_data, i2c_klocka, +5V, jord, +batteriV.
Jag har designat en hög med kretskort och beställt dem från fabrik, dessa är ungefär 4 kompletta uppsättningar till en cykel/moped, men jag har ju aldrig gjort något sånt här förut, så det finns några buggar i planeringen om vi säger så..
Bland annat har jag bara 4 ledare, ingen batteri-ledare.
Men det duger som test-rigg för mjukvaru-utvecklingen!
På mjukvaru-sidan finns det en hel del, hastighets- och trip-mätare, elektronisk auto-off och soft-off, (mekanisk on).
Jag har även medvetet byggt koden så att det inte spelar någon roll för hur enskilda knappar är kopplade, man konfigurerar varje knapp separat.
Vare sig knapp 5 är kopplad via i2c, lokalt direkt till arduino digital pin eller del av ett kluster av knappar till en enda arduino analog pin, så läses varje knapp, räknar antalet gånger i rad som knappen varit intryckt och när den väl släpps, räknar ut om den var kort- eller lång-klickad.
På mjukvaru-sidan är arbetet nästan i mål, alla (nuvarande) funktioner är där och är bekräftat fungerande, men display-systemet behöver en lösning.
Hårdvaru-sidan släpar lite efter pga inbyggda begränsningar i det nuvarande huvudkontroller-kortet, jag kan inte ha strömförsörjningen inkoplad när jag har datorn inkopplad för då bränner arduinon.
Jag kan heller inte ha mer än några enstaka dotterkort inkopplade utan att störa ut USB-porten när datorn är inkopplad, så det är ett väldans in/ur-kopplande för en mjukvaru-uppdatering..
Så kvar att göra här är följande:
# att modda ett par bromsreglage (hydrauliska) för att kunna med magnet+hall-sensor bygga en justerbar broms-trigger.
# att testa hastighets-sensor / varvtals-sensor (för kadens)
# debugga knapp-hårdvaran (i2c), läser slumpartat nu (hw-debounce?)
# konfigurera utgångar (lampor)
Rent generellt är jag på två ställen o jobbar, mjukvaran, eller planerar ombyggnad av "moderkortet", kärnan av logik i mitt projekt.
Hårdvarumässigt behöver jag några förbättringar:
# Strömförsörjning (inbyggd laddning, valbar strömkälla (batteri/nät-adapter))
# Flexibel dator-anslutning (för att närsomhelst kunna koppla datorn till arduinon för t.ex seriell konsoll eller mjukvaru-uppgradering)
# Mer logisk placering av bl.a I/O anslutningar och ström.
Rent konkret så är inte nuvarande moderkort misslyckade, de fungerar som tänkt och jag kan övervaka batteri-spänningen osv men många av funktionerna blev fel, jag anslöt exempelvis framlyktan till fel drivkrets(den hamnade på arduinons 5V ist f den Vreg som var avsedd för externa lampor) och missade att helljuset skulle styras separat.
Jag löste det med en hårdvaru-mod och en TO-92 transistor (ist f ytmonterat) men det blev inte "sexigt"..
En annan detalj som irriterar mig är att jag designade dem för temperatur-övervakning av både inbyggda ström-regulatorer och batteri men valde fel fotavtryck för ic-kretsen på moderkortet så mina sensorer passade inte..
Jag hade också helt missat att jag fick en cut-off funktion på köpet med mina temp-sensorer, så hade jag bara anslutit en extra pinne på rätt sätt så hade jag sluppit mätningen i mjukvaran.
Så jag behöver ett nytt moderkort på sikt och har där följande kriterier:
# Ska klara av att drivas från batteri och nät-adapter, ska laddas från nät-adaptern. (okej med sw reset vid strömbyte, men helst inte)
# Ska ha usb-anslutning för in-system-programming och debugging (kunna koppla in datorn/surfplattan för feedback oavsett hur jag driver resten av systemet)
# Ska ha separat strömförsörjning (Vreg) till ett flertal separata enheter/grupper, möjligen/troligen på separat kort.
# Förberedd för en modul med bl.a bletooth, ljud osv. (hål+lödytor för att bygga en "sandwitch" av flera staplade kretskort)
# Ha en uppsättning utgångar för diverse funktioner (blinkers, positions-/broms-ljus osv)
# Passa i ett grovt rör, alternativt fejk-vattenflaska.
Notera att detta första inlägg kommer att hållas uppdaterat och att detta ska fungera som en "snabb introduktion" till mitt projekt.
Mvh Liggisten (liggcyklisten)
Jag kommer länka till denna tråd frånde inlägg jag gör här angående mitt projekt samt uppdatera första posten löpande.
Diskutioner i tråden bör därför hållas till ämnet samt ha ett konstruktivt innehåll.

Mitt mastodont-projekt är en blygsam ljus- och ljud-controller, med framtida ambitioner med både mobil-integration samt motor-styrning (styra en e-motor-controller).
Tanken med projektet är att ge en flexibel helhetslösning för allt möjligt fordons-relaterat och kunna ersätta ett komplett elsystem (minus laddning/tändning osv) i en bil, moped, elcykel eller barnens eldrivna gocart.
Målet är att fritt kunna välja ingångar från olika källor (tex befintliga eglage) och styra olika typer av belysning, kunna köra 12-V blinkers&lampor direkt från biltema el dyl, alternativt kunna köra hemmabyggda strömsnåla led-ramper på säg 6.25V om man hellre vill det.
Grunden jag bygger nu kommer att användas som en hub till mitt "SmartFordon™", där jag kan koppla in moduler för att bygga ut systemet, tex styra telefonen via blåtand och utnyttja fast installerad ljudanläggning som musik-utgång.
Tanken jag har just nu är att meny/display-systemet kan bli just en sådan modul, där driving av displayen samt logik för menysystemet är lokalt i skärm-modulen, men att den får inputs(knapptryckningar) samt data (tex hastighet osv) från den centrala enheten via befintlig i2c-bus.
Min design bygger på ett huvud-kontrollerkort (arduino osv) samt en klase dotter-kort som tex baklykte-kretskortet, som har alla funktioner (blinkers, bakljus, bromsljus osv) styrda av en I2C pin extender (mcp23008).
Effektivt innebär det at jag har ett dotterkort för respektive "installations-zon" och samma 5 ledare till varje zon.
Jag ansluter alltså en blinker-utgång till det kretskort som är närmast, som via inbyggda transistorer kan styra högre strömstyrkor och som styrs via det "lokala nätverket"(i2c) från huvudkretskortet.
Knappar, reglage, lampor osv skapar alltså bara en lokal kabelhärva att ta itu med, men då alla enheter ansluts till samma ledare så påverkas inte huvud-enheten av att man kopplar in/ur ytterligare in-/utgångar.
Med andra ord kan jag, om jag vill, koppla på en släpvagn till mitt projekt, som ansluts på samma sätt som en extra baklykta, till samma 4-5 ledare, men att släpvagnen har full ljus-uppsättning samt också möjlighet att kommunicera med huvud-enheten, tex om jag vill ha knappar i barn-kärran eller en våg i lastkärran.
Så kabeldragningen är planerad till 5 ledare för både ström och signal.
I2C kräver data och klocka, samt strömförsörjning och jord.
Alla lampor och tyngre strömförbrukare får en separat ledare, kallad högströmsledaren då den ska kunna leverera kräm upp till till några hundra watt till ett fordons alla lampor. (högströmsledarens dimensioner anpassas till förväntade laster)
så med gemensam jord för data och "högströmsledaren" så är våra ledare följande: i2c_data, i2c_klocka, +5V, jord, +batteriV.
Jag har designat en hög med kretskort och beställt dem från fabrik, dessa är ungefär 4 kompletta uppsättningar till en cykel/moped, men jag har ju aldrig gjort något sånt här förut, så det finns några buggar i planeringen om vi säger så..
Bland annat har jag bara 4 ledare, ingen batteri-ledare.
Men det duger som test-rigg för mjukvaru-utvecklingen!

På mjukvaru-sidan finns det en hel del, hastighets- och trip-mätare, elektronisk auto-off och soft-off, (mekanisk on).
Jag har även medvetet byggt koden så att det inte spelar någon roll för hur enskilda knappar är kopplade, man konfigurerar varje knapp separat.
Vare sig knapp 5 är kopplad via i2c, lokalt direkt till arduino digital pin eller del av ett kluster av knappar till en enda arduino analog pin, så läses varje knapp, räknar antalet gånger i rad som knappen varit intryckt och när den väl släpps, räknar ut om den var kort- eller lång-klickad.
På mjukvaru-sidan är arbetet nästan i mål, alla (nuvarande) funktioner är där och är bekräftat fungerande, men display-systemet behöver en lösning.
Hårdvaru-sidan släpar lite efter pga inbyggda begränsningar i det nuvarande huvudkontroller-kortet, jag kan inte ha strömförsörjningen inkoplad när jag har datorn inkopplad för då bränner arduinon.
Jag kan heller inte ha mer än några enstaka dotterkort inkopplade utan att störa ut USB-porten när datorn är inkopplad, så det är ett väldans in/ur-kopplande för en mjukvaru-uppdatering..
Så kvar att göra här är följande:
# att modda ett par bromsreglage (hydrauliska) för att kunna med magnet+hall-sensor bygga en justerbar broms-trigger.
# att testa hastighets-sensor / varvtals-sensor (för kadens)
# debugga knapp-hårdvaran (i2c), läser slumpartat nu (hw-debounce?)
# konfigurera utgångar (lampor)
Rent generellt är jag på två ställen o jobbar, mjukvaran, eller planerar ombyggnad av "moderkortet", kärnan av logik i mitt projekt.
Hårdvarumässigt behöver jag några förbättringar:
# Strömförsörjning (inbyggd laddning, valbar strömkälla (batteri/nät-adapter))
# Flexibel dator-anslutning (för att närsomhelst kunna koppla datorn till arduinon för t.ex seriell konsoll eller mjukvaru-uppgradering)
# Mer logisk placering av bl.a I/O anslutningar och ström.
Rent konkret så är inte nuvarande moderkort misslyckade, de fungerar som tänkt och jag kan övervaka batteri-spänningen osv men många av funktionerna blev fel, jag anslöt exempelvis framlyktan till fel drivkrets(den hamnade på arduinons 5V ist f den Vreg som var avsedd för externa lampor) och missade att helljuset skulle styras separat.
Jag löste det med en hårdvaru-mod och en TO-92 transistor (ist f ytmonterat) men det blev inte "sexigt"..
En annan detalj som irriterar mig är att jag designade dem för temperatur-övervakning av både inbyggda ström-regulatorer och batteri men valde fel fotavtryck för ic-kretsen på moderkortet så mina sensorer passade inte..
Jag hade också helt missat att jag fick en cut-off funktion på köpet med mina temp-sensorer, så hade jag bara anslutit en extra pinne på rätt sätt så hade jag sluppit mätningen i mjukvaran.
Så jag behöver ett nytt moderkort på sikt och har där följande kriterier:
# Ska klara av att drivas från batteri och nät-adapter, ska laddas från nät-adaptern. (okej med sw reset vid strömbyte, men helst inte)
# Ska ha usb-anslutning för in-system-programming och debugging (kunna koppla in datorn/surfplattan för feedback oavsett hur jag driver resten av systemet)
# Ska ha separat strömförsörjning (Vreg) till ett flertal separata enheter/grupper, möjligen/troligen på separat kort.
# Förberedd för en modul med bl.a bletooth, ljud osv. (hål+lödytor för att bygga en "sandwitch" av flera staplade kretskort)
# Ha en uppsättning utgångar för diverse funktioner (blinkers, positions-/broms-ljus osv)
# Passa i ett grovt rör, alternativt fejk-vattenflaska.
Notera att detta första inlägg kommer att hållas uppdaterat och att detta ska fungera som en "snabb introduktion" till mitt projekt.
Mvh Liggisten (liggcyklisten)