[image]

Микроконтроллеры AVR - применение и Краткий Курс - часть 9

 
1 41 42 43 44 45 46 47
+
-
edit
 

MartKot

опытный

Наконец-то закончил тестовые испытания бортового компа. Последние испытания провёл, «дергая» его
верёвочкой на 10метров из окна. ;) Выкладываю «рабочие черновики».
То, что только для теста, помечено <<<<< «особо». В рабочей программе всё это «ремарится».
Пока только один воспламенитель, подпрограммку управления воспламенителями ещё не написал.
В комментариях довольно подробно всё описано, текстовые пока исправлять некогда, пора ракету
заканчивать, а то «белые мухи» скоро полетят. Первая в жизни программа, так что сильно не бейте.
Многое взято по мотивам Termostata и Yurana.


Н-да спать приходится по 5часов, чтобы всё успеть.
При вкл. питания и прохождения теста оборудования, программа запоминает текущее давление, сохраняет в отчёте. Далее, при включении программы полёта(значит начал работаь двигатель), первым измерением
опять является давление, и относительно него уже идут все вычисления, т.е. фактически это и есть «0» точка
высоты, не зависимо от действующего давления. Но, в память пишутся «сырые» данные (т.е. реальные показания
датчиков), а в нулевую страницу памяти записываются начальные данные, максимальные и данные расчётов.
«Сырые» данные обрабатываются после полёта, с условием начальных данных, уже на земле.
Последовательность 10 замеров для одного датчика, принимаю за
одно измерение, но делить на 10 не стал, поэтому получаю вместо, к примеру, 1023Bit = 10230Bit или
допустим, (1-2bita постоянно прыгают), (500+501+500+ 500…+502+500)bit = 5003bit(x10). Если, всё
это делить на 10, чтобы получить среднее значение, надо связываться с плавающей точкой (тип float)
чего не хочется, потому что в память слова пишутся по 16bit, ели нет (тип int) при делении последний разряд
просто отбрасывается и смысл теряется. На графике это видно розовым цветом- резкие перепады на 1-2bit.
Перепад давлений на 10метров (0 – 4этаж) получается, грубо 0,7мм.рт.ст по этому прибору, что примерно
соответствует расчётным (0,8мм.рт.ст./ на 10 метр) (внесистемные единицы иззмерения) .
Вот, таким образом.

Прикреплённые файлы:
 
   
Это сообщение редактировалось 28.09.2007 в 19:30
+
-
edit
 

MartKot

опытный

Я, сразу извиняюсь. Знакомый программист
с работы (из Пионерного) сечас прислал.. вот..
=========
ПРЕЦИЗИОННЫЕ ИСТОЧНИКИ
ОПОРНОГО НАПРЯЖЕНИЯ
Параметры и особенности применения
В. Авербух, к.т.н., институт метрологической службы Госстандарта России
Цель настоящей статьи - помочь разработчику устройств, включающих прецизионные источники опорного напряжения, получить макси-
мально возможное качество изделия за самое короткое время. Основное содержание статьи - как выбрать из широкой номенклатуры та-
ких источников наиболее соответствующий поставленной задаче и уже на начальном этапе максимально учесть влияющие факторы, ко-
торые нередко всплывают только на стадии заключительных испытаний. Приведенные в тексте численные данные конкретных приборов
четырех ведущих производителей опорных источников напряжения позволяют сориентироваться в достигнутом уровне.


Если инет пропустит, цепляю pdf файл.
Прикреплённые файлы:
 
   

pokos

аксакал

Кстати, в последнее время нужно отлаживать девайсы, находящиеся под сетевой напругой, поэтому соорудил себе такую вот гальваническую развязку для СОМ-порта.
Прикреплённые файлы:
 
   
+
-
edit
 
RU termostat #03.10.2007 07:25
+
-
edit
 
+
-
edit
 

pokos

аксакал

termostat> Схему !

Нате. Оптроны TLP521-2, работает до 57600. Если покрутить резючки, наверное, заработает и на 115200. Я же пользую обычно 19200, так что, мне за глаза и за уши.
Прикреплённые файлы:
Galv.tif (скачать) [333 кБ]
 
 
   
RU termostat #03.10.2007 12:54
+
-
edit
 

termostat

аксакал

Опторазвязка для rs232 переходник UART PC
   

pokos

аксакал

Изготовив две одинаковые "левые" части, легко превратить это в развязку СОМ-СОМ.
   
RU termostat #08.10.2007 12:31
+
-
edit
 

termostat

аксакал

Шарж на мой курс - http://portveshok123.nm.ru
надеюсь дружеский :lol:
   
RU termostat #24.10.2007 09:30
+
-
edit
 
UA gora_electric #31.10.2007 16:58
+
-
edit
 

gora_electric

новичок
Кто знает , в чем отличие мега8 в дипе и соике ? там добавляются два лишних порта АДС6 и 7. А как задавать в CVAVR какой у меня корпус ?
   
UA gora_electric #31.10.2007 18:11
+
-
edit
 

gora_electric

новичок
Кто подскажет в чем отличие мега8 в диповом корпусе и соике . там лишние выходы АДС6,7. Как CVAVR различает какои корпус программировать ?
   

hcube

старожил
★★
Программирование одинаковое. Просто в SOIC выведены 2 ножки, которые НЕ выведены в дипе.
   
UA gora_electric #01.11.2007 14:43
+
-
edit
 

gora_electric

новичок
А что будет если я к ним обращусь а в корпусе их нет ?
   

hcube

старожил
★★
На кристалле они есть. Эффект обращения будет такой же как от обращения к ножке 'висящей в воздухе'.
   

Lioxa

втянувшийся
Может у кого нибудь есть надёжная/проверенная схема для управления шаговиками около 2А.

Спасибо.
   
RU termostat #14.11.2007 16:49
+
-
edit
 

termostat

аксакал

В даташите на L297 есть схема в паре с L298
   

rat12

новичок
Добрый день.
Не подскажете структуру хранения чисел в CVAVR следующих типов?

Type Size (Bits) Range
float 32 ±1.175e-38 to ±3.402e38
double 32 ±1.175e-38 to ±3.402e38

По float нашел только следующее, и то без гарантий, что это верно в случае CVAVR:"Тип float использует 32 битный(4 байт) формат стандарта IEEE с 8-разрядной экспонентой, 23 разрядной мантисой и 1-м знаковым битом." С double вопрос вообще открыт. По хелпу они представляются одинакого, в чем же разница? Может double - формат с фиксированной запятой? Но тогда как оно укладывается в такой диапазон?
   
+
-
edit
 

timochka

опытный

rat12> Добрый день.
rat12> Не подскажете структуру хранения чисел в CVAVR следующих типов?
rat12> Type Size (Bits) Range
rat12> float 32 ±1.175e-38 to ±3.402e38
rat12> double 32 ±1.175e-38 to ±3.402e38
rat12> По float нашел только следующее, и то без гарантий, что это верно в случае CVAVR:"Тип float использует 32 битный(4 байт) формат стандарта IEEE с 8-разрядной экспонентой, 23 разрядной мантисой и 1-м знаковым битом." С double вопрос вообще открыт. По хелпу они представляются одинакого, в чем же разница? Может double - формат с фиксированной запятой? Но тогда как оно укладывается в такой диапазон?

По скольку никакой поддержки таких типов на аппаратном уровне нету - то все это зависит от компилятора, а точнее от библиотеки поддержки таких типов. И судя по описанию приведенному тобой в данном случае float = double (т.е. они одинаковые).
PS. Никогда не встречал double с фиксированной запятой.
   

hcube

старожил
★★
double - это 8-байтный формат. Поэтому и double, что 2*float.
   

pokos

аксакал

hcube> double - это 8-байтный формат. Поэтому и double, что 2*float.
Нет. Ещё приснопамятные Керниган и Ричи завели обычай, что размерность типов double и float аппратано-зависима. Поэтому для малоразрядных процессоров обычно double=float. Что там конкретно в Цодевижн, можно спросить у автора. Спросите, он хороший парень, не жлоб!
   
+
-
edit
 

timochka

опытный

hcube>> double - это 8-байтный формат. Поэтому и double, что 2*float.
pokos> Нет. Ещё приснопамятные Керниган и Ричи завели обычай, что размерность типов double и float аппратано-зависима. Поэтому для малоразрядных процессоров обычно double=float. Что там конкретно в Цодевижн, можно спросить у автора. Спросите, он хороший парень, не жлоб!

Собственно можно и не спрашивать. sizeof(double) вам все раскажет!
   
+
-
edit
 

termostat

аксакал

hcube>> Что конкретно в Цодевижн, можно спросить у автора.

И КОНЕЧНО написано в help и на страничке - avr123.nm.ru/05a.htm


Продолжаем там:
Микроконтроллеры AVR - применение и Краткий Курс - часть 10 [termostat#06.12.07 11:21]
   
Это сообщение редактировалось 06.12.2007 в 11:22
1 41 42 43 44 45 46 47

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru