Gratis Logg mjukvara

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Gratis Logg mjukvara

Inlägg av lizerdboy »

absolut, du lär behöva en MCU i mellan som tolkar data , men som sagt det vet du mer om när du får reda på vad den spottar ut.

hur ser anslutningen ut ? är det någon standard ?
annars så får du testa och mäta och se om du kan lista ut vilken pinne som agerar dataut om det är seriel förstås då
Användarvisningsbild
tecno
Inlägg: 27243
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Gratis Logg mjukvara

Inlägg av tecno »

3-polig Tuchel så jag inbillar mig att det är analogt, så nåt måste till emellan till USB/Seriellt skulle jag tro.
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Gratis Logg mjukvara

Inlägg av lizerdboy »

då är det bara att ta fram multimetern :)

precis antingen något som liknar thepirateboy´s kort eller liknande skulle funka bra.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Gratis Logg mjukvara

Inlägg av jesse »

Jag ska ut och resa, så jag får nog inga data loggade förrän i nästa vecka. Lyckades dock registrera programmet. (Det var 120 dpi på skärmen som ställde till det - jag är en sådan där jobbig användare som ändrar på sådant - skyller på att jag är närsynt :D )
Maxtruman
Inlägg: 2
Blev medlem: 9 februari 2011, 13:43:55
Ort: Lindome

Re: Gratis Logg mjukvara

Inlägg av Maxtruman »

Jag har fått ta del av lizerdboy's logg mjukvara och kört lite tester idag på mitt vindkraftprojekt.
Vindkraftverket är ett hemmabygge med en turbin på 2.4m i diameter.
DSC_0033_small.jpg
Turbinen är kopplad till en likriktare och därefter till en växelriktare som omvandlar likströmmen till 230V 50Hz växelström.

Den stora utmaningen med det här projektet har jag upptäckt vara att få till en vettig lastbalansering. Vinden är väldigt dynamisk vilket får turbinen att skena om man inte har en tillräckligt hög last.
Lasten är i detta fall växelriktaren men den reglerar tyvärr inte tillräckligt snabbt för att kunna hantera de snabba variationerna i utspänningen från turbinen. Växelriktaren klarar bara upp till 100V sen smäller det.

Jag måste alltså bygga en egen regulator för att hålla spänningen på lagom nivå.
Till detta verkar Logg mjukvaran vara ett perfekt verktyg för att analysera "systemet".

Jag har än så länge bara kopplat upp på en labbplatta som består av: PIC16F876A + MAX232 + lite skyddskretsar som drar relän och bromsar turbinen om spänningen blir för hög.
I slutändan vill jag även mäta ström, varvtal mm.

Bild på labbplattan:
DSC_0032_small.jpg
Å här är en graf jag fick ut från loggern:
Capture4.PNG
Jag samplar inte så ofta men ville bara få det att funka först, sen får man väl fintrimma lite.
Jag fick det att funka i stort sätt omedelbart vilket får anses vara ett gott betyg! :)

/Jonas
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Gratis Logg mjukvara

Inlägg av lizerdboy »

Det här en av dom roligaste bitarna, att se att programmet kommer till användning, och vilka projekt ideer som det används med :)

Härligt att se ett ordentligt projekt, har du en projekt tråd till vindsnurran ??
tips, du kan välja constant som Timer läge, nu försöker programmet kolla i RX bufferten var 5ms.
välj konstant med den tiden som du har i mellan varje data skick, 500ms


Jag skulle vara mer än glad om du kunde göra sänd rutinen som ett exempel program och posta/skicka till mig.
så kan jag lägga upp det så andra lättare kan förstå hur man får i gång det.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Gratis Logg mjukvara

Inlägg av jesse »

Har varit bortrest hittills, och har en tuff arbetsvecka framför mig, så när jag börjar testa vet jag inte .... men om jag gissar rätt så tar det lång tid.... hoppas det inte är 30 dagars begränsning på demoversionen... :roll:
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Gratis Logg mjukvara

Inlägg av lizerdboy »

alla som har fått en nyckel har fått 200 dagar demo, sedan är det bara att höra av sig :)
grund tanken med tids begränsningen är att jag får en uppfattning hur stort intresset är efter en längre tid användning
och även kunna fråga om feedback.

Sista fliken kan man se hur många dagar man har kvar
Bild
Användarvisningsbild
dubbear
Inlägg: 328
Blev medlem: 7 april 2010, 23:59:24
Ort: Göteborg
Kontakt:

Re: Gratis Logg mjukvara

Inlägg av dubbear »

Har fått tid att komma igång med detta program nu, så här kommer en fråga.

Jag förstår inte hur data från uc'n skall vara formaterad,

Ska ja bara sicka rådata som chars?
och i så fall hur skiljer den på dom olika kurvorna?

Tacksam för svar, Hackar lite på en batteriladdare
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Gratis Logg mjukvara

Inlägg av lizerdboy »

Tjena

Det du ska skicka är en sträng med den data du vill plotta,

Data1:Data2:Data3 osv

Data1 motsvarar kanal1 , osv

Alla data kanaler kan vara i olika format, detta ställer du in i "Input settings"
Bild

Det är viktigt att du använder ":" mellan varje data värde

upp till 8 stycken data värden kan skickas, detta ger max 8 kanaler som man kan plotta samtidigt.

När du skickat så många kanaler du vill plotta så avslutar du med hexadecimala tecknet 0x0A som motsvarar newline =/n = 0x0A

slutligen 2 kanaler
FF:00/n

4 kanaler
FF:A0:33:B1/n

jag skickar newline på det här sättet

Kod: Markera allt

Com_SendData(0x0A);       //  \n
Och min sänd rutin ser ut så här, lite slarvigt

Kod: Markera allt

		sprintf(dispStr_Logg ,"%X" , (signed int)(Angle * 10));
		send_command(dispStr_Logg, 0);
                send_command(":",0);

		sprintf(dispStr_Logg ,"%X" , (signed int)(P * 1));
		send_command(dispStr_Logg, 0);
                send_command(":",0);

		sprintf(dispStr_Logg ,"%X" , (signed int)(I * 1));
		send_command(dispStr_Logg, 0);
                send_command(":",0);

		sprintf(dispStr_Logg ,"%X" , (signed int)AngleWithoutDiff);
		send_command(dispStr_Logg, 0);
                send_command(":",0);

		sprintf(dispStr_Logg ,"%X" ,(signed int)AngleWithoutDiff);
		send_command(dispStr_Logg, 1);    <--- Motsvarar /n = 0x0A

sista raden så säger jag till att alla kanaler är skickade

Kod: Markera allt

send_command(dispStr_Logg, 1);    <--- Motsvarar /n = 0x0A
Och så skickas allt igen nästa omgång i loopen


Grovt så kan man se det så här
Det här tolkar programmet som 3 kanaler med en uppdaterings frekvens på 10Hz.

Kod: Markera allt


loop
{
      delay(100ms);

      send(ADC_ch1_value_inHexFormat);
      send(":");
      send(ADC_ch2_value_inHexFormat);
      send(":");
      send(ADC_ch3_value_inHexFormat);
      send(0x0A);
}
Hojta till om det är något som jag inte förklara bra eller bara svamligt :)
Senast redigerad av lizerdboy 17 juli 2012, 21:44:16, redigerad totalt 1 gång.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Gratis Logg mjukvara

Inlägg av thepirateboy »

Och får att förtydliga ännu en gång så måste man alltså göra om värdet till ASCII

För oss som inte har så häftiga MCU:er som kan köra sprintf, här är en liten kodsnutt

Kod: Markera allt

uint8_t adc_value = analog_read_ADC(0, INTERNAL_REF);
usb_serial_putchar(convert_digit(adc_value>>4));
usb_serial_putchar(convert_digit(adc_value));
usb_serial_putchar('\n');

uint8_t convert_digit(uint8_t c) 
{
    c &= 0x0f;
    c += (c <= 9) ? '0' : 'A'-10;
    return c;
}
Det här med att välja dataformat får jag inte riktigt ihop, var är t ex uChar ?
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Gratis Logg mjukvara

Inlägg av lizerdboy »

char 8 bitar,1byte

signed: -128 to 127
unsigned: 0 to 255
Senast redigerad av lizerdboy 10 november 2011, 18:35:11, redigerad totalt 1 gång.
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Gratis Logg mjukvara

Inlägg av lizerdboy »

kollade upp min AVR kod

Kod: Markera allt

loop this 
{
		ItoH(Tempreture ,6,0);
		send_command(":",0);
		ItoH(HOT_DATA,6,0);
		send_command(":",0);
		ItoH(Temp_Set,6,1);
}




void ItoH(unsigned int num, char *str, unsigned char End) 
{
unsigned char i,val;

str[4]='\0';
for (i=3;i<4;i--) {
    val=num%16;
    if (val<10) str[i]='0'+val;
    else str[i]='A'+val-10;
    num=num>>4;
    }
	send_command(str,End); 
}



void send_command(char * command, char newline){

	unsigned char i=0;

	while(*(command+i)!='\0'){
		send_single_byte(*(command+i));
		i++;
	}

	if(newline == 0x01)
	{
		send_single_byte(0x0A);
	}
}

thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Gratis Logg mjukvara

Inlägg av thepirateboy »

Jo, jag vet inte om jag missuppfattat något men du visar ett exempel där man skickar två byte i ASCII-format:
FF:00/n
men det går inte att välja t ex uChar i listan.

Hur gör man t ex om man vill skicka en unsigned int (16bitar)
FF00/n ?? och i så fall vilken är höga och låga byten?

Eller har jag missat något totalt?

EDIT: ska kolla ditt senaste inlägg och se om jag blir klokare.
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Gratis Logg mjukvara

Inlägg av lizerdboy »

haha nu fattar jag , det fanns inte Uchar :D
okay, det ska jag nog kunna fixa.


Det spelar ingen roll när det gäller unsigned värden då programmet inte ser någon skillnad när man skickar

0009
eller
09
eller
9

båda blir decimala värdet 9

så sätt inställningen på Uint ist så ska det funka


första tecknet är det högsta, tex 1234/n i hexadecimalt värde så ger det 4660 decimalt
Senast redigerad av lizerdboy 10 november 2011, 18:47:12, redigerad totalt 2 gånger.
Skriv svar