Схемы » Питание: Лабораторный блок питания с микроконтроллером
Добавил: | 3 февраля 2010 | Просмотров: 3488
Лабораторный блок питания с микроконтроллером

Блок питания имеет два независимых канала со стабилизацией тока и напряжения, и третий независимый канал с фиксированными напряжениями

Устройство имеет:
- два источника с регулируемым выходом 0-30вольт и регулируемым ограничением по току 0,02 - 3 ампера.
- источник с фиксированными напряжениями 5 и 12 вольт с ограничением по току 1,5 ампера.
- регулируемые источники имеют цифровую индикацию напряжения, установленного тока ограничения , текущего потребляемого тока нагрузкой, индикатор перехода в режим стабилизации тока.
- для каждого регулируемого источника есть внешний вход отключения, и таймер программатор
- таймер программатор в обычном режиме показывает минуты и секунды включенного состояния,с возможностью сброса.
- в режиме таймер можно установить время до 23час 59 мин и запустить обратный отчсчет, по окончанию которого источник отключится. Можно выйти из этого режима вручную до отключения или изменить индикацию обратного отсчета - ЧЧ:ММ или ММ:СС.

Индикация и управление.
Для повышения точности использован отдельный источник опорного напряжения для АЦП и делается 4 замера с нахождением среднего значения. Предлы измерения напряжения 0-51 вольт с шагом 0,05 вольт, тока 0-5,1 ампера с шагом 0,01 ампер.
Правильно собранный из исправных элементов блок питания в настройке не нуждается. переменными резисторами выставить опорное напряжение АЦП в пределах 4,5- 4,6 вольт и провести калибровку показаний индикаторов по образцовым приборам.
Схема
Лабораторный блок питания с микроконтроллером

Схема в полном размере - Вы не можете скачивать файлы с нашего сервера

Разводка печатной платы
Лабораторный блок питания с микроконтроллером


Исходный текст программы
;**********************************************************************
; *
; Filename: bp.asm *
; Date: 29.09.2009 *
; File Version: 1.0.0 *
; *
; Author: BY GARMASH G.V. *
; Company: *
; *
;**********************************************************************

; list p=16f877A ; list directive to define processor
list p=16f877 ; list directive to define processor

;CPU set 16f877A
CPU set 16f877
;CPUspeed set 08MHz

if CPU == 16f877A; check current version

#include ; processor specific variable definitions
; __CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_OFF
; __CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_OFF & _DEBUG_ON & _CPD_OFF
;DEMO
__CONFIG _CP_ALL & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_OFF

else

#include ; processor specific variable definitions
; __CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC & _WRT_ENABLE_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_OFF
;DEMO
__CONFIG _CP_ALL & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC & _WRT_ENABLE_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_ON
#define CMCON 0x9C

endif


;********************




;***** VARIABLE DEFINITIONS * IRQ *****
w_temp EQU 0x70 ; variable used for context saving
status_temp EQU 0x71 ; variable used for context saving
pclath_temp EQU 0x72 ; variable used for context saving
FSR_IRQ EQU 0x73 ; variable used for context saving
COUNT_IRQ EQU 0x74


FLAG EQU 0x75 ; БИТОВЫЙ РЕГИСТР ФЛАГОВ

#define FLAG_PRES_KEY_0 FLAG,0 ;
#define FLAG_PRES_KEY_1 FLAG,1 ;
#define FLAG_TIMER_ON FLAG,2 ;
#define FLAG_STANDART_MODE FLAG,3 ;
#define FLAG_SET_MIN_TIMER_MODE FLAG,4 ;
#define FLAG_SET_HOUR_TIMER_MODE FLAG,5 ;
#define FLAG_SEC_DISPL FLAG,6 ;
#define FLAG_7 FLAG,7 ;

FLAG1 EQU 0x76 ; БИТОВЫЙ РЕГИСТР ФЛАГОВ

#define FLAG_8 FLAG1,0 ;
#define FLAG_9 FLAG1,1 ;
#define FLAG_a FLAG1,2 ;
#define FLAG_b FLAG1,3 ;
#define FLAG_c FLAG1,4 ;
#define FLAG_d FLAG1,5 ;
#define FLAG_e FLAG1,6 ;
#define FLAG_g FLAG1,7 ;












;***** VARIABLE ***************************
ee_data EQU 0x20
ee_addr EQU 0x21

TEMP EQU 0x22
TEMP1 EQU 0x23
TEMP2 EQU 0x24
LOCAL_TEMP EQU 0x25
LOCAL_TEMP1 EQU 0x26


POWER_LEVEL_1L EQU 0x27
POWER_LEVEL_1H EQU 0x28
POWER_LEVEL_2L EQU 0x29
POWER_LEVEL_2H EQU 0x2A
POWER_LEVEL_3L EQU 0x2B
POWER_LEVEL_3H EQU 0x2C

bin1 EQU 0x2D
bin2 EQU 0x2E
bcd1 EQU 0x2F
bcd2 EQU 0x30
bcd3 EQU 0x31
ctr EQU 0x32

IND_1 EQU 0x33
IND_2 EQU 0x34
IND_3 EQU 0x35
IND_4 EQU 0x36
IND_5 EQU 0x37
IND_6 EQU 0x38
IND_7 EQU 0x39
IND_8 EQU 0x3A
IND_9 EQU 0x3B
IND_10 EQU 0x3C
IND_11 EQU 0x3D
IND_12 EQU 0x3E
IND_13 EQU 0x3F
IND_14 EQU 0x40
IND_15 EQU 0x41
IND_16 EQU 0x42

cicle EQU 0x43

COUNT_KEY_0 EQU 0x44
COUNT_KEY_1 EQU 0x45

COUNT_TMR2 EQU 0x46
COUNT_SEC EQU 0x47
COUNT_MIN EQU 0x48

TIMER_SEC EQU 0x49
TIMER_MIN EQU 0x4A
TIMER_HOUR EQU 0x4B

COUNT_BEGIN_CICLE EQU 0x4C

POWER_LEVEL_1L_0 EQU 0x4D
POWER_LEVEL_1H_0 EQU 0x4E

POWER_LEVEL_2L_0 EQU 0x4F
POWER_LEVEL_2H_0 EQU 0x50

POWER_LEVEL_3L_0 EQU 0x51
POWER_LEVEL_3H_0 EQU 0x52

POWER_LEVEL_1L_1 EQU 0x53
POWER_LEVEL_1H_1 EQU 0x54

POWER_LEVEL_2L_1 EQU 0x55
POWER_LEVEL_2H_1 EQU 0x56

POWER_LEVEL_3L_1 EQU 0x57
POWER_LEVEL_3H_1 EQU 0x58

POWER_LEVEL_1L_2 EQU 0x59
POWER_LEVEL_1H_2 EQU 0x5A

POWER_LEVEL_2L_2 EQU 0x5B
POWER_LEVEL_2H_2 EQU 0x5C

POWER_LEVEL_3L_2 EQU 0x5D
POWER_LEVEL_3H_2 EQU 0x5E

POWER_LEVEL_1L_3 EQU 0x5F
POWER_LEVEL_1H_3 EQU 0x60

POWER_LEVEL_2L_3 EQU 0x61
POWER_LEVEL_2H_3 EQU 0x62

POWER_LEVEL_3L_3 EQU 0x63
POWER_LEVEL_3H_3 EQU 0x64




;**********BANK 1 FOR DATA****************

;**********BANK 2 FOR DATA****************

;**********BANK 3 FOR DATA****************



;********************* ПЕРЕФРИЯ ***************************
#define KEY_IN_0 PORTD,1
#define KEY_IN_1 PORTD,2

#define SEG_REG PORTB

#define SEG_0 PORTC,3
#define SEG_1 PORTC,2
#define SEG_2 PORTC,6
#define SEG_3 PORTC,7

#define SEG_4 PORTC,4
#define SEG_5 PORTC,5
#define SEG_6 PORTC,1
#define SEG_7 PORTC,0

#define SEG_8 PORTD,3
#define SEG_9 PORTD,5
#define SEG_A PORTD,4
#define SEG_B PORTD,6

#define SEG_C PORTE,0
#define SEG_D PORTE,1
#define SEG_E PORTD,7
#define SEG_F PORTE,2

#define POWER_OFF PORTA,4

;********************* INT EEPROM ADDRESS *********************
ADR_EE EQU 0x00


;*********************CONSTANT***********************

; МАКРОСЫ
;*********************

;------------------------------------------;


TSTPAGE macro LABEL
if (high LABEL != high ($-1))
ERROR LABEL - граница допустимой страницы
endif
endm

;Применение:
;
;G_TUNH MOVLW high G_TUNH ; --------------PULL UP ENABLE(0) DISABLE(1)
; |>-------------RB0 INT 0 to 1
; ||>------------TMR0 CONNECT TO CLK/4
; |||>-----------
; ||||>----------PRESCALER TO wdt
; |||||>--\ Prescaler -> WDT
; ||||||>-->-----; 1:128, rising edge
; |||||||>/
movlw b'01001111'
movwf OPTION_REG^80
;*****************
;TMR0 CONNECT TO CLK/4 = 5 000 000 Hz
;TMR0 OWERFLOW TO 5 000 000 / 256

; >--------------IRQ PSP
; |>-------------IRQ AD
; ||>------------IRQ USART RX
; |||>-----------IRQ USART TX
; ||||>----------IRQ SPP
; |||||>---------IRQ CPP1
; ||||||>--------IRQ TMR2
; |||||||>-------IRQ TMR1
; MOVLW b'11110001' ;
MOVLW b'00000010' ; IRQ MODULE
MOVWF PIE1^80 ;


; | >-------IRQ CCP2
; MOVLW b'11110000' ;
MOVLW b'00000000' ; IRQ MODULE
MOVWF PIE2^80 ;

MOVLW .124
MOVWF PR2^80

BANK0


;настроим таймер 2 и ccp для часов .
MOVLW b'01001111'
MOVWF T2CON ;PERIOD = 1 000 000 /16 /125 /10


; >--------------IRQ ON
; |>-------------IRQ ON PEREPHERIAL
; ||>------------IRQ ON TMR0
; |||>-----------IRQ ON RB0 INT
; ||||>----------OFF CHANGE PORTB
; |||||>---------
; ||||||>--------
; |||||||>-------
MOVLW b'11100000' ; IRQ ON
MOVWF INTCON ;
RETURN
;**********************************************************************
;**********************************************************************;
;Название: bin2bcd bcd1, bcd2, bcd3 = bin1, bin2
;Входные данные: двоичное число в регистрах bin1, bin2. При этом bin1 - старший байт.
;Выходные: единицы будут в младшей тетраде регистра bcd3, десятки в старшей регистра bcd3,
;сотни в младшей тетраде регистра bcd2, тысячи в старшей bcd2,
;десятки тысяч будут находиться в младшей тетраде регистра bcd1.
;Используемые регистры: bin1, bin2, bcd1, bcd2, bcd3, ctr.
bin2bcd
movlw .16
movwf ctr
clrf bcd1
clrf bcd2
clrf bcd3
goto start

adjdec movlw 0x33
addwf bcd1,f
addwf bcd2,f
addwf bcd3,f

movlw 0x03
btfss bcd1,3
subwf bcd1,f
btfss bcd2,3
subwf bcd2,f
btfss bcd3,3
subwf bcd3,f

movlw 0x30
btfss bcd1,7
subwf bcd1,f
btfss bcd2,7
subwf bcd2,f
btfss bcd3,7
subwf bcd3,f

start rlf bin2,f
rlf bin1,f
rlf bcd3,f
rlf bcd2,f
rlf bcd1,f
decfsz ctr,f
goto adjdec

return
;**********************************************************************
;**********************************************************************
;*** КРОС ССЫЛКИ НА 1 БАНК *************
;**********************************************************************
;P1_LOAD_EE
; PAGESEL LOAD_EE
; CALL LOAD_EE^800
; PAGESEL P1_LOAD_EE
; RETURN
;P1_INIT_ALL
; PAGESEL _INIT_ALL
; CALL _INIT_ALL^800
; PAGESEL P1_INIT_ALL
; RETURN
;**********************************************************************
;********* КОНЕЦ 0 БЛОКА *********************************************
;**********************************************************************
ORG 0x800
;P0_Delay_40mS
; PAGESEL Delay_40mS
; CALL Delay_40mS^800
; PAGESEL P0_Delay_40mS
; RETURN

;**********************************************************************
;*** КРОС ССЫЛКИ НА 0 БАНК END *************
;**********************************************************************
NOP


;**********************************************************************
;********* КОНЕЦ 2 БЛОКА *********************************************
;**********************************************************************
ORG 0x1000
ORG 0x1800
;**********************************************************
INT_EE_DATA ORG 0x2100

DE 0xFF
DE 0xFF
DE 0xFF
DE 0xFF
DE 0xFF
DE 0xFF
DE 0xFF
DE 0xFF

DE 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF; резерв




EE_DATA_COPY
ORG 0x2180
DE "Copyright (C) 2005-2008 by Garmash G.V. v.1.1.0"
;**********************************************************************
END
;**********************************************************************

Прошивка процессора
:020000040000FA
:10000000000000000000D229F0000308031383124F
:10001000F1000A08F2000408F30000308A000B190E
:1000200014288C18172843280B11312143288C10D1
:10003000C60A32304606031D4328C601C70A3C30B3
:100040004706031D2A28C701C80A3C304806031D7D
:100050002A28C801751D4328C903490A031D4328DE
:100060003B30C900CA034A0A031D43283B30CA007B
:10007000CB034B0A031D43280030CA00CB00C90044
:100080007511051643280313831273088400831225
:0E00900072088A0071088300F00E700E0900DD
:10020000003E0319ED34FF3E03190534FF3E031988
:10021000E334FF3E03196734FF3E03190F34FF3EFA
:1002200003196E34FF3E0319EE34FF3E03192534E3
:10023000FF3E0319EF34FF3E03196F34FF3E0319ED
:10024000AF34FF3E0319CE34FF3E0319E834FF3EBE
:100250000319C734FF3E0319EA34FF3E0319AA34D9
:100260000034003086008715071507178717071613
:100270008716871407148815881608160817091496
:10028000891488170915000000000000003043069B
:10029000031988290130430603198C2902304306CB
:1002A00003199129033043060319952904304306A5
:1002B000031999290530430603199D290630430681
:1002C0000319A229073043060319A629083043065B
:1002D0000319AA29093043060319AE290A30430637
:1002E0000319B3290B3043060319B7290C30430611
:1002F0000319BB290D3043060319BF290E304306ED
:100300000319C4290F3043060319C829C3018829DA
:10031000330886008711CC293408860007110000B5
:10032000CC29350886000713CC29360886008713A8
:10033000CC29370886000712CC2938088600871296
:100340000000CC29390886008710CC293A0886009D
:100350000710CC293B0886008811CC293C08860070
:1003600088120000CC293D0886000812CC293E08DE
:1003700086000813CC293F0886000910CC294008C4
:10038000860089100000CC29410886008813CC29FA
:10039000420886000911CC29C30A1030430603190C
:1003A000C30108005C2405160624F5150030002161
:1003B000B30001300021B40002300021B500033049
:1003C0000021B60004300021B70005300021B8003C
:1003D00006300021B90007300021BA0008300021A2
:1003E000BB0009300021BC000A300021BD000B30E9
:1003F0000021BE000C300021BF000D300021C000E4
:100400000E300021C1000F300021C2000624062456
:1004100006240512F1231E24CC0AC8304C06031909
:10042000CC0100304C060319212A32304C06031946
:100430002E2A64304C0603193B2A96304C060319C9
:10044000482A2808CE002708CD002A08D00029080D
:10045000CF002C08D2002B08D100F72A2808D4009E
:100460002708D3002A08D6002908D5002C08D80070
:100470002B08D700F72A2808DA002708D9002A080D
:10048000DC002908DB002C08DE002B08DD00F72A41
:100490002808E0002708DF002A08E2002908E10018
:1004A0002C08E4002B08E300A701A8014D08A707CA
:1004B0004E08A8075308A7070318A80A5408A80756
:1004C0005908A7070318A80A5A08A8075F08A7072A
:1004D0000318A80A6008A807A80CA70CA80CA70C6A
:1004E000A81328130530271C00300021B600A80CE3
:1004F000A70CA8132808AD002708AE0092243108E5
:100500000F390021B500310E0F390021B400300839
:100510000F390021B3003416A901AA014F08A90719
:100520005008AA075508A9070318AA0A5608AA07D7
:100530005B08A9070318AA0A5C08AA076108A907AB
:100540000318AA0A6208AA07AA0CA90CAA0CA90CEB
:10055000AA132A13AA0CA90CAA132A08AD00290869
:10056000AE00922431080F390021BA00310E0F3944
:100570000021B90030080F390021B80038160A30C0
:100580000021B700AB01AC015108AB075208AC0722
:100590005708AB070318AC0A5808AC075D08AB074F
:1005A0000318AC0A5E08AC076308AB070318AC0A73
:1005B0006408AC07AC0CAB0CAC0CAB0CAC132C1340
:1005C000AC0CAB0CAC132C08AD002B08AE00922485
:1005D00031080F390021BE00310E0F390021BD0056
:1005E00030080F390021BC003C16C230BB00F51D9D
:1005F0001C2B4708AE00AD01922431080F390021B1
:10060000C200310E0F390021C1004808AE00AD0113
:10061000922431080F390021C000310E0F3900211A
:10062000BF004016751C172BC701C8017510F51CBB
:100630001C2BF510F5117516751E382B3B30C900B3
:100640004A08AE00AD01922431080F390021C200E2
:10065000310E0F390021C100BF01C0014016751CC9
:10066000332BCA0A7510F51C382BF5107512F516C8
:10067000F51E542B3B30C9004B08AE00AD0192244F
:1006800031080F390021C000310E0F390021BF00A1
:10069000C101C2014016751C4F2BCB0A7510F51C09
:1006A000542BF510F5127515751D9C2B751B752BAC
:1006B0004B08AE00AD01922431080F390021C00073
:1006C000310E0F390021BF004A08AE00AD0192245F
:1006D00031080F390021C200310E0F390021C1004D
:1006E000491C4016491840128F2B4A08AE00AD0134
:1006F000922431080F390021C000310E0F3900213A
:10070000BF004908AE00AD01922431080F39002125
:10071000C200310E0F390021C10040168F2BF51C8D
:10072000972BF510751F962B7513972B7517751C46
:100730009C2B75107511F5150A2A4908AE00AD01FC
:10074000922431080F390021B600310E0F390021F3
:10075000B5000A2A2108031783128D000317831698
:100760008C130C140000031783120C08031383125C
:10077000A00008000A30A5002008031783128C008F
:10078000031383122108031783128D0003178316A6
:100790008B138C130C1555308D00AA308D008C14E2
:1007A00064008C18D02B0C118B17031383122008B4
:1007B000031783168C130C140000031783120C0606
:1007C0000313831203190034A50BBC2B01340F391A
:1007D000093C0318EE2B093C373E0800093C303E2B
:1007E0000800881CC40A081DC50A8818C401081915
:1007F000C5010A304406031975140319C4170A30D9
:1008000045060319F5140319C5170800FF300E2C0F
:100810004B300E2C05300E2C0F300E2CA600A501EF
:10082000A50B102C6400A60B102C080004301A2C09
:1008300000000130A500A50B1B2C08000313831634
:1008400083309F00031383129F019F171F141F10F3
:100850009F111F129F121F1416241F151F192E2CD3
:100860001E08A800031383161E0803138312A70093
:100870001F109F151F129F121F1416241F151F19DA
:100880003F2C1E08AA00031383161E0803138312AD
:10089000A9001F109F111F169F121F1416241F1549
:1008A0001F19502C1E08AC00031383161E080313D7
:1008B0008312AB001F100800203084008001840ADE
:1008C000841F5E2CA03084008001840A031D642CE8
:1008D0008B010313831607309C0007309F0003131E
:1008E00083129F0185018601870188018901031315
:1008F00083162F30850000308600003087000730D7
:100900008800003089004F30810002308C000030B8
:100910008D007C309200031383124F309200E03040
:100920008B0008001030B200AF01B001B101AA2C59
:100930003330AF07B007B1070330AF1DAF02B01DB2
:10094000B002B11DB1023030AF1FAF02B01FB00214
:10095000B11FB102AE0DAD0DB10DB00DAF0DB20BAB
:04096000982C0800C7
:021000000000EE
:02400E00420C62
:10420000FF00FF00FF00FF00FF00FF00FF00FF00B6
:10421000FF00FF00FF00FF00FF00FF00FF00FF00A6
:1043000043006F0070007900720069006700680068
:1043100074002000280043002900200032003000F3
:10432000300035002D003200300030003800200011
:104330006200790020004700610072006D0061009A
:1043400073006800200047002E0056002E00200059
:0E43500076002E0031002E0031002E003000CD
:00000001FF

Устройство размещается в подходящем по размерам корпусе , рекомендуется использовать принудительную вентиляцию при долговременной работе на больших токах, так как выделяемая тепловая мощность может достигать 100Вт.

О некоторых других моих разработках можно почитать на www.picping.narod.ru

Гармаш Генадий.
 
 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    Обсудить статью можно на Форуме

Другие новости по теме:
 (голосов: 2)
В Закладки: | Мыслей вслух: (2) |    


№1 отписался:
 
ICQ: -- | | Группа: Посетители | Регистрация: 12.11.2010




Публикаций: 0
Комментариев: 1

а как возможно скачать схему в более разборчивом виде? на этой невозможно разобрать каой номинал радиоэлементов.
 
| |

12 ноября 2010 19:04
№2 отписался:


Купить, - это проще всего, большого ума не надо. Спаять, запустить и получить кайф - это уже творчество.
 
ICQ: 622752059 | | Группа: Администратор | Регистрация: 5.06.2009




Публикаций: 602
Комментариев: 51

Вот схема в полном размере, в статье тоже добавил
http://radio-korolev.ru/engine/download.php?id=171
 
| |

 Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

© 2010 Radio-Korolev.Ru. Все права защищены.