Jump to content

    

laryc

Участник
  • Content Count

    55
  • Joined

  • Last visited

Community Reputation

0 Обычный

About laryc

  • Rank
    Участник
  • Birthday 01/21/1958

Информация

  • Город
    Array

Recent Profile Visitors

1659 profile views
  1. Здравствуйте форумчане! Хочу поделиться зловредным опытом, который отнял уйму времени. Накупил уйму датчиков на платках под ардуино под I2C. Китайцы благо запрудили всё. Подключаю - не работает. Но кое-что победил . HDC1080 фирмы Texas , если написать протокол обмена на чтение - работать не будет потому что после адреса и указания регистра на чтение нужно дать STOP подождать 16-20 ms дать повторный старт и всё пойдёт, т,е. часть протокола разработчик просто забыл указать! с HMC5838L на платке GY-273 ситуация ещё смешнее. Поначалу китайцы говорят ставили микросхему Honeywel, а потом решили её поменять на свою какой-то своей фирмы . Маркировку на корпус ставят американскую , но эта микросхема стала QMC5838L...китайцы верны себе.. ну ладно бы она не совпадала по адресам , но она совершенно другая! Даташит на английском написали хорошо и есть пример кода , причем работает только на этом примере - шаг в сторону и затыкается. Есть ещё метеостанция на одной плате - купил на "Амперке", но из трёх датчиков на борту откликается только барометр.
  2. Подскажите кто сможет адрес этого устройства на I2C (SHT3x - DIS метеодатчик) в Даташите даны адреса 0х44, 0х45 с припаяным адрессным пином ADDR и отпаяным . В конце должен быть бит на запись \чтение/ Практика была до этого случая общепринятая. Разработчик даёт семибитный адрес и обращает внимание на ЭТО! Курьёз . Данный адрес нужно сдвинуть влево?.. и добавлять 1 или 0 на запись чтение? Если бит ставить последним то получится 0х88 - запись 0х89 - чтение для 0х44 и 0х8а , 0х8в..для 0х45. я правильно мыслю? даташиты на датчики курятся по разному вот и не могу разобраться инфой от sensirion... раньше с I2C как-то разбирался
  3. Добрый День. Купил модулёк на "Амперке" Барометр ,гироскоп,компас - три в одном. До барометра достучался сразу , а вот с компасом беда . Модуль подключаю к AVRу программы пишу сам , одним словом - не ардуинщик. Проблема в том что даже не могу прочитать WHO_AM_I (0Fh) Что нужно кинуть регистрам управления чтобы войти в контакт с этой зловредной штуковиной? За ранее благодарен.
  4. Добрых Всем начинаний! Прошу вразумлений по части работы TWI. Два процессора ATmega общаются по по TWI. Обработчик TWI vect; не используем , обмен данными пишем в функциях кои общаются с модулем TWI из основного цикла. В программе есть обработчики прерываний (таймеры, АЦП). Внимание вопрос! Будет ли TWI во время обмена данными влиять на работу обработчиков? Или же будет вести себя подобно ШИМу? то есть никак не тянуть время на себя во время работы
  5. Уважаемые форумчане! Будьте добры подсказать транзистор npn по параметру пробоя обратным напряжением эмиттер-база. 15 - 20 вольт..ток коллектора 100 - 300 mA. Параметр редко используемый. Среди российских была какая-то КТшка, но я забыл и старые справочники выбросил и вспомнить не могу какая. В нете теоретическая лабуда есть , а вот подобрать по параметру - ничего!
  6. flash память

    исправил... платформа IAR AVR 6.12 char tt; __flash const char Sound[] = {0,1,2}; tt = Sound[2]; компилируем имеем Error[Pe077]: this declaration has no storage class or type specifier C:\pistol\main.h 14 Error[Pe147]: declaration is incompatible with "char tt" (declared at line 11) C:\pistol\main.h 14 Error[Pe028]: expression must have a constant value C:\pistol\main.h 14 Error while running C/C++ Compiler Total number of errors: 3 Три ошибки в слове х..... многовато даже для двоешника причем порядок ключевых слов при объявлении массива компилятор пропускает в любом порядке ,но как только константу из флеша присваиваю переменноц так три ошибки одну ошибку извел объявив переменную int __flash const char Sound = 6; int tt; tt = Sound; имеем Error[Pe077]: this declaration has no storage class or type specifier C:\pistol\main.h 14 Error[Pe028]: expression must have a constant value C:\pistol\main.h 14 Error while running C/C++ Compiler Total number of errors: 2 Total number of warnings: 0
  7. flash память

    Добрый писать и День! Нигде не могу найти подходящую информацию как и извлекать информацию из флешь памяти (есть такая насущность) в IAR. На ассемблере таких проблем почемуто не возникало. #include <pgmspace.h> ....................... unsigned char tt; const char __flash Sound[3] = {0,1,2}; ...включаем компилятор - всё ОК! .......... далее хочу взять константу из flash ... пишу tt = Sound[2]; ( .....пробовал _flash Sound[3] ..и по всякому менял синтаксис) компилятор выдаёт ошибку: Ошибка [Pe077]: эта декларация не имеет класса хранения или спецификатор типа Ошибка [Pe147]: декларация несовместима с "неподписанные символ ТТ" Ошибка [Pe028]: выражение должно иметь постоянное значение
  8. спасибо помогло файл с расширением .еер появился- дальше опять не понятные тормоза непонятного свойства __eeprom unsigned int nabcorr; - объявил переменную void EEPROM_WriteByte(__eeprom unsigned int *nabcorr, unsigned int value) { ucha save; while (EECR & (1<<EEPE)); //????? EEAR =(unsigned int) nabcorr; EEDR =value; save = SREG; SREG &= ~(1 <<7); EECR |= (1<<EEMPE); EECR |= (1<<EEPE); SREG = save; } окомпилировал (регистр ATmega324) - ошибок не выдает попытка что нибудь записать в ЕЕПРОМ EEPROM_WriteByte(__eeprom &nabcorr, 5) ; получаем Error[Pe029]: expected an expression C:\pistol\main.c 127 Error while running C/C++ Compiler
  9. Добрыйй ,День! Помогите решить проблему. Есть необходимость поработать с ЕЕПРОМом Как я понимаю нужно открыть файл с расширением .еер Нашёл рекомендации (с картинками) на :http://chipenable.ru/index.php/programming-avr/item/158-avr-rabota-s-eeprom-na-si.html У меня IAR 6/12/1 начал выдавать следующую ошибку: Fatal Error[e163]: The command line symbol ".hex" in -D-Ointel-standard.(CODE)=.hex is not defined. Error while running Linker Не могу понять... наверно нужно прицепить в заголовок типа //#include <avr/eeprom.h>.......но типа eeprom.h файлов поисковик не находит
  10. Подобную задачу (нагрева) мне удалось решить... Инженеры-подельники были в восторге. Берём нихром или фехраль приличного сечения (я применял проволку 8мм сечения и не боимся применять ещё толще). Притуляем сварочный трансформатор и прибор регулировки температуры ,что то типа ТРМ конторы "Овен" с ПИД регулятором ,прилаживаем симистор (если там его нет ,лучше обойтись без 3-х фазки) и греем. Какие плюсы? Компактно , безопасно, просто в осуществлении ибо напруга несколько вольт и не требуется изощрённая изоляция накрайняк шамот пойдёт и что очень важно безгеморойно
  11. Индуктор не может находиться "внутри" ... нагреваемый объект должен быть внутри катушки индуктора.... стоматологический индуктор 2-2.5 кВт... прикиньте мощность для своей задачи! .. стало быть водяное охлажение.. оно Вам надо?
  12. Всем спасибо, вразумили и направили! Обязательно проработаю эту тему несмотря на то что решил решать проблему в лобешник.... поставлю Р-канальный ФЕТ IRFH9310 - сделал для себя небольшое открытие 4,6 мОм D-S и в продаже есть и недорогой вот бы ещё входную ёмкость поменьше.
  13. N - типа ... применять Р-тип не очень хочется. В учебниках случай МОСФЕТА в истоковом повторителе найти не могу.... ну так чтобы с формулами - только на пальцах разводят... ну вроде как напряжение должно быть на затворе выше чем на стоке. (Как пишет уважаемый Herz) А почему? ..ведь гальванической цепи как в случае биполярника нет! .. ну разве что в динамике пока ёмкость затворная заряжается Да вот ещё! ... неоднократно находил в импульсных блоках питания (понижающих) выход с общим истоком.. то есть разработчик как -то не особенно заморачивается - берёт транзистор N-типа и тулит его ибо он у него в ведре лежит
  14. Друзья! В исток MOSFETа включаем эл. мотор . На затвор подаём напряжение то же что и на сток (12 Вольт). Могу ли я полагать что канал D - S откроется полностью? Вроде как истоковый повторитель должен повториться до напряжения на затворе .... ?