[image]

Кобра III

 
1 61 62 63 64 65 78
UA Non-conformist #19.05.2013 22:02  @Xan#19.05.2013 18:30
+
-
edit
 

Non-conformist

аксакал

Для отладки на математическом (симулятор) уровне, компом смотреть наверное удобнее. У меня немного другой подход - всё в железе, чисто экспериментально. А математика даёт только диапазон, в пределах которого нужно крутить коэффициенты. Кроме того, я ничего не исключаю. Сейчас первая задача - оживить электромеханику. Посмотреть, на что ЭТО будет похоже в реальности. И сделать бодрящий ролик.

зы: А первейшая задача - закончить стенд.
зы: Поздравил себя - оба моих датчика имеют SPI.
   
UA Non-conformist #27.05.2013 17:42  @Non-conformist#19.05.2013 22:02
+
-
edit
 

Non-conformist

аксакал

Вот что нашёл касательно ручного управления сервомотором с помощью потенциометра (см. пост выше). Как мне кажется, очень близко к тому, что нужно (PIC16F877A):

Running small motors with PIC microcontrollers » Программирование устройств на PIC микроконтроллерах

Название: Running small motors with PIC microcontrollers Автор: Harprit Singh Sandhu Год: 2009 Страниц: 352 Формат: pdf Размер: 2,72 MB Описание: Программирование микроконтроллеров PIC для з // pic.rkniga.ru
 

TURNING POTENTIOMETER TO CONTROL MOTOR

Program 15.3 also demonstrates one of the ways in which a potentiometer (in this case acting as an error signal) can control the position of an encoded motor. In our case the potentiometer provides a count of up to 255 so we can move the motor about three turns (as set up with the 42-slot encoder, each slot in the encoder gives us two counts because the PIC 18F4331 has been set to read both the rising and falling edge of the signal).

If we want the motor to move more than three turns, we can use a multiplier to
change the value read from the potentiometer, but we are still limited to the 255 dif-ferent positions that the potentiometer provides. (We can also read the potentiometer as a 10-bit variable, which will give a reading of from 0 to 1023.)
As we add or subtract the potentiometer reading from the register that contains the
encoder counts to bring the motor to its set position, we have a rudimentary motor
control algorithm. Of course there are many improvements to be made, but basically
that is what we are trying to do with all programs that control encoder coupled
motors.

Program 15.3 provides the rudimentary control needed to hold a motor on an encoder position as just described. Later programs modify this code to add the features and refinements we have been discussing. As you turn the potentiometer further and
further, the motor moves further and further—that is, it follows the potentiometer. The motor moves because the potentiometer position is being added to the target register (not the position register) each time through the loop. It is not cumulative. The LCD display shows the contents of the four low bits of PORTC and the 16-bit position register and the gain so we can see what is going on.

What we have is a simple motor position controller operated from a potentiometer.
This would be an easy way to move a controlled device in a laboratory set up. With a few wire extensions you could also do the following:

- Move a control lever remotely
- Open and close a motorized gate
- Remove yourself from a dangerous environment
- Turn a knob or a steering wheel on a car with a large servo
- Control one axis of the orientation of a remote camera
- Use the remote motor as a general purpose positioning servo

The controlling input does not have to be the potentiometer; any of the methods that we have at our disposal to read resistances, capacitances, frequencies, and so on with the 16F877A can be used as the input signal. We can use a hobby R/C signal to create a remotely operated radio controlled system.

Let us modify the control algorithm to add one to the gain during each pass through
the zeroing loop (integrating the gain) if the motor is not at its home position. This will make the motor move to its target position more and more strongly each time through the loop if is not at the target position. If unrestrained, the gain will again cause the motor to over control and go into oscillations. You can watch the position and the gain on the LCD as you move the motor shaft back and forth. Note that, as always, the gain has to be limited to 255 to keep the gain byte from overflowing. It may also have to be limited to a less aggressive value to prevent over control.

Program 15.3 Hold position, proportional gain with integration added.
Sophisticated “holding a motor on position” program. Potentiometer value is added
to the motor target position.

code text
  1. CLEAR ; clear memory
  2. DEFINE OSC 20 ; 20 MHz clock (40 better)
  3. DEFINE LCD_DREG PORTD ; define LCD connections
  4. DEFINE LCD_DBIT 4 ; 4 data bits
  5. DEFINE LCD_BITS 4 ; data starts on bit 4
  6. DEFINE LCD_RSREG PORTE ; select register
  7. DEFINE LCD_RSBIT 0 ; select bit
  8. DEFINE LCD_EREG PORTE ; enable register
  9. DEFINE LCD_EBIT 1 ; select bit
  10. LOW PORTE.2 ; set bit low for writing to the LCD
  11. DEFINE LCD_LINES 2 ; lines in display
  12. DEFINE LCD_COMMANDUS 2000 ; delay in μs
  13. DEFINE LCD_DATAUS 50 ; delay in μs
  14. DEFINE ADC_BITS 8 ; set number of bits in result
  15. DEFINE ADC_CLOCK 3 ; set clock source (3=rc)
  16. DEFINE ADC_SAMPLEUS 50 ; set sampling time in μs
  17. DEFINE CCP2_REG PORTC ; hpwm 2 pin port
  18. DEFINE CCP2_BIT 1 ; hpwm 2 pin bit 1
  19. CCP1CON=%00111111 ; set status register
  20. TRISA =%00011111 ; set status register
  21. LATA =%00000000 ; set status register
  22. TRISB =%00000000 ; set status register
  23. LATB =%00000000 ; set status register
  24. TRISC =%00000000 ; set status register
  25. TRISD =%00000000 ; set status register
  26. ANSEL0=%00000001 ; page 251 of data sheet, status
  27. ; register
  28. ANSEL1=%00000000 ; page 250 of data sheet, status
  29. ; register
  30. QEICON=%10001000 ; page 173 counter set up, status
  31. ; register
  32. INTCON=%00000000 ; set status register
  33. INTCON2.7=0 ; set status register
  34. ;
  35. POSITION VAR WORD ; set variables
  36. TARGET VAR WORD ; set variables
  37. MOTPWR VAR WORD ; set variables
  38. POTVALUE VAR BYTE ; set variables
  39. INTPWR VAR BYTE ; set variables
  40. PORTC.0=0 ; break off, motor control
  41. PORTC.1=0 ; PWM bit for Channel 2 of HPWM
  42. PORTC.2=0 ; PWM bit for Channel 1 of HPWM
  43. PORTC.3=1 ; dir bit for motor control
  44. PAUSE 500 ; LCD start up pause
  45. LCDOUT $FE, $01, "START/CLEAR" ; clear message
  46. PAUSE 100 ; pause to see message
  47. POSCNTH=125 ; set counter for encoder, H bit,
  48. ; 32000
  49. POSCNTL=0 ; set counter for encoder, L bit
  50. ;
  51. LOOP: ; main loop
  52. ADCIN 0, POTVALUE ;
  53. POSITION=256*POSCNTH + POSCNTL ; read position registers
  54. TARGET =32000 +POTVALUE ; add pot value to position
  55. SELECT CASE TARGET ;
  56. CASE IS= POSITION ; at 32000
  57. MOTPWR=0 ; turn off motor
  58. INTPWR=0 ; zero integral gain
  59. HPWM 2, 0, 20000 ; C.1 PWM signal, stop motor
  60. CASE IS< POSITION ; under count
  61. PORTC.3=0 ; set direction fwd
  62. MOTPWR=POSITION- TARGET +10 ; set motor gain
  63. CASE IS> POSITION ; over count
  64. PORTC.3=1 ; set direction reverse
  65. MOTPWR= TARGET –POSITION +10 ; set motor gain
  66. CASE ELSE ; empty
  67. END SELECT ; end decision
  68. IF POSITION<>TARGET THEN INTPWR=INTPWR +1 ; add 1 to
  69. ; integral gain
  70. IF INTPWR>90 THEN INTPWR=90 ; limit integral fn to 90
  71. MOTPWR=MOTPWR +INTPWR ; add integral to motor gain
  72. IF MOTPWR>255 THEN MOTPWR=255 ; allow half of full power
  73. HPWM 2, MOTPWR, 20000 ; C.1 PWM signal
  74. LCDOUT $FE, $80, "PRTC=",BIN4 PORTC," GAIN=",DEC3 MOTPWR
  75. ; display
  76. LCDOUT $FE, $C0, "POS =",DEC5 POSITION+POTVALUE ; display
  77. GOTO LOOP  ; go back to loop
  78. END ; all programs must end with END
   
UA Non-conformist #27.05.2013 17:54  @Non-conformist#27.05.2013 17:42
+
-
edit
 

Non-conformist

аксакал

Скачанную книжку я положил в общую папку ДБ.
   
UA Non-conformist #05.06.2013 15:11  @Non-conformist#27.05.2013 17:54
+
-
edit
 

Non-conformist

аксакал

???
1. Подтяжки SPC, SDI, SDO датчиков к питанию (МК).
2. Четыре кнопки на один AN-вход (делители).
3. ICSP (сколько, чего и куда).
4. Питание аналоговой части (дросселя, фильтры).
5. Память 512К - расход.
   
Это сообщение редактировалось 05.06.2013 в 15:41
KZ Xan #05.06.2013 18:03  @Non-conformist#05.06.2013 15:11
+
-
edit
 

Xan

координатор

Non-conformist> 1. Подтяжки SPC, SDI, SDO датчиков к питанию (МК).

Подтяжки пригодится только для SDO.
Остальные активно держит МК.

Non-conformist> 2. Четыре кнопки на один AN-вход (делители).

???

Non-conformist> 3. ICSP (сколько, чего и куда).

Для пика всего 5 проводов: земля, питание, сброс, даты и клоки.
Питание от программатора нужно только если программировать неподключенную плату.
На самой плате сброс соединяется с питанием через 10 килоом.

Non-conformist> 4. Питание аналоговой части (дросселя, фильтры).

Моторы за пределами внутреннего питания, так что ничего особенного не нужно.

Non-conformist> 5. Память 512К - расход.

?
   10.010.0
UA Non-conformist #05.06.2013 19:43  @Xan#05.06.2013 18:03
+
-
edit
 

Non-conformist

аксакал

Non-conformist>> 2. Четыре кнопки на один AN-вход (делители).
В правом нижнем углу схемы. Примерно так же (матрично) подключают до шестнадцати клавиш на руль (авто) - двумя проводами: Гамма Санкт-Петербург. Электронные компоненты. Большие возможности маленького контроллера.

Non-conformist>> 5. Память 512К - расход.
Имеется в виду - на сколько (секунд, минут) хватит 512Кб при разумном расходе (герц пятьдесят, я думаю?) битов памяти на запись:

1. Показаний гироскопа
2. Показаний акселерометра
3. Показаний датчика положения кардана РДТТ
4. Токов потребления актуаторов
5. Разовых команд на бортовые воспламенители
6? Напряжения силовой батареи?

Остальное вроде понятно... Дорисовал.
Прикреплённые файлы:
 
   
UA Non-conformist #05.06.2013 20:10  @Non-conformist#05.06.2013 19:43
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Имеется в виду - на сколько (секунд, минут) хватит 512Кб при разумном расходе (герц пятьдесят, я думаю?) битов памяти на запись:
10б х 50 Гц х 60 с = 30 Кб*мин
Грубо 30 Кб*мин х 6 трендов = 180 Кб*мин
512 / 180 = почти на три минуты записи, а с учётом одноразовых команд - наверно и больше трёх минут. Правильно?
   
KZ Xan #05.06.2013 20:18  @Non-conformist#05.06.2013 19:43
+
-
edit
 

Xan

координатор

Non-conformist> 1. Показаний гироскопа
6 байтов
Non-conformist> 2. Показаний акселерометра
6
Non-conformist> 3. Показаний датчика положения кардана РДТТ
2...4
Non-conformist> 4. Токов потребления актуаторов
2
Non-conformist> 5. Разовых команд на бортовые воспламенители
1
Non-conformist> 6? Напряжения силовой батареи?
1

6 + 6 + 4 + 2 + 1 + 1 = 20 байт, 160 бит

524288 / 160 / 50 = 65.536 секунд

Ну, ещё можно шимы писать, чтоб потом посмотреть, правильно ли прога работала.

Поскольку там 10 и 12 битные значения, можно поуплотнять. Если весь блок сделать размером 128 бит, возможно будет проще работать с памятью.
А может быть и нет.
   10.010.0
UA Non-conformist #05.06.2013 20:35  @Xan#05.06.2013 20:18
+
-
edit
 

Non-conformist

аксакал

Понятно... Т.е. вроде как подходит память 512Кб на борт.

А что скажешь о четырёх кнопках на одной аналоговой ноге?
   
RU Андрей Суворов #05.06.2013 21:25  @Non-conformist#05.06.2013 20:35
+
-
edit
 

Андрей Суворов

координатор

Non-conformist> Понятно... Т.е. вроде как подходит память 512Кб на борт.
Non-conformist> А что скажешь о четырёх кнопках на одной аналоговой ноге?

нормально работает. можно и 8.
   7.07.0
UA Non-conformist #05.06.2013 22:54  @Андрей Суворов#05.06.2013 21:25
+
-
edit
 

Non-conformist

аксакал

Да, пишут что 16-клавишная панель на руле надёжно управляет автомагнитолой по двум проводам.
   
UA Non-conformist #05.06.2013 22:59  @Non-conformist#05.06.2013 22:54
+
-
edit
 

Non-conformist

аксакал

***
(В сторону)

Две петли ПИД получаются: "малая" - чтобы кардан с мотором быстро перемещался и в каждом новом положении не ёрзал; и "большая" - чтобы корпус пепелаца не ёрзал попусту в пространстве.

С двумями карданами (мастером-задатчиком и слейвом-исполнителем) полностью отлаживается "малая", электромеханическая, петля ПИД - не выходя из-за письменного стола. А вот для "большой" петли уже нужен стенд и РДТТ...
   
UA Non-conformist #06.06.2013 10:15  @Xan#05.06.2013 20:18
+
-
edit
 

Non-conformist

аксакал

Non-conformist>> 1. Показаний гироскопа
Xan> 6 байтов
...
Да, я совсем забыл про канал Z - стабилизация по крену. Маховик с приводом от автомагнитольного моторчика уже изготовлен. Ворочает подвешенную на нитке трёхкилограммовую чушку весьма энергично.

Не знаю, драйвер 33486 для этого моторчика сильно избыточен, но с другой стороны он есть в наличии, и достался мне бесплатно. С третьей стороны - собираюсь закупаться ПИКами и памятью, поэтому если кто-нибудь посоветует что-то вроде L293 (недорогое, по возможности одноканальное), то буду весьма признателен.

Кобра III [Non-conformist#27.09.12 16:46]

Да. С маховиком реактивный момент существенно выше! Нашёл стальной диск 185 граммов, прилепил его термоклеем к пластиковому шкиву магнитофонного моторчика, а моторчик - к трёхкилограммовой болванке, подвешенной на строенной суровой нитке, двусторонним скотчем. В моменты реверсирования моторчика наблюдаются довольно энергичные рывки болванки вокруг своей оси - на глаз около тридцати-сорока градусов в секунду. Похоже - то, что надо! Наибольшая мощность (в момент реверса) получается 7 В х 500 мА.…// Ракетомодельный
 



зы: Читаю свои же тексты как сообщения незнакомого человека. Даже интересно местами...
   
KZ Xan #06.06.2013 11:37  @Non-conformist#06.06.2013 10:15
+
-
edit
 

Xan

координатор

Non-conformist> Да, я совсем забыл про канал Z - стабилизация по крену. Маховик с приводом от автомагнитольного моторчика уже изготовлен.

Там управление может быть такое: подаёшь ему импульс определённой длительности, пропорционально длительности меняется угловая скорость. То есть, можно сразу остановить вращение.
Это если питать постоянным током, а не напряжением. Ну, балластный резистор последовательно моторчику, например.

По другим координатам гораздо хуже.
   10.010.0
UA Non-conformist #06.06.2013 12:22  @Xan#06.06.2013 11:37
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Управление по крену (Z-маховик).
Xan> Там управление может быть такое: подаёшь ему импульс определённой длительности, пропорционально длительности меняется угловая скорость. То есть, можно сразу остановить вращение. Это если питать постоянным током, а не напряжением. Ну, балластный резистор последовательно моторчику, например.
А можно осуществить такое управление оставшимися ногами? Это же тоже ШИМ получается, только медленный? Аппаратный ШИМ уже весь использован...

Xan> По другим координатам гораздо хуже.
Ну, это понятно, хе-хе. О чём и весь этот базар, собсно.
   
UA Non-conformist #06.06.2013 12:59  @Non-conformist#06.06.2013 10:15
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Не знаю, драйвер 33486 для этого моторчика сильно избыточен, но с другой стороны он есть в наличии, и достался мне бесплатно. С третьей стороны - собираюсь закупаться ПИКами и памятью, поэтому если кто-нибудь посоветует что-то вроде L293 (недорогое, по возможности одноканальное), то буду весьма признателен.
Посмотрел ток потребления L293 в дежурном режиме (в ней тоже, как и в 33486-х, есть вход "Enable") = 15 мА. Т.е. не получится напрямую включать-выключать канал, как в случае 33486 (у них дежурный ток не превышает 10 мкА).

Нельзя ли поставить некий внешний ключ, который бы нормально (до единиц мкА) выключал бы логическую часть драйвера? Или миллиамперные токи будут продолжать течь через силовую часть? Хм...
   
UA Non-conformist #06.06.2013 14:35  @Non-conformist#06.06.2013 12:59
+
-
edit
 

Non-conformist

аксакал

Вот что у меня со свободными ногами получилось:

1: RC7_RX_DT - USART
6: Vss - земля
7: Vdd - питание
8: Vdd - питание
12: RB3_PGM - ICSP
13: NC - не подключен
16: RB6_PGC - ICSP
17: RB7_PGD - ICSP
18: MCLR_Vpp - master clear ??
27: RE2_CS_AN7
28: Vdd - питание
29: Vdd - питание
30: Vss - земля
31: Vss - земля
32: OSC1_CLK1 - кварц
33: OSC2_CLK0 - кварц
44: RC6_TX_CK - USART

________
Итого реально забыл я всего одну ногу, #27: RE2_CS_AN7. Вместе с тремя ногами ICSP, на которые, как я понял, можно вешать и кнопки, получаются ещё четыре свободные ноги. ???
Прикреплённые файлы:
 
   
UA Non-conformist #06.06.2013 14:59  @Non-conformist#06.06.2013 14:35
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Итого реально забыл я всего одну ногу, #27: RE2_CS_AN7.
Но так как там были совмещённые ноги AN5 и AN6, то сейчас я сделал нормально, теперь вроде ничего не "перекрещивается" и всё помещается комфортно:

1. Три отладочные кнопки вешаются параллельно и постоянно на три поджигалки. Они друг другу никак не помешают - в поджигалках всё равно мелкие конденсаторы стоят.
2. Два входа, которые принимают данные мастер-кардана, после наладки электромеханики перепрограммируются в два выхода управления каналом Z. Даже ФНЧ выпаивать не нужно имхо. А включение/выключение канала Z запараллелить с WAKE драйверов Х_У.

И получается полным-полна коробочка!
   
KZ Xan #06.06.2013 15:00  @Non-conformist#06.06.2013 14:35
+
-
edit
 

Xan

координатор

Non-conformist> А можно осуществить такое управление оставшимися ногами? Это же тоже ШИМ получается, только медленный? Аппаратный ШИМ уже весь использован...

Можно, скорее всего.
Можно прерывания от таймера с большой частотой сделать и в них организовать программный шим. Неторопливый или с низким разрешением.

Non-conformist> Вот что у меня со свободными ногами получилось:
Non-conformist> 12: RB3_PGM - ICSP

Этого смело можно на что-то использовать. Как обычный пин.
Функция "низковольтного программирования" нафиг не нужна и не всё может.
Я её всегда блокирую фьюзами. Иначе возможны чЮдеса! :)

Non-conformist> 16: RB6_PGC - ICSP
Non-conformist> 17: RB7_PGD - ICSP

Да, можно совмещать с кнопками.

Non-conformist> 18: MCLR_Vpp - master clear ??

Нормально = питанию (через резистор на плате).
Сброс, если дёргать к нулю (MCLR).
Напряжение программирования ("высоковольтное программирование") = 13 вольт (Vpp), когда зашиваешь.
В отличие от атмеля, пик перешивается из любого состояния.

Non-conformist> 32: OSC1_CLK1 - кварц
Non-conformist> 33: OSC2_CLK0 - кварц

Да.

Non-conformist> Вместе с тремя ногами ICSP, на которые, как я понял, можно вешать и кнопки

С двумя (RB6, RB7).
Если к MCLR подцепить кнопку на землю, то она будет сбрасывать МК. Никогда такое мне не нужно было.
   10.010.0
UA Non-conformist #06.06.2013 15:10  @Xan#06.06.2013 15:00
+
-
edit
 

Non-conformist

аксакал

Non-conformist>>> 1. Три отладочные кнопки вешаются параллельно и постоянно на три поджигалки.
Non-conformist>> Вместе с тремя ногами ICSP, на которые, как я понял, можно вешать и кнопки
Xan> С двумя (RB6, RB7).
Ну, тогда получается ПЯТЬ кнопок. ))
   
KZ Xan #06.06.2013 15:31  @Non-conformist#06.06.2013 15:10
+
-
edit
 

Xan

координатор

Non-conformist>>>> 1. Три отладочные кнопки вешаются параллельно и постоянно на три поджигалки.

Зачем?
Ещё полно свободных ног.

Моя идея поджигалки, кстати, состояла из двух транзисторов.
Включенных последовательно.
Именно для того, чтоб если один из транзисторов внезапно сдох, чтоб детали своего организма не пострадали.

Ну и один из них управляется потенциально, а другой от выпрямителя импульсами.
Это уже от сбоев МК.

А ещё можно к точке соединения транзисторов подключить через резисторы два светодиода, один к земле, другой к питанию.
Тогда в спокойном состоянии они оба будут слабо гореть или не гореть вообще.
А когда один из транзисторов включен, будет ярко гореть один светодиод.
Включив верхний транзистор, можно (по светодиоду) проверить целостность воспламенителя.
Я планировал эту точку к АЦП подключать для контроля в МК.
(Один транзистор с выпрямителем, и несколько потенциальных к воспламенителям.)
   10.010.0
UA Non-conformist #06.06.2013 16:07  @Xan#06.06.2013 15:31
+
-
edit
 

Non-conformist

аксакал

Xan> Ещё полно свободных ног.
Зависит от количества кнопок, однако! )) Сколько рисовать?
зы: По поджигалкам - тут я думаю, что, как ты говоришь, "лучшее - враг хорошего". Да и ног не хватает, чтобы ещё тремя транзисторами рулить. Остановлюсь пока на детекторе, авось ничего не пробьёт.

***
По L293:

От усилителя тока к драйверу L293.

Внимание: в тексте используются анимированные изображения. В прошлой части статьи мы ознакомились со схемой усилителя тока и описали его работу. Если внимательней рассмотреть такой двухтактный усилитель тока, то можно заметить, что его выход оказывается как бы подключён то к плюсу источника питания, то к минусу, в зависимости от уровня входного напряжения. То есть усилитель тока работает как переключатель, как электронный ключ! В таком случае так и говорят: "усилимтель работает в ключевом режиме". Теперь, чтобы легче понять логику работы L293, заменим её внутреннюю схему на условные блоки в виде электронных ключей или переключателей (Анимация 1-а). // Дальше — myrobot.ru
 
   
UA Non-conformist #06.06.2013 16:22  @Xan#06.06.2013 11:37
+
-
edit
 

Non-conformist

аксакал

Xan> Там управление может быть такое: подаёшь ему импульс определённой длительности, пропорционально длительности меняется угловая скорость. То есть, можно сразу остановить вращение.
Xan> Это если питать постоянным током, а не напряжением. Ну, балластный резистор последовательно моторчику, например.
А как это будет выглядеть в непрерывном процессе? Ну, типа внешнее возмущение пытается развернуть пепелац по крену, а мотор синхронным вращением маховика непрерывно парирует это дело. Будет ли в таком режиме работать?

Второй пункт - можно ли будет не только стабилизировать в ноль, но и управлять быстрым и чётким разворотом корпуса, например на 90 градусов по крену? В перспективе, если пофантазировать?
   
KZ Xan #06.06.2013 17:05  @Non-conformist#06.06.2013 16:22
+
-
edit
 

Xan

координатор

Non-conformist> А как это будет выглядеть в непрерывном процессе?

Берётся сигнал скорости прямо с гироскопа и пропорционально ему выдаётся импульс на мотор.
При этом не будет поддерживаться угол, а только будет обнуляться скорость вращения.
Думаю, на несколько секунд хватит.

Ну а если сигнал с гироскопа интегрировать, то можно и положение поддерживать.

Non-conformist> Второй пункт - можно ли будет не только стабилизировать в ноль, но и управлять быстрым и чётким разворотом корпуса, например на 90 градусов по крену? В перспективе, если пофантазировать?

Можно.
Программу полёта надо как-то задавать.
   10.010.0
UA Non-conformist #07.06.2013 14:36  @Xan#06.06.2013 17:05
+
-
edit
 

Non-conformist

аксакал

В свете последних решений (о переходе с SPI на I2C)...

Получается так, что вообще вся ранее разработанная периферия (на основе ардуинской) у меня остаётся без малейших изменений - стОит лишь поднять питание МК с трёх вольт до пяти. Посмотрел ДШ 877а - так там до 7,5 В допускается. Ну и нафиг нам эти три вольта получаются?

Запитать МК от пяти вольт - и получим готовую, ОПРОБОВАННУЮ ПРАКТИЧЕСКИ разводку платы датчиков, и полностью готовую принципиальную схему всего борта Кобры... Останется развести плату драйверов, но и она у меня практически уже готова. Хм...

Какой кварц нужен для пятивольтового 877-го? 14.7456 ?

зы: Сделав двухнедельный круг, прибыл СТРОГО в точку старта. ))
   
Это сообщение редактировалось 07.06.2013 в 14:44
1 61 62 63 64 65 78

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru