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

Paulina

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

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
    Участник
  1. А spi правильно настроен? полярность, фазировка клока sck? В начале перед отправкой cmd0 попробуйте пустой байт (0xff) отправить. Еще уберите put_ch('.') из внутреннего цикла (а лучше совсем). Опять же функции работы с spi неизвестно какие.
  2. Опорное напряжение определяет полярность выходного сигнала цап: Uвых=-Uref(код/4096). Поменяете полярность опорного напряжения (при неизменном модуле) - сигнал отобразится зеркально относительно нуля. Только не надо забывать, что Uref не должно превышать по модулю 15В. Все это, естественно, для случая двуполярного питания ОУ.
  3. 74hc244

    74LS07 - порог 1/2Uпит, открытый коллектор, без инверсии
  4. 1)если гасить светодиоды, то все, а у вас только порт D гасится: #define OFF_LEDS PORTD = 0b00000000 добавьте то же для других портов 2)смотрите, что у вас между 6-м и 4-м светодиодом стоит: if (Fx >= 40) { ON_LED6; } if (Fx >= 33.3) { OFF_LEDS; } while (Fx >= 26.7) { ON_LED4; я так понимаю, результат ctrl-c ctrl-v)) 3) на малых частотах входного сигнала (около 10 имп/с) ошибка будет составлять до 20% (т.к. подсчет ведется примерно за 500 мс). здесь лучше использовать измерение не количества импульсов, а их периода следования (скажем, померили период следования T в микросекундах и находите частоту по формуле N0*1000000/T, где N0 - количество оборотов на импульс, у вас это 30)
  5. Ariec, какова роль переключателей S7 и S8? За что отвечает каждое из 3х положений? В оригинальной схеме кнопка блокировки ведь только одна. S1-S6 это я так понимаю, 3 парных переключателя около водителя для контроля пассажирских подъемников? Еще, на этом рисунке: http://i004.radikal.ru/0907/2f/e89a8343c7b8.gif мне кажется сверху кнопки на пасажирской двери, а снизу на водительской, иначе смысл водителю блокировать свои же кнопки? В любом случае, по этой схеме контроллеру до лампочки обрыв массы, т.к. силовые провода заходят на него непосредственно с аккумулятора. Мне кажется, стоит оставить кнопку блокировки как есть, зачем еще дополнительное реле?
  6. одним концом на питание, другим на Reset
  7. как показывает практика, понимает. 3 вольта это как раз нижний предел для высокого логического уровня (0,6 Vcc). для полной уверенности ставьте преобразователь уровней
  8. контроллер в программаторе питается от 5 вольт, ток ограничивается резисторами на 100 или 220 ом, соответственно при питании таргета от 3 вольт ток через них будет где-то 8-15 мА. лично я поставила на выходе программатора микросхему 74LS07, так что могу выбирать уровень напряжения джампером
  9. USART-то хоть работает? попробуйте что-нибудь передать. А чтоб определить кварц виновник или нет, включите внутренний rc генератор на время
  10. Это не точность, а диапазон измерений. точность будет задаваться параметрами АЦП. для меги это 8 бит (10 бит минус различные ошибки), соответственно для диапазона 50 мА точность будет примерно 200 мкА. мне кажется тут можно использовать что-нибудь более дешевое
  11. в энергетике - в реле контроля напряжения 3-х фаз (tiny2313), в устройстве для испытаний релейных защит (mega16 вроде)
  12. в этом проекте не очень эффективное считывание данных - прочитал 1 байт (при этом раз в тридцать больше служебной информации), записал в регистр, подожал, снова считал 1 байт... проще организовать буфер в ОЗУ и сразу секторами туда
  13. Это может быть и не таймер, а реле времени (TiMe Relay). Если реле с задержкой на ВКЛЮЧЕНИЕ, то реле сработает через 10с после 2006, а отвалится одновременно с ним; если с задержкой на ОТКЛЮЧЕНИЕ, то сработает сразу, а отвалится через 10с после 2006. Уточните тип элемента. Возможно, это не счетчик а именно таймер (т.е. держит контакты определенное время, указанное ниже - 60 мин). Верхний вход - запуск, нижний сброс. Если это таймер, то он запустится и начнет отсчет времени. Информации маловато.
  14. Эти элементы могут быть и не механическими, а электронными. Видела подобные схемы на старых ПЛК Simatic от Siemens
  15. while (1) { while (PIND.0==1) {} // Проверка нажатия кнопки if (PINB.0==1) { PORTB.0=0; } // Зажигаем светодиод delay_ms (3000); // Задержка 3 сек. { PORTB.0=1; } // Тушим светодиод else { PORTB.0=0; } // Зажигаем светодиод delay_ms (3000); // Задержка 3 сек. { PORTB.0=1; } // Тушим светодиод while (PIND.0==0) {} }; } согласна с drovik, какой смысл в if-else если куски кода после них одинаковые? сделайте лучше так: while(1) { if(PIND.0==1) //если не нажата, { while(PIND.0==1); //ждем нажатия PORTB.0=0; delay_ms(3000); PORTB.0=1; } if(PIND.0==0) //если нажата, { while(PIND.0==0); //ждем отпускания PORTB.0=0; delay_ms(3000); PORTB.0=1; } } или используйте прерывания
×
×
  • Создать...