一键导入
motor-control
Motor control algorithms and driver implementation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Motor control algorithms and driver implementation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Reference for querying the Atlas knowledge graph through its MCP tools — the SECONDARY enrichment/comparison layer that adds best-practice context to systems you have ALREADY scanned from your real sources (`az`, repos, dirs). Use when you need to look up nodes, edges, kinds, clusters, stats, or wiki pages in Atlas to compare against your real inventory. (atlas graph, query atlas, atlas mcp, search the graph, graph neighbors, atlas record, atlas kinds, enrichment layer)
Atlas turns your STATED NEED into a real systems atlas by SCANNING your actual sources (Azure via `az`, git repos, local dirs) and process/data mining them, THEN enriching against the Atlas knowledge graph. Use this skill when asked to inventory/map your real systems, scan your cloud + repos + directories, mine the real processes or data they contain, or collect their real constraints/gotchas. (atlas, scan my systems, inventory our azure account, map my repos, real systems atlas, process mining, data mining, collect nuances, system discovery)
This skill should be used when the user asks to "find skills in the wild", "assimilate popular workflows", "discover SKILL.md files in repos", "research external skills", "find workflow patterns", "survey the skill landscape", "what skills exist out there", or wants to investigate public repositories for extractable processes, babysitter plugins, and reusable procedural insights. Searches GitHub for SKILL.md files, classifies repos by archetype, and maintains structured research under docs/reference-repos/.
JavaScript and TypeScript documentation generation using JSDoc and TSDoc. Parse source code, generate API documentation, validate coverage, and integrate with TypeDoc for comprehensive developer documentation.
Structured debugging methodology using hypothesis-driven investigation, log analysis, and bisection to isolate and resolve defects.
Zero-knowledge circuit development using Circom and Noir languages. Supports constraint optimization, ZK-friendly cryptographic primitives, proof generation (Groth16, PLONK), and Merkle tree implementations.
| name | motor-control |
| description | Motor control algorithms and driver implementation |
| category | Application-Specific |
| allowed-tools | ["Bash","Read","Write","Edit","Glob","Grep"] |
| graph | {"domains":["domain:embedded-systems"],"specializations":["specialization:embedded-systems"],"skillAreas":["skill-area:rtos-programming","skill-area:firmware-development"],"roles":["role:embedded-engineer"]} |
This skill provides motor control algorithm implementation and driver development expertise for embedded systems controlling DC, BLDC, stepper, and AC induction motors.
device-driver-development.js - Motor driver implementationreal-time-architecture-design.js - Real-time control designisr-design.js - Control loop ISR designThis skill is invoked when tasks require:
| Type | Control Method | Feedback |
|---|---|---|
| Brushed DC | PWM duty cycle | Encoder optional |
| BLDC | Six-step, FOC | Hall, encoder, sensorless |
| PMSM | FOC | Encoder, resolver, sensorless |
| Stepper | Step/direction, microstepping | Open-loop, encoder |
| AC Induction | V/f, FOC | Encoder, sensorless |
typedef struct {
float i_alpha, i_beta; // Clarke transform output
float i_d, i_q; // Park transform output
float v_d, v_q; // Voltage commands
float v_alpha, v_beta; // Inverse Park output
float theta; // Rotor angle
float speed; // Rotor speed
} foc_state_t;
void foc_current_loop(foc_state_t* state, float i_a, float i_b, float i_c) {
// Clarke transform
clarke_transform(i_a, i_b, i_c, &state->i_alpha, &state->i_beta);
// Park transform
park_transform(state->i_alpha, state->i_beta, state->theta,
&state->i_d, &state->i_q);
// PI controllers
state->v_d = pi_controller(&pid_d, state->i_d_ref - state->i_d);
state->v_q = pi_controller(&pid_q, state->i_q_ref - state->i_q);
// Inverse Park
inv_park_transform(state->v_d, state->v_q, state->theta,
&state->v_alpha, &state->v_beta);
// SVPWM
svpwm_generate(state->v_alpha, state->v_beta, pwm_duties);
}
motor_control:
motor_type: bldc | pmsm | stepper | induction
control_method: foc | six_step | vf | step_dir
pwm_frequency: 20000 # Hz
current_loop_rate: 20000 # Hz
speed_loop_rate: 1000 # Hz
feedback: encoder | hall | sensorless