Jump to content

    

Basilij

Участник
  • Content Count

    178
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Basilij

  • Rank
    Частый гость
  1. PV спасибо за модели! По ним гораздо быстрее разобрался с программой Femm. Множество вариаций перемоделировал. Сила магнита в Femm это я так понимаю "E". По крайней мере со всеми расчётными величинами совпадает этот параметр.
  2. PV спасибо за ваш отзыв и отдельно за модели. Худшие предположения сбылись. "До 1кг" вот на практике дверной электромагнит такие падения силы и показывает. 1) По вот этой иллюстрации вы как думаете модель соответствует действительности? А именно то что магнитное поле замыкается не через открытые части магнитопровода а именно так как Femm смоделировал? на картинке изобразил то что под вопросом. 2) Я начинаю думать что и вправду дело в форме магнитопровода. И вероятно не корректно сравнивать цилиндрический магнит с электромагнитом выполненном на "Ш" образном магнитопроводе. PV вы не могли бы "Ш" магнитопровод упростить до простого "I" сердечника и показать как замыкаются линии? Скачалл Femm но пока даже простой магнит постоянный немогу замоделировать. 3) Продавцу электромагнитов написал вопрос, не ожидал ответа, он сказал что если магнит планируется использовать как тяговый, т.е. на притяжение то этот магнит не подойдёт. Честно написал)
  3. На электромагнитах замков дверей подездных от 100 кг удержания, но уже на 1 мм расстояния сила притяжения не более 1 кг. У неодимового магнита гораздо выше сила в данном случае. Может это от формы магнитопровода зависит..
  4. Здравствуйте господа. Возможно ветку форума не ту выбрал, поправьте если что. Похоже уместнее было разместить в "Компоненты Силовой Электроники - Parts for Power Supply Design" Пожалуйста подскажите кто практически сталкивался с таким вопросом. 1) Продаются неодимовые магниты в виде диска, 40*20 мм, сила сцепления заявлена 60 кг. 2) Также у китайцев продаются электромагниты, с силой удержания(видимо она же сила сцепления) 60 кг. Он покрупнее. Отдельно указано что магнит "Удерживающий". Посчитал для Постоянного магнита что сила притягивания с расстояния 5 мм будет ~15 кг. А для электромагнита не могу насчитать ту же силу притягивания в ~15 кг с расстояния 5 мм. Конечно я точно не знаю какой провод сколько витков. И вопрос собственно. Может кто имел дело с такими электромагнитами, будет ли он по характеристикам аналогичен постоянному неодимовому магниту? Заранее спасибо за потенциально возможные комментарии.
  5. А по крепежу компрессоры все к нему подходят доступные в России?
  6. А покупали в этом же интернет магазине?
  7. Да, эти все регистры считываются корректно. Все режимы нормально работают за исключением полностью потокового чтения(Continuous Array Read). Сделал как nx6310 рекомендовал в 9 сообщении, тоже заработало. А вот режим чтение Continuous Array Read нет.
  8. Здравствуйте. Спустя две недели вновь возвращаюсь к этой задаче. У меня возник вопрос к вам. а в page вы что передаёте, 0 или 1 ? Заранее спасибо за комментарии!
  9. Уважаемый Дмитрий, подскажите, верно ли я понял что, однакратно это вообще однократно, т.е после сброса питания, я уже несмогу страницу сделать размером 528, и после полной очистки всей памяти также несмогу ничего предпринять. Т.е. под словом "однократно " следует понимать необратимость процесса после перехода с 528 на 512. Верно? Спасибо за ответы!
  10. Задумался здесь, а как AT45 определяет в каком режиме мы хотим читать по коду 0x03, в 512 или 528 !? В даташите не нашёл команды которая бы указывала памяти в каком режиме ей работать.
  11. На 30-й странице для 512 байтного режима работы. Если в этой таблице смотреть на команду 0Bh, то видно, что после команды чтения, первые три байта состоят из 2 бита - незначащие, 12 бит - адрес страницы, 10 бит - адрес байта в странице откуда следует начинать чтение. В првевых двух байтах адрес расположен по середине, когда мы применяем (char) перед (addr_page>>6), у нас сначала адрес смещается вправо, грубо говоря в младшем байте остаются 6-ть значащих бит, и с помощью (char) мы этот младший байт и берём. Во втором байте нам напротив нужно чтобы справа оставалось два бита под дрес байта, мы и сдвигаем влево на 2. Ваш код для 512 режима. Там как раз 21 бит под адрес и выходит. Хоть знаю теперь что в 512 режиме работает, правда сам не проверял у себя.
  12. Господа. По данной пробелме создавал тему в другой ветке форума http://electronix.ru/forum/index.php?showtopic=109847 Но незнаю даже верно ли там создал... но так как проблема возможно связана и с STM23 то продублирую сюда суть проблемы: Подскажите а чем сообственно координальным различаються три режима Continuous Array Read, в даташите их описано три: Continuous Array Read (Legacy Command: E8H): Up to 66 MHz; Continuous Array Read (High Frequency Mode: 0BH): Up to 66 MHz; Continuous Array Read (Low Frequency Mode: 03H): Up to 33 MHz. Пробовал все три, данные читаются некорректные. МК STM32F100C4, работает на 24 МГц. При чтении посредством буфера всё нормально и запичь и чтение. Ошибка только с тремя вышеприведёнными командами. Инициализация: SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(sFLASH_SPI, &SPI_InitStructure); SPI_Cmd(sFLASH_SPI, ENABLE); Cчитывание данных: sFLASH_CS_LOW(); sFLASH_SendByte(0x0B); sFLASH_SendByte((char)(addr_page>>6)); sFLASH_SendByte((char)(addr_page<<2)); sFLASH_SendByte(0x00); sFLASH_SendByte(sFLASH_DUMMY_BYTE);/0xAA while(1) { DACData_16bit_H = sFLASH_ReadByte(); ... } Функция sFLASH_ReadByte(): uint8_t sFLASH_ReadByte(void) { return (sFLASH_SendByte(sFLASH_DUMMY_BYTE)); } Вышеприведённые алгоритмы при получении данных не дают желаемый результат, если же читаю страницу в буфер и из буфера то всё нормальн, данные корректны: sFlash_ReadPageBuff1(2*528); while((sFlash_StatusRegisterRead()>>7)!=0x01); sFlash_ReadBuff1(BufInput1,528,0x00);
  13. Количеством DUMMY_BYTES и ещё одним параметром это конечно. По предельно частоте также ограничение. Вопрос в различиях не на уровне параметров команд, а на уровне физическом. Я на данный момент не могу однозначно понять какую команду мне следует использовать чтобы в рамках этой команды производить исследования проблемы. Частоту SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; понижал до SPI_BaudRatePrescaler_8 (24/6 = 4 МГц) но эффекта не заметил, как начинаются сбойные байты примерно после 100 чтения байта, так и до конца чтения всех байт... может есть какое то ограничение по клоку при чтении напрямую из флеша в обход буфера? по даташиту всё вроде в норме, 33 и 66.. что же такое "Legacy Command"?
  14. Здравствуйте господа. Подскажите а чем сообственно координальным различаються три режима Continuous Array Read, в даташите их описано три: Continuous Array Read (Legacy Command: E8H): Up to 66 MHz; Continuous Array Read (High Frequency Mode: 0BH): Up to 66 MHz; Continuous Array Read (Low Frequency Mode: 03H): Up to 33 MHz. Пробовал все три, данные читаются некорректные. МК STM32F100C4, работает на 24 МГц. При чтении посредством буфера всё нормально и запичь и чтение. Ошибка только с тремя вышеприведёнными командами. Инициализация: SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(sFLASH_SPI, &SPI_InitStructure); SPI_Cmd(sFLASH_SPI, ENABLE); Cчитывание данных: sFLASH_CS_LOW(); sFLASH_SendByte(0x0B); sFLASH_SendByte((char)(addr_page>>6)); sFLASH_SendByte((char)(addr_page<<2)); sFLASH_SendByte(0x00); sFLASH_SendByte(sFLASH_DUMMY_BYTE);/0xAA while(1) { DACData_16bit_H = sFLASH_ReadByte(); ... } Функция sFLASH_ReadByte(): uint8_t sFLASH_ReadByte(void) { return (sFLASH_SendByte(sFLASH_DUMMY_BYTE)); } Вышеприведённые алгоритмы при получении данных не дают желаемый результат, если же читаю страницу в буфер и из буфера то всё нормальн, данные корректны: sFlash_ReadPageBuff1(2*528); while((sFlash_StatusRegisterRead()>>7)!=0x01); sFlash_ReadBuff1(BufInput1,528,0x00); Господа заранее благодарен за ваши потенциально возможные комментарии поданной проблеме.