Angle Ventilstillere design

V

vincentspm

Guest
using PIC16F877A and output to LCD display.

noen som vet hvordan du skal lage en krets og programkode for vinkel måling
ved hjelp PIC16F877A og utgang til LCD-skjermen.

tilsvarende produkt bilde som jeg fester.
Beklager, men du må logge inn for å vise dette vedlegget

 
Bruk en høykvalitets lineære potten som hengslene, kobler en spenning skillelinjen.Spenningen i midten av skillelinjen vill varierer lineært med vinkel.Bruk bilde for å måle spenning, konvertere til en vinkel, og deretter sende til 7 segment display eller lignende.

 
Plasser en roterende Encoder på aksel.
Og lese den (quadrature Encoder).
Det
er svært enkelt og svært høy oppløsning er ferdig ...

PS: Unnskyld min dårlige engelsk, men
jeg frenchy ...

 
Old Nick wrote:

Bruk en høykvalitets lineære potten som hengslene, kobler en spenning skillelinjen.
Spenningen i midten av skillelinjen vill varierer lineært med vinkel.
Bruk bilde for å måle spenning, konvertere til en vinkel, og deretter sende til 7 segment display eller lignende.
 
Som jeg kan se du har definert databit port for LCD i toppen av programmet.Men jeg kan ikke se der er definisjonene Fro kontroll pins (E, RS, RW) for LCD.Hvis kompilatoren ikke konfigurere dem et sted, må du konfigurere den riktig de ...

 
for vinkelformet måling Synchro brukes for alle militære og industrielle program

 
Alle kan gi noen eksempel koden for konvertere ADC å vinkel og visning på LCD?

 
alle kan hjelpe? mens les verdi fra ADC, koden som nedenfor deretter hvordan du konverterer til vinkel base på ulike volt inngang til annen vinkel.

do (
temp = Adc_Read (2); / / Få resultater av AD konvertering

) mens (1);

 
Du bruker mikroC og de har en ADC-utgang eksempel i kompilatoren.LCD kan godta ASCII verdier fra 0 til 255.Hvis du har et tall må det være konvertert til en rekke tegn.En byte kan 3 tegn, og et Word kan være 5 tegn.

mikroC har 2 funksjoner som vil gjøre omregningen:

Code:

ByteToStr (antall, bytestring)

WordToStr (antall, wordstring)LCD_OUT (1,1, bytestring)
 
# define LCDPORT PORTD
# define LCDTRIS TRISD

unsigned bit;
unsigned vinkel;
unsigned char wordstring [6];
void main () (

ADCON1 = 0x80; / / Configure analog inngang og Vref
TRISA = 0xFF; / / Porta innsendes

# ifdef LCDPORT
/ / Init LCD
Lcd_Init (& LCDPORT);
Lcd_Cmd (Lcd_CLEAR); / / tømme displayet
Lcd_Cmd (Lcd_CURSOR_OFF); / / markøren off
Lcd_Out (1, 1, "Angle =");
Lcd_Out (1,15, "'");
# endif

do (
bits = Adc_Read (2); / / Få resultater av AD konvertering
vinkel = ((bit * 90) / 1024);
WordToStr (vinkel, wordstring);
Lcd_Out (1,9, wordstring);
) mens (1);
)

Jeg vil levere 0-5 V og vise 0-90degree, hvorfor 0-3.4v grad produksjonen er riktig, men etter 3.5v fremfor alt verdi galt.
Det er graden viser 1-63 og 0-25, hvorfor ikke 0-90?

 

Welcome to EDABoard.com

Sponsor

Back
Top