Перейти к контенту
МОРСКОЙ АКВАРИУМ - форум Аква Лого

Еще не обслуживаете Ваш аквариум в Аква Лого? Стоит начать уже сегодня со скидкой 15%! Позвоните по телефону +7 (499) 745-00-33
Подробнее

Протез для дельфина

Уникальные подводные кадры! Рыбы снимают видео GoPro камерой.

Ученые обнаружили реку на дне Черного моря

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

Еще одна вещь - когда вы запускаете программу все данные с МК она должна получить автоматически при запуске, то есть никакие кнопки "Прочитать с МК" нажимать не надо. Если данные при запуске не прочитаны, то у вас реально что-то не то происходит.

 

У вас какой COM порт, реальный или виртуальный?

Поделиться этим сообщением


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

Еще одна вещь - когда вы запускаете программу все данные с МК она должна получить автоматически при запуске, то есть никакие кнопки "Прочитать с МК" нажимать не надо. Если данные при запуске не прочитаны, то у вас реально что-то не то происходит.

 

У вас какой COM порт, реальный или виртуальный?

 

 

Пока проверял сначала на Ноуте 1й пентиум, а потом на третьем со встроенным ком портом. По идее там реальные. Сейчас еще проверю на втором пне с реальным портом.

Дома у меня ноут Coreduo у него реального порта нет, поэтому хочу через Data-cable от мобилы со встренной микрухой использовать.

Изменено пользователем maverick-dp (см. историю изменений)

Поделиться этим сообщением


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

А вот третий от перелива, не помешал бы. К примеру когда в дисплейной банке уровень поднялся выше стандартного к примеру из-за нестабильности напряжения на возвратной помпе. Т.е. когда с возвратного отсека вода ушла а в банке поднялась, соответственно долив в этот момент не нужен.

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

post-2056-1292572719_thumb.jpg

 

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

Так как в программе этого нет нужно лепить самому это.

Да, у меня такое работает, мне было легче сделать так, чем заниматься тонкой настройкой дюрсо. К сожалению, не имея исходного кода вы никак не сможете вставлять новые функции и вообще модифицировать программу. Но освоить программирование МК совсем не трудно. Я же смог :) Написать такую прогу как у Аквакомпа, конечно, очень непросто, но если начинать с простеньких вещей (вроде датчиков автодолива), можно для какого-нибудь совсем простенького и дешевого контроллера, то дальше пойдет-поедет и все двери перед вами будут открыты.

Поделиться этим сообщением


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

У меня появились подозрения, что МК у вас перезагружается при общении с ком-портом. Чтобы проверить сделайте следующее.

1. Пятую ногу (PB4) через резистор на светодиод и далее на землю. Будем мигать светодиодом при перезагрузке.

2. Скачиваете отладочную прошивку (ссылка будет в личке)

3. Снимаете галку с фьюза EESAVE и прописываете фьюз в МК (чтобы не стирать почем зря EEPROM при перепрошивках.

4. Стираете МК.

5. Открываете прошивку boot loader, прошиваете (она должна всать на самые верхние адреса в МК)

6. НЕ стирая МК открываете отладочную прошивку (AquaComp3.hex), прошиваете.

Готово.

 

Теперь, при перезагрузке диод должен несколько раз мигнуть.

Если перезагрузка произошла по причине срабатывания Watchdog таймера - он останется гореть.

По другой причине - погаснет.

 

Далее, понажимайте кнопки чтения с МК и смотрите, не замигал ли диод. Если замигал, значит что-то не то с портом, МК не дожидается данных и перезагружается.

Поделиться этим сообщением


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

Все сделал, светодиод моргает 3 раза потом горит в пол накала. Может резистор маленький (470 ом)? При считывании не моргает, горит в пол накала . Каналы переключаются.

 

Хотел еще подключить его на другой Сом порт, пишет - ошибка открытия порта (...

 

Я так понимаю что прога может работать только по первому ком порту и поменять его никак нельзя ((

Изменено пользователем maverick-dp (см. историю изменений)

Поделиться этим сообщением


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

Я так понимаю что прога может работать только по первому ком порту и поменять его никак нельзя ((

Сделать на другой порт могу если надо. Надо?

Поделиться этим сообщением


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

Сделать на другой порт могу если надо. Надо?

 

 

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

 

Пока тут оптимизировал разводку под внеший шнурок и встроенный МАХ232, ножки на МАХе поменял ( 7,10 и 8,9 и о чудо!!! все заработало без сбоев!. Притом если раньше долго думало то сейчас все аж бегать начало )))

 

 

Толи на МАХе один порт битый то ли просто так совпало :tuplu: .

 

Проверю еще раз дома и отпишусь.

Поделиться этим сообщением


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

Пока тут оптимизировал разводку под внеший шнурок и встроенный МАХ232, ножки на МАХе поменял ( 7,10 и 8,9 и о чудо!!! все заработало без сбоев!. Притом если раньше долго думало то сейчас все аж бегать начало )))

Ну и славно. Оно и должно летать, тормозов вообще никаких быть не должно. Там все оптимизировано и продумано. Процессор вообще никого не ждет. К примеру, в первых контроллерах Юсупова, с которых я начинал знакомство с этой техникой опрос датчиков температуры был сделан что называется в лоб - МК запрашивает температуру и ждет ответа. Датчик отвечает через 0.7 секунды. Когда датчиков пять, то все на экране застывает пока все датчики по очереди не ответят. Чем больше датчиков, тем хуже. В моем контроллере МК посылает сразу всем датчикам одновременно запрос на измерение и никого не ждет, продолжает заниматься своими делами. Через какое-то время, когда все датчики уже гарантированно готовы, МК считывает уже готовые замеры температуры и так далее. Ну и так во всем.

 

Несколько неочевидных вещей по интерфейсу

post-2056-1292635120_thumb.jpg

Синяя жирная цифра слева от таймера и других устройств - это номер канала, куда выводится данное устройство. Двойной клик и вы можете назначить устройству нужный канал (то бишь розетку, к какоторой подключено устройство).

"Лейблы" устройств ("МГ средний" и т.п.) можно менять в соответствии с тем, что у вас туда поключено - двойной клик по лейблу.

Галки у трех нижних таймеров - помечают устройства, которые будут отключатся кнопкой "Выключить стримы". Подключаете к ним стримы и если хотите их отключать на время кормления на заданное время - ставите галку.

 

Все параметры запоминаются (некоторые автоматом, некоторые кнопкой Записать в МК - разберетесь), так что заполнять все это придется только один раз.

Поделиться этим сообщением


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

Сделать на другой порт могу если надо. Надо?

 

 

Проверил дома со своего ноута, но ничего не вышло пишет ошибка открытия порта, хоть я и указал что он СОМ1. Я так понимаю там привязка еще идет к прерыванию и адресу. Может как то можно гибкую привязку к любому номеру СОМ порта сделать?

Поделиться этим сообщением


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

Проверил дома со своего ноута, но ничего не вышло пишет ошибка открытия порта, хоть я и указал что он СОМ1. Я так понимаю там привязка еще идет к прерыванию и адресу. Может как то можно гибкую привязку к любому номеру СОМ порта сделать?

Нет привязки к адресам и прерываниям, под Window используется стандартные функции Windows API.

Сейчас посмотрю как добавить произвольный выбор порта.

Поделиться этим сообщением


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

Сделал на скорую руку, список имеющихся портов не дает, (извините, нет времени возиться), поменять порт можно положив в папку с программой файл с именем com.txt с единственной строкой внутри с именем порта (например COM2 или COM3). Если такого порта в ситеме нет, скажет, что файл не найден. Если файла в папке нет, открывается по умолчанию ком1. Номер открытого порта будет в заголовке окна.

 

Обновленная программа - скачайте AquaComp3.zip с того же адреса, что и предыдущие файлы.

Поделиться этим сообщением


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

Сделал на скорую руку, список имеющихся портов не дает, (извините, нет времени возиться), поменять порт можно положив в папку с программой файл с именем com.txt с единственной строкой внутри с именем порта (например COM2 или COM3). Если такого порта в ситеме нет, скажет, что файл не найден. Если файла в папке нет, открывается по умолчанию ком1. Номер открытого порта будет в заголовке окна.

 

Обновленная программа - скачайте AquaComp3.zip с того же адреса, что и предыдущие файлы.

 

Скачал установил, но результат :(

 

при запуске выпадает post-20662-1292695129_thumb.jpg, а в верху никакого номера порта нет, есть только Form1.post-20662-1292695138_thumb.jpg

Поделиться этим сообщением


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

Файл не найден, значит стандартными средствами не удалось открыть Ваш COM57.

У вас переходник USB to Serial - видимо из-за этого и не работает. Я так понимаю это USB порт, к которому снаружи подключают сериальные устройства. Но внутри вашего ноутбука программы под windows его видят как USB. Поэтому моя программа его и не видит.

 

Аквакомпу нужен реальный ком порт, то есть он с одной (с внешней) стороны подключается к ком порту и МК с каналом связи работает именно как с ком портом. А с внутренней (PC-шной) стороны сидит программа под Windows которая должна видеть другой конец ком порта (а не USB порт, к которому подключен ком порт, как в вашем случае). Хотя это все только мои предположения.

 

Прекрасно понимаю, что ком порт устарел, и у многих его нет, и надо бы переделать интерфейс на USB или, еще лучше, на что-то беспроводное. Написание этого всего скорее всего реально, но потребует от меня больших затрат времени и усилий, и заниматься всем этим из любви к искусству у меня, к сожалению, нет возможности. Тем более, что наверняка потребуется написание драйвера под windows, а это отдельная песня. Хотя, возможно, можно найти готовое решение, у Юсупова на сайте, если я правильно помню, было описание шнурка к USB порту, но что там и как не помню.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Я так понимаю это USB порт, к которому снаружи подключают сериальные устройства. Но внутри вашего ноутбука программы под windows его видят как USB. Поэтому моя программа его и не видит.

Нет, не так. Это USB to RS транслятор, но его драйвер под виндоус позволяет работать с ним любым терминальным устройствам. Они просто его видят как "виртуальный" ком порт с большим номером. Проблема скорее у тебя в программе, она не видит порты с номером выше 10 или около того. Сейчас мне спросить некого, но когдато у наших программистов были подобные проблемы. Лечатся починкой софта. Для проверки можно запустить виндоус- терминал, выбрать 57 порт, закоротить на разьеме 2-3 ноги, и набрать строчку на клавиатуре. Все символы должны удвоиться, т.е получится эхо. Это говорит о том что адаптор и драйвер рабртают. Единственная проблема с такими адапторами - на больших скоростях могут посбаивать и время ответа на посланный байт может увеличится, т.е надо увеличить timeout ожидания.

Поделиться этим сообщением


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

Олег, похоже ты прав.

 

maverick-dp, попробуй открыть не COM57 а такую строку:

\\.\COM57

 

(Посмотрел, пишут что до 9 порта можно казывать просто как COM1 и т.п., а с большими номерами нужны слеши)

Поделиться этим сообщением


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

Edit: исправил название порта в строке выше.

Поделиться этим сообщением


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

Edit: исправил название порта в строке выше.

 

 

Не получается и так (

 

Вот нарыл в сети, может поможет.

Поделиться этим сообщением


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

Не получается и так (

 

Вот нарыл в сети, может поможет.

Так, именно так как там написано у меня и открывается порт:

CreateFile(ComPortName.c_str(),GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);

 

У меня нет портов с большими номерами, но если я пишу например \\.\COM1 вместо просто COM1 то все работает.

Поделиться этим сообщением


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

Кстати, когда пишите \\.\COM57 что пишет, файл не найден или что-то другое?

Поделиться этим сообщением


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

Кстати, когда пишите \\.\COM57 что пишет, файл не найден или что-то другое?

 

 

Пишет что файл не найден, ошибка открытия СОМ портата.

Поделиться этим сообщением


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

Пишет что файл не найден, ошибка открытия СОМ портата.

"Ошибка открытия" - это в заголовке окна, там еще пояснение должно быть:

post-2056-1292807777.jpg

Если файл не найден - тогда порт не существует (не знаю как это возможно, если в дереве утройств он есть)

Если Отказано в доступе - порт уже занят какой-то программой.

 

Посмотрел в инете как народ на ноутбуках выходит из положения. Нашел вот такое:

FT232RL микросхема решающая проблему отсутствия COM портов в ноутбуках.

И реальный переходник на ней: http://avrlab.com/node/138

 

FT232RL на ebay.com можно купить за 3.4$ плюс 1.6$ достака (например здесь) или, там же уже готовый переходник, например здесь.

 

Наверное, я эту микруху попробую как нибудь, но не сейчас. Хотите, сами попробуйте, но сначала надо убедиться, что комп у вас нормально работает на невиртуальном порту в нормальном РС. Если еще не надоело. :)

Поделиться этим сообщением


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

maverick-dp, короче, Вы меня таки вынудили почитать о возможных интерфейсах связи контроллера и компьютера. И похоже, что вроде как и Bluetooth не так уж и трудно подключить. И похоже, по первым прикидкам, что особых изменений в программе не потребуется. Займемся?

Поделиться этим сообщением


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

Вы меня таки вынудили почитать о возможных интерфейсах связи контроллера и компьютера. И похоже, что вроде как и Bluetooth не так уж и трудно подключить. И похоже, по первым прикидкам, что особых изменений в программе не потребуется. Займемся?

 

 

Конечно займемся, все таки это шаг вперед и для Вас и для меня. И думаю что это пригодится вашим друзьям и клиентам. ;) . Что от меня на данном этапе требуется?

По подключению MK через USB может Вам поможет схемка и программки с драйверами с исходным кодом взятые отсюда.

По работе на не виртуальном порту, сейчас все работает без сбоев.

Использую пока Вашу тестовую прошивку та что с дополнительным светодиодом. Может вернутся на стандартную?

Изменено пользователем maverick-dp (см. историю изменений)

Поделиться этим сообщением


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

По работе на не виртуальном порту, сейчас все работает без сбоев.

Во, это я и хотел услышать. :vo:

 

Использую пока Вашу тестовую прошивку та что с дополнительным светодиодом. Может вернутся на стандартную?

Можно. Заодно можно проверить как обновление прошивки через ком порт работает.

Бот лоадер (в верхние адреса) у вас, кажется, прошит? Тогда можно его "активировать" фьюзами:

 

BOOTRST = 0

BOOTSZ0 = 0

BOOTSZ1 = 1

ну и стирание пзу отключим, если еще не отключали:

EESAVE = 0

 

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

 

Отключаете программатор и его шлейф, включает-выключаете, все должно работать как обычно. Теперь поменять прошивку можно просто через программу на PC. Меню Параметры/Прошивка, кнопкой Открыть HEX файл выбираете файл прошивки (c расширением .hex), потом жмете кнопку "Перезагрузить МК". Процесс перепрошивки будет отображаться в окне, все довольно быстро. Последнее сообщение должно быть, что прошито без ошибок. Собственно и все.

Поделиться этим сообщением


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

Во, это я и хотел услышать. :vo:

Можно. Заодно можно проверить как обновление прошивки через ком порт работает.

Процесс перепрошивки будет отображаться в окне, все довольно быстро. Последнее сообщение должно быть, что прошито без ошибок.

 

 

Все сделал как сказано, работает все точно как в аптеке!!!

 

Обновление просто и быстро. :vo:

 

Так что теперь будем испытывать USB или Bluetooth?

 

FT232RL у нас есть в продаже по 5 у.е. Можно купить.

Поделиться этим сообщением


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

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

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

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

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

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

Зарузка...

×
×
  • Создать...