pic and MIC800

Status
Not open for further replies.

Night Rider

Member
Hi guys,
I have a problem with MIC800. It doesn't produse pulses for my servo and i suppose that i'm sending wrong data to communicate with. I'm sending the address of MIC, the address of servo and the value for the servo from a pic uc with 2400bps (416us for the ON and 416us for the OFF pulse) as it says in the page 4 of the datasheet (in france), but nothing. I tried different cases for this patern but nothing. An example: i send first the S character, then the A character, and for the 128 value for the servo i send the 1 character(ASCII) then the 2 (ASCII) and at the end the 8 character(ASCII). Five characters separate but with the above order. I tried this with positive and negative logic. Then i send these 5 characters all together, no separate, with negative and positive logic but nothing again. Then i send 3 bytes because i supposed that i didn't understood the nature of the patern. So, i send first the S character, then the A character, and for the 128 value for the servo i send the binary 128 (3rd byte) separate but nothing at all. I'm using 10MHz crystal for the MIC800. Any help? Is there someone who has made this circuit to work even with other processor so i can see what i'm doing wrong?
Thanks,
Jim.
 

Attachments

  • mic800.pdf
    149.5 KB · Views: 242
Last edited:
That chip looks suspiciously like a pic chip - probably a 16F84. Why not just control the servos directly from your pic chip. There are a few examples of servo driving code on here.

Mike.
 
Hello Mike,
Yes i know, but i don't want this because my pic is already occupied with something else. So, i give this job to mic800.
 
I just found a jal file where they send the same as you except they send a cr at the end of the command.

Mike.
 
Yes, i found this file too. What is cr? It says (ASCII_CR). The datasheet of MIC800 doesn't say for this. I must send the C character and then the R? I don't thing so because the Serial_SW_write(ASCII_CR) is a byte. Maybe i'll try to send them from a real USART from 16F877 to see how mic800 reacts.
 

No, it's the ASCII character CR (carriage return - 0x0D), it signifies the end of the line.
 
As Nigel states Cr is 0x0d or 13 decimal. One other thing I noticed is the address lines of the chip. Have you grounded the address lines or used pullups as in the later diagram. If you have used pullups then you need to change the "S" to "Z" or ground the three address pins.

Mike.
 
Oh! yes! This is the EOF character that i sent sometimes with Visual Basic to a test board that i had made. I was suspicius with this but i didn't try it. Rather it needs here so, but the Frenches didn't say that at the datasheet, only that is compatible with RS232.(so, isn't this enough? )They are insanes these Frenches! Ok i'll try this and i'll tell you if i achieved with the project.
Nigel, Mike,
Thanks guys!
Jim.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…