Схема управления мотором беговой дорожки
Внимание!
Внимание! Перед тем как создавать тему на форуме, воспользуйтесь поиском! Пользователь создавший тему, которая уже была, будет немедленно забанен! Читайте правила названия тем. Пользователи создавшие тему с непонятными заголовками, к примеру: «Помогите, Схема, Резистор, Хелп и т.п.» также будут заблокированны навсегда. Пользователь создавший тему не по разделу форума будет немедленно забанен! Уважайте форум, и вас также будут уважать!
Ищу мудрого совета и,конечно же, решения в моем вопросе.
Нужно отремонтировать беговую дорожку,но к сожалению плата БУ ремонту не подлежит.Пришлось искать аналог блоку управления для мотора постоянного тока на 90В. Нашел интересное решение,даже хотел оформить статьей ( с указанием источника),но, проанализировав схему, и программу для контроллера,понял,что там закрались подводные камни: приведена одна схема, платы нарисованы по другой,программа написана для третей и то,кажется,с ошибками.
Помогите ,пожалуйста, доковыряться до истины
Вот сайт ,где лежит данная конструкция: Модуль управления
А вот сама схема и ссылки на вложения(дабы не регистрироваться):
Программа:
// ***************************************************************************
// File Name : pwm.c
// Version : 1.0
// Description : Pulse Width Modulation (PWM)
// Single Output, Steering Mode
// Author(s) : SDA
// Target(s) : 16F690 Board
// Compiler : HITECT PICC Version 9.60PL1
// IDE : Microchip MPLAB IDE v8.30
// Programmer : PICKit2
// Last Updated : 24 Mart 2011
// ***************************************************************************
#define FOSC 8000000L
#define _delay_us(x) < unsigned char us; \
us = (x)/(12000000/FOSC)|1; \
while(—us != 0) continue; >
void _delay_ms(unsigned int ms)
<
unsigned char i;
if (ms == 0) return;
do <
i = 4;
do <
_delay_us(164);
> while(—i);
> while(—ms);
>
void main(void)
<
unsigned int ipwm,temp;
unsigned char direction;
OSCCON=0x70; // Установка 8 Mhz частоты
TRISC = 0x01; // Настройка порта С
TRISA = 0x03; // Настройка порта А
TRISB = 0x00; //Настройка порта В
ANSEL = 0x01; // Установить AN0 как аналоговый вход AN1-AN7 как цифровые вх./вых.
ANSELH = 0x00; // AN8 по AN11 установить как цифровые вх./вых.
PORTC = 0x00; // Сбросим PORTC
/* Инициализация PWM для Full Bridge Output */
CCP1CON=0b01001100; // Full Bridge Forward; P1A, P1C active-high; P1B, P1D active-high
CCPR1L=0; // Старт с 0 значением цикла
T2CON=0b00000101; // Делитель: 1:1, таймер Timer2=On, постделитель = 1:4
PR2=0x65; // Частота: 4.90 KHz
TMR2=0; // Обнуление счетчика
/* Инициализация АЦП */
ADCON0=0b00000000; // Выбор левого выравнивания и аналогового входа AN0
ADCON1=0b00110000; // Выбор FRC для 8 MHz
ADON=1; // Включить ADC conversion module
direction=0; // Выбор направления
ipwm=0;
for(;;) <
RB7=1;
RB6=1;
if (RA1 == 1) <
_delay_ms(1);
direction=1; // Движение в перед
P1M1=1;
P1M0=1;
>
if (RC0 == 1) <
direction=0; // Движение назад
P1M1=0;
P1M0=1;
>
GODONE=1; // Старт измерений АЦП
while(GODONE) continue; // Пауза
temp=ADRESH>>1;
ipwm = temp;
CCPR1L=ipwm; // Установить цикличность ШИМа
/* Мигание светодиода RC0 */
RC0=1; // On
_delay_ms(ipwm);
RC0=0; // Off
_delay_ms(ipwm);
Выходную часть хочу сделать по этой схеме:
из этой статьи
Но и конечно же применить IR2125 — Одноканальный драйвер с ограничением тока (выдрать часть схемы из самого блока управления беговой дорожки)
Во вложении мой блок управления
Это сообщение отредактировал Lucifern — Aug 10 2012, 11:35 AM
Присоединённое изображение (Нажмите для увеличения)
Соучастник
Группа: Cоучастник
Сообщений: 649
Пользователь №: 34013
Регистрация: 17-June 08
Место жительства: Тюмень-15 (Ольга-2)
Мой совет такой. Раз из этой платы можно что-то выдрать живое, то не нужно ничего выдирать, а просто отремонтировать ее. Если сдох контроллер, то заменить его своим со своей прошивкой ну или этот самый PIC поставить и распаять по другому.
P.S по внешнему виду она вполне ремонтопригодна.
Это сообщение отредактировал Philin05 — Aug 10 2012, 01:57 PM
Дедушка
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
Это сообщение отредактировал s0ll2 — Aug 10 2012, 03:38 PM
Схема управления мотором беговой дорожки
Как определить необходимое значение резистора для замены сгоревшего?
У меня ситуация такая: сгорело несколько компонентов на плате управляющей мотором беговой дорожки. Значение большинства из них удалось определить по фотографии целой платы, которую я нашёл в интернете, но один из сгоревших резисторов на этом фото к сожалению закрыт конденсатором. Вот это фото, на которм я показал тот резистор, который сгорел на МОЕЙ плате, и показал, что этот резистор подключен параллельно с конденсатором (100nF) к 6 и 7 пину ШИМ микросхемы:
Вот также обозначение пинов из даташита и ссылка на сам даташит:
Повторю свой вопрос, как определить значение этого резистора чтобы схема работала? Хотя-бы примерно, чтобы работала. Зачем вообще этот резистор нужен?
Добавлено after 8 minutes 47 seconds:
Как я понял, эта микросхема на OUTPUT выдаёт ШИМ сигнал, который идёт на базу мощного полевого транзистора, тем самым подавая и перекрывая ток, идущий через этот полевой транзистор в мотор. Но зачем нужны пины -CURRENT SENSE и +CURRENTE sense? Ток на каком участке цепи они измеряют? Ток базы? Или ток мотора?
Реклама | ||
| ||
Vasilii | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Карма: 54 |
|