Jump to content
    

Zx80

Участник
  • Posts

    96
  • Joined

  • Last visited

Reputation

0 Обычный

1 Follower

About Zx80

  • Rank
    Частый гость
    Частый гость

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. АМ это произведение колебаний. Я хочу записать математическое выражение для ШИМ.
  2. Решил разобраться, влез в вузовские учебники и ничего не нашел. Формирование ШИМ для усилителя класса Д при помощи пилы. Это ведь не сложение и не вычитание сигналов, но тем не менее сигнал попадает в спектр ШИМа. Подскажите плиз, куда рыть и где рыть.
  3. Ув. коллеги, мой АЦП заработал. Вот теперь можно пообсуждать особенности применения и не желательные явления. Столкнулся с тем что во время работы чипа (датчиком является тензорезистор) при попытке измерить другим прибором паралельно величину сигнала на датчике, у чипа иногда слетает калибровка, иногда но не так уж редко. Сигнал беру непосредственно с тензодатчика, промежуточный ОУ временно отключен. Что скажете по такому явлению? Сапрессор присутствует.
  4. Привет коллеги. Знает кто как правильно калибровать зверя по имени AD7714. Сейчас калибрую spiWrite( 0x14 ); /* set the channel AIN1-AIN2 the operation as a write to the mode register.*/ spiWrite( 0x20 ); /* set gain to 1, burnout current off, no filter sync, and do a self calibration */ Что означает записать режим Self-Calibration в регистр режима и установить усиление = 1 Оцифровываю 0.6 мВ получаю 0.48-0.5 мВ, но при смене полярности подводимой к AIN1-AIN2 получаю -0.8 мВ Пробовал Zero-Scale Self-Calibration все то же самое, только ошибка больше, при прямой и обратной полярности
  5. Будете говорить знак, менял местами полярность, получается в этом случае считай все единицы в во всех разрядах
  6. Если должно вычитаться, то на АЦП должно попасть 0.6мВ. Вот то что я считываю. Я считаю напряжение как (2.48 / 16777216)*(w1<<16 | w2<<8 | w3). Знает кто почему старший регистр содержит 0x80 ? Будете говорить знак, менял местами полярность, получается в этом случае считай все единицы в во всех разрядах, кроме старшего, могу показать.
  7. у меня было проблемы с записью настроек. Сейчас вопросов нет, что пишу то и читаю. Данные это три регистра 8 разрядов. Так вот в старшем возвращается 128. Это и на осцилограмме видно.
  8. Ну и я понимаю что должна вычитаться. Значит таки не правильная инициализация ? Так там это единственный бит и он у меня в нуле - дифференциальное включение. 0х6F 0110 1111 Опора RF192 2.48 вольта
  9. Вообще мне главный вопрос Не должна ли постоянная составляющая вычитаться на дифф входе ? Может вам будет полезна информация с MISO ? Между входами 0.6 мв, на осцилограмме виден старший бит Может вам будет полезна информация с MISO ? Поменял полярность Между входами те же 0.6 мв Старшего бита нет, но АЦП считай заполнился.
  10. Работаю с AD7714. Вопросы подключения решил. Кому надо отвечу в теме "Работа с AD7714" АЦП сконфигурирован как имеющий дифф вход AIN1-AIN2. На входах 2.5 вольта. Между входами 0.6 мВ. Опрашивю получаю значение 1.250227 вольта. На датчик реагирует, миливольты бегают. Никогда не работал с дифф включением. Не должна ли постоянная составляющая вычитаться на дифф входе ? Как по мне так должна. Если должна значит где то я не правильно сконфигурировал дифф вход ?
  11. Запустил работает, проблема была что чип хотел режим spi 3.
  12. Это сигнал от AD7714 на MISO контроллера при попытке считать значение которое было записано как 0x0A. Кто может прокоментировать ? Это сигнал от AD7714 на MISO контроллера при попытке считать значение которое было записано как 0xF2. Кто может прокоментировать ? Явно просматривается что то общее. и что это за беда ума не приложу. Помогайте.
  13. Привожу осцилограммы для записи значения 0x04, читаю 0x10 Опять же видно что на МОSI правильное значение, а возвращается мне другое Что это может быть за проблема ?
  14. Записываю в регистр значение. Иногда читаю правильное иногда нет. Решил снять осцилограмму. Пишу в регистр фильтра число 0xBD. Читаю на единицу меньше, т.е. 0xBС. Осцилограммы MOSI , MISO, SCK этой операции. Видно что читаю я то что на выходе. Почему AD7714 могла не принять байт правильно ? Может у них разные режимы SPI ? Я не настолько курю SPI чтобы разобраться.
  15. SPI SS формирует Атмега. Дело было в инициализировал // /* Set MOSI, SCK, SS as output */ DDRB = (1<<SPI_DDR_MOSI) | (1<<DDB4) | (1<<SPI_DDR_SCK); PORTB = (1<<SPI_PORT_MOSI) | (1<<PORTB4) | (1<<SPI_PORT_SCK); а надо было // /* Set MOSI, SCK, SS as output */ DDRB = (1<<SPI_DDR_MOSI) | (1<<DDB4) | (1<<SPI_DDR_SCK); PORTB = (0<<SPI_PORT_MOSI) | (0<<PORTB4) | (0<<SPI_PORT_SCK); в первом варианте формируется длинный импульс на SPI SS 100мс, за ним ничего не видно, ошибочно принимал этот импульс за разрешение чипа. сейчас все видно, все 6 обращений к AD7714. тестовый вариант для записи чтения трех регистров. void main(void) { // Declare your local variables here unsigned char regValues[]={0, 0, 0}; initAD7714_DRDY(); initAD7714_Reset(); spiInit(); cs_Hight(); delay_ms(2); spiWrite( 0x24 ); regValues[0] = spiWrite( 0xFF ); spiWrite( 0x34 ); regValues[1] = spiWrite( 0xFF ); spiWrite( 0x14 ); regValues[2] = spiWrite( 0xFF ); while (1) { // Place your code here } }
×
×
  • Create New...