projects:electronics:panelmeter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:electronics:panelmeter [2008/07/06 15:02] photonicsguyprojects:electronics:panelmeter [2014/11/13 10:50] (current) – external edit 127.0.0.1
Line 6: Line 6:
   * {{:projects:electronics:panelmeter:mcp41xxx.pdf|MCP41050}}   * {{:projects:electronics:panelmeter:mcp41xxx.pdf|MCP41050}}
   * {{:projects:electronics:panelmeter:lm321.pdf|LM321}}   * {{:projects:electronics:panelmeter:lm321.pdf|LM321}}
 +  * {{:projects:electronics:panelmeter:max5487-max5489.pdf|MAX5487 Digital Pot}}
 +  * {{:projects:electronics:panelmeter:mcp4821.pdf|12-bit DAC with SPI Interface}}
  
 +===== 1mA Full scale meter =====
 +94 Ohms coil resistance
  
 +5K Ohm resistor @ 5V = 1mA
 +
 +==== MCP4821 ====
 +
 +^Pin No.^Symbol^Function^
 +|1|Vdd|Supply (2.7 to 5.5V)|
 +|2|CS|Chip Select|
 +|3|SCK|Serial Clock Input|
 +|4|SDI|Serial Data Input|
 +|5|LDAC|Sync input|
 +|6|SHDN|Hardware shutdown|
 +|7|AVss|Analog ground|
 +|8|VoutA|DACa Output|
 +
 +
 +
 +
 +**PIC Assembly Code**
 +<code asm>
 +SPIclk macro
 + BSF PORTC,SCK
 + BCF PORTC,SCK
 +endm
 +
 + ;Setup direction
 + BCF TRISB,RB1 ; RB1 as Output
 + BCF TRISC,SCL ; SDO as Output
 + BCF TRISC,SDA ; SCK as Output
 +
 + ;Set initial pin states
 + BSF PORTB,RB1 ;Chip Select, active low
 + BCF PORTC,SCK
 + BCF PORTC,SDO
 +
 +myloop
 + movlw 0xF0
 + movwf DAC,A
 + movlw 0x00
 + movwf DAC+1,A
 + CALL SPIclkout
 + CALL Delay
 + goto myloop
 +
 +; =================
 +; === Functions ===
 +; =================
 +SPIclkout
 + BCF PORTB,RB1 ; Clear CS (Active low)
 + BCF PORTC,SDO ; 0
 + SPIclk
 + SPIclk
 + SPIclk
 + BSF PORTC,SDO ; 1
 + SPIclk
 + MOVLW 0x08
 + MOVWF Temp,A
 +SPIloop
 + BTFSS DAC,7
 + BCF PORTC,SDO ; 0
 + BTFSC DAC,7
 + BSF PORTC,SDO ; 1
 + SPIclk
 + RLNCF DAC,F,A
 + DECFSZ Temp,F,A
 + goto SPIloop
 +
 + MOVLW 0x04
 +SPIloop2
 + BTFSS DAC+1,7
 + BCF PORTC,SDO ; 0
 + BTFSC DAC+1,7
 + BSF PORTC,SDO ; 1
 + SPIclk
 + RLNCF DAC+1,F,A
 + DECFSZ Temp,F,A
 + goto SPIloop2
 +
 + RLNCF DAC+1,F,A
 + RLNCF DAC+1,F,A
 + RLNCF DAC+1,F,A
 + RLNCF DAC+1,F,A
 +
 + BSF PORTB,RB1 ; Set CS high
 + return
 +</code>
  • projects/electronics/panelmeter.1215381727.txt.gz
  • Last modified: 2014/11/13 10:50
  • (external edit)