2019-03-11 00:11:56 +03:00

48 lines
1.2 KiB
Markdown

Servo motors SG-90 management
=============================
## GPIO
- PA0 - (ADC_IN0) - Servo1 control,
- PA1 - (ADC_IN1) - Servo2 control,
- PA2 - (ADC_IN2) - Servo3 control,
- PA3 - (ADC_IN3) - external analogue signal,
- PA4 - (PullUp in) - ext. input 0,
- PA5 - (PullUp in) - ext. input 1,
- PA6 - (TIM3_CH1) - Servo1,
- PA7 - (TIM3_CH2) - Servo2,
- PA9 - (USART_Tx) - TX,
- PA10 - (USART_Rx) - RX,
- PA13 - (PullUp in) - Jumper 0,
- PA14 - (PullUp in) - Jumper 1,
- PB1 - (TIM3_CH4) - Servo3,
- PF0 - (OpenDrain) - Buzzer,
- PF1 - (OpenDrain) - External LED (or weak laser module).
## UART
115200N1, not more than 100ms between data bytes in command.
To turn ON human terminal (without timeout) send "####".
## Protocol
All commands are in brackets: `[ command line ]`.
'[' clears earlier input; '\n', '\r', ' ', '\t' are ignored.
All messages are asynchronous!
## Commands
* **d** - debugging commands:
* **A** - get raw ADC values,
* **w** - watchdog test;
* **R** - reset;
* **t** - get MCU temperature;
* **V** - get VDD value.
## Messages
## Servos
The board controls up to three servos like SG-90.
Three timer's outputs used for this purpose. Timer frequency 50Hz, pulse width from 500 to 2400us.