Can't say about the above said motor but I Have driven a high toruqe DC motor using UART in PSoC and it worked quite well.
Just connect the motor RX-TX pins to the PSoC UART TX-RX pins respectively.
Check your motor datasheet for appropriate code to be sent via the PSoC uart block.
I made the connection for uart but i have problem driving motor. I'm looking datasheet but how can drive it, I don't know
For my motor, there were commands to start/stop the motor .
For instance, to start the motor at 50 RPM speed, I had to send "S50"....& to stop the motor I had to send S0 via UART.
Can you send me your motor project? So ı can see uart motor example
Some precautions have to do.
Please refer page 17, 18
It is say.
1) Do not connect the servo directly to the PC without using
the Motion Controller or Signal Converter.
Even though both PC and the servo uses serial protocol (TXD, RXD ) they are
not directly compatible due to electrical difference. :
So you have to interface with proper RS232 voltage level(12V), Not by TTL level.
2) Servos must be cross connected to the PC or Motion Controller. Examples of cross
connection would be Servo TXD to PC or Motion Controlller RXD, Servo RXD to PC or
Motion Controller TXD. :
So you have to use a cross cable.
3) Interface parameters are correct?
8bit / 1 stop bit/ parity none/ flow control none
Have you a PC Manager Kit?
If you have that do check interfacing by PC before psoc.
Can you check the interface by LED, something , before motor control.
You should try first to connect to the motor via your PC, and uye a terminal program to control it. Realterm would make a nice client, since it can take hex values to send.
When you can drive the motor, and know how it needs to be operated, you can start writing a program on the PSoC for it.
Working with the UART is simple. Configure it as full-duplex, with the proper baud rate for your motor. Create a byte (uint8_t) array for your command, fill this array according to the protocol definition of the motor, and then hand it over to the UART.
On UART receive, take the received data and write it into another array. From there you can process the ACK responses.
Additionally I would suggest to measure the voltages at the herculex rs232 pins: I suppose they MIGHT be ttl/cmos-levels (5V) and not RS232 levels (+-12v) as they come from your PC.
When you use a Cypress PSoC3 Kit (-030) you have a serial interface on board that can be jumpered to use any of the forementioned levels, have a look into the schematic.
Programming is not easiy, but programming a device is not more difficult than programming, so concentrate on programming in C, set up your schematic and configure the UART as required in the herculex datasheet and start with reading out the status informations of the herculex.
The schematic on page 51 of the data sheet shows the interface. There is a MAX3232 driving the PC side, so it using standard RS232 levels (+-12V). So use either a real serial port, or a real USB-RS232 cable (not a serial-TTL to USB converter).
I edited helper herkulex.h file but I looked uart examples I didn't solve component, so I don't write a code. Example Herkulex datasheet that
ID(253),r(LED Control, Address(0x35) request green led on.
For psoc; UART_PutChar(),UART_PutArray(uint8_t address) like. When I examined herkulex datasheet, I didn't find driving motor address map. I guess I need an example
Design01.Bundle02.zip 1.3 MB
First of all, Let me know clearly what's you can't.
Either you can't interface with the motor?
or you can't write the programming code?
And can you do check the interface with motor by PC Manager Kit?
i can't write programming code. I can drive whit helping herkulex manager kit but I can not do it with PSoC
OK I see, but I must gatta sleep a little, It is sorry, See tomorrow again.
The Herkulex motor uses RS232 TTL, from the datasheet -