General > General Technical Chat

Review: Hantek DDS 3X25. Anyone own one?

<< < (27/108) > >>

clonecrp:
Mechatrommer:

I for one appreciate your work. You have provided a great deal of information/methods with regard to the 3x25 which is a new type of device for me. Keep up the good work!

Other contributions on the subject matter are appreciated too.

I am curious however, if you have given any thought to the digital input/output part of the generator ?

Thanks!

Doug

Mechatrommer:

--- Quote from: clonecrp on April 17, 2011, 04:49:10 pm ---I am curious however, if you have given any thought to the digital input/output part of the generator ?

--- End quote ---
i'd loved to, but i think:
1) i need to study more on that
2) i dont think i have necessarry equipment to test that

yes its pretty sad that for now i only know how to use 3 IO on the hantek (signal, synch, freq counter), there is more value that it can provide, such as those digital io, cascaded unit? trig in etc. but so far i have no idea, sorry. and for programmers outside there, below i provide the API list that dll's provide. and all you need is the bundled demo program to get started...


--- Code: ---Declare Function DDSSearch Lib "DDS3X25Dll.dll" () As Integer
Declare Function DDSCheck Lib "DDS3X25Dll.dll" (ByVal index As Integer) As Integer
Declare Function DDSSetFrequency Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal freqHantek As Double, wavePointNum As Long, wavePeriodNum As Long) As Boolean
Declare Function DDSDownload Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByRef buf As Integer, ByVal number As Integer) As Boolean
Declare Function DDSResetCounter Lib "DDS3X25Dll.dll" (ByVal index As Integer) As Boolean
Declare Function DDSGetMeasure Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal bFreq As Integer, ByRef Value As Double) As Boolean
Declare Function DDSSetTrigger Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal bInter As Boolean, ByVal bEdge As Boolean) As Boolean
Declare Function DDSGetDigitalIn Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByRef Value As Integer) As Boolean
Declare Function DDSSetDigitalOut Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal Value As Integer) As Boolean
Declare Function DDSSetDIOMode Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal mode As Boolean) As Boolean
Declare Function DDSSetPowerOnOutput Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal bOpen As Boolean) As Boolean
Declare Function DDSSetSingleWave Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal bSingle As Boolean) As Boolean

--- End code ---
12 API calls only. i wish i have more.

clonecrp:
Mechatrommer:

No programmer here so this stuff is Greek to me...

I have a question though. ??? I read your program directions panel for "Angle Phase Calibration"

Is it correct to say that the calibration process works for:

1. Sign
2. Square
3. Triangle
4. Sawtooth

collectively  ??? or is a cal.csv needed for each type of wave?

But I think you mean:

1. Sign => auto
2. Square => Auto => Reconstruct
3. Triangle => Auto => Reconstruct
4. Sawtooth => Auto => Reconstruct
 
Where the resultant cal.csv is calibration file for all Sign, Square, Triangle and Sawtooth then cal.csv moved to application directory.

Is this correct  ::) ?

Thanks in advance !

Doug



Mechatrommer:
no. you choose one signal, then it will create one single calib.csv only, and then you'll use it for any other type of signal later on (by loading it from app path/calib.csv). i suggest you use sine during calibration since its mostly used, i only provide flexibility, say if you want to work mostly on square, then you may want to calibrate using square signal. but if you look carefully, the method is not so perfect, esp at high frequency. if you want different signal with different calibration file, then you should save each files yourself. to load it, rename to calib.csv and put in application folder, open the application and it will be loaded.

about the auto/manual button. AUTO will calibrate your device at predefined frequency set in auto.csv in app folder. MANUAL will calibrate your device based on frequency (min, max, step) that you put in application textboxes (the same textboxes to be used as sweep function).

reconstruct button... say if you did manual calibration at frequency 100-1000Hz, and later on decided to calibrate at 1000-1,000,000 Hz, the older (100-1000Hz) calib.csv will be overwritten, but not the raw files (many files you can check in My Hantek Files\Calibration). now you got new calib.csv for 1000-1MHz only, to combine all the 100-1000 and 1000-1MHz raw files into one single calib.csv, then you should press reconstruct button, when its finish, you'll got a calib.csv for 100-1MHz.

sorry its not very clear, i was lazy to type a dedicated help file for that particular function. there only a few of us here, so i guess they can read it here as well, so i guess my part of explaining it is done in this post ;)

Mechatrommer:
here is the latest version with the source code (if anyone interested, vb6 required to compile). just minor changes:
1) calibration should a bit faster and different calibration method for low frequency.
2) 0 button to stop 3x25 from sending any signal.
3) signal boost in synch option (should be better (max amplitude) for unstable (non synched) high frequency signal >75MHz)
4) you can place your mouse on top of the "synch option"'s checkboxes to see popup text on "pro and con" of the option

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod