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

Реализация Графического Языка Программирования Для Avr Контроллеров.


Lihouzov

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

Подскажите почему в вашей программе нет ацп для других atmeg только для atmega8 ?

Я сделал АЦП для ATtiny13a и ATmega8a, потому что у меня данные микросхемы есть в наличии.

Для других микроконтроллеров надо отлаживать.

Какой микроконтроллер Вас интересует?

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

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

Вообще то интересует три микросхемы atmega 128. 48. 32. Подскажите как встроить свой блок в вашу программу? к примеру счетчик импульсов с уставкой числа счета?

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

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

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

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

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

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

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

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

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

Очень было бы не плохо, если бы на своем сайте или этом форуме выкладывали список обновлений! сегодня обновил программу. Что то обновилось а вот что?

Я очень заинтересован в АЦП для указанный мной выше микроконтроллеров. Напишите мне в личку адрес я вам отправлю их почтой.

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

Сделал заготовки для ADC ATmega32. "Параметры->Обновить->AVR(блоки в разработке)".

Надо сделать проект для тестирования, например в Porteus.

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

Давайте сделаем АЦП для ATmega32.

Я, по возможности, сделаю блоки на следующей недели и отправлю Вам их для тестов.

Обновил программу но что то не появилось не чего нового в блоках.
Ссылка на комментарий
Поделиться на другие сайты

"Параметры->Обновить->AVR(блоки в разработке)".

Блоки находятся:

Окно элементы->Блоки в разработке->ADC ATmega32

Нашел! Сразу не обратил внимания на подпункт. Сегодня сделаю проект в протеусе и в реале отработаю с датчиками термосопротивления и 0-10v 4-25 мА пока нет в наличии буду позже смотреть. результаты выложу на форуме и с видео.

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

Исправил ошибки:

1. Исправлена ошибка, некорректного формирования таблици векторов

прерываний, при сборки проекта для микроконтроллеров AVR. Перекомпилирована

библиотека "EvAVRbuilder.dll".

2. Исправлена ошибка, не собирался проект для микроконтроллеров AVR,

если в его названии присутствовали пробелы. Перекомпилирована библиотека

"EvAVRbuilder.dll".

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

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

Добавил возможность, в программе Configurator, динамически

определять индексацию FBD блоков. Доработана библиотека "EvAVRbuilder.dll"

и "EvKernelConfig.dll". Благодаря такому подходу, генерируемая прошивка

уменьшилась на несколько десятков байт, а также упростился процесс создания

новых FBD блоков.

http://horizontautomatics.ru/Configurator/index.php?id=compiler

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

хорошая работа!!! вот только меня интересует может ты кого ещё подключиш чтоб проект быстрее развивался . просто жду атмеги 32, жк 20Х4(работа с русскими буквами) . возможность работать с ацп, usart . а можно сделать программку которая будет создавать блоки, т.е. мы будем пытаться делать блоки а ты их будеш "допиливать" оптимизировать к коду программы- времени всё же меньше уйдёт. я учился делать прошивки для атмеги из видео уроков на этом сайте думаю что есть ещё такие же как я люди готовые внести идеи и решения в твой проект

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

хорошая работа!!! вот только меня интересует может ты кого ещё подключиш чтоб проект быстрее развивался . просто жду атмеги 32, жк 20Х4(работа с русскими буквами) . возможность работать с ацп, usart . а можно сделать программку которая будет создавать блоки, т.е. мы будем пытаться делать блоки а ты их будеш "допиливать" оптимизировать к коду программы- времени всё же меньше уйдёт. я учился делать прошивки для атмеги из видео уроков на этом сайте думаю что есть ещё такие же как я люди готовые внести идеи и решения в твой проект

Кто хочет, тот может присоединятся, я буду рад. Если есть вопросы постараюсь ответить.

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

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

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

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

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

На константу еще можно подобрать комбинацию, но универсальным решением будет написать полноценное умножение и деление.

Кстати, как там в графическом "языке" с указателями, массивами и прочими интересными структурами?

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

Кстати, как там в графическом "языке" с указателями, массивами и прочими интересными структурами?

Я на соединение для микроконтроллеров отвожу два байта, для указателя это вполне хватит. Например один блок передает другому указатель на структуру.

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

То есть тип данных всего один, signed short? А как же float хотя бы, который четырехбайтный? Не говоря уж про double. Например, в Labview тип соединения может быть изменен - и целые числа, и дробные, и массивы и структуры.

Ну и вроде спрашивал уже: как реализованы циклы, процедуры, да и работа с массивами и указателями? Насколько сложно сделать, скажем, термометр, усредняющий скажем 64 измерения сопротивления терморезистора?

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

То есть тип данных всего один, signed short? А как же float хотя бы, который четырехбайтный? Не говоря уж про double. Например, в Labview тип соединения может быть изменен - и целые числа, и дробные, и массивы и структуры.

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

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

Ну и вроде спрашивал уже: как реализованы циклы, процедуры, да и работа с массивами и указателями? Насколько сложно сделать, скажем, термометр, усредняющий скажем 64 измерения сопротивления терморезистора?

Среднее за 64 измерения:

(i1+i2+..+i63+i64)/64 ,где i1 - текущее измерение

Микроконтроллеру как минимум необходимо хранить 63 предыдущих измерения 4*63 - один килобайт, многовато.

Данную формулу можно преобразовать:

(i1+i2+..+i63+i64)/64=i1/64+(i2+..+i63+i64)/64=(1/64)*i1+(63/64)isr_63 , где isr_63 - среднее за последние 63 измерения

Приближенно isr_63=isr_64 и isr_63=isr_64_old ,где isr_64 - среднее за последние 64 измерения; isr_64_old - среднее за последние 64 измерения в предыдущем цикле.

тогда: (1/64)*i1+(63/64)isr_63=(1/64)*i1+(63/64)isr_64_old=(1/64)*i1+(1-1/64)isr_64_old

1/64= 0,015625 1-1/64=0.984375

sr_64_1.jpg

Если преобразовать:

(1/64)*i1+(1-1/64)isr_64_old=(1/64)*i1+isr_64_old-(1/64)*isr_64_old=isr_64_old-(1/64)*(isr_64_old-i1)

Тогда:

sr_64_2.jpg

PS можно сделать отдельный блок для усреднения, блок будет иметь: "вход", "выход", и одно свойство "коэффициент усреднения".

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

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

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

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

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

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

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

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

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

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

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

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