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

simsim

Участник
  • Постов

    45
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о simsim

  • Звание
    Участник
    Участник

Контакты

  • Сайт
    Array
  • ICQ
    Array
  1. есть платка без ЖКИ (разрушен ударом) - мерит и показывает частоту вращения и температуру одноцилиндрового ДВС... ЖКИ прямоугольный, 2ряда по12 контактов с одной стороны и 2 ряда по 4 контакта с другой. может отображать 5цифр частоты и 3 цифры температуры. также отображает слова- AIM xy OK DATA NO RPM RATIO MAX CENT or FAHRTOT run clr data DONE. можно ли найти аналог ЖКИ? или это заказной какой-то ЖКИ?
  2. посадил RESET 7705 на мегу... нашел готовый код http://user.chol.com/~ascbbs/ccscdrv2/AD7705.C помогло... :smile3046: Clock reg = 0x1d
  3. конечно же пишу 0х... unsigned - 0...65535 в CVAVR... поделитесь плиз процедурками чтения и записи в нее?
  4. ну и головняк эта 7705... с 7816 работал нормально,но 12бит не хватает... заказал 8320, а 7705 на помойку , хоть и интересно почему не заработала... раньше CS сидела на земле. мож дело в кварце? 4Мгц много. но регистры должны читаться все-равно ? кварц только для преобразования нужен?
  5. D_IN,D_OUT это функционал 7705, все подключено правильно. пробую записать и прочитать Clock registr. i=FF write7705(20); write7705(1C); write7705(28); i=read7705();
  6. #define CS PORTB.2 #define CLK PORTB.5 #define DRDY PINB.0 #define D_IN PORTB.3 #define D_OUT PINB.4
  7. пробую так... сделал обнуление D_IN.. сделал сдвиг как научили... тоже не работает void write7705(unsigned char u8) { unsigned char j=0; CS=CLK=1; D_IN=0; delay_us(us1); CS=0; while(j<8) { delay_us(us1); CLK=0;D_IN=0; if (u8 &(1<<(7-j))) D_IN=1; delay_us(us1); CLK=1; j++; } delay_us(us1); CS=1; } unsigned read7705(void) { unsigned char j=0; unsigned result=0; CS=CLK=1; delay_us(us1); while(DRDY); delay_us(us1); CS=0; while(j<16) { delay_us(us1); CLK=0; delay_us(us1); adc_rez[j]='0'; result<<=1; if (D_OUT==1) {adc_rez[j]='1'; result|=1;} CLK=1; j++; } CS=1; return result; }
  8. или - будет работать такой код ? у меня не работает, пробую считать регистры,пишет ff... write7705(unsigned char u8) { unsigned char j=0; CS=CLK=1; delay_us(us1); CS=0; while(j<8) { delay_us(us1); CLK=0; delay_us(us1); if (u8 &(1<<(7-j))) D_IN=1; else D_IN=0; CLK=1; j++; } delay_us(us1); CS=1; } unsigned read7705(void) { unsigned char j=0; unsigned result=0; CS=CLK=1; delay_us(us1); while(DRDY); delay_us(us1); CS=0; while(j<16) { delay_us(us1); CLK=0; delay_us(us1); CLK=1; delay_us(us1); adc_rez[j]='0'; if (D_OUT) {adc_rez[j]='1'; result=result+pow(2,15-j);} j++; } CS=1; return result; }
  9. подскажите плиз как правильно сконфигурировать 7705 для измерения напряжения 50 раз в секунду. и будет ли вообще работать 7705 с таким кварцем? и с мегой на 1Мгц... примеров видел много,но ни один не работает...нужен код на Си...что лучше - через стандартный SPI или своими циклами ? DDRB = ((1<<MOSI)|(1<<SCLK)|(1<<SS)); //Enable SPI, Select Master, SCLK idles high, //Sample on rising edge Setup on falling edge, //SCLK=F_CPU/4 SPCR =0x52; //((1<<SPE)|(1<<MSTR)|(1<<CPOL)|(1<<CPHA)); //Serially reset the Chip SPDR = 0xFF; //Wait for transfer while(!(SPSR & (1<<SPIF))); //Serially reset the Chip SPDR = 0xFF; //Wait for transfer while(!(SPSR & (1<<SPIF))); //Serially reset the Chip SPDR = 0xFF; //Wait for transfer while(!(SPSR & (1<<SPIF))); //Serially reset the Chip SPDR = 0xFF; //Wait for transfer while(!(SPSR & (1<<SPIF))); //Serially reset the Chip SPDR = 0xFF; //Wait for transfer while(!(SPSR & (1<<SPIF))); //Send to Comm Reg: Next Write Clk SPDR = 0b00100000; //0x20 //Wait for transfer while(!(SPSR & (1<<SPIF))); //Send to ClkReg: Clock Bits and Update rate SPDR = 0x18; //0b00011000; //Wait for transfer while(!(SPSR & (1<<SPIF))); //Send to Comm Reg: write setup SPDR = 0b00010000; //0x10 //Wait for transfer while(!(SPSR & (1<<SPIF))); //Send to Setup: FSYNC, Gain, Conditions, Self Calibration SPDR = 0b01000100; //Wait for transfer while(!(SPSR & (1<<SPIF))); while(1) { //Is DDRY pin low/data ready? //Send to Comm: next read Data SPDR = 0b00111000; // 0x38 //Wait for transfer while(!(SPSR & (1<<SPIF))); DDRB=0x10; DDRB.5=1; CLK=1; while(DRDY); delay_us(us1); CLK=0; delay_us(us1); while(i<16) { CLK=1;delay_us(us1); adc_rez[i]='0'; if(D_OUT==1) adc_rez[i]='1'; CLK=0;delay_us(us1); i++; }
  10. описание моих наработок здесь
  11. 1. 3500 оборотов можно избежать...и нужно...подобрать положение заслонки...иногда на полностью вытянутой через 2 часа не заводится... 2. надо ставить карб с бипластиной... 3. я тут подумал и решил - лучше второй аккум. возить чем автозапуск :-))) потому что у меня глючит стартер - иногда крутит впустую после запуска движка - залипает втягивающее...болгарское блин... - не оставляй машину на стоянке с включенными фарами :-)) - без оптопары в принципе можно и обойтись - если драйвер релюшек будет срабатывать от меаандра на выходе контроллера. - про масло и температуру согласен - вот и получается все так сложно... - оптопара может и откроется, а реле не сработает - переменка нужна...а если про датчики, то да,может... - брелок приделать можно,легко...только зачем-стоянка далеко... перед знакомыми что-ли рисануться? :-))) продавать - вряд ли...если сами сделаете - посмотрим....может и прошивкой поделюсь... ставить тоже не возьмусь - отвечай потом :-))) а с карбом - надо изучить цену вопроса...
  12. за 2 часа двигатель остынет не совсем, поэтому подсосом можно поиграть и открывать наполовину... еще - один знакомый подсказал что можно поставить карб от 2110 где нет подсоса... 5 неудачных попыток по 5 сек не разрядят акк... Сделал законченное устройство - датчик от генератора, два режима - тестовый 1мин-1мин-1мин и рабочий 120мин - 5мин - 10 мин. (пауза - прогрев - неудача). Применил оптопары АОТ127. Включение реле по импульсному(генерация) сигналу... Watchdog... еще можно завести питание на схему через ручник... Окончптельная схема прилагается... Схема работает !!!
  13. я думаю у половины водителей ручник не работает и они забыли где эта ручка :-))) во-вторых, делаю для себя и чтобы включить его...см.выше. сделал на четырех АОТ127 развязки: две по управлению реле импульсным сигналом с контроллера, две по приему контроллером сигналов с машины 1)от генератора(хотел от датчика давления масла,но на холодной он долго не гаснет) 2) от педали тормоза. получилась на мой взгляд неубиваемая схема :-)))
  14. ручник - слабая надежда на спасение... у меня есть проверка стартера при включении автозапуска в рабочий режим и сигнал от педали тормоза при забытии выключить автозапуск...
×
×
  • Создать...