Перейти к содержанию

Uart Проблема


StasRadeon

Рекомендуемые сообщения

Хочу работать с сервомотором через UART , но вот не понимаю почему не хочет работать .Подскажите пожалуйста где не делаю правильно.

Приклепляю мои проект

ServoMotor.rar

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Чтобы знать как помочь, необходимо знать чем конкретно нужно помочь.

"У меня ничего не работает, помогите, ..." - это не вопросы и не объяснение проблемы. Совершенно не понятно, что означает Ваше "не хочет работать". А вытягивать из Вас информацию никто не будет. Задайте правильно свой вопрос, с конкретным объяснением проблемы.

Ссылка на комментарий
Поделиться на другие сайты

через uart я хочу контролировать сервомотор , например когда напишу s в виртуаль команд то oн должен сидеть в 0 градусов , когда я напишу a тогда на 180 градусов. в протеусу не реагируйет нечево когда напишу a,s,v в виртуаль команд.

Ссылка на комментарий
Поделиться на другие сайты

В протеусе можно подключить .cof файл, вместо .hex. Тогда появляется возможность отлаживать программу.

Поставьте точку останова на приём, пошлите символ через терминал, и прогоните пошагово программу. Сразу станет всё понятно почему у Вас ничего не работает.

Ссылка на комментарий
Поделиться на другие сайты

Я же Вам говорю - ставьте точки останова, шагайте, отлаживайте, ... Всё только в Ваших руках. Код то Ваш, и только Вам во время отладки можно понять проблему.

Ссылка на комментарий
Поделиться на другие сайты

проблему я решил , но появилась другая: долгое время ответа и не распознает с первова раза

Приклепляю мои проект

с таким кодом так и будет.... вас функции делай кто надоумил использовать???? вы МК тупо в ступор вгоняете , и вместо того что бы юарт прочитать тупо в прерывании , делаете это в главном цикле

и управление сервой у вас сделано неправильно, импульсы управления на серву подается постоянно, а не пачками по 50 импульсов....

Ссылка на комментарий
Поделиться на другие сайты

если я вас правильно понял, надо уарт в прерывание читать , а что именно вы хотели сказать : управление сервой у вас сделано неправильно, импульсы управления на серву подается постоянно, а не пачками по 50 импульсов....

Ссылка на комментарий
Поделиться на другие сайты

именно то что хотел сказать.... для управления сервой вы вызываете процедуры и в цикле дергаете пин 50 раз , потом снова вызываете эту процедуру по совпадению символа с содержимым юарта , символ не совпал - импульсы пропали..... короче можете смело вытирать весь код, и начинать писать весь код заново....

Ссылка на комментарий
Поделиться на другие сайты

мне нужно чтобы я его использовал в другой программе где именно гаварю через буквы есле эмму в левo или в право идти. вот почему я так задумал код. если у вас есть другая идея как именно делать , пожалуйста говорите. буду благодарен.

Ссылка на комментарий
Поделиться на другие сайты

время импульса/паузы задается через таймер TMR1,`значения импульса/паузы изменяются в прерывании от таймера

в идеале если позволяют характеристики сервы лучше задействовать модуль ССР в режиме ШИМ

Ссылка на комментарий
Поделиться на другие сайты

также можно задействовать два таймера: таймером TMR0 задаем период следования импульсов / TMR1 - длительность импульса , в прерывании от TMR0 устанавливаем пин=1, запускаем таймер TMR1 на нужную длительность , в прерывании по TMR1 сбрасываем пин=0 останавливаем таймер TMR1

в этом случае длительность паузы не нужна....

Ссылка на комментарий
Поделиться на другие сайты

static void interrupt isr(void)
{
if(T0IF) {			 // TIMER0 Interrupt Flag
pulse_max++;		 // Pulse Max Increment
pulse_top++;		 // Pulse Top Increment
/* MAX_VALUE=200 turn off the pulse */
if (pulse_max >= MAX_VALUE) {
 pulse_max=0;
 pulse_top=0;
 RB2=0;			 // Turn off RC2
}
/* top_value = MAX_VALUE - n, n=10: 10 x 0.1ms = 1.0ms, n=20: 20 x 0.1ms = 2.0ms */
/* 2ms -> Right Rotation, 1ms -> Left Rotation */
if (pulse_top == top_value) {
 RB2=1;			 // Turn On RC2
}
TMR0 = 156;			 // Initial Value for 0.1ms Interrupt
T0IF = 0;	 // Clear TIMER0 interrupt flag
}
}

правильно думаю я ?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...