mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.4.0 AS5600
This commit is contained in:
parent
a4ad8b46fb
commit
dc5efd31d6
@ -1,7 +1,7 @@
|
||||
//
|
||||
// FILE: AS56000.cpp
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.3.8
|
||||
// VERSION: 0.4.0
|
||||
// PURPOSE: Arduino library for AS5600 magnetic rotation meter
|
||||
// DATE: 2022-05-28
|
||||
// URL: https://github.com/RobTillaart/AS5600
|
||||
@ -56,6 +56,7 @@ AS5600::AS5600(TwoWire *wire)
|
||||
|
||||
|
||||
#if defined (ESP8266) || defined(ESP32)
|
||||
|
||||
bool AS5600::begin(int dataPin, int clockPin, uint8_t directionPin)
|
||||
{
|
||||
_directionPin = directionPin;
|
||||
@ -65,7 +66,6 @@ bool AS5600::begin(int dataPin, int clockPin, uint8_t directionPin)
|
||||
}
|
||||
setDirection(AS5600_CLOCK_WISE);
|
||||
|
||||
_wire = &Wire;
|
||||
if ((dataPin < 255) && (clockPin < 255))
|
||||
{
|
||||
_wire->begin(dataPin, clockPin);
|
||||
@ -75,6 +75,7 @@ bool AS5600::begin(int dataPin, int clockPin, uint8_t directionPin)
|
||||
if (! isConnected()) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// FILE: AS5600.h
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.3.8
|
||||
// VERSION: 0.4.0
|
||||
// PURPOSE: Arduino library for AS5600 magnetic rotation meter
|
||||
// DATE: 2022-05-28
|
||||
// URL: https://github.com/RobTillaart/AS5600
|
||||
@ -12,7 +12,7 @@
|
||||
#include "Wire.h"
|
||||
|
||||
|
||||
#define AS5600_LIB_VERSION (F("0.3.8"))
|
||||
#define AS5600_LIB_VERSION (F("0.4.0"))
|
||||
|
||||
// default addresses
|
||||
const uint8_t AS5600_DEFAULT_ADDRESS = 0x36;
|
||||
|
@ -5,13 +5,18 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
|
||||
## [0.4.0] - 2023-06-27
|
||||
- fix #39 support for Wire2 on ESP32
|
||||
- update readme.md
|
||||
|
||||
----
|
||||
|
||||
## [0.3.8] - 2023-06-18
|
||||
- add **void burnSetting()** improvements from #38
|
||||
- use with care
|
||||
- add sketches to burn settings (use with care!)
|
||||
- minor edits.
|
||||
|
||||
|
||||
## [0.3.7] - 2023-05-09
|
||||
- change **getCumulativePosition()** to use **AS5600_ANGLE**
|
||||
so filters can be applied.
|
||||
|
@ -45,14 +45,22 @@ Please share your experiences.
|
||||
|
||||
The I2C address of the **AS5600** is always 0x36.
|
||||
|
||||
The AS5600 datasheet states it supports Fast-Mode == 400 KHz
|
||||
and Fast-Mode-Plus == 1000 KHz.
|
||||
Tests with an AS5600L (UNO) failed at 400 KHz (needs investigation).
|
||||
|
||||
The sensor should connect the I2C lines SDA and SCL and the
|
||||
VCC and GND to communicate with the processor.
|
||||
Do not forget to add the pull up resistors to improve the I2C signals.
|
||||
|
||||
The AS5600 datasheet states it supports Fast-Mode == 400 KHz
|
||||
and Fast-Mode-Plus == 1000 KHz.
|
||||
|
||||
#### Pull ups
|
||||
|
||||
I2C performance tests with an AS5600L with an UNO failed at 400 KHz.
|
||||
After investigation it became clear that pull ups are mandatory.
|
||||
The UNO expects 5 Volt I2C signals from the AS5600.
|
||||
However the device only provides 3V3 pulses on the bus.
|
||||
So the signal was not stable fast enough (not "square enough").
|
||||
After applying pull ups the AS5600L worked up to 1000 KHz.
|
||||
|
||||
|
||||
#### DIR pin
|
||||
|
||||
@ -630,8 +638,8 @@ priority is relative.
|
||||
|
||||
#### Must
|
||||
|
||||
- re-organize readme (0.4.0)
|
||||
- rename revolution functions (0.4.0)
|
||||
- re-organize readme
|
||||
- rename revolution functions
|
||||
- to what?
|
||||
|
||||
|
||||
@ -650,8 +658,6 @@ priority is relative.
|
||||
- 1 minute (need HW)
|
||||
- check Timing Characteristics (datasheet)
|
||||
- is there improvement possible.
|
||||
- investigate why AS5600L failed at 400 KHz I2C
|
||||
- repeatable?
|
||||
|
||||
|
||||
#### Could
|
||||
|
@ -15,7 +15,7 @@
|
||||
"type": "git",
|
||||
"url": "https://github.com/RobTillaart/AS5600.git"
|
||||
},
|
||||
"version": "0.3.8",
|
||||
"version": "0.4.0",
|
||||
"license": "MIT",
|
||||
"frameworks": "arduino",
|
||||
"platforms": "*",
|
||||
|
@ -1,5 +1,5 @@
|
||||
name=AS5600
|
||||
version=0.3.8
|
||||
version=0.4.0
|
||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||
sentence=Arduino library for AS5600 and AS5600L magnetic rotation meter.
|
||||
|
Loading…
Reference in New Issue
Block a user