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

Управление Нагрузками Через Com-Порт


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

Нашёл на просторах интернета схему управления 8-ю нагрузками через COM-порт компьютера, но насколько я понял переключение производится по определённому алгоритму для создания различных световых эффектов, мне же нужно всего навсего включать и выключать четыре реле...можно ли как-нибудь приспособить данное устройство под свои нужды? или может посоветуете что-нибудь другое?

LabKit __ UniCOM - управление устройствами через COM-порт компьютера.rar

На заводе будущего работать будут машины, один человек и одна собака. Человек будет кормить собаку, а собака - не подпускать человека к машинам

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

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

Делфи вам в помошь, или бейсик, можно даже макросами в экселе или ворде и книга "Измерение, управление и регулирование с помощью макросов VBA в Word и Excel" (есть на kodges.ru)

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

  • 1 месяц спустя...

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

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

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

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

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

опишите полностью, с какой частотой и последовательностью должны светодиоды гореть (реле срабатывать). Может программку напишу для вас. пишите в личку, а то могу не увидеть ваше сообщение, так как уведомления о новых комментариях не приходят на мейл

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

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

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

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

Переношу переписку сюда может кому пригодится:

Motorita:

Отправлено 18.10.2012, 17:12

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

Ramil

Отправлено 19.10.2012, 07:07

Приветствую, Моторита! Как я понял, управлять с компьютера? Тогда у меня есть программулька небольшая и прошивка для атмеги16. Сойдёт такое?

Программка имеет 8 кнопок, при нажатии на которые на соответствующих выводах МК появляется единица и при следующем нажатии - Ноль.

Motorita

Отправлено 19.10.2012, 11:06

Да, подойдёт, сам программировать не умею, но друзья помогут, а мне тогда просто останется прикрутить к выходам контроллера силовые ключи) а с COM-портом как контроллер состыковать?

Ramil

C ком портом состыковать с помощью MAX232 схема http://elf.cs.pub.ro...ra_nicuta/3.png

В течении дня вышлю программу и прошивку для контроллера, нужно подготовить их

Всё, закинул архив весит полтора мегабайта. В архиве файлы:

sshot-1%283%29.png

папка дебаг содержит программу.

test.hex - прошивка для атмеги16

fuses.png - фьюзы атмеги16

схема подключения атмеги и прочего

Motorita

Отправлено 20.10.2012, 01:48

Спасибо, завтра доберусь к компу, буду изучать

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

На схеме использован преобразователь USB-UART. Собирал и подключал устройство с помощью модулей XBee. На стороне компьютера как раз стоит USB-UART-XBee.

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

Глянул на схемку, она по-ходу изначально предусматривает подключение по ЮСБ...ну мне в принципе всё-равно...жаль токо ещё минус один свободный порт...

На заводе будущего работать будут машины, один человек и одна собака. Человек будет кормить собаку, а собака - не подпускать человека к машинам

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

Вы то можете подключить к обычному COM порту. Это я использую преобразователь FT232 а вы можете использовать max232. Как соберете отпишитесь!

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

  • 2 месяца спустя...

Я делал удаленное управление освещением и кормушку для рыб в аквариуме через com порт на 595 регистре.

Прога для управления есть, скину если нужно.

post-151682-0-17164600-1356891278_thumb.jpg

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

Во вложении, прога для управления. Все интуитивно понятно. На схеме R1..R3-10kOm, R20...R22-1kOm.

shift.rar

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

  • 4 недели спустя...

вернулся к теме век спустя!

накидал программу на visual studio 2010

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
 string indata;
 string bufer;
 int a, b, c;
 public Form1()
 {
	 InitializeComponent();
	 serialPort.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(serialPort_DataReceived);
	 serialPort.Open();//Порт открыт
	 serialPort.DiscardInBuffer();//Очистка входного буфера
	 serialPort.DiscardOutBuffer();//Очистка выходного буфера
 }
 private void Form1_Load(object sender, EventArgs e)
 {
 }
 //прием данных из UART. Принятые данные обрабатываются в таймере, иначе ошибки неизбежны!
 private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
 {
	 SerialPort sp = (SerialPort)sender;
	 indata = "";
	 indata = sp.ReadExisting();
 }
 private void timer1_Tick(object sender, EventArgs e)
 {
 }
 private void button1_Click(object sender, EventArgs e)
 {
	 serialPort.Write("1");
 }
 private void button4_Click(object sender, EventArgs e)
 {
	 serialPort.Write("2");
 }
 private void button2_Click(object sender, EventArgs e)
 {
	 serialPort.Write("3");
 }
 private void button3_Click(object sender, EventArgs e)
 {
	 serialPort.Write("4");
 }
}
}

Программа выглядит так:

sshot-1.jpg

При нажатии кнопки "led 1" ПО отсылает в COM1 порт на скорости 9600 символ 1. При нажатии кнопки "led 2" - символ 2. И в таком же духе остальные кнопки.

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

По сути мы имеем программу для ПК, осталось только собрать схему и написать прошивку для неё. Схема по принципу AVR (к примеру atmega8 или 48) на любые 4 ноги цепляем ключи и реле. В прошивке алгоритм тоже простой (примерно такой):

char a = getchar();
if(a=="1"){PORTC.0=!PINC.0;}
if(a=="2"){PORTC.1=!PINC.1;}
if(a=="3"){PORTC.2=!PINC.2;}
if(a=="4"){PORTC.3=!PINC.3;}

Прога здесь Аваст ругается на то что программа новая и нет репутации, что типа может быть опасной. Эту прогу я только что написал и она не опасна!

Статья на проект, где есть все исходники - здесь

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

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

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

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

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

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

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

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

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

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

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

    • Зачем выводить очередной разряд индикации в прерывании? Процессы вывода на индикацию и считывания клавиатуры - медленные процессы. В моей концепции: войдите в подпрограмму обслуживания индикатора, сделайте делитель на 2 и получите 2 мс на разряд, в этой же подпрограмме выведете очередной разряд на индикатор, и не надо отрывать время процессора на обработку прерывания. Для вывода на индикацию тогда вообще не нужно прерывания. Аналогично для кнопок. В моей концепции нужно лишь одно прерывание для таймера. Прерывания с обработкой в прерывании нужны в основном для УАРТА, для безпаузной передачи / приема на высоких скоростях. Ну может быть и2с или спиай, там тоже нужна высокая скорость обработки. вторичные таймеры / счетчики также прекрасно вписываются в предложенную концепцию. Самый большой ее плюс, то что время на прерывание минимально для медленных задач, и отсутствуют конфликты прерываний. А впрочем... у каждого свой путь... А зачем в блоке питания так часто измерять напряжение и ток, если это вывод на индикацию, то там и десяти измерений в секунду за глаза хватит. Резких скачков всеравно не отследить, выходной конденсатор все сгладит.    
    • Клещи, которые могут измерять постоянный и переменный ток, в том числе действующее значение TRUE RMS пульсирующего тока. Или как в статье, стрелочным прибором магнитоэлектрической системы. Наверное так, если для аккумулятора. 12.pdf RMS
    • Да точно, по этой схеме тут другая половинка R9/R10/R11 за напряжение отключения и R8/R12 за порог включения. На вторую половину компаратора сигнал от терморезистора приходит.
    • Хотел предложить купить что то готовое: типа такого - https://aliexpress.ru/item/1005002210385012.html .  Ведь пульт есть, AUX  и русский язык в наличии и мучиться не надо. Но боюсь экранчик маловат.  
    • Так он же пишет- Не пойму-зачем здесь  send_UART(0x0D); send_UART(0x0A); ведь надо отправлять  \ r \ n send_UART(0x5C); send_UART(0x72); send_UART(0x5C); send_UART(0x6E);  
    • Ток в выходной цепи тиристорного ЗУ - импульсный, однополярный, т.е., Direct Current (DC). Он характеризуется не одним параметром, а несколькими. Разные приборы просто показывают разные параметры, в зависимости от их схемы измерения. И конечно, надо измерять в режиме DC, постоянного тока, а не переменного. Переменным вы аккумулятор не зарядите. С целью контроля залитых ампер-часов нужно измерять средневыпрямленный ток, а не тру рмс. С целью контроля нагрузки на провода и теплового действия тока в аккумуляторе - тру рмс. А еще существует и амплитудное значение тока, которое может быть в несколько раз выше действующего. Представляю вашу реакцию, когда вместо 0,6 А вы увидите 6 ампер )) Короче, первые две картинки с точки зрения средневыпрямленного значения, скорее всего, верны
×
×
  • Создать...