Compilera AVR-GCC tools i linux

En kort beskrivning med länkar till hur man kompilerar
GCC
binutils
libc-avr (ja, den finns i 2.0 under download)
gdb
avrdude
för AVR micro controllers. Grunden kommer från denna länk.

Ladda först ned GCC, ex. 7.2.
Ladda ned binutils. ex. 2.28.1 
Ladda ned avr-libc. ex. 2.0.0
Kopiera dessa filer till en katalog och packa upp dem.
Set path och env ….

 

FreeRTOS Create Task

Hur skapar man en task i FreeRTOS för Arduino.
Exempel:

#include <Arduino.h>
#include <Arduino_FreeRTOS.h>

// Declare tasks
void
ChargeTask( void *pvParameters );
void LedTask( void *pvParameters );

void ChargeFunction(void *pvParameters)
{
// Do some charge stuff
}

void LedTaskFunction(void *pvParameters)
{
// Do some LED stuff
}

void setup()
{
ChargeFunction
   ,  (const portCHAR *)”ChargeFunktion”   // A name just for humans
   ,  256  // This stack size can be  adjusted by reading the Stack Highwater
   ,  NULL
   ,  2  // Priority, with 3 (configMAX_PRIORITIES – 1) being the highest,                   and 0 being the lowest.
,  NULL );

void loop()
{
   for (;;){};// Nothing happens in loop. Everyting happends in deklared task-funktions
}

SmedbyCharger 2.0

SmedbyCharger 2.0 är en specialversion av smedbycharger som ämnar att få en första version av laddaren som fungerar för att ladda CityEl:n. Det är relativt begränsad gällande funktionalitet men skall vara en laddare som startar när den kopplas in och skall kunna vara inkopplad i flera dagar utan att kopplas bort. Initiale versionen är för BlyBatterier. Test av stabilitet utförs på gamla blybatterier för att inte förstöra Litium batterier i onödan.

För att inte vara helt olik kommande versioner av mjukvara kommer följande prosesser att styra laddaren:

ChargeTask,    Ser till att laddaren laddar enligt de globala variablerna.
SerialTask,     Skickar data till serieporten och LogViewer för analys av pågående laddning. Kan disablas för att använda serieporten för debug.
AutoCharge,     Startar laddningen automatiskt och styr laddaren om ingen extern enher styr laddaren via CAN-Buss.
TempReader,     Startar alla temp-givare, läser av temperatur och uppdaterar globala variabler.

 

CityEl laddarens funktion.

Så för att få en bra fuktion på laddaren är det några saker man behöver fundera på.
Skall laddaren först se om batteriet är anslutet.
Skall laddaren detektera om batteriet kopplas bort. (lösningen är kanske att minska pwm utan delay).
Skall en Soft-start rutin implementeras. (ja Soft start men inte soft shutoff).

Är batteriet anslutet:
Prova om man kan få resistans i batteriet. Om ingenting är anslutet bör pwm begränsas så att när någonting ansluts så rusar inte strömmen. En ”CheckIfBatteryConnected”-rutin bör implementeras, och först efter att laddaren detekterat batteriet bör laddningen börja.

För att få en fungerade laddare relativt snabbt så begränsas funktionaliteten initialt.
Funktioner som skall implementeras:

Ver 2.0
Check battery connected.
integrerad autostart.
Softstart
Simple error detektion. ex. battery dissconnected.

I ver 2.1 splittar vi på ladd-inteligensen och styrningen av laddning.
Laddaren skall kunna styras via CAN-Buss. Autostart blir en separat process som detekterar om laddaren styrs via can-buss. Om den inte styrs via can-bus skall den ha möjlighet till ett defaulp-ladd-program.

Ver 2.1
CAN-Bus controlled.
Möjlighet till autostart av laddning. (Om ingen CAN-bus enhet styr laddaren).
Smartare error-detekt.
Möjlighet till att köra en primary och flera slave-laddare.

 

 

 

Små LCD displayer

Jag har kollat vidare.
Om man läser ut vilket ID det är på lilla 2.8″ Displayen säger den 0C0C, men den fungerar utmärkt på 9328.

Den större 3.5″ är en 9481. Den fungerar med mcufriend_kvb.

Jag skall kolla om det finns någon generell driver jag kan använda.
Deras grapictest är mycket fräsigare med scroll-demo av hela eller delar av skärmen. Kollar vidare på det.

 

CAN och ODB2 i bilen. Några hack.

Här kommer lite info om hur man kan koppla in sig i bilens ODB2-uttag, och i många fall komma vidare in i den mer ”maskin”-relaterade CAN-bussen.
Till att börja med kommer lite info om hur man kan använda en ELM 327 Bluetooth adapter men manuellt, hur man programmerar den och vilka funktioner som finns.
Stora delar av infon kommer från denna site.