4 kanaals voltmeter in deel 3

Discussies over FPGA-module en experimenteerbord

Postby sparky51 » Thu May 31, 2007 12:00 am


Als ik het voorbeeld van deel 3, de 4-kanaals voltmeter, uitprobeer werken alleen de eerste twee ingangen.
De derde en vierde ingang geven constant 0.01V op het LCD en reageren niet op de ingangen.

Ik heb twee aanpassingen uitgeprobeerd in firmware.c waarmee het wel werkt.

De eerste is:

Er worden twee nieuwe variabelen gedeclareerd:

unsigned int adr2;
unsigned int adr3;

En het "// convert the conversion results and print these to the LCD" deel wordt alsvolgt gewijzigd:

sprintf(strbuf,"1: . V 2: . V ");
adr2=convert_ad_to_volt(ad2);
adr3=convert_ad_to_volt(ad3);
print_voltage (strbuf,convert_ad_to_volt(ad0),2);
print_voltage (strbuf,convert_ad_to_volt(ad1),10);
LCD_write_line (strbuf,0);
sprintf(strbuf,"3: . V 4: . V ");
print_voltage (strbuf,adr2,2);
print_voltage (strbuf,adr3,10);
LCD_write_line (strbuf,1);

De tweede is:

De code die voor de ingangen een en twee wordt gebruikt ook gebruiken voor de derde en vierde ingang:

sprintf(strbuf,"1: . V 2: . V ");
print_voltage (strbuf,convert_ad_to_volt(ad0),2);
print_voltage (strbuf,convert_ad_to_volt(ad1),10);
LCD_write_line (strbuf,0);
sprintf(strbuf,"3: . V 4: . V ");
print_voltage (strbuf,convert_ad_to_volt(ad2),2);
print_voltage (strbuf,convert_ad_to_volt(ad3),10);
LCD_write_line (strbuf,1);

Wat ik mij afvraag; werkt de originele code bij anderen wel, ik heb hier nog niets over op het forum gelezen.

Hans
sparky51
 
Posts: 50
Joined: Thu Jan 02, 2014 3:27 pm

Postby nutson » Thu May 31, 2007 12:00 am

Je hebt gelijk, het programma regeert niet op analoge ingang 2 en 3. Zodra ik met de voorbeelden uit het september numer aan de gang ga, zal ik je patch proberen

Nico
nutson
 
Posts: 7
Joined: Thu Jan 02, 2014 3:27 pm

Postby eightdot » Thu May 31, 2007 12:00 am

ik heb het zelfde probleem... de oorzaak is dat ad2 en ad3 een unsigned char zijn en dat convert_ad_to_volt een unsigned int teruggeeft in de order groote van 10000 per volt (1 = 0,1 mv) een unsigned char = maximaal 255 dus 25,5 mV = 0.025V en aangezien print_voltage naar beneden afrond geeft het display maximaal 0.02V aan (de gemeten waarde modulo 25,6 mV
eightdot
 
Posts: 5
Joined: Thu Jan 02, 2014 3:41 pm


Return to 2006-03 FPGA-module

Who is online

Users browsing this forum: No registered users and 1 guest

cron