Difference between revisions of "AKENC"
From DIDEAS Wiki
m (→revisions) |
m |
||
Line 1: | Line 1: | ||
− | + | {{pf_top_nav}} | |
=AKENC Series= | =AKENC Series= | ||
Line 57: | Line 57: | ||
==firmware== | ==firmware== | ||
==hardware== | ==hardware== | ||
+ | [[Media:Example.ogg]] |
Revision as of 17:56, 2 September 2010
PF Users Navigation:
- PCB; Lifefix_users; Pf_users; benchtest_users; CalibFix Users; Hardware; Assembly ; iochan ;
- PCA : PCB ; AKENC SC/MC 218 ; FET 217 ; IMU219 ; Swifi ; Rev200_mods ; PCA Inventory
- Special Commands to the Ankle (PFCMD) : State Controller Commands; Motor Controller Commands; Python Examples; IMU Commands ;PFCMD_PY; Pf_calb_table_py; Virtual spring test; PF EEPROM
- DOC: Pf_users; Powerfoot Keyboard User Interface; Steps for Manual Tuning; "Dashboard" Program For Assisting with Tuning
- NEW (CEB) WIKI
- Torque Feedback Controller Guide
Contents
AKENC Series
revisions
- akenc3m : used for firmware development
- akenc4a : not yet tested
- akenb4m : used for firmware development
Communications with MC
- The MC clocks data from the AKENC using (a) SSI protocol. The V1 packet length is 40 bits, with position_i16, velocity_i16, and crc_8
- Many issues arise from the requirement that communication be slow enough that the Pic24 can process it, while also not wasting MC CPU time. The primarly problem results from main loop not looping for intervals of >300uS when processing a message from the SC. SSI uses timeout to find message boundaries, and our message rate is 1khz, with a SSI clock at ~10uS.
- At present the MC uses polling in its main loop to process messages. Calls to an SSI master statemachine then clock out the data. The SSI statemachine is triggered by a call from the tk_mot 10khz ISR.
ISP / Dataport
- The 9 pin ISP header is like that of the robot and can connect to a PSER for programming and receiving data.
The dataport uses that standard V2 packet, however the baudrate is non-standard (1Mbaud) and it uses little endian (-L option on wifi_fast).
- It can NOT connected to a (standard) SWIFI due to its baudrate.
- The following can be used to receive telemetry from it:
wifi_fast.py -p <SERIAL PORT> -b1000000 -V akenc -L -f xx
VLIST
The following vlist can be use for akenc.vlist:
float ssi_f float adc1 float adc2 float theta float theta_i16 float ssi_theta
In the main program "ap_main" is a data structure that is sent over dataport :
typedef struct PACKED { float32 ssi; float32 i1; float32 i2; float32 fval1; float32 fval2; float32 fval3; } USER_DATAPORT_OBJ_T;