In case anyone is looking for existing implementation of DES MAC ISO 9797 ALG3 for M1 and M2 on Python 3. The difference between M1 is start padding is 0x00 while M2 is 0x80. This algorithm is useful to validate a cryptogram returned from “Generate AC” command in EMV transactions.
Hope it helps 🙂 Continue Reading »
Posted in cryptography, emv, Programming | Tagged des, emv, iso9797, mac, mastercard, python, visa | Leave a Comment »
Tomorrow I’ll return to my country. I’ve been here (korea) for 2 years and 3 months. I underwent good and also hard time here, and Alhamdulillah, gladly I could pass them all. Here is a small video what I did for almost 2 years work:
I’d like to thank for everyone who has helped me during my stay in Korea.
The details are on my thesis, please note that the data is in preliminary test.
A 6-DOF Gait Rehabilitation Robot with Upper and Lower-Limb Connections that Allows Walking Velocity Updates on Various Terrains. Jungwon Yoon, Bondhan Novandy, Chul-ho Yoon, and Ki-Jong Park. IEEE Transactions on Mechatronics. Focused Sections: Healthcare Mechatronics. 2010. (Accepted)
Posted in Personal, Robotics | 10 Comments »
SMC is one of the robust controller with ability to compensate the uncertain parameters, incomplete dynamics model and to reject disturbances. The additional of PI on the SMC gives several “extra” freedoms and flexibility in tuning and obtaining the desired performance.
First, select a PI sliding surface. Second, from the sliding surface we derive the equivalent control. Third, the control output is achieved by adding the switching control output. The mathematics derivation is straight forward.
Here is an experiment of position control using Proportional sliding mode control of a BLDC motor. Continue Reading »
Posted in Control Theory, LabView | 9 Comments »
Any of you who is using EPOS from MAXON motor and LabVIEW Real-Time might face the same problem with me. The RS232 -IMHO- is not fast enough to achieve real-time communication between the EPOS and RT controller, also I am using the LV-RT for the main program, thus it will be difficult to synchronize between two LVs program from two different computers which mainly caused by the communication overhead. The problem got worse when I knew that we could not download the EPOS dll file onto the RT. After getting my answer from NI forum, I decided to use the CAN Protocol which can reach up to 1Mbps.
For the first trial, we have the IXXAT CAN-USB device. The question is, how to interface USB device to the RT? Because if I use this device, then it will be RT <-> USB <-> CAN, which means that I need a driver for IXXAT CAN-USB for the RT! I emailed the IXXAT company, the engineer replied that they do not support the LV-RT. Anyway I successfully send command through CANOpen with this device on Windows platform, but Continue Reading »
Posted in Communication, LabView, Programming | 48 Comments »
Sliding mode control is one of the robust control which can handle known uncertainties. It works by forcing the output state trajectory of the system towards our predefined sliding surface, so that it will slide on our surface in subsequent time. You can download the presentation file here, the title is “Simulation and Implementation of Servo Motor Control with Sliding Mode Control (SMC) using Matlab and Labview”.
The Matlab file will not be shared, I think the simulation is not difficult you can write in S-Function or by calling ODE solver from m-file. LabView source code can be seen (seeing source code or reading it :D) in the presentation file. I hope It is useful for the sake of education, sharing knowledge to the world -at least this is what I can do for now :(, hope I could give something useful to human being before I die-. Btw, if there’s something wrong with the equation please let me know. Oh and..don’t expect too much from the presentation file, I only did this less than 2 weeks, plus I am new to LabView and Matlab S-Function T_T.
After the encoder is installed to the motor I will post the video here, insyaAllah. Hope It will not take too much time for the experiment.
I did the experiment last february 2008, just able to upload it now caused by my laziness :D. I forgot to add in the presentation file, the inverter input is only positive DAC value from 0 to 10 V. Thus, if the control output is negative you need to make additional circuit to switch the direction (from forward to reverse, vice versa). (Look at my posting about the “Basic Switching Circuit”), also for safety you must add switches and hardwired to the inverter. Here are the setup and the video: Continue Reading »
Posted in Control Theory, LabView | 36 Comments »
Another basic article. My first time with LabView Real-Time. I decided to write a program to control an R/C servo motor with LV-RT. With PXI-7358, I decided to use the digital I/O, just by turning on and off the port according to the time constraint. I did not read the manual in detail, so I am afraid I missed something, but when I did a test how long the time took for turning the digital port from on to off was around 1.5 ms, and from on to off took 250 uS. It means that it is not possible to drive the R/C servo with digital I/O when the pulse needed should be between 200-2500 uS.
Here’s the code when I did a measurement on the time of digital I/O switching on-off: Continue Reading »
Posted in LabView, Programming | Tagged LabView Real-Time, RC Servo | 10 Comments »