помогите реализовать куллер в Proteus

Обсуждаем цифровые устройства...
Ответить
Ronin666
Родился
Сообщения: 4
Зарегистрирован: Пн окт 19, 2009 14:28:26

помогите реализовать куллер в Proteus

Сообщение Ronin666 »

Здравствуйте! Надеюсь мну кто то поможет)

Мне дали такое задание:
В программной среде Proteus нужно реализовать куллер электронного ус-ва. Тип привода ДПТ. Нужно организовать систему охлождения в зависимости скорости от температуры электронного ус-ва.

Вот в общем и все, я хочу сделать на Pic16F877A, двигатель взял Motor-DC, датчик взял DS18B20. Не знаю как программно реализовать закон управления, да и со схемой чет тяжеловато*(.

помогите кто чем сможет)
Реклама
Ronin666
Родился
Сообщения: 4
Зарегистрирован: Пн окт 19, 2009 14:28:26

Сообщение Ronin666 »

плак...ну помогите*(
Реклама
Аватара пользователя
Pavel_1978
Опытный кот
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Сообщение Pavel_1978 »

Ronin666 писал(а):плак...ну помогите*(
Программировать умеешь?

если нет то не городи огород из МК и умного датчика, реализуй на транзисторах и термо резисторе
Аватара пользователя
timer32
Вымогатель припоя
Сообщения: 599
Зарегистрирован: Сб фев 02, 2008 10:51:52
Откуда: Khabarovsk

Сообщение timer32 »

посмотри тута.
http://eldigi.ru/site/comp/15.php
Реклама
Эиком - электронные компоненты и радиодетали
Ronin666
Родился
Сообщения: 4
Зарегистрирован: Пн окт 19, 2009 14:28:26

Сообщение Ronin666 »

Здравствуйте еще раз...сделал в Протеусе вот такую схемку
Изображение
далее заливаю вот такой код
#include<pic>

#define START_FUN 768
#include "delay.h"


int adc_res;
int pwm_val;

main(){

TRISA =0xFF;
TRISC = 0;
/******** настройка ШИМ *********/
T2CON = 0x01; //TMR2 выходной делитель 1:1, предделитель - 1:1
PR2 = 0xFF; //длительность ШИМ
CCPR1L = 0;
CCP1CON= 0x0C; //включить ШИМ
TMR2ON = 1; //TMR2 включить
/******** настройка АЦП **********/
ADCON0= 0x81; //модуль включен, Fosc/32
ADCON1= 0x8E; //выравнивание вправо, 1 вход аналоговый
ADIF = 0; //сбросить флаг прерывания от АЦП
DelayUs(40);
ADGO = 1; //начать преобразование

while (1){

if( ADIF ){
ADIF = 0;
adc_res = ADRESH * 256 + ADRESL;
if(adc_res > START_FUN){
pwm_val = (adc_res - START_FUN) * 5;
CCPR1L=(char)(pwm_val>>2);
CCP1CON=((char)(pwm_val<<4>>2);
CCP1CON=((char)(pwm_val<<4)&0x30) | 0x0C;
}
DelayUs(40);
ADGO = 1;
}
}
}

проблема заключается в том что на PORTC не генерируется ШИМ...он постоянно остается 0...что не так сделал подскажите пожалуйста...
Реклама
Ronin666
Родился
Сообщения: 4
Зарегистрирован: Пн окт 19, 2009 14:28:26

Сообщение Ronin666 »

помогите плззз...очень надо!!..*(
Реклама
Ответить

Вернуться в «Цифровая техника»