ECU- styrning till en VW pumpdysediesel.
Re: ECU- styrning till en VW pumpdysediesel.
Har jag förstått det rätt att pinnarna börjar ta slut och att LCD:n tar upp hela 6 stycken? Jag är novis på elektronik men jag tror att ett skiftregister (eng. shift register) är lämpligt. Registret kopplas mellan Arduinon och LCD:n. Då borde du bara behöva tre pinnar; en för att mata en bit till registret, en för att "skifta" bitarna i registret så att du kan mata in nästa bit och en för att signallera till registret att mata ut sitt innehåll parallellt till LCD:n.
Re: ECU- styrning till en VW pumpdysediesel.
Du kan också använda I2C på andra pinnar! ATmega328 har vad de kallar för "TWI - 2-wire Serial Interface" som är I2C-kompatibelt. Det är alltså implementerat direkt i hårdvaran, och pinnarna ADC5/SCL och ADC4/SDA används för detta. Men man kan också implementera I2C på egen hand i mjukvaran och använda vilka pinnar man vill. Jag hittade https://github.com/Testato/SoftwareWire som är ett Arduino-bibliotek för just detta.
Re: ECU- styrning till en VW pumpdysediesel.
SPI kräver fler ben än I2C och vad jag förstår så är antalet tillgängliga ben problemet?
Re: ECU- styrning till en VW pumpdysediesel.
Det går att vinna två pinnar till ur en atmega328 men då får du nästan göra ett eget kretskort och löda fast atmegan direkt därpå. Och inte använda en färdig Nano. Det är de två pinnarna till extern kristall/oscillator som går att använda. Atmegan har en intern 8MHz kristall, för att aktivera den istället för den externa 16 MHz oscillatorn behöver man ladda ner en ny bootloader. Det är lite pilligt men inget omöjligt. Du vinner två pinnar, men halverar hastigheten.
Det finns lösningar med mjukvaru-iSP och I2C. Man får se upp bara för de brukar behöva en Timer för att fungera och snart kan antalet Timers ta slut.
En Mega2560 är lika snabb (lika långsam?) som en atmega328p, men har fler pinnar, mer minne, fler Timers, mer mer. Löser nog det behov du har. Själva processorn 2560 har väldigt små pinnar (tqfp) så inget man lödar utan vidare själv på ett kretskort. En Arduino Mega2560 är ju enkelt men stor.
Det finns lösningar med mjukvaru-iSP och I2C. Man får se upp bara för de brukar behöva en Timer för att fungera och snart kan antalet Timers ta slut.
En Mega2560 är lika snabb (lika långsam?) som en atmega328p, men har fler pinnar, mer minne, fler Timers, mer mer. Löser nog det behov du har. Själva processorn 2560 har väldigt små pinnar (tqfp) så inget man lödar utan vidare själv på ett kretskort. En Arduino Mega2560 är ju enkelt men stor.
Re: ECU- styrning till en VW pumpdysediesel.
Inga foton, än. Men så här löser jag det nog då jag redan provat. Två NANO på varandra med lite olika programmeringar. På den översta som skall kopplas till SD-kortet kommer jag att använda den 6 poliga pluggen rakt av och jag tar bort reset och ersätter det med tex D6 som cs. Fungerar inte detta så får det bli en annan lösning.
Re: ECU- styrning till en VW pumpdysediesel.
Jag nästan lovade en bild på lösningen...
hawken: Jag tror (hoppas) inte jag behöver gå så långt att jag behöver stjäla kristallpinnarna, men som sista option...
Att trycka dit en Atmega2560 kittlar ändå lite, själva lödjobbet ser jag inget större problem med då jag gjort det ett par gånger förut, för det är väl en 4 x 25 benare, finepitch? Själva mönsterkortet är nog bara att rita och sen sjuss iväg till Kina.
Joe: Antal ben klarar sig precis inte med SPI (4 istället för 2) men jag hittar ingen SD-kort läsare utan SPI... Nu skall tilläggas att jag är urdålig, nä kass på att hitta nåt på nätet!
edit: ändrade från PCI till SPI då jag nog blandat ihop dom olika bus-systemen...
KLset: Riktigt novis är du inte! Det är bra förslag med att använda andra pinnar för I2C än just dom 2 analoga. Med "min" lösning så räcker pinnarna ett litet tag till men jag kanske hittar på fler hyss? Jag skall ju ha en realtidsklocka också, tror jag och det får nu bli en med SPI, det borde funka...hawken: Jag tror (hoppas) inte jag behöver gå så långt att jag behöver stjäla kristallpinnarna, men som sista option...
Att trycka dit en Atmega2560 kittlar ändå lite, själva lödjobbet ser jag inget större problem med då jag gjort det ett par gånger förut, för det är väl en 4 x 25 benare, finepitch? Själva mönsterkortet är nog bara att rita och sen sjuss iväg till Kina.
Joe: Antal ben klarar sig precis inte med SPI (4 istället för 2) men jag hittar ingen SD-kort läsare utan SPI... Nu skall tilläggas att jag är urdålig, nä kass på att hitta nåt på nätet!
edit: ändrade från PCI till SPI då jag nog blandat ihop dom olika bus-systemen...
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av Janson1 2 februari 2018, 16:18:20, redigerad totalt 1 gång.
Re: ECU- styrning till en VW pumpdysediesel.
Finns ju färdiga "mini-Mega", jag har ett par sådana:
https://www.ebay.com/itm/New-Small-Medu ... SwyQtVnMbp
https://www.ebay.com/itm/New-Small-Medu ... SwyQtVnMbp
Re: ECU- styrning till en VW pumpdysediesel.
Ja där slapp jag uppfinna den! Bra att ha i bakfickan utifall att...
Re: ECU- styrning till en VW pumpdysediesel.
En annan elektronist, Baron3d skall komma på besök i dag och kolla in läget på motor, ECU, övervakning, kanske lite avlusning också? Inte på oss, bara programmeringen... Det är bra när han är med, det blir alltid nån aháupplevelse inom programmeringen, den kan helt enkelt göra ett jättekliv till det mycket bättre. Jag hoppas på att förstå vitsen med interrupt men inte gjort det än, kanske mest för att det inte behövs i mina alster, än... Mitt nästa delmål är en realtidsklocka med SPI-bus, det blir till att beställa en, Electrokit verkar ha såna.
Re: ECU- styrning till en VW pumpdysediesel.
Vitsen är enligt mig att man inte behöver instruera processorn att vaka över en input (polling loop) i väntan på att något ska hända. Istället kan den köra någon annan kod som gör något nyttigt. När ett hårdvaruavbrott sker lägger processorn allt åt sidan för att köra den ISR (Interrupt Service Routine) som du bestämt, oavsett vilken annan kod som kördes just då. I slutet på din ISR lägger du till en return-instruktion (reti i AVR) som gör att processorn återgår till det den gjorde innan avbrottet. Inget mer sitta och vänta i en loop. (Mjukvaruavbrott har jag inte mekat med än, så det har jag inget att skriva om.)Janson1 skrev:Jag hoppas på att förstå vitsen med interrupt men inte gjort det än, kanske mest för att det inte behövs i mina alster, än...
Re: ECU- styrning till en VW pumpdysediesel.
KLset: TWI från github fungerade alldeles utmärkt både med SDA,SCL och med egna valda ben. Men inte ihop med mitt SD-kort som har SPI.
Jag bestämmde mig för att skaffa en RTC med SPI ochså, hängslen och livrem... Då skall jag väl få nåt att fungera fullt ut.
Jag bestämmde mig för att skaffa en RTC med SPI ochså, hängslen och livrem... Då skall jag väl få nåt att fungera fullt ut.
Re: ECU- styrning till en VW pumpdysediesel.
Kul att det fungerade! Då är det väl som det ska, för biblioteket var ju för I2C och inte SPI. Stödet för SPI i ATmega328 är också inbyggt i hårdvaran och det är pinnar som är dedikerade till den funktionen. Är SPI-pinnarna upptagna?Janson1 skrev:TWI från github fungerade alldeles utmärkt både med SDA,SCL och med egna valda ben. Men inte ihop med mitt SD-kort som har SPI.
Re: ECU- styrning till en VW pumpdysediesel.
I dag är SPI pinnarna upptagna till SD-kortet men hoppas kunna köra RTC parallellt med SD-kortet och bara ha två olika chip selekt...
Re: ECU- styrning till en VW pumpdysediesel.
Det lät som en bra idé. Jag kommer att använda SPI och/eller I2C i ett av mina egna projekt, så jag försöker hänga med lite i den här tråden och lära mig.
Jag har läst att det går att koppla SPI-enheter seriellt i en så kallat daisychain för att slippa dedikera pinnar till chip-select. Är det något du kommer att testa tror du?
Jag har läst att det går att koppla SPI-enheter seriellt i en så kallat daisychain för att slippa dedikera pinnar till chip-select. Är det något du kommer att testa tror du?
Re: ECU- styrning till en VW pumpdysediesel.
Själva inkopplingen (tycker jag utan att ha läst på) borde vara parallell med varsin Chip Select?
Nu i går cadade jag ett nytt kort (PCB) som jag kommer att kalla NANOMEGA, helt enkelt ett NANO fotprint med 45 extra I/O, 8 Extra Analoga och resten digitala, dom flesta har även dubbelfunktioner typ MOSI/MISO, SDA, SCL mm. Den kommer att kräva ett 25 kronors NANO kort i botten (med amputerad processor) för programmering/läsningsbiten, så slipper jag uppfinna det också...
10 kort (PCB) kostar 110 kr från Kina med TNT fram till dörra.
Nu i går cadade jag ett nytt kort (PCB) som jag kommer att kalla NANOMEGA, helt enkelt ett NANO fotprint med 45 extra I/O, 8 Extra Analoga och resten digitala, dom flesta har även dubbelfunktioner typ MOSI/MISO, SDA, SCL mm. Den kommer att kräva ett 25 kronors NANO kort i botten (med amputerad processor) för programmering/läsningsbiten, så slipper jag uppfinna det också...
10 kort (PCB) kostar 110 kr från Kina med TNT fram till dörra.